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

    基于虛擬化環(huán)境的多GPU并行通用計算平臺研究

    2017-12-08 03:15:48吳俊敏楊志剛
    計算機應(yīng)用與軟件 2017年11期
    關(guān)鍵詞:虛擬化遠程程序

    徐 恒 吳俊敏 楊志剛 尹 燕

    1(中國科學技術(shù)大學軟件學院 安徽 合肥 230027) 2(中國科學技術(shù)大學計算機科學與技術(shù)學院 安徽 合肥 230027) 3(中國科學技術(shù)大學蘇州研究院 江蘇 蘇州 215123)

    基于虛擬化環(huán)境的多GPU并行通用計算平臺研究

    徐 恒1,3吳俊敏2,3楊志剛2尹 燕2

    1(中國科學技術(shù)大學軟件學院 安徽 合肥 230027)2(中國科學技術(shù)大學計算機科學與技術(shù)學院 安徽 合肥 230027)3(中國科學技術(shù)大學蘇州研究院 江蘇 蘇州 215123)

    針對分布式多節(jié)點多GPU的系統(tǒng)環(huán)境,實現(xiàn)一種基于CUDA框架的多GPU通用計算虛擬化平臺。應(yīng)用程序可以如同使用本地GPU一樣方便地使用多個遠程GPU,原來的CUDA應(yīng)用程序可以不經(jīng)過修改或者只進行少量的修改就可以運行在該虛擬化GPU平臺上,從而實現(xiàn)單機多GPU和多機多GPU在編程模式上的統(tǒng)一,并通過一個基于高斯混合模型的數(shù)據(jù)聚類程序來進行實驗驗證。實驗結(jié)果表明,在不影響程序正確性的前提下,相對于原來使用CPU的程序,使用兩個遠程GPU可以獲得十倍左右的加速比。

    虛擬化 GPU 多機多GPU 分布式

    0 引 言

    近年來, GPU的通用計算功能得到了迅速發(fā)展。隨著GPU的性能提高以及GPU自身的結(jié)構(gòu)特性,使得GPU在大規(guī)模并行計算中起著越來越重要的作用,對于GPU的通用計算功能的研究也成為了熱點。在通用計算領(lǐng)域,以CUDA為代表的并行計算架構(gòu)將GPU引入到科學計算。但是CUDA規(guī)范只能直接訪問本地的GPU,并沒有直接提供對遠程GPU的訪問接口,為了能夠使用網(wǎng)絡(luò)中的遠程GPU,開發(fā)人員需要用到MPI與CUDA結(jié)合等方法,這增加了程序的復(fù)雜性并且給開發(fā)人員帶來額外的工作量。

    為了能夠更加方便地使用多GPU系統(tǒng)的計算資源,本文以開源項目gVirtuS為基礎(chǔ),實現(xiàn)了一種基于CUDA框架的、支持多GPU通用計算的虛擬化方案,可以將分布式環(huán)境中多個節(jié)點的GPU資源的統(tǒng)一抽象到一個GPU池中。程序可以用本地GPU的方式使用任意位置、任意數(shù)量的GPU的資源,原有的CUDA程序可以不修改源代碼只要在編譯過程中進行簡單的配置就可以在該虛擬化平臺上運行,即使沒有GPU設(shè)備或者只有不支持CUDA的GPU設(shè)備也能夠十分方便地使用分布式環(huán)境中的非本地GPU資源進行通用計算。

    1 GPU虛擬化背景

    虛擬化技術(shù)在現(xiàn)代計算機系統(tǒng)中有非常廣泛的應(yīng)用,是對傳統(tǒng)計算資源的使用方式的一種突破。在虛擬化技術(shù)中,由于I/O設(shè)備的復(fù)雜性、多樣性與封閉性,針對I/O設(shè)備的虛擬化一直是瓶頸。GPU屬于I/O設(shè)備中的特殊部分,其功能主要有圖形計算與通用計算兩部分,近年來隨著神經(jīng)網(wǎng)絡(luò)的興起,GPU的通用計算功能越來越受重視,針對GPU通用計算的虛擬化一直是學術(shù)界研究的熱點。目前GPU虛擬化技術(shù)主要有三類:1) 設(shè)備獨占;2) 設(shè)備模擬;3) 應(yīng)用層接口虛擬化(即API重定向)。此外還有硬件虛擬化,但是運用較少。

    由于CUDA的廣泛應(yīng)用,對GPU通用計算的虛擬化主要是基于CUDA的解決方案,例如rCUDA[1]、vCUDA[2-3]、 gVirtuS[4]、Gvim[5]等。其中vCUDA是針對在虛擬機環(huán)境中運行CUDA程序提出的解決方案,“采用在用戶層攔截和重定向CUDA API的方法,在虛擬機中建立物理GPU的邏輯映像”[3]。vCUDA出現(xiàn)時間較早,對于CUDA 4.0之后的版本不再支持。Gvim是基于Xen系統(tǒng)的,實現(xiàn)了基于前后端的CUDA虛擬化系統(tǒng),但是并沒有實現(xiàn)CUDA全部功能的虛擬化。rCUDA是目前比較成熟的GPU虛擬化解決方案,支持最新的CUDA 7.5,支持cuDNN,其不再側(cè)重于針對虛擬機的GPU虛擬化,而是所有不包括NVIDIA GPU的節(jié)點都可以使用rCUDA來使用GPU進行通用計算。rCUDA可以免費獲得,但是不開源,其具體實現(xiàn)細節(jié)與原理都未公開。gVirtuS是基于前后端模式實現(xiàn)的GPU通用計算虛擬化方案,其前端提供了一個封裝了CUDA接口的偽庫。在前端的所有的對CUDA API的調(diào)用都會被這個偽庫攔截并轉(zhuǎn)發(fā)到后端進行處理,而后端則運行在具有處理能力的宿主機上,負責處理前端發(fā)來的請求。這種虛擬化方案被稱為API重定向( API remoting),其訪問遠程GPU時采用的前后端通信方式是TCP/IP,只能使用一臺遠程主機中的GPU資源。

    以上方案無論是針對虛擬機的vCUDA還是針對遠程物理機的rCUDA,其設(shè)計都包含有高效性、普適性、透明性三個原則。高效性是要求虛擬化方案不能帶來額外的開銷;普適性是指虛擬化方案不能只針對特定虛擬化平臺有效,在本文中的虛擬化方案除了虛擬化平臺外還包括了沒有GPU的物理平臺;透明性是指虛擬化的方案對于CUDA應(yīng)用保證兼容性,不要求修改CUDA程序源碼或者重新編譯,或者只需要做很少的修改就可以在虛擬化平臺上運行,在透明性良好的虛擬化方案中,原有的單機多GPU程序可以直接在多機多GPU的分布式環(huán)境中運行,從而實現(xiàn)了不同環(huán)境中的編程模式的統(tǒng)一,這也是本文研究的重點。

    2 單GPU虛擬化

    本節(jié)討論如何通過API重定向虛擬化方案來訪問單個的遠程GPU進行通用計算的問題,以此為基礎(chǔ),下一節(jié)再來討論如何使用分布式環(huán)境中的多個GPU的問題。在本文中的“虛擬節(jié)點”這個術(shù)語有兩層含義:一是指傳統(tǒng)意義上的虛擬機節(jié)點;二是指沒有配備可以運行CUDA的GPU的物理機節(jié)點。為了不引起歧義,本文使用“前端節(jié)點”這個術(shù)語來指代以上兩層含義。相應(yīng)的,使用“后端節(jié)點”這個術(shù)語來指代宿主機。

    2.1 API重定向虛擬化方案

    API重定向技術(shù)虛擬化方案[6],是一種應(yīng)用層接口虛擬化,是對GPU相關(guān)的應(yīng)用程序編程接口在應(yīng)用層進行攔截,然后使用重定向方式實現(xiàn)相應(yīng)的功能,將完成的結(jié)果返回給對應(yīng)的應(yīng)用程序。

    這種方案是針對CUDA運行時API(Runtime API)進行虛擬化,為前端提供了一個運行時偽庫,該偽庫重寫了CUDA的運行時API,將其實現(xiàn)為對后端的遠程調(diào)用。前端編寫的CUDA程序?qū)UDA API的調(diào)用被偽庫動態(tài)攔截,偽庫將CUDA API的參數(shù)與名稱發(fā)送到前端通信部分,再由前端通信部分通過網(wǎng)絡(luò)發(fā)送給后端,后端接受相應(yīng)參數(shù)后調(diào)用真正的CUDA程序進行計算,然后將運行結(jié)果返回給前端。結(jié)構(gòu)如圖1所示。

    圖1 API重定向虛擬化方案結(jié)構(gòu)

    這種方案解耦了上層軟件與底層硬件之間的強耦合關(guān)系,不僅可以應(yīng)用在虛擬機中,也可以為沒有配備GPU資源或者配備了缺少支持CUDA的GPU資源的計算機提供一種使用遠程節(jié)點上的GPU的方法。這兩種方案的區(qū)別在于前端與后端的通信方式的不同:在虛擬機中可以利用虛擬機與宿主機之間的高速通信方式,而在訪問遠程節(jié)點上的GPU時只能使用網(wǎng)絡(luò)通信。

    這種方案不依賴于特定的虛擬化平臺,前端節(jié)點可以是一個Xen、KVM、Vmware或者其他任何一臺虛擬機,甚至可以是一臺真正的物理機,只要與后端節(jié)點有網(wǎng)絡(luò)連通,都可以使用這種方案來搭建虛擬化平臺。搭建的方式也十分簡單,只需要在前端節(jié)點中安裝好運行時偽庫(一般與原裝庫同名),然后在配置文件中將后端節(jié)點的IP地址正確的寫入即可。原本的代碼不需要做任何的修改,只要在編譯時將偽庫鏈接到可執(zhí)行文件中,源程序不需要做任何的修改就可以運行在虛擬化平臺上。應(yīng)用程序可以如同使用本地GPU一樣方便地使用遠程GPU,虛擬化平臺的復(fù)雜的執(zhí)行流程對程序員完全透明。

    一個典型的CDUA API的執(zhí)行過程如圖2所示,不同的API執(zhí)行步驟會有差異,但基本流程都是如圖2所示。圖中虛框部分是虛擬化平臺所做的處理,一般包括前端部分與后端部分,分別位于不同的節(jié)點上。前端節(jié)點與后端節(jié)點之間的交互包括數(shù)據(jù)傳輸與函數(shù)調(diào)用,前端的所有參數(shù)都會被偽庫攔截轉(zhuǎn)發(fā)給后端,后端節(jié)點接收了參數(shù)之后會啟動核函數(shù)進行運算,最后將結(jié)果返回給前端節(jié)點。每一個CUDA API在執(zhí)行時都會涉及上述步驟,執(zhí)行期間會有大量數(shù)據(jù)傳輸,涉及不同組件、不同節(jié)點,數(shù)據(jù)傳輸對應(yīng)用程序的性能會產(chǎn)生重大影響,是虛擬化方案設(shè)計時要解決的重要問題。

    圖2 CUDA函數(shù)在虛擬化平臺上的執(zhí)行流程

    2.2 程序在虛擬化平臺上的執(zhí)行過程

    圖2顯示了CUDA函數(shù)在虛擬化平臺上的執(zhí)行流程,與直接在本地上運行時不同,在虛擬化平臺上程序執(zhí)行時被分解為了前端與后端兩個部分,這使得其執(zhí)行步驟更加復(fù)雜。在沒有虛擬化的環(huán)境下,一次GPU運算的過程可以簡單地分成三個步驟:

    1) 將數(shù)據(jù)從主機內(nèi)存拷貝到GPU顯存。

    2) 在GPU上啟動核函數(shù),開始計算。

    3) 將結(jié)果由GPU顯存拷貝回主機內(nèi)存。

    在虛擬化方案中,由于前端節(jié)點與后端節(jié)點往往不是在一臺機器上,除了必要的數(shù)據(jù)外,前后端之間還需要傳輸大量的參數(shù)信息與控制信息,這些都是由虛擬化平臺來處理。

    圖3是一個求后端節(jié)點的GPU數(shù)目的簡單程序,原程序不需要做任何的修改就可以移植到虛擬化平臺上,并得到正確的結(jié)果,只是其執(zhí)行的流程更加復(fù)雜:

    1) 根據(jù)配置文件中提供的IP地址,前端傳輸相關(guān)的參數(shù)到后端,完成GPU資源的初始化,并傳回句柄的相關(guān)信息。如果無法完成初始化,則報錯。

    2) 在后端GPU上注冊代碼段(FatBinary),程序在本地上運行時,這一步驟會隱式的調(diào)用一個CUDA未公開的API _cudaRegisterFatBinary()來完成如內(nèi)存偏移、空間大小、GPU設(shè)備編號等相關(guān)初始化工作。該API是在程序的所有代碼之前被調(diào)用。在虛擬化環(huán)境下,這一過程由平臺來完成,同樣對前端編程人員透明。

    3) 將計算數(shù)據(jù)與參數(shù)從前端內(nèi)存?zhèn)鬏數(shù)胶蠖斯?jié)點的內(nèi)存,這往往是通往網(wǎng)絡(luò)傳輸?shù)摹?/p>

    4) 根據(jù)前端傳輸過來的參數(shù)以及控制信息,后端節(jié)點調(diào)用GPU進行計算。

    5) 后端節(jié)點將計算結(jié)果拷貝回主存,釋放資源,并且完成相關(guān)的清理工作,在GPU程序的所有代碼執(zhí)行結(jié)束之后,還需要調(diào)用另外一個未公開的CUDA API: _cudaUnregisterFatBinary()來注銷相關(guān)的信息。

    6) 虛擬化平臺的后端將計算結(jié)果傳回給前端節(jié)點。

    圖3 一個簡單程序在虛擬化平臺上的執(zhí)行

    上述一個簡單的求后端節(jié)點的GPU數(shù)目的例子中就涉及到了兩個未公開的CUDA API。由于CUDA的封閉性,還有其余未曾公開的API,這些不曾出現(xiàn)在官方文檔中的API是實現(xiàn)虛擬化方案的過程中需要處理的棘手問題。為了保證虛擬化平臺的透明性,這些API的功能都是由虛擬化平臺來實現(xiàn)。

    以上是對虛擬化平臺的程序執(zhí)行步驟的簡單介紹。一個簡單的程序在虛擬化平臺上的運行過程往往就涉及到了復(fù)雜的參數(shù)傳遞與控制信息傳遞,這些數(shù)據(jù)都要通過網(wǎng)絡(luò)來傳輸,新增加的軟件棧也會導(dǎo)致性能降低。另外,在一些程序中,需要處理大量的數(shù)據(jù),這些數(shù)據(jù)在前端/后端之間傳輸所帶來的延時往往會比GPU處理這些數(shù)據(jù)的時間高的多,這也常常成為程序的性能瓶頸。

    2.3 改變通信方式提高效率

    在2.1小節(jié)論述了論述了虛擬化平臺的普適性、透明性原則,本小節(jié)討論虛擬化過程的效率性。本文采用的API重定向技術(shù)是在應(yīng)用層完成了對GPU的虛擬化,這是一種在CUDA的封閉、不了解其內(nèi)部細節(jié)情況下提出的虛擬化方案[7],也是目前研究GPU通用計算虛擬化的主流方案。API重定向方案可以解決CUDA封閉性問題,然而由于需要攔截/轉(zhuǎn)發(fā)、前端處理、后端處理等步驟來實現(xiàn)平臺的功能并對上層程序員透明,因此帶來了額外傳輸開銷與控制開銷。新增加的軟件棧也會降低系統(tǒng)的性能[8],尤其是在采用網(wǎng)絡(luò)傳輸來實現(xiàn)前端/后端的參數(shù)傳遞與數(shù)據(jù)傳輸時。相對于主機內(nèi)存到GPU顯存的高速傳輸,網(wǎng)絡(luò)傳輸?shù)难訒r往往會高好幾個數(shù)量級,這部分開銷也成了整體性能的瓶頸,如何通過提高通信的性能也是本文要討論的重點。

    前端節(jié)點與后端節(jié)點的通信方式有不同的選擇,當需要訪問遠程的GPU時,采用的是基于socket的傳輸方式進行通信,這帶來兩個問題,一是前端/后端之間的數(shù)據(jù)傳輸延時比較大;二是一個前端節(jié)點只能與一個后端節(jié)點進行通信,無法同時對多個GPU進行抽象和映射。本小節(jié)將其通信方式改為ZeroMQ來解決第一個問題,第二個問題在第4節(jié)討論。由第2.1小節(jié)可以知道,通信部分為CUDA編程提供了有效的底層通信接口,前端通信部分與后端通信部分的關(guān)聯(lián)十分緊密,而通信部分與系統(tǒng)的其余部分的耦合性并不高,在深入研究之后為系統(tǒng)增加了一種新的高效通信方式:ZeroMQ通信方式。

    ZeroMQ是一種基于消息隊列的多線程網(wǎng)絡(luò)庫,其對套接字類型的底層細節(jié)進行抽象,提供跨越多種傳輸協(xié)議的套接字。相對于Socket來說ZeroMQ是一個更為高效的傳輸層協(xié)議。ZeroMQ設(shè)計之初就是為了高性能的消息發(fā)送而服務(wù)的,所以其設(shè)計追求簡潔高效。ZeroMQ是面向“消息”的而非字節(jié)流,發(fā)送消息采用異步模式。

    實驗表明,采用ZeroMQ通信方式的程序能夠比原來的Socket方式整體性能更高。實驗中的后端節(jié)點配置Inter(R) Core(TM) i5-4590CPU(3.3 GHz)處理器,4 GB內(nèi)存和100 GB硬盤,GeForce GTX750 Ti GPU,Ubuntu 14.04 64位操作系統(tǒng),CUDA版本為7.5。前端節(jié)點是一臺物理機,配置Celeron(R) Dual-Core CPU T3000(1.8 GHz)處理器,3 GB內(nèi)存和30 GB硬盤,沒有NVIDIA顯卡,也沒有安裝CUDA程序,Ubuntu 14.04 64位操作系統(tǒng)。前后端之間通過百兆以太網(wǎng)交換機互聯(lián)。由于網(wǎng)絡(luò)環(huán)境會影響到實驗結(jié)果,所以每組數(shù)據(jù)都是測試多次取平均值,實驗運行的程序都是CUDA SDK自帶的程序。計算性能實驗在三類平臺上進行對比,即本地GPU計算平臺、基于Socket通信方式的虛擬化計算平臺以及基于ZeroMQ通信方式的虛擬化計算平臺。

    圖4顯示的是向量加法的性能實驗結(jié)果,其中橫坐標表示的是向量長度,縱坐標是運行時間。除了運行時間不同之外,運行結(jié)果與本地機上的運行結(jié)果沒有差別,說明虛擬化平臺不會對程序的正確性有影響。實驗結(jié)果表明使用ZeroMQ通信方式可以提高系統(tǒng)的整體性能,在這個程序中,可以獲得20%~35%的性能加速。然而與本地運行的程序相比,隨著數(shù)據(jù)量的加大,不論是哪一種通信方式的虛擬化方案所帶來的性能損失也越來越大。這是因為隨著向量規(guī)模的增加需要傳輸?shù)臄?shù)據(jù)量越多,就有更多的數(shù)據(jù)和參數(shù)需要在前端/后端之間傳遞,自然會有更大的傳輸開銷與控制開銷。而數(shù)據(jù)在GPU上計算所增加的時間并不多,這是因為GPU特別適合處理向量加法這種可以并行的程序,因此數(shù)據(jù)規(guī)模的加大并不會使GPU的運算時間大幅提高。

    圖4 不同平臺上向量加法程序的執(zhí)行結(jié)果

    在GPU上運行的往往不會是向量加法這么方便地進行并行處理的程序,比如復(fù)雜一些的CUDA程序:矩陣乘法,這是一個計算密集型程序,其需要傳輸?shù)臄?shù)據(jù)并不太多,而GPU的運算卻相對復(fù)雜,結(jié)果如圖5所示。

    圖5 不同平臺上矩陣乘法程序的執(zhí)行結(jié)果

    圖5中橫坐標是參加運算的矩陣的階數(shù),縱坐標是程序的運行時間。實驗結(jié)果表明,當矩陣規(guī)模越大時,虛擬化方案的性能反而越接近物理機,當矩陣的規(guī)模為960×960時,程序在基于ZeroMQ的虛擬化平臺上的運行時間是在物理機器上運行時間的1.12倍,此時達到臨界點,規(guī)模更大的矩陣運算不會使程序的性能更接近本地機,因為傳輸開銷與控制開銷以及額外的軟件棧等是虛擬化無法避免的性能損失。以上實驗結(jié)果表明虛擬化平臺在處理計算密集型的程序時損失的性能會相對較少。圖5中還顯示了另外一個問題:基于ZeroMQ方式與基于Socket方式的虛擬化平臺之間的性能差距不再十分明顯。這同樣是由于程序的計算比較復(fù)雜,需要GPU運算的時間大大超過了數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)臅r間,通過改變通信方式獲得的性能提升不再明顯,那么為什么依舊選擇ZeroMQ呢?下一節(jié)的多GPU虛擬化來討論這個問題。

    3 多GPU虛擬化

    多GPU平臺主要有兩種構(gòu)架,如圖6所示。一種是單機多GPU,另一種是多機多GPU,即GPU集群[9]。在編程方式上,在單機多GPU的環(huán)境下CUDA提供了直接的編程接口,而對于多機多GPU的結(jié)構(gòu)CUDA沒有相關(guān)的編程接口,需要借助其他工具,如基于MPI與CUDA相結(jié)合的方式,要求編程人員顯式地采用分布式MPI編程。目前的多GPU的處理方案中,一般都是將兩種情況區(qū)別對待,運行在單機多GPU上的CUDA代碼需要進行很大的修改才能移植到多機多GPU的環(huán)境上,如何實現(xiàn)二者在編程模式上的統(tǒng)一是本文討論的重點。

    圖6 單機多GPU與多機多GPU

    在第2節(jié)中提到的基于Socket方式來實現(xiàn)的單GPU虛擬化方案中,由于Socket只支持一對一的通信,一個前端節(jié)點只能訪問一個遠程GPU,無法同時調(diào)用集群環(huán)境中的多個GPU來加速應(yīng)用程序。因此,在基于ZeroMQ通信方式的虛擬化方案除了能夠提高效率外,還實現(xiàn)了另外的功能:ZeroMQ支持一對多的通信,從而能夠同時使用多個遠程GPU,實現(xiàn)多GPU的虛擬化方案,如圖7所示。一個前端節(jié)點可以綁定多個后端節(jié)點的IP地址,從而能夠通過ZeroMQ同時調(diào)用多個后端節(jié)點上的GPU資源。GPU集群中存在多個節(jié)點,每個節(jié)點配備了不同的GPU資源,節(jié)點之間通過網(wǎng)絡(luò)互連。在虛擬化的過程中,通過IP地址來標識不同節(jié)點的GPU,將其映射到一個統(tǒng)一的GPU池中,并且順序編號為GPU0,GPU1,…,GPUn等。所有分布式環(huán)境下需要解決的容錯性,冗余性等問題都在虛擬化過程中解決。對于前端節(jié)點來說,其能夠使用的GPU的最大數(shù)目就是這個GPU池中的數(shù)目。在邏輯上,前端應(yīng)用調(diào)用這個GPU池中的GPU的方式和使用本地GPU的方式完全相同,從而將多機多GPU卡的物理環(huán)境抽象成了單機多GPU卡的邏輯環(huán)境,使得單機多卡的程序可以不用修改或者只做很少的修改就可以運行在多機多卡的環(huán)境下,實現(xiàn)了兩個環(huán)境編程模式的統(tǒng)一。

    圖7 多GPU虛擬化平臺的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)

    如圖7所示,集群中的所有GPU資源都由虛擬化平臺來管理,前端需要使用GPU資源時,只需要在配置文件中準確描述后端節(jié)點的IP地址和需要的GPU數(shù)目,就可以將相應(yīng)節(jié)點上的GPU映射到本地。應(yīng)用程序可以像訪問本地GPU一樣調(diào)用這些映射來的GPU進行加速。此外當有些程序需要的GPU資源超過了單個節(jié)點的能力時,這也是一種很好的解決方案。程序開發(fā)過程中,開發(fā)人員只需要專注于CUDA編程, GPU資源的分布、數(shù)據(jù)的傳輸、冗余與錯誤處理等都交給虛擬化平臺來處理。這種方式的靈活性極好,對GPU資源的分配只需要修改配置文件即可。

    多GPU虛擬化平臺的優(yōu)勢是可以使用分布式環(huán)境中的其他節(jié)點的GPU資源,并且理論上沒有數(shù)目的限制,具體需要使用多少的GPU資源取決于程序開發(fā)人員和分布式環(huán)境中的GPU資源數(shù)目。此外由于虛擬化平臺的透明性很好,使用遠程GPU的方式就如同使用本地GPU一樣,可以直接通過CUDA提供的接口方便的調(diào)用,可移植性非常好。例如CUDA SDK自帶的多GPU samples程序絕大部分都可以直接運行在虛擬化平臺上,不需要修改源碼,只需要修改編譯時的選項并重新編譯即可,只不過這些程序往往都是以演示功能為主,計算規(guī)模不大,并不能體現(xiàn)出多GPU虛擬化的優(yōu)勢。

    在第2節(jié)中詳細分析了程序在單GPU的虛擬化平臺上的執(zhí)行流程,在多GPU的虛擬化環(huán)境下程序的執(zhí)行流程也是基本如此。此外在進行多GPU的并行計算時,還有數(shù)據(jù)的分解、運算和合并等步驟,因此會帶來更多的軟件棧和控制開銷。所以當程序的計算規(guī)模不大時,使用多GPU虛擬化平臺往往不能得到很好的結(jié)果。第4節(jié)的實驗結(jié)果可以證明,當計算規(guī)模比較大的時,使用多個GPU是可以抵消這些開銷所帶來的性能損失從而提升程序的執(zhí)行效率。

    4 實驗結(jié)果與性能分析

    4.1 實驗環(huán)境

    實驗中的后端節(jié)點是兩臺配置Inter(R) Core(TM) i5-4590CPU(3.3 GHz)處理器,4 GB內(nèi)存和100 GB硬盤,GeForce GTX750 Ti GPU,Ubuntu 16.04和Ubuntu 14.04 64位操作系統(tǒng),CUDA版本分別為6.5和7.5;前端節(jié)點是一臺物理機,配置Celeron(R) Dual-Core CPU T3000(1.8 GHz)處理器,沒有NVIDIA顯卡,也沒有安裝CUDA程序,Ubuntu 14.04 64位操作系統(tǒng);前端與后端節(jié)點通過百兆以太網(wǎng)互連。

    4.2 實驗內(nèi)容

    實驗運行的程序基于CUDA框架使用EM(Expectation Maximization)算法在高斯混合模型(Gaussian Mixture Model)下進行數(shù)據(jù)聚類,原程序可以使用單個節(jié)點上的多個GPU進行加速,是CLUSTER[10]的GPU實現(xiàn),程序有單節(jié)點單GPU和單節(jié)點多GPU兩個不同的執(zhí)行模式,當探測到節(jié)點中的GPU數(shù)目多于一個時,會啟用多個線程控制多個GPU來加速程序的執(zhí)行,實驗使用的數(shù)據(jù)集是用Matlab生成的,所有不同類型的程序都是在同一個數(shù)據(jù)集上執(zhí)行。實驗中分別在前端節(jié)點上使用本地CPU和通過虛擬化平臺使用1個、2個遠程GPU計算同樣的輸入數(shù)據(jù)集,后端節(jié)點配置了相同類型的GPU,只是CUDA 版本和操作系統(tǒng)版本有區(qū)別。虛擬化平臺為基于ZeroMQ通信方式的多GPU虛擬化方案。

    圖8中橫軸代表的是初始時cluster的數(shù)目,不同的數(shù)目會影響程序的執(zhí)行時間,所以使用這個參數(shù)來做對比,縱軸表示整個程序運行的時間。隨著初始cluster的值增加,使用CPU處理花費的時間增長更快,使用GPU獲得的加速比也越大,當初始有200個cluster時使用1個GPU比CPU獲得6.1的加速比,而使用2個GPU時與使用1個GPU獲得1.85的加速比,實驗中繼續(xù)增加cluster時,獲得的加速比并沒有繼續(xù)增加。

    圖8 使用不同設(shè)備時程序運行的時間

    實驗中計算得到了許多參數(shù),如均值、協(xié)方差等,表1中的系數(shù)π實際上是每個component被選中的概率,并不指代圓周率,實驗中運行的GMM程序會得到三個系數(shù);CPU列是使用CPU計算出來的系數(shù)π的值,GPU列是使用GPU計算出來的系數(shù)π的值??梢钥闯?,對于同樣的輸入數(shù)據(jù)集,對于不同的初始cluster,使用GPU計算得到的系數(shù)與使用CPU計算的到的系數(shù)有些許的誤差,這是由于實驗中使用的GPU與CPU處理浮點數(shù)據(jù)的精度不同以及小數(shù)的舍入導(dǎo)致的,并不是虛擬化平臺影響了程序的正確性。

    表1 不同平臺上執(zhí)行得到的compunent的系數(shù)

    續(xù)表1

    以上可知,虛擬化平臺可以保證程序正確性的情況下,獲得比使用CPU時更好的性能,只使用兩個GPU時,就可以獲得十倍的加速比;GPU的數(shù)目增加時可以獲得更大的加速比,但是還未達到線性的加速比。這是因為在有多個GPU時會涉及更多的數(shù)據(jù)交換和參數(shù)控制,網(wǎng)絡(luò)傳輸?shù)难訒r也會增加,新增加的軟件棧也會影響效率,這些是虛擬化所無法避免的開銷。

    4.3 實驗結(jié)論

    基于虛擬化的多GPU通用計算平臺上,原來基于單機多GPU實現(xiàn)的GMM程序不需要修改源代碼就可以運行在沒有NVIDIA顯卡的前端節(jié)點上。通過調(diào)用兩個遠程GPU就能夠獲得比使用CPU時十倍以上的加速比,并且只需要修改一些配置文件就可以方便地增減所使用的GPU數(shù)目,十分靈活。雖然虛擬化帶來了一定的性能損失,但是可以有效地實現(xiàn)單機多GPU和多機多GPU的編程模式統(tǒng)一。

    5 結(jié) 語

    實現(xiàn)了基于虛擬化的多GPU通用計算平臺,可以十分方便地使用遠程GPU進行通用計算。能夠使用分布式環(huán)境中不同節(jié)點上的多個GPU加速程序,且不需要對源碼做太多的修改。最后在實驗中驗證了該平臺的有效性。

    實驗中發(fā)現(xiàn)網(wǎng)絡(luò)性能對于平臺的性能有很大的影響,如果使用高速網(wǎng)絡(luò)如InfiniBand將會提高虛擬化平臺的性能,此外,還有GPU RMDA技術(shù),多GPU使用時的P2P問題等能夠提升性能的技術(shù)可以應(yīng)用到虛擬化平臺上。

    [1] Duato J,Pena A J,Silla F,et al.rCUDA:Reducing the number of GPU-based accelerators in high performance clusters[C]//High Performance Computing and Simulation (HPCS),2010 International Conference on.IEEE,2010:224-231.

    [2] Shi L,Chen H,Sun J,et al.vCUDA:GPU-accelerated high-performance computing in virtual machines[J].IEEE Transactions on Computers,2012,61(6):804-816.

    [3] 石林.GPU通用計算虛擬化方法研究[D].湖南大學,2012.

    [4] Giunta G,Montella R,Agrillo G,et al.A GPGPU transparent virtualization component for high performance computing clouds[C]//European Conference on Parallel Processing.Springer Berlin Heidelberg,2010:379-391.

    [5] Gupta V,Gavrilovska A,Schwan K,et al.GViM:GPU-accelerated virtual machines[C]//Proceedings of the 3rd ACM Workshop on System-level Virtualization for High Performance Computing.ACM,2009:17-24.

    [6] 仝伯兵,楊昕吉,謝振平,等.GPU虛擬化技術(shù)及應(yīng)用研究[J].軟件導(dǎo)刊,2015,14(6):153-156.

    [7] Suzuki Y,Kato S,Yamada H,et al.GPUvm: why not virtualizing GPUs at the hypervisor?[C]//Usenix Conference on Usenix Technical Conference.USENIX Association,2014:109-120.

    [8] Liu M,Li T,Jia N,et al.Understanding the virtualization “Tax” of scale-out pass-through GPUs in GaaS clouds:An empirical study[C]//IEEE,International Symposium on High PERFORMANCE Computer Architecture.IEEE,2015:259-270.

    [9] 楊經(jīng)緯,馬凱,龍翔.面向集群環(huán)境的虛擬化GPU計算平臺簡[J].北京航空航天大學學報,2016,42(11):2340-2348.

    [10] Bouman C A,Shapiro M,Ncsa,et al.Cluster:An unsupervised algorithm for modeling Gaussian mixtures[J].Soft Manual,2005.

    [11] Castelló A,Duato J,Mayo R,et al.On the use of remote GPUs and low-power processors for the acceleration of scientific applications[C]//The Fourth International Conference on Smart Grids,Green Communications and IT Energy-aware Technologies (ENERGY),2014:57-62.

    [12] Sourouri M,Gillberg T,Baden S B,et al.Effective multi-GPU communication using multiple CUDA streams and threads[C]//2014 USENIX Annual Technical Conference Parallel and Distributed Systems (ICPADS).IEEE,2014:981-986.

    [13] Gottschlag M,Hillenbrand M,Kehne J,et al.LoGV:Low-Overhead GPGPU Virtualization[C]//IEEE,International Conference on High PERFORMANCE Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing.IEEE,2014:1721-1726.

    [14] Yang C T,Liu J C,Wang H Y,et al.Implementation of GPU virtualization using PCI pass-through mechanism[J].The Journal of Supercomputing,2014,68(1):183-213.

    [15] 張玉潔.基于多GPGPU并行計算的虛擬化技術(shù)研究[D].南京航空航天大學,2015.

    [16] 閔芳,張志先,張玉潔.虛擬化環(huán)境下多GPU并行計算研究[J].微電子學與計算機,2016,33(3):69-75.

    [17] 張玉潔,呂相文,張云洲.GPU虛擬化環(huán)境下的數(shù)據(jù)通信策略研究[J].計算機技術(shù)與發(fā)展,2015,25(8):24-28.

    [18] 張云洲.虛擬化環(huán)境下的GPU通用計算關(guān)鍵技術(shù)研究[D].南京航空航天大學,2014.

    [19] 王剛,唐杰,武港山.基于多GPU集群的編程框架[J].計算機技術(shù)與發(fā)展,2014,24(1):9-13.

    [20] 陳志佳,朱元昌,邸彥強,等.一種改進的GPU虛擬化實施方法[J].計算機工程與科學,2015,37(5):901-906.

    RESEARCHOFPARALLELCOMPUTINGPLATFORMOFMULTI-GPUBASEDONVIRTUALENVIRONMENT

    Xu Heng1,3Wu Junmin2,3Yang Zhigang2Yin Yan2

    1(SchoolofSoftware,UniversityofScienceandTechnologyofChina,Hefei230027,Anhui,China)2(SchoolofComputerScienceandTechnology,UniversityofScienceandTechnologyofChina,Hefei230027,Anhui,China)3(SuzhouInstituteforAdvancedStudy,UniversityofScienceandTechnologyofChina,Suzhou215123,Jiangsu,China)

    Aiming at the distributed multi-node and multi-GPUs system environment, a general computing virtualization platform of multi-GPUs based on CUDA framework is implemented. The application program can use the remote GPUs in the same way as the local GPUs. The original CUDA application program can be run on the virtual platform of GPUs without modification or with only a few changes, in order to achieve unity in the programming model of single multi-GPUs and multi-machine multi-GPUs. In the end, we verify the correctness of the experiment through a Gaussian mixture model for data classification by CUDA. The experiment shows that the result of a program using two remote GPUs can get about ten times faster than using the original CPU without affecting the correctness.

    Virtualization GPU Multi-machine and multi-GPU Distributed

    2017-01-04。國家重點研發(fā)計劃項目(2016YFB1000403)。徐恒,碩士生,主研領(lǐng)域:GPU通用計算,虛擬化。吳俊敏,副教授。楊志剛,碩士生。尹燕,博士生。

    TP3

    A

    10.3969/j.issn.1000-386x.2017.11.014

    猜你喜歡
    虛擬化遠程程序
    讓人膽寒的“遠程殺手”:彈道導(dǎo)彈
    軍事文摘(2022年20期)2023-01-10 07:18:38
    遠程工作狂綜合征
    英語文摘(2021年11期)2021-12-31 03:25:18
    基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺的設(shè)計與實現(xiàn)
    電子制作(2019年10期)2019-06-17 11:45:10
    試論我國未決羈押程序的立法完善
    遠程詐騙
    學生天地(2018年19期)2018-09-07 07:06:30
    對基于Docker的虛擬化技術(shù)的幾點探討
    電子制作(2018年14期)2018-08-21 01:38:20
    虛擬化技術(shù)在計算機技術(shù)創(chuàng)造中的應(yīng)用
    電子測試(2017年11期)2017-12-15 08:57:56
    “程序猿”的生活什么樣
    英國與歐盟正式啟動“離婚”程序程序
    存儲虛擬化還有優(yōu)勢嗎?
    国产亚洲最大av| 淫秽高清视频在线观看| 午夜福利在线在线| 日日摸夜夜添夜夜添av毛片| 三级国产精品片| 97热精品久久久久久| 又粗又硬又长又爽又黄的视频| 永久免费av网站大全| 日韩在线高清观看一区二区三区| 亚洲av电影不卡..在线观看| 一本一本综合久久| 久久精品综合一区二区三区| 热99在线观看视频| 久久99蜜桃精品久久| 精品人妻偷拍中文字幕| 国产高清不卡午夜福利| 国产伦在线观看视频一区| 成人欧美大片| 日本三级黄在线观看| 又爽又黄无遮挡网站| 国产中年淑女户外野战色| 亚洲av一区综合| 91久久精品国产一区二区三区| 丰满人妻一区二区三区视频av| 波多野结衣高清无吗| 在线天堂最新版资源| 国产精品99久久久久久久久| 国产在线男女| 欧美一级a爱片免费观看看| 美女高潮的动态| 毛片女人毛片| 亚洲精品影视一区二区三区av| 最近视频中文字幕2019在线8| 亚洲综合色惰| 久久精品夜夜夜夜夜久久蜜豆| 久久99蜜桃精品久久| 国产极品天堂在线| 22中文网久久字幕| 两个人的视频大全免费| 亚洲中文字幕日韩| 中文亚洲av片在线观看爽| 亚洲成色77777| 国产探花极品一区二区| 国产成人精品一,二区| 午夜久久久久精精品| 久久草成人影院| 一级毛片我不卡| 亚洲高清免费不卡视频| a级毛片免费高清观看在线播放| 美女国产视频在线观看| 亚洲精品亚洲一区二区| av.在线天堂| 色网站视频免费| 日韩,欧美,国产一区二区三区 | eeuss影院久久| 亚洲精品自拍成人| 亚洲精品自拍成人| 亚洲精品aⅴ在线观看| 色网站视频免费| 国产高清不卡午夜福利| 一个人看的www免费观看视频| 国产成人精品久久久久久| 99久久人妻综合| 国产久久久一区二区三区| 中文字幕制服av| 51国产日韩欧美| 中文乱码字字幕精品一区二区三区 | 国产淫语在线视频| 成人美女网站在线观看视频| 国产精品久久电影中文字幕| 99久国产av精品| 亚洲成人久久爱视频| 国产精品久久久久久精品电影小说 | 国产三级在线视频| 人人妻人人澡欧美一区二区| 日韩av不卡免费在线播放| 亚洲av中文av极速乱| ponron亚洲| 免费观看在线日韩| 国产一级毛片七仙女欲春2| 免费观看在线日韩| 日韩欧美 国产精品| 永久网站在线| 人妻夜夜爽99麻豆av| 在线天堂最新版资源| 日本-黄色视频高清免费观看| 插逼视频在线观看| 插逼视频在线观看| 你懂的网址亚洲精品在线观看 | 黑人高潮一二区| 国产精品一及| 草草在线视频免费看| 26uuu在线亚洲综合色| 2021天堂中文幕一二区在线观| 欧美日本亚洲视频在线播放| 免费看日本二区| 午夜爱爱视频在线播放| 免费黄色在线免费观看| 97热精品久久久久久| 亚洲欧美日韩卡通动漫| 国产精品久久久久久av不卡| 午夜福利在线观看吧| 亚洲精品国产av成人精品| 欧美xxxx黑人xx丫x性爽| 亚洲欧美清纯卡通| 一本一本综合久久| 99热全是精品| 干丝袜人妻中文字幕| 乱码一卡2卡4卡精品| 亚洲av中文字字幕乱码综合| 国产高清三级在线| 久久久精品大字幕| 亚洲最大成人手机在线| 最近中文字幕高清免费大全6| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 小说图片视频综合网站| 三级男女做爰猛烈吃奶摸视频| 大香蕉久久网| 在线a可以看的网站| 熟女电影av网| 中文亚洲av片在线观看爽| 免费观看在线日韩| 精品熟女少妇av免费看| 欧美精品一区二区大全| 亚洲真实伦在线观看| 国产午夜精品久久久久久一区二区三区| 纵有疾风起免费观看全集完整版 | 久久久久久久国产电影| 老女人水多毛片| 久久久精品大字幕| 在线播放无遮挡| 亚洲国产精品合色在线| 精品国产一区二区三区久久久樱花 | 成人午夜高清在线视频| 一区二区三区免费毛片| 毛片女人毛片| 久久人人爽人人片av| 在线免费观看不下载黄p国产| 午夜激情福利司机影院| 如何舔出高潮| 天堂影院成人在线观看| 国产免费又黄又爽又色| 久久久久久久久中文| 国产伦精品一区二区三区四那| 国产午夜精品论理片| 伦理电影大哥的女人| av天堂中文字幕网| 免费不卡的大黄色大毛片视频在线观看 | 小蜜桃在线观看免费完整版高清| 91狼人影院| 成人亚洲欧美一区二区av| 中文字幕av成人在线电影| 国产一区二区在线观看日韩| av又黄又爽大尺度在线免费看 | 午夜爱爱视频在线播放| 久久精品国产99精品国产亚洲性色| 国产在视频线在精品| 亚洲丝袜综合中文字幕| 不卡视频在线观看欧美| 国产av码专区亚洲av| 永久免费av网站大全| 少妇人妻一区二区三区视频| 在线免费观看的www视频| 成人特级av手机在线观看| 一区二区三区四区激情视频| 深爱激情五月婷婷| 中文字幕熟女人妻在线| 亚洲av电影在线观看一区二区三区 | 色播亚洲综合网| 一个人观看的视频www高清免费观看| 欧美成人a在线观看| 97热精品久久久久久| 亚洲最大成人手机在线| 99热这里只有是精品在线观看| 一级av片app| 国产在视频线在精品| 又黄又爽又刺激的免费视频.| 亚洲av成人精品一区久久| 天堂网av新在线| 日韩一区二区视频免费看| 午夜免费男女啪啪视频观看| 小说图片视频综合网站| 人妻夜夜爽99麻豆av| 午夜福利在线在线| 少妇人妻一区二区三区视频| 黄片wwwwww| 亚洲一级一片aⅴ在线观看| 国产精品人妻久久久影院| 九九热线精品视视频播放| 青春草亚洲视频在线观看| 少妇裸体淫交视频免费看高清| 久久久色成人| 亚洲成人久久爱视频| 国产精品一二三区在线看| 最近最新中文字幕大全电影3| 国产高清三级在线| 亚洲在线观看片| 国产伦精品一区二区三区四那| 亚洲成av人片在线播放无| 国产白丝娇喘喷水9色精品| 久久精品91蜜桃| 欧美精品一区二区大全| 成人国产麻豆网| 97超视频在线观看视频| 国产精品一区二区三区四区久久| av在线天堂中文字幕| 好男人在线观看高清免费视频| 午夜激情欧美在线| 如何舔出高潮| 午夜久久久久精精品| 国产探花在线观看一区二区| 尾随美女入室| 成人亚洲欧美一区二区av| 亚洲欧美日韩无卡精品| 色综合亚洲欧美另类图片| 变态另类丝袜制服| 欧美性感艳星| 精品久久久久久久末码| 亚洲国产精品成人久久小说| 三级毛片av免费| 99久久人妻综合| 不卡视频在线观看欧美| 天堂中文最新版在线下载 | 久久人人爽人人爽人人片va| 一级二级三级毛片免费看| 久久99热这里只频精品6学生 | 精品人妻一区二区三区麻豆| 看黄色毛片网站| 色综合色国产| 午夜日本视频在线| 日韩欧美三级三区| 久久精品综合一区二区三区| 亚洲精品影视一区二区三区av| 国产片特级美女逼逼视频| 如何舔出高潮| 国产伦在线观看视频一区| 国产av码专区亚洲av| 91av网一区二区| 色吧在线观看| 欧美zozozo另类| 中文字幕精品亚洲无线码一区| 99久久人妻综合| 国产伦一二天堂av在线观看| 永久网站在线| 亚洲怡红院男人天堂| av在线天堂中文字幕| 国内精品宾馆在线| 蜜桃久久精品国产亚洲av| 午夜免费男女啪啪视频观看| 人体艺术视频欧美日本| 精品久久久久久久久久久久久| 亚洲人成网站在线观看播放| 看十八女毛片水多多多| 91午夜精品亚洲一区二区三区| 色吧在线观看| 一夜夜www| 三级毛片av免费| 午夜精品一区二区三区免费看| 国产伦一二天堂av在线观看| 午夜福利高清视频| 热99在线观看视频| 亚洲av一区综合| 在线免费十八禁| 久久精品国产99精品国产亚洲性色| 久久亚洲国产成人精品v| 国产三级中文精品| 国产私拍福利视频在线观看| av在线播放精品| 精品人妻熟女av久视频| 观看免费一级毛片| 免费av不卡在线播放| 黄片无遮挡物在线观看| 丰满乱子伦码专区| 国产真实乱freesex| 亚洲国产精品国产精品| 国产白丝娇喘喷水9色精品| 最新中文字幕久久久久| 精品免费久久久久久久清纯| 国产精品伦人一区二区| 高清视频免费观看一区二区 | 在线a可以看的网站| 村上凉子中文字幕在线| a级毛片免费高清观看在线播放| 国产精华一区二区三区| 久久精品国产鲁丝片午夜精品| 欧美+日韩+精品| 蜜臀久久99精品久久宅男| 床上黄色一级片| 日韩亚洲欧美综合| 精品久久久久久成人av| 黄色一级大片看看| 午夜福利在线在线| 嫩草影院精品99| av女优亚洲男人天堂| 国产精品麻豆人妻色哟哟久久 | 亚洲av二区三区四区| 亚洲成人中文字幕在线播放| 两个人视频免费观看高清| 午夜精品国产一区二区电影 | 乱人视频在线观看| 精品99又大又爽又粗少妇毛片| 免费观看在线日韩| av在线天堂中文字幕| 欧美高清性xxxxhd video| 日本-黄色视频高清免费观看| 听说在线观看完整版免费高清| 亚洲av不卡在线观看| 国语自产精品视频在线第100页| 国产男人的电影天堂91| 国产精品久久久久久久久免| 亚洲中文字幕一区二区三区有码在线看| 久久久精品94久久精品| 欧美高清性xxxxhd video| 国产免费一级a男人的天堂| av在线天堂中文字幕| 在线播放国产精品三级| 日韩av不卡免费在线播放| 一夜夜www| 男女那种视频在线观看| 国产黄片美女视频| 免费播放大片免费观看视频在线观看 | 国内揄拍国产精品人妻在线| 日韩成人av中文字幕在线观看| 99久国产av精品| 内射极品少妇av片p| 日韩欧美精品v在线| 一夜夜www| 婷婷色av中文字幕| 亚洲性久久影院| 婷婷色综合大香蕉| 欧美成人一区二区免费高清观看| 蜜桃亚洲精品一区二区三区| 日韩,欧美,国产一区二区三区 | 女人被狂操c到高潮| 在线播放无遮挡| 2022亚洲国产成人精品| 校园人妻丝袜中文字幕| 日韩一区二区三区影片| 国产精品人妻久久久久久| 欧美一区二区精品小视频在线| 色哟哟·www| 日韩一区二区三区影片| 黄色配什么色好看| 婷婷色综合大香蕉| 亚洲av熟女| videos熟女内射| 在线观看66精品国产| 色播亚洲综合网| 国产91av在线免费观看| 白带黄色成豆腐渣| 久久精品国产自在天天线| av卡一久久| 大又大粗又爽又黄少妇毛片口| 亚洲av日韩在线播放| 九色成人免费人妻av| 成人av在线播放网站| 久久久久久久亚洲中文字幕| 大话2 男鬼变身卡| 久久久久久国产a免费观看| 水蜜桃什么品种好| 国产伦精品一区二区三区四那| 午夜福利在线在线| 一区二区三区四区激情视频| 男女那种视频在线观看| 久久久午夜欧美精品| 我要看日韩黄色一级片| 麻豆精品久久久久久蜜桃| 内射极品少妇av片p| 久久亚洲精品不卡| 97热精品久久久久久| 啦啦啦韩国在线观看视频| 在线观看av片永久免费下载| 日本猛色少妇xxxxx猛交久久| 国产精品久久久久久精品电影小说 | 国产一区二区在线观看日韩| 午夜亚洲福利在线播放| 嘟嘟电影网在线观看| 三级男女做爰猛烈吃奶摸视频| 99久久精品热视频| 最后的刺客免费高清国语| 啦啦啦韩国在线观看视频| 亚洲激情五月婷婷啪啪| 欧美一区二区亚洲| 精品人妻一区二区三区麻豆| 日韩av不卡免费在线播放| 听说在线观看完整版免费高清| 中文字幕亚洲精品专区| 国产精品1区2区在线观看.| 日韩制服骚丝袜av| 精品欧美国产一区二区三| 91精品一卡2卡3卡4卡| 亚洲乱码一区二区免费版| 久久韩国三级中文字幕| 国产又黄又爽又无遮挡在线| 大话2 男鬼变身卡| 97在线视频观看| 欧美成人精品欧美一级黄| 日本免费在线观看一区| 亚洲最大成人av| 免费看av在线观看网站| 国产老妇女一区| 国产精品一区二区三区四区久久| 成人av在线播放网站| 小蜜桃在线观看免费完整版高清| 2021天堂中文幕一二区在线观| 天美传媒精品一区二区| 欧美极品一区二区三区四区| 三级国产精品欧美在线观看| 国产亚洲午夜精品一区二区久久 | 亚洲成人中文字幕在线播放| 美女cb高潮喷水在线观看| 中文字幕av在线有码专区| 哪个播放器可以免费观看大片| 日韩高清综合在线| 成人午夜精彩视频在线观看| 波多野结衣高清无吗| 69av精品久久久久久| 联通29元200g的流量卡| 免费观看a级毛片全部| 精品久久久久久久末码| 一级毛片aaaaaa免费看小| 哪个播放器可以免费观看大片| 天天躁日日操中文字幕| 国产成人精品一,二区| 国产三级在线视频| 午夜精品在线福利| 欧美高清成人免费视频www| 日韩精品有码人妻一区| 毛片女人毛片| 日韩成人伦理影院| 亚洲伊人久久精品综合 | 99久久成人亚洲精品观看| 亚洲精品aⅴ在线观看| 一个人免费在线观看电影| 天堂影院成人在线观看| 22中文网久久字幕| 狠狠狠狠99中文字幕| 黄色欧美视频在线观看| eeuss影院久久| 热99re8久久精品国产| 白带黄色成豆腐渣| 日本猛色少妇xxxxx猛交久久| 欧美另类亚洲清纯唯美| 久久精品人妻少妇| 女人十人毛片免费观看3o分钟| 老女人水多毛片| 日日啪夜夜撸| 久久国内精品自在自线图片| 在线播放无遮挡| 我的女老师完整版在线观看| 国产乱来视频区| 熟女电影av网| 舔av片在线| 国产又黄又爽又无遮挡在线| 亚洲国产色片| 高清视频免费观看一区二区 | 97超视频在线观看视频| 嘟嘟电影网在线观看| 日本免费一区二区三区高清不卡| 日日摸夜夜添夜夜爱| 中文字幕久久专区| www日本黄色视频网| 久久久久网色| 色综合色国产| 国产黄a三级三级三级人| 亚洲av电影不卡..在线观看| 日本-黄色视频高清免费观看| 一区二区三区四区激情视频| 可以在线观看毛片的网站| 欧美日韩精品成人综合77777| 国产精品嫩草影院av在线观看| 不卡视频在线观看欧美| 亚洲av成人av| 特大巨黑吊av在线直播| 国内精品美女久久久久久| 一夜夜www| 中文字幕av在线有码专区| 97超视频在线观看视频| 又爽又黄无遮挡网站| 国产成人精品久久久久久| 亚洲aⅴ乱码一区二区在线播放| 精品久久久久久久人妻蜜臀av| 亚洲av.av天堂| 国产69精品久久久久777片| 国产免费一级a男人的天堂| 99国产精品一区二区蜜桃av| 国产激情偷乱视频一区二区| 日韩欧美三级三区| 久久草成人影院| 国产爱豆传媒在线观看| 久久韩国三级中文字幕| 国产又色又爽无遮挡免| 久久久久久久久久黄片| 久热久热在线精品观看| 亚洲精品自拍成人| 午夜福利视频1000在线观看| 1000部很黄的大片| 我要看日韩黄色一级片| 国产免费又黄又爽又色| 精品久久久久久电影网 | 亚洲欧美精品自产自拍| 男女视频在线观看网站免费| 欧美人与善性xxx| 亚洲18禁久久av| 欧美高清性xxxxhd video| 村上凉子中文字幕在线| 熟妇人妻久久中文字幕3abv| 国产精品一及| 午夜精品国产一区二区电影 | 精品久久久久久久久av| 国产在视频线在精品| 久久99蜜桃精品久久| 99在线视频只有这里精品首页| 老司机影院毛片| 国产免费视频播放在线视频 | 成人欧美大片| 国产一区亚洲一区在线观看| 国产91av在线免费观看| av播播在线观看一区| 最近2019中文字幕mv第一页| 天堂中文最新版在线下载 | 久久婷婷人人爽人人干人人爱| 春色校园在线视频观看| 一个人看的www免费观看视频| 美女xxoo啪啪120秒动态图| 夜夜爽夜夜爽视频| 高清日韩中文字幕在线| 亚洲久久久久久中文字幕| 欧美日韩精品成人综合77777| 免费看av在线观看网站| 日韩人妻高清精品专区| 老司机影院成人| 欧美三级亚洲精品| 国语对白做爰xxxⅹ性视频网站| 天天一区二区日本电影三级| 亚洲最大成人av| av专区在线播放| 国产国拍精品亚洲av在线观看| 日韩欧美国产在线观看| 男女下面进入的视频免费午夜| 又爽又黄无遮挡网站| 日本五十路高清| 成人av在线播放网站| 国产极品精品免费视频能看的| videossex国产| 国产白丝娇喘喷水9色精品| 亚洲av熟女| 人妻制服诱惑在线中文字幕| 少妇裸体淫交视频免费看高清| 国产探花在线观看一区二区| 亚洲伊人久久精品综合 | 国产精品一区二区在线观看99 | 国产一区二区在线av高清观看| 亚洲欧美中文字幕日韩二区| 国产精品伦人一区二区| 级片在线观看| 亚洲av中文av极速乱| 少妇裸体淫交视频免费看高清| 国产精品永久免费网站| 久久久亚洲精品成人影院| 91在线精品国自产拍蜜月| 天堂网av新在线| 精华霜和精华液先用哪个| 在线免费十八禁| 波多野结衣巨乳人妻| 日本av手机在线免费观看| 三级国产精品欧美在线观看| 久久精品国产99精品国产亚洲性色| 亚洲一级一片aⅴ在线观看| 国产伦理片在线播放av一区| 一本久久精品| 黄片无遮挡物在线观看| 亚洲国产精品久久男人天堂| 亚洲国产欧美人成| 成年版毛片免费区| 国产麻豆成人av免费视频| 免费播放大片免费观看视频在线观看 | 精品欧美国产一区二区三| 国产三级在线视频| 午夜久久久久精精品| 听说在线观看完整版免费高清| 在线a可以看的网站| 秋霞在线观看毛片| 美女国产视频在线观看| 日韩成人伦理影院| 禁无遮挡网站| 亚洲成人中文字幕在线播放| 中文字幕久久专区| 一二三四中文在线观看免费高清| 久久久久久九九精品二区国产| 亚洲av不卡在线观看| 九色成人免费人妻av| 欧美不卡视频在线免费观看| 国产精品久久久久久精品电影小说 | 成人无遮挡网站| 汤姆久久久久久久影院中文字幕 | 国产欧美日韩精品一区二区| 少妇猛男粗大的猛烈进出视频 | 老司机影院毛片| a级毛色黄片| 国产精品一区二区三区四区久久| 国内精品一区二区在线观看| 熟女人妻精品中文字幕| 日本wwww免费看| 97超碰精品成人国产| 久久国内精品自在自线图片| 成人三级黄色视频| 免费人成在线观看视频色| 国产成人a∨麻豆精品| 亚洲精品自拍成人| 尤物成人国产欧美一区二区三区| 深爱激情五月婷婷| 永久网站在线| 欧美另类亚洲清纯唯美| a级毛片免费高清观看在线播放|