• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于多核與眾核結(jié)構(gòu)的并行編程模型研究

    2014-04-01 07:14:24,
    中原工學(xué)院學(xué)報 2014年3期
    關(guān)鍵詞:線程異構(gòu)代碼

    ,

    (中原工學(xué)院,鄭州 450007)

    近半個世紀(jì)以來,處理器的計算速度基本上每18到24個月都要提升一倍。然而,由于單核處理器功耗和散熱等問題的存在,通過提升芯片時鐘頻率來無限制地提升性能已不再可能,于是科學(xué)家們又開始了對多核、眾核處理器技術(shù)的探索。

    多核芯片是通過在單個芯片上集成多個核心而成的,但這種架構(gòu)受到物理規(guī)律的限制,即受到功耗、互連線延時和設(shè)計復(fù)雜性等因素的制約。在這種背景下,眾核[1]應(yīng)運而生。所謂眾核,是指在單個處理器中集成多個簡單的處理器核,即指芯片中擁有大于等于8個核心的處理器。與單核和多核處理器相比,眾核處理器計算資源密度更高,片上通信開銷更低,更多的晶體管和能量可以勝任更為復(fù)雜的并行處理應(yīng)用[2]。

    從存儲方式上劃分,并行編程模型分為共享存儲模型和分布式存儲模型。而在多核處理器的實際系統(tǒng)中,通用計算又造就了異構(gòu)并行編程模型。

    本文就基于多核和眾核體系結(jié)構(gòu)的并行編程模型——共享存儲編程模型、消息傳遞模型、異構(gòu)編程模型和混合編程模型進行分析研究。

    1 共享存儲編程模型

    在共享存儲編程模型中,各個處理器可以對共享存儲器中的數(shù)據(jù)進行存取,數(shù)據(jù)對每個處理器而言都是可訪問的,不需要在處理器之間進行傳送,即數(shù)據(jù)通信是通過讀寫共享存儲單元來完成的。常見的共享內(nèi)存編程模型有:POSIX Threads、OpenMP[3]。

    1.1 POSIX Threads

    POSIX(Portable Operating System Interface of UNIX) Threads,簡稱為Pthreads,是一個可移植的多線程庫,它提供了在多個操作系統(tǒng)平臺上一致的程序設(shè)計接口。在該模型中,有一些能夠被單獨控制的并行執(zhí)行線程。Pthreads現(xiàn)已成為Linux操作系統(tǒng)中多線程接口的標(biāo)準(zhǔn),并已被UNIX平臺使用。Pthreads的主要功能集中在線程的生成、退出、互斥、同步以及一些輔助功能上。例如:

    (1)線程的創(chuàng)建與退出 (create & exit)。任何進程在啟動時就已有了一個主線程,如果需要再生成線程則使用pthread_create函數(shù),在該函數(shù)中可以指定線程屬性、線程例程、傳給線程例程的參數(shù)。線程例程是線程執(zhí)行的代碼,是一個用戶自定義的函數(shù)。當(dāng)線程例程返回時,線程則結(jié)束運行,也可以通過調(diào)用pthread_exit來退出。

    (2)線程間互斥(mutex)。互斥操作,就是在對某段代碼或某個變量修改時只能有一個線程執(zhí)行這段代碼,而其他線程不能同時進入這段代碼或同時修改變量.Pthreads常用pthread_mutex互斥體來實現(xiàn)線程互斥操作。

    pthread_mutex_init函數(shù)用于初始化一個互斥體變量;pthread_mutex_lock函數(shù)用于給互斥體變量上鎖,如果上鎖時互斥體已經(jīng)被其他線程鎖住,那么調(diào)用該函數(shù)的線程將被阻塞,直到互斥體被解鎖為止;pthread_mutex_trylock函數(shù)的作用是試圖鎖住互斥體,但在互斥體已經(jīng)被加鎖時不會造成阻塞,而是迅速返回;pthread_mutex_unlock函數(shù)是對互斥體解鎖;pthread_mutex_destroy函數(shù)是用來釋放互斥體所占資源。

    (3)線程同步(cond)。線程同步就是若干個線程等待某個事件的發(fā)生,當(dāng)該事件發(fā)生時,這些線程同時執(zhí)行各自代碼。在Linux線程中用條件變量來實現(xiàn)同步。函數(shù)pthread_cond_init用來創(chuàng)建一個條件變量。

    pthread_cond_wait和pthread_cond_timewait用來等待條件變量被設(shè)置,值得注意的是這兩個等待調(diào)用的函數(shù)需要一個已經(jīng)上鎖的互斥體mutex,這是為了防止在真正進入等待狀態(tài)之前別的線程有可能設(shè)置該條件變量而產(chǎn)生競爭;pthread_cond_broadcast用于設(shè)置條件變量,即使事件發(fā)生,也使所有等待該事件的線程不再阻塞;pthread_cond_signal用于解除某一個等待線程的阻塞狀態(tài);pthread_cond_destroy用來釋放一個條件變量的資源[4]。

    1.2 OpenMP

    OpenMP(open multi-processing)編程模型是基于線程的并行編程模型,是一個共享存儲應(yīng)用編程接口(API)。OpenMP多線程接口被特別設(shè)計,用來支持高性能并行計算程序,它包含許多編譯制導(dǎo)指令,具有移植性好和可擴展等優(yōu)點。OpenMP是由指導(dǎo)性注釋、編譯指令以及線程池管理和庫例程結(jié)合在一起實現(xiàn)的,它與Pthreads不同,不是作為一個庫來實現(xiàn)的。這些指令指示編譯器創(chuàng)建線程、執(zhí)行同步操作和管理共享內(nèi)存等。

    OpenMP中的常用函數(shù)有:

    ①void omp_set_num_threads(int num_threads):設(shè)置線程數(shù)目。通過該函數(shù)來指定其后用于并行計算的線程數(shù)目,其中參數(shù)num_threads就是指定的線程數(shù)目。

    ②int omp_get_num_threads():獲取線程數(shù)目。通過該函數(shù)可以獲取當(dāng)前運行組中的線程數(shù)目,如果在并行結(jié)構(gòu)中使用該函數(shù),返回的就是現(xiàn)在并行計算中的所有的線程總數(shù);如果在串行中使用該函數(shù),其返回值就為1。

    ③int omp_get_max_threads():獲取最多線程數(shù)目。該函數(shù)將返回最多可以用于并行計算的線程數(shù)目。

    ④ int omp_get_num_procs():獲取程序可用的處理器數(shù)目。該函數(shù)將返回可用于程序的處理器數(shù)目(其實是線程數(shù)目)。

    ⑤ int omp_in_parallel():判斷線程是否處于并行狀態(tài)。該函數(shù)返回值為0時表示線程處于串行程序中,返回值為1時表示線程處于并行程序中。

    2 分布式存儲線程模型

    消息傳遞模型是一種最常用的分布式存儲編程模型,它是通過處理器之間的信息交換來實現(xiàn)通信的,適用于分布式存儲系統(tǒng)。在該模型中,駐留在不同節(jié)點上的進程可以通過網(wǎng)絡(luò)傳遞消息相互通信。它常用于開發(fā)大粒度和粗粒度的并行性。

    MPI(Message Passing Interface)是一個消息傳遞接口的標(biāo)準(zhǔn),用于開發(fā)基于消息傳遞的并行程序,其目的是為用戶提供一個實際可用的、可移植的、高效和靈活的消息傳遞接口庫。因此,使用MPI,必須要和特定的語言如FORTRAN和C語言等結(jié)合起來[5]。

    POSIX Pthreads、OpenMP和MPI等3種并行編程模型屬于共享存儲模型或分布式存儲模型。表1概括了3種編程模型在通常實際應(yīng)用中的實現(xiàn)特性[6]。

    表1 3種并行編程模型實現(xiàn)特性

    3 異構(gòu)并行編程模型

    異構(gòu)并行編程模型主要是針對異構(gòu)計算機系統(tǒng)的并行編程。異構(gòu)計算機系統(tǒng)是由功能或性能相異的處理器通過一定的互聯(lián)結(jié)構(gòu)連接起來的計算系統(tǒng),一般由通用微處理器和專用加速器構(gòu)成。通常實際應(yīng)用較多的異構(gòu)并行編程模型有:CUDA、Opencl。

    3.1 CUDA

    CUDA(Compute Unified Device Architecture,統(tǒng)一計算設(shè)備架構(gòu))是NVIDIA公司開發(fā)的一種并行編程模型,它是一種將GPU作為數(shù)據(jù)并行計算設(shè)備的軟硬件體系。此外,CUDA提供了一個允許開發(fā)者使用C語言或者更高級語言的軟件環(huán)境。對于CUDA來說,一個并行系統(tǒng)包含一個主機(Host)和計算資源或者設(shè)備(device)。CUDA編程模型通常將CPU作為主機,GPU作為設(shè)備或者協(xié)處理器(co-processor)。計算任務(wù)是在GPU中依靠一組并行執(zhí)行的線程來完成的。CUDA將計算任務(wù)映射為大量的可以并行執(zhí)行的線程,通過硬件動態(tài)調(diào)度來執(zhí)行這些線程。

    CUDA的線程結(jié)構(gòu)包含2個層次結(jié)構(gòu):Grid(線程網(wǎng)格)和Block(線程塊)。由圖1所示的CUDA存儲結(jié)構(gòu)可以看出,這2個層次內(nèi)也存在并行,即Grid中的Block間并行和Block中的Thread間并行。

    圖1 CUDA存儲結(jié)構(gòu)

    CUDA的體系結(jié)構(gòu)是以Grid的形式組織的,每個Grid由若干個Block組成,而每個Block又由若干個Thread組成,它們都擁有自己的ID,用以和其他線程相區(qū)分。在圖1的底部,Global Memory(全局存儲器)和Constant Memory(常數(shù)存儲器)能夠被主機代碼寫入和讀取。常數(shù)存儲器允許設(shè)備只讀訪問,在Block里,可以有共享存儲器、寄存器或本地存儲器,共享存儲器能夠在Block里被所有的線程訪問,而寄存器則對每一個線程都是獨立的。同一個Block中的線程通過共享存儲器交換數(shù)據(jù),并通過柵欄同步保證線程間能夠正確地共享數(shù)據(jù),從而實現(xiàn)Block內(nèi)通信。

    通常情況下,一個完整的CUDA程序包括在Host上執(zhí)行的串行代碼以及在GPU上并行執(zhí)行的程序(kernel函數(shù))。在圖1中,每進行一次GPU計算,需要在多種存儲器之間進行數(shù)據(jù)傳輸,這會消耗大量的時間,造成延遲,因此,單獨的CUDA并不適合于一些對實時性要求很高的應(yīng)用,往往還需要與CPU搭配協(xié)同運行[7]。

    3.2 OpenCL

    OpenCL(Open Computing Language,開放計算語言)是一個在由CPU、GPU和其他類型處理器組成的異構(gòu)平臺上進行通用并行編程的免費的標(biāo)準(zhǔn)。它是由用于編寫kernels(在OpenCL設(shè)備上運行的函數(shù))的基于C99的語言和一組用于定義并控制平臺的API組成。

    OpenCL操作規(guī)范模型可描述成4個相關(guān)的模型:平臺模型、執(zhí)行模型、內(nèi)存模型、編程模型。

    平臺模型:描述了協(xié)同執(zhí)行的單個處理器及能執(zhí)行OpenCL代碼的處理器,定義了一個抽象的硬件模型,讓開發(fā)者能夠編寫在這些設(shè)備上執(zhí)行的kernel。

    執(zhí)行模型:定義了如何在主機上配置OpenCL環(huán)境,以及如何在設(shè)備上執(zhí)行kernel。

    內(nèi)存模型:定義了被kernel所用的抽象內(nèi)存層次。

    編程模型:定義了如何將并發(fā)模型映射到物理硬件上。

    上述4個模型,提供了基于任務(wù)和基于數(shù)據(jù)的2種并行計算機制,極大地擴展了GPU的應(yīng)用范圍,而且由于它是跨平臺的基于異構(gòu)的編程模型,在今后很長一段時期,還將會持續(xù)得到發(fā)展[8]。

    4 混合編程模型

    混合編程模型是將共享存儲和分布式存儲編程相結(jié)合的一種方法,它在節(jié)點之間使用消息傳遞來發(fā)送和接受數(shù)據(jù),在節(jié)點內(nèi)通過共享內(nèi)存來進行數(shù)據(jù)運算,充分利用了兩種編程模型的優(yōu)點[6]。這種混合編程模型也非常符合當(dāng)今混合硬件體系結(jié)構(gòu)的發(fā)展趨勢。實際應(yīng)用中出現(xiàn)的主要混合并行編程模型有:MPI+OpenMP,CUDA+OpenMP,CUDA+MPI等。

    4.1 MPI+OpenMP

    MPI可以解決多處理機間的粗粒度通信,而OpenMP提供的輕量級線程可以更好地解決每個多處理器計算機內(nèi)部各處理器間的交互,通常在用MPI實現(xiàn)的原始程序中加入OpenMP編譯制導(dǎo)語句,就能使程序轉(zhuǎn)化為MPI和OpenMP混合編程模式的程序,原理如圖2所示。

    圖2 MPI+OpenMP混合編程模型

    下面給出簡單的細(xì)粒度混合編程模型代碼:

    ......

    MPI_INIT_THREAD();//初始化進程,使其具有多線程功能

    MPI_COMM_RANK();

    MPI_COMM_SIZE();

    .....MPI communiaciton and some computation

    #pragma omp parallel//調(diào)用OpenMP

    #pragma omp for//多個線程并行地執(zhí)行for循環(huán)的代碼

    for(...)

    {.......computation

    }

    ......computation and MPI communication

    MPI_FINALIZE();

    3.1.3 進樣精密度與重復(fù)性 取“2.4.5”項下中間濃度對照品溶液,按“2.1”項下方法進行檢測,連續(xù)進樣6次,硫酸鹽峰面積的RSD為0.5%(n=6),表明儀器精密度良好。精密稱取注射用硫酸核糖霉素樣品,共6份,按“2.4.2”項下方法配制供試品溶液,同法檢測,6份樣品硫酸鹽含量的RSD為0.9%(n=6),表明重復(fù)性良好。

    4.2 CUDA+OpenMP

    該混合模型是在CUDA模型的基礎(chǔ)上,通過在執(zhí)行主程序時加入OpenMP編譯制導(dǎo)語句,在CPU端產(chǎn)生大量的線程,這些線程一方面控制GPU,調(diào)動kernel函數(shù)并行執(zhí)行分配給GPU的計算任務(wù),另一方面也能夠并行化處理在主機上的串行程序,因此在整體上提高了程序的執(zhí)行效率。其不足之處是CPU和GPU之間的數(shù)據(jù)傳輸將會影響到GPU的計算效率。這種模型通常適合多GPU的系統(tǒng)。該模型的簡單代碼框架如下:

    //主機端程序

    #include

    #include

    #include

    _global_[......]//CUDA內(nèi)核程序kernel

    ......

    Main Program

    cudaGetDeviceCount(&num_gpus);//獲得系統(tǒng)中支持CUDA的GPU數(shù)量

    //顯示GPU與CPU的信息

    printf("number of host CPUs: %d ",omp_get_num_procs());

    printf("number of CUDA devices: %d ",num_gpus);

    ......

    #pragma omp parallel

    ...... //并行執(zhí)行kernel

    ......

    parallel_execute_host_code//執(zhí)行host上的串行代碼

    ......

    ...correctsult()//檢查對比CPU和GPU的結(jié)果

    4.3 CUDA+MPI

    這種模型也是一種基于CPU和GPU的異構(gòu)模型,充分利用了MPI在節(jié)點間進行消息傳遞和在節(jié)點內(nèi)進行大量線程計算的特點,非常適合實現(xiàn)集群或者超級計算機中的多節(jié)點多GPU并行計算。在這個模型中,MPI用于控制程序、節(jié)點間通信和數(shù)據(jù)調(diào)度以及CPU之間的交互,而CUDA負(fù)責(zé)在GPU中的計算任務(wù)。

    下面為該混合模型的部分關(guān)鍵代碼:

    /*聲明對MPI以及標(biāo)準(zhǔn)庫的引用*/

    #include"mpi.h"

    #include

    ......

    //啟動CUDA函數(shù)

    #if_DEVICE_EMULATION_

    Bool InitCUDA(int myid){return true;}

    #else

    .......

    //獲得CPU所在節(jié)點中的CUDA設(shè)備數(shù)量,沒有則返回

    cudaGetDeviceCount(&count);

    if(count==0){

    fprintf(stderr,"There is no device. ");

    return false;

    }

    ......

    _global_[......]//設(shè)備端kernel函數(shù)的定義和調(diào)用

    ......

    //啟動MPI環(huán)境

    MPI_Init(&argc,&argv);

    MPI_Comm_size(MPI_COMM_WORLD,&numprocs);

    MPI_Comm_rank(MPI_COMM_WORLD,&myid);

    ......

    execute_kernel();//執(zhí)行內(nèi)核函數(shù)

    ......

    MPI_Finalize();

    }

    從上面幾種模型中不難發(fā)現(xiàn),沒有一種混合編程模型完全適用于當(dāng)今所有的計算機體系結(jié)構(gòu)。因此,只能選擇那些最適合于硬件宿主特性的編程模型,才能最大程度地提高并行程序的性能。

    5 結(jié) 語

    隨著未來計算機微處理器朝著眾核處理器方向的發(fā)展,以及大規(guī)模機群的不斷出現(xiàn),原來單一的編程模型已很難適應(yīng)這種新的體系結(jié)構(gòu),因此,基于異構(gòu)平臺的混合并行編程在今后的大規(guī)模并行應(yīng)用中必將成為主流。

    參考文獻(xiàn):

    [1] Feng Wu-chun , Balaji Pavan.Tools and Environment for Multicore and Many-core Architectures[J].IEEE Computer, 2009, 42(12): 26-27.

    [2] 范平.芯革命新未來 英特爾開啟MIC時代 [EB/OL]. (2013-06-08).http://server.zol.com.cn/246/2468105_all.html.

    [3] 陳明. 反投影算法在雙基地合成孔徑雷達(dá)成像中的應(yīng)用[D].北京:中國科學(xué)院研究生院,2007.

    [4] 劉明剛.基于嵌入式Linux的開放式數(shù)控系統(tǒng)研究與實現(xiàn)[D].成都:電子科技大學(xué),2005.

    [5] 張玉斌. 迭代動態(tài)規(guī)劃算法及并行化研究 [D].青島:中國石油大學(xué),2008.

    [6] Javier Diaz,Camelia Munoz Caro,Alfonso Nino.A Survey of Parallel Programming Models and Tools in the Multi and Many-core Era.[J].IEEE Transactions on Parallel and Distributed Systems, 2012, 23(8): 1368-1386.

    [7] 張舒,褚艷利.GPU高性能運算之CUDA[M].北京:中國水利水電出版社,2009:13-44.

    [8] Benedict R Gaster,Lee Howes,David R Kaeli,et al.OpenCL異構(gòu)計算[M].張云泉,張先軼,等譯.北京:清華大學(xué)出版社, 2012:15-26.

    猜你喜歡
    線程異構(gòu)代碼
    試論同課異構(gòu)之“同”與“異”
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    淺談linux多線程協(xié)作
    overlay SDN實現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
    LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
    在新興異構(gòu)SoCs上集成多種系統(tǒng)
    Linux線程實現(xiàn)技術(shù)研究
    久久亚洲国产成人精品v| 亚洲一码二码三码区别大吗| 亚洲五月色婷婷综合| 亚洲一卡2卡3卡4卡5卡精品中文| a级片在线免费高清观看视频| 丰满饥渴人妻一区二区三| 成人漫画全彩无遮挡| 日韩一本色道免费dvd| 熟女av电影| 少妇精品久久久久久久| 亚洲成人手机| 激情五月婷婷亚洲| 一区二区三区精品91| 人体艺术视频欧美日本| 深夜精品福利| 一级爰片在线观看| 如何舔出高潮| 久久青草综合色| 日本猛色少妇xxxxx猛交久久| 亚洲天堂av无毛| 一级片免费观看大全| 夫妻性生交免费视频一级片| 欧美老熟妇乱子伦牲交| 一级爰片在线观看| 新久久久久国产一级毛片| 亚洲国产成人一精品久久久| 97人妻天天添夜夜摸| 丝袜美足系列| 人人澡人人妻人| √禁漫天堂资源中文www| 精品国产一区二区久久| 最新的欧美精品一区二区| 免费观看人在逋| 大香蕉久久网| 国产精品国产av在线观看| 欧美日韩亚洲高清精品| 亚洲一区中文字幕在线| 高清不卡的av网站| av一本久久久久| 永久免费av网站大全| 人人妻人人澡人人爽人人夜夜| 一本一本久久a久久精品综合妖精| 91国产中文字幕| 国产在线视频一区二区| 1024香蕉在线观看| 18禁国产床啪视频网站| 国产精品麻豆人妻色哟哟久久| 熟妇人妻不卡中文字幕| 丰满饥渴人妻一区二区三| 水蜜桃什么品种好| 老司机深夜福利视频在线观看 | 午夜激情av网站| 免费日韩欧美在线观看| 久久韩国三级中文字幕| 久久韩国三级中文字幕| 午夜福利视频精品| 精品少妇内射三级| 丁香六月欧美| 精品一区二区三区av网在线观看 | 国产女主播在线喷水免费视频网站| 国产有黄有色有爽视频| 免费高清在线观看日韩| 五月开心婷婷网| 国产在线免费精品| 五月开心婷婷网| videosex国产| 精品国产一区二区三区久久久樱花| 色94色欧美一区二区| 国产欧美亚洲国产| 国产免费现黄频在线看| 免费高清在线观看日韩| 精品国产一区二区三区久久久樱花| 国产精品一区二区在线观看99| 久久女婷五月综合色啪小说| 黑丝袜美女国产一区| 国产成人精品久久久久久| 久久久久久久久久久久大奶| 在线天堂最新版资源| av.在线天堂| 成年美女黄网站色视频大全免费| 精品国产一区二区三区久久久樱花| 国产有黄有色有爽视频| 久久人妻熟女aⅴ| 国产女主播在线喷水免费视频网站| 最新的欧美精品一区二区| 十八禁人妻一区二区| 美女大奶头黄色视频| 成人手机av| 中文天堂在线官网| 欧美精品人与动牲交sv欧美| 婷婷色麻豆天堂久久| 精品国产乱码久久久久久小说| 日本午夜av视频| 久久久久精品久久久久真实原创| 日日撸夜夜添| 亚洲成国产人片在线观看| 国产成人91sexporn| 亚洲国产av影院在线观看| 久久久精品国产亚洲av高清涩受| 波多野结衣一区麻豆| 亚洲天堂av无毛| 99香蕉大伊视频| 国产极品粉嫩免费观看在线| 欧美日韩福利视频一区二区| 69精品国产乱码久久久| 最黄视频免费看| 国产极品粉嫩免费观看在线| 午夜老司机福利片| 精品一区二区免费观看| 成人国产麻豆网| 成人国产麻豆网| 午夜老司机福利片| 国产麻豆69| 中国三级夫妇交换| √禁漫天堂资源中文www| 午夜久久久在线观看| 国产一区二区 视频在线| 成人漫画全彩无遮挡| xxxhd国产人妻xxx| 王馨瑶露胸无遮挡在线观看| 日韩欧美精品免费久久| 美国免费a级毛片| 一本久久精品| 欧美 亚洲 国产 日韩一| 国产精品一区二区精品视频观看| 亚洲av综合色区一区| 在线亚洲精品国产二区图片欧美| 黑人巨大精品欧美一区二区蜜桃| 日韩制服丝袜自拍偷拍| 伊人久久国产一区二区| 熟女av电影| 十八禁网站网址无遮挡| 欧美激情极品国产一区二区三区| 亚洲国产日韩一区二区| 国产欧美亚洲国产| 午夜福利免费观看在线| 国产高清不卡午夜福利| 国产男女超爽视频在线观看| 国产av精品麻豆| 性高湖久久久久久久久免费观看| 波野结衣二区三区在线| 色网站视频免费| 99国产综合亚洲精品| 天天添夜夜摸| 欧美激情高清一区二区三区 | 亚洲精品国产色婷婷电影| 在线观看国产h片| 久久久久久久精品精品| 国产99久久九九免费精品| 99久久综合免费| 国产精品熟女久久久久浪| 国产精品嫩草影院av在线观看| 一边摸一边抽搐一进一出视频| 丝瓜视频免费看黄片| 久久久欧美国产精品| 大话2 男鬼变身卡| 又大又黄又爽视频免费| 男女国产视频网站| 热re99久久国产66热| 日韩一区二区三区影片| 精品亚洲成国产av| 亚洲精品美女久久av网站| 黄频高清免费视频| 久久免费观看电影| 日本色播在线视频| 国产男女内射视频| 日本av手机在线免费观看| 成年人午夜在线观看视频| 日韩中文字幕欧美一区二区 | 欧美亚洲日本最大视频资源| 新久久久久国产一级毛片| 久久av网站| 中文天堂在线官网| 亚洲免费av在线视频| 丰满乱子伦码专区| 一区二区三区四区激情视频| 老司机亚洲免费影院| 国产亚洲av高清不卡| 老司机靠b影院| 国产精品99久久99久久久不卡 | 人妻 亚洲 视频| 啦啦啦 在线观看视频| 国产成人精品久久二区二区91 | 综合色丁香网| 五月天丁香电影| 晚上一个人看的免费电影| 国产野战对白在线观看| 亚洲精华国产精华液的使用体验| 精品免费久久久久久久清纯 | 自线自在国产av| 国产xxxxx性猛交| 成人亚洲欧美一区二区av| 亚洲国产欧美一区二区综合| av片东京热男人的天堂| 亚洲婷婷狠狠爱综合网| 一区二区三区激情视频| 无遮挡黄片免费观看| 免费看不卡的av| 精品酒店卫生间| av网站免费在线观看视频| 国产国语露脸激情在线看| 精品午夜福利在线看| xxxhd国产人妻xxx| 水蜜桃什么品种好| 亚洲精品一区蜜桃| 国产成人午夜福利电影在线观看| 亚洲精品一二三| 亚洲成人国产一区在线观看 | 国产乱人偷精品视频| 国产一卡二卡三卡精品 | 交换朋友夫妻互换小说| 精品国产一区二区久久| 国产精品 欧美亚洲| 日日摸夜夜添夜夜爱| 在现免费观看毛片| 超碰97精品在线观看| 在线观看人妻少妇| 久久久精品免费免费高清| 岛国毛片在线播放| 青草久久国产| 色吧在线观看| 国产高清国产精品国产三级| 美女福利国产在线| 王馨瑶露胸无遮挡在线观看| 人人澡人人妻人| av电影中文网址| 国产精品国产三级国产专区5o| 高清欧美精品videossex| 九色亚洲精品在线播放| 亚洲自偷自拍图片 自拍| 天堂俺去俺来也www色官网| 巨乳人妻的诱惑在线观看| 亚洲精品美女久久久久99蜜臀 | 午夜福利视频在线观看免费| 18禁国产床啪视频网站| 最近最新中文字幕大全免费视频 | 久久99一区二区三区| 中国国产av一级| av不卡在线播放| 中文字幕制服av| av视频免费观看在线观看| 最近中文字幕2019免费版| 国产一区二区三区av在线| 国产男女内射视频| 日本欧美国产在线视频| 丝袜在线中文字幕| 热99久久久久精品小说推荐| 大陆偷拍与自拍| 国产一区二区三区av在线| av又黄又爽大尺度在线免费看| 校园人妻丝袜中文字幕| 免费日韩欧美在线观看| 18禁动态无遮挡网站| 久久精品国产亚洲av涩爱| 一级,二级,三级黄色视频| 一级毛片 在线播放| 国产av国产精品国产| 日韩一区二区三区影片| 丁香六月天网| 日韩熟女老妇一区二区性免费视频| 日韩av不卡免费在线播放| 久久这里只有精品19| 亚洲av电影在线观看一区二区三区| 中文乱码字字幕精品一区二区三区| 十八禁高潮呻吟视频| 久久久久精品人妻al黑| 美女大奶头黄色视频| 精品久久蜜臀av无| 亚洲 欧美一区二区三区| 亚洲精品第二区| 日韩 欧美 亚洲 中文字幕| 国产高清不卡午夜福利| 亚洲色图 男人天堂 中文字幕| 黄片播放在线免费| 亚洲成人一二三区av| 久久精品aⅴ一区二区三区四区| 国产精品av久久久久免费| 免费在线观看黄色视频的| 久久久久精品国产欧美久久久 | av线在线观看网站| 老汉色av国产亚洲站长工具| 丝袜人妻中文字幕| 熟女少妇亚洲综合色aaa.| 一本色道久久久久久精品综合| 一二三四中文在线观看免费高清| 国产精品免费视频内射| 一级爰片在线观看| 亚洲av电影在线进入| 91aial.com中文字幕在线观看| 亚洲欧洲日产国产| av不卡在线播放| 免费少妇av软件| 久久天躁狠狠躁夜夜2o2o | 91老司机精品| 日韩一区二区三区影片| 国产xxxxx性猛交| 婷婷色麻豆天堂久久| 国产成人av激情在线播放| 欧美 日韩 精品 国产| 亚洲,欧美精品.| 国产福利在线免费观看视频| 99久久精品国产亚洲精品| 咕卡用的链子| 青春草视频在线免费观看| 亚洲欧美一区二区三区黑人| 亚洲免费av在线视频| 欧美日韩国产mv在线观看视频| 女的被弄到高潮叫床怎么办| 国产一卡二卡三卡精品 | 亚洲精品,欧美精品| 欧美另类一区| 中文乱码字字幕精品一区二区三区| 成年动漫av网址| 中文天堂在线官网| av网站在线播放免费| 中文字幕精品免费在线观看视频| 老熟女久久久| 亚洲中文av在线| 中文字幕人妻熟女乱码| xxxhd国产人妻xxx| 999精品在线视频| 亚洲国产精品999| 久久99精品国语久久久| 精品一区在线观看国产| 午夜激情av网站| 久久久精品免费免费高清| 亚洲av欧美aⅴ国产| 亚洲欧洲日产国产| 免费黄色在线免费观看| 国产午夜精品一二区理论片| 1024视频免费在线观看| 久久久久精品国产欧美久久久 | 亚洲成人免费av在线播放| 国产男女超爽视频在线观看| 性少妇av在线| 欧美国产精品va在线观看不卡| 欧美在线黄色| 精品福利永久在线观看| 男女边吃奶边做爰视频| 亚洲欧美一区二区三区国产| 成人午夜精彩视频在线观看| 亚洲精品日韩在线中文字幕| 久久久久久久精品精品| 免费黄频网站在线观看国产| 国产成人精品久久二区二区91 | 欧美人与性动交α欧美软件| 国产精品香港三级国产av潘金莲 | 亚洲国产精品一区二区三区在线| 成人三级做爰电影| 又黄又粗又硬又大视频| 午夜影院在线不卡| 在线看a的网站| 丰满乱子伦码专区| 久久久久久人人人人人| 亚洲av成人精品一二三区| 91精品伊人久久大香线蕉| 男女午夜视频在线观看| 亚洲国产精品一区二区三区在线| 国产成人啪精品午夜网站| 免费看av在线观看网站| 国产一区二区激情短视频 | 精品亚洲成a人片在线观看| 欧美日韩亚洲综合一区二区三区_| 一级毛片电影观看| 悠悠久久av| 国产免费现黄频在线看| 一本—道久久a久久精品蜜桃钙片| 不卡av一区二区三区| 国产一卡二卡三卡精品 | 国产男女内射视频| 国产一级毛片在线| 肉色欧美久久久久久久蜜桃| 美女高潮到喷水免费观看| 别揉我奶头~嗯~啊~动态视频 | h视频一区二区三区| 亚洲色图 男人天堂 中文字幕| 午夜日韩欧美国产| avwww免费| 国产精品国产三级专区第一集| 美女福利国产在线| 午夜福利一区二区在线看| av在线观看视频网站免费| 观看美女的网站| 亚洲国产精品国产精品| 亚洲国产精品一区二区三区在线| 亚洲欧洲精品一区二区精品久久久 | 免费高清在线观看视频在线观看| 久久精品久久精品一区二区三区| 国产日韩欧美亚洲二区| 日韩av在线免费看完整版不卡| 搡老乐熟女国产| 十八禁高潮呻吟视频| 亚洲av日韩在线播放| 丰满乱子伦码专区| 亚洲精品国产区一区二| 精品酒店卫生间| 女人精品久久久久毛片| 超碰成人久久| 午夜福利乱码中文字幕| 亚洲天堂av无毛| 99久久综合免费| 人妻 亚洲 视频| 国产国语露脸激情在线看| 下体分泌物呈黄色| 日韩熟女老妇一区二区性免费视频| 国产成人免费观看mmmm| 久久久久精品性色| 不卡视频在线观看欧美| 99热网站在线观看| 亚洲欧美中文字幕日韩二区| 亚洲第一青青草原| 国产精品秋霞免费鲁丝片| 国产黄色视频一区二区在线观看| 国产一区二区激情短视频 | 丰满饥渴人妻一区二区三| 亚洲av电影在线进入| 一级片'在线观看视频| 国产片特级美女逼逼视频| 宅男免费午夜| 亚洲欧美成人综合另类久久久| 亚洲自偷自拍图片 自拍| 国产又色又爽无遮挡免| 午夜老司机福利片| a级毛片黄视频| 尾随美女入室| 国产一区二区在线观看av| 欧美国产精品va在线观看不卡| 亚洲,欧美精品.| 99久久精品国产亚洲精品| 国产精品嫩草影院av在线观看| 国产毛片在线视频| 亚洲一级一片aⅴ在线观看| 亚洲精品成人av观看孕妇| 日韩,欧美,国产一区二区三区| 国产一区二区在线观看av| 欧美日韩av久久| 精品酒店卫生间| xxx大片免费视频| 国产精品国产三级国产专区5o| 成人亚洲精品一区在线观看| 日本猛色少妇xxxxx猛交久久| 亚洲av综合色区一区| 亚洲成人av在线免费| 色综合欧美亚洲国产小说| 在线观看www视频免费| 99精国产麻豆久久婷婷| 青春草亚洲视频在线观看| 男人舔女人的私密视频| av网站免费在线观看视频| 国产av国产精品国产| 亚洲欧美色中文字幕在线| 在线观看免费日韩欧美大片| 日韩欧美精品免费久久| 久久久欧美国产精品| 别揉我奶头~嗯~啊~动态视频 | 亚洲精品一二三| 亚洲欧美成人综合另类久久久| 久久人人97超碰香蕉20202| 国产爽快片一区二区三区| 深夜精品福利| 免费人妻精品一区二区三区视频| 午夜91福利影院| 男女床上黄色一级片免费看| 成人国产av品久久久| 日韩伦理黄色片| 国产片特级美女逼逼视频| 精品人妻熟女毛片av久久网站| 男女午夜视频在线观看| 国产女主播在线喷水免费视频网站| 黄色怎么调成土黄色| 午夜免费观看性视频| 国产欧美日韩综合在线一区二区| 老司机影院成人| 亚洲在久久综合| 狂野欧美激情性xxxx| 亚洲精品国产区一区二| 欧美xxⅹ黑人| 日本av手机在线免费观看| 久久婷婷青草| 亚洲欧洲国产日韩| 久久久精品区二区三区| 天堂中文最新版在线下载| 久久青草综合色| 欧美97在线视频| 成人国产麻豆网| 在线观看www视频免费| 久久99一区二区三区| 一区二区三区四区激情视频| 两个人免费观看高清视频| 午夜老司机福利片| 在线观看www视频免费| 亚洲国产精品一区二区三区在线| 午夜免费鲁丝| h视频一区二区三区| 欧美日韩一级在线毛片| 国产黄色视频一区二区在线观看| 午夜福利在线免费观看网站| 国产人伦9x9x在线观看| av在线app专区| 91国产中文字幕| 色婷婷久久久亚洲欧美| 精品酒店卫生间| 成人影院久久| av在线老鸭窝| 哪个播放器可以免费观看大片| 欧美日韩av久久| 99国产综合亚洲精品| 黄片播放在线免费| 日韩电影二区| av片东京热男人的天堂| 蜜桃国产av成人99| 亚洲精品aⅴ在线观看| 热re99久久国产66热| 高清视频免费观看一区二区| 中文字幕色久视频| 男人舔女人的私密视频| 免费人妻精品一区二区三区视频| 不卡av一区二区三区| 国产一区二区激情短视频 | 欧美亚洲日本最大视频资源| 男女下面插进去视频免费观看| 国精品久久久久久国模美| 国产精品国产av在线观看| 成人18禁高潮啪啪吃奶动态图| 91成人精品电影| 又大又黄又爽视频免费| 亚洲欧美激情在线| 在线看a的网站| 王馨瑶露胸无遮挡在线观看| 不卡视频在线观看欧美| 精品一区在线观看国产| 亚洲欧美色中文字幕在线| 国产极品粉嫩免费观看在线| 青春草国产在线视频| 国产成人精品无人区| 嫩草影院入口| 亚洲精品美女久久久久99蜜臀 | 菩萨蛮人人尽说江南好唐韦庄| 美女视频免费永久观看网站| 国产精品国产三级专区第一集| 97人妻天天添夜夜摸| 在线看a的网站| 2021少妇久久久久久久久久久| 久久久国产精品麻豆| 中文字幕av电影在线播放| 日本黄色日本黄色录像| 啦啦啦中文免费视频观看日本| 国产一区二区三区综合在线观看| 丰满乱子伦码专区| 久久狼人影院| 熟女少妇亚洲综合色aaa.| 精品视频人人做人人爽| 中文字幕色久视频| 波多野结衣av一区二区av| 亚洲国产av影院在线观看| 久久久久久人妻| 美女主播在线视频| 久久久久久免费高清国产稀缺| 1024视频免费在线观看| 久久久久网色| 亚洲第一区二区三区不卡| 午夜日韩欧美国产| 国产欧美亚洲国产| 我的亚洲天堂| 午夜福利,免费看| 久久热在线av| 亚洲国产精品999| 最新在线观看一区二区三区 | 国产激情久久老熟女| 国产又爽黄色视频| av网站在线播放免费| 国产一区有黄有色的免费视频| 一区二区av电影网| 男人舔女人的私密视频| 看非洲黑人一级黄片| 国产爽快片一区二区三区| 一区二区av电影网| 老熟女久久久| 国产一区二区在线观看av| 精品亚洲乱码少妇综合久久| 一区二区av电影网| 九九爱精品视频在线观看| 少妇被粗大猛烈的视频| 女的被弄到高潮叫床怎么办| 美女大奶头黄色视频| 日日爽夜夜爽网站| 久久精品aⅴ一区二区三区四区| 国产 一区精品| 又黄又粗又硬又大视频| 宅男免费午夜| 七月丁香在线播放| 国产亚洲一区二区精品| 精品国产一区二区三区久久久樱花| 国产亚洲午夜精品一区二区久久| 女的被弄到高潮叫床怎么办| 精品免费久久久久久久清纯 | 如日韩欧美国产精品一区二区三区| 日韩欧美精品免费久久| 欧美黄色片欧美黄色片| 午夜激情久久久久久久| 免费黄网站久久成人精品| 亚洲激情五月婷婷啪啪| 一本久久精品| 日韩,欧美,国产一区二区三区| 欧美中文综合在线视频| 精品亚洲乱码少妇综合久久| av在线观看视频网站免费| 国产无遮挡羞羞视频在线观看| 欧美日韩视频精品一区| 国产欧美日韩一区二区三区在线| bbb黄色大片| 十八禁高潮呻吟视频| 日韩大片免费观看网站| tube8黄色片| 一级片'在线观看视频|