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

    面向CPU-GPU集群的分布式機器學習資源調度框架研究

    2021-07-12 12:24:34朱紫鈺湯小春趙全
    西北工業(yè)大學學報 2021年3期
    關鍵詞:分片計算資源執(zhí)行器

    朱紫鈺, 湯小春, 趙全

    (西北工業(yè)大學 計算機學院, 陜西 西安 710072)

    分布式機器學習[1-3]在數(shù)據(jù)挖掘、醫(yī)學影像、股票市場分析、計算機視覺、市場分析等領域被大規(guī)模使用。但是訓練機器學習模型通常需要大量的時間和計算資源。隨著數(shù)據(jù)中心開始大規(guī)模使用GPU設備,CPU-GPU混合的異構資源集群已經成為一種通用基礎設施[4-5]。企業(yè)界為了提高分布式機器學習的效率,也逐漸將這類應用移植到異構集群平臺上運行。但是,CPU-GPU集群上面臨的一個基本挑戰(zhàn)是如何高效地調度分布式機器學習作業(yè)中的任務。特別是當GPU計算資源較為珍貴時,如何最大程度地利用CPU-GPU計算資源進行模型訓練已成為異構集群上面臨的基本挑戰(zhàn)。

    分布式機器學習初期,由于硬件限制,主要采用CPU集群來進行,針對一批訓練數(shù)據(jù),計算框架把數(shù)據(jù)分成很多個片段,然后根據(jù)集群節(jié)點上CPU的數(shù)量,將每一個片段作為一個單獨的任務分配到計算節(jié)點的不同CPU上,進行局部梯度計算。當所有的任務完成計算后,參數(shù)服務器收集各個任務的梯度誤差進行匯總,然后發(fā)送新的參數(shù)用于下一次迭代。由于數(shù)據(jù)分片大小相同,CPU性能相同,所以每個任務在CPU上的執(zhí)行時間大致相同,這能夠保證每一次迭代的同步。

    近幾年來,隨著GPU硬件設施的廣泛應用,分布式機器學習開始使用GPU計算資源。在分布式機器學習的訓練過程中,一部分任務可能運行在GPU上,一部分任務可能運行在CPU上。GPU用于單純的梯度計算,CPU用于初始化、節(jié)點之間通信、數(shù)據(jù)加載、主機內存到設備內存之間拷貝以及啟動GPU的kernel函數(shù)等。

    面對同構的集群環(huán)境,分布式機器學習采用大小相同的數(shù)據(jù)分片策略,這樣可以保證任務在CPU或者GPU上執(zhí)行時間相同。面對異構集群環(huán)境,分布式機器學習存在學習過程中不能保證CPU和GPU資源合理利用的問題:如果只考慮使用異構集群中的CPU計算資源,則沒有考慮到GPU計算資源帶來的計算優(yōu)勢;如果只考慮使用異構集群中的GPU計算資源,則在GPU設備執(zhí)行任務時,CPU資源往往被閑置。無論是在異構集群中只使用CPU資源還是只使用GPU資源,都無法充分利用異構集群資源。因此,一種合理使用異構集群計算資源的方式為:當CPU資源存在空閑時,將任務分配到CPU上執(zhí)行,當GPU資源存在空閑時,將任務分配到GPU上運行。這種資源分配方案的優(yōu)點是最大限度地利用了CPU計算資源和GPU計算資源。但是上述任務分配方式的最大挑戰(zhàn)在于:(1)由于GPU和CPU具有不同的運算能力(FLOPS),導致同樣的任務在GPU上執(zhí)行比在CPU上執(zhí)行消耗的時間更短;(2)類似于聚類分析的迭代過程,只有當全部工作節(jié)點上的任務完成后,誤差聚合操作才能進行參數(shù)的更新,并發(fā)布下一次的迭代過程。因此,如果把每一次迭代過程中的計算任務均勻地分配給CPU和GPU資源,就會造成CPU任務嚴重滯后,迭代過程不能同步,從而導致誤差聚合操作的推遲,影響下一次迭代的開始時間。

    針對分布式機器學習作業(yè)如何提高資源利用率的問題,有相當多的研究者進行了研究。文獻[6]從分布式機器學習訓練過程出發(fā),詳細說明了訓練過程中各個階段使用CPU和GPU資源帶來的性能提升,同時也說明了使用GPU設備的瓶頸。文獻[7-14]主要針對GPU計算資源的調度策略,忽略CPU計算資源的調度。文獻[7]介紹了跨作業(yè)共享GPU資源帶來的一些挑戰(zhàn)性問題。文獻[8]描述了一種大規(guī)??焖偬荻认陆邓惴ǖ膽脠鼍?提出了大規(guī)模數(shù)據(jù)集在多個GPU之間的調度策略。文獻[9]提供了與分布式機器學習相關的資源管理模型和以及任務調度策略。文獻[10]提供了一種任務執(zhí)行過程的控制算法,保證機器學習作業(yè)的質量。文獻[11]提出了一種針對異構資源的混合DRF算法,能夠有效提高集群資源利用率。文獻[12]提出了一種支持向量機的任務分類算法,任務根據(jù)類型劃分并投入相應的設備進行計算,可以改善集群資源利用情況,但是該算法獲得數(shù)據(jù)存在一定的時間延遲,并不能準確獲得集群資源變化。這些研究在最大化資源利用率、最小化作業(yè)的平均完成時間以及任務調度質量等方面都有一定的借鑒意義。但是,上述文獻對CPU和GPU搭配使用的研究不全面,即要么只考慮CPU資源,要么只考慮GPU資源,不考慮CPU資源與GPU資源混合分配和調度的價值,也不關注CPU和GPU資源混合調度的利用率。文獻[13-14]主要任務是解決多個機器學習作業(yè)共享GPU集群時,如何分配資源,減少迭代過程的延遲。它解決了不同作業(yè)之間的資源共享問題,但沒有解決CPU-GPU資源之間的合理分配問題。文獻[15]介紹了一種通用的CPU-GPU計算資源管理系統(tǒng),它不涉及具體的應用,而是根據(jù)任務類型(例如工作節(jié)點程序,參數(shù)服務器程序)執(zhí)行啟發(fā)式靜態(tài)資源分配,因此無法提高機器學習中CPU-GPU資源的利用率。文獻[16]通過預估任務的執(zhí)行時間來調度資源,但是它的核心在于確定參數(shù)服務器與計算節(jié)點之間的分配關系,不太關注CPU資源與GPU資源分配問題。文獻[17]介紹了一種通過MapReduce來加速K-Means的算法,其按照CPU處理能力和GPU處理能力將Map任務分成2個部分,這種方式可以利用CPU資源和GPU資源,但是它對CPU任務和GPU任務的不敏感,導致迭代過程中CPU任務的延遲,增加了整個作業(yè)的響應時間。文獻[18]中的理論框架產生了一個最佳整數(shù)規(guī)劃解決方案,根據(jù)CPU數(shù)量、CPU與GPU之間計算能力的不同,少部分任務由CPU承擔,大部分任務由GPU承擔,提高了CPU和GPU的利用率,但是由于CPU任務的數(shù)據(jù)大小與GPU任務的數(shù)據(jù)大小相同,當數(shù)據(jù)分片較大時,存在任務延遲問題。

    為了提高CPU和GPU資源利用率,同時也減少每次迭代中的任務延遲,本文提出了一種不均勻數(shù)據(jù)分片方法。在每一次迭代過程中,根據(jù)集群系統(tǒng)可以使用的CPU核數(shù)量和GPU數(shù)量,以及CPU和GPU的計算能力,將數(shù)據(jù)塊分解成大小不同的分片,小分片數(shù)據(jù)應用于CPU資源,大分片數(shù)據(jù)應用于GPU資源,在所有GPU任務執(zhí)行結束前,保證CPU任務也能夠結束,從而減少2類不同任務之間的同步等待問題,進而降低分布式學習的訓練時間,且提高系統(tǒng)的資源使用率。

    論文的主要創(chuàng)新點是提出了一種面向CPU-GPU混合集群的分布式機器學習調度框架,即在機器學習模型參數(shù)的訓練過程中,對于每個任務,系統(tǒng)都包含2個版本——GPU版本和CPU版本。在每一次迭代操作開始前,首先得到可以使用的CPU設備數(shù)量m以及GPU設備數(shù)量n,再根據(jù)任務的歷史統(tǒng)計數(shù)據(jù),確定CPU和GPU上運行時間的比值(這個比值相當于CPU和GPU執(zhí)行效率比),根據(jù)比值可將任務分解為p和q個;然后將GPU任務提交到GPU計算資源,CPU任務提交到CPU計算資源。最后,采用線性規(guī)劃的思想,保證分配的CPU任務與GPU任務之間的同步執(zhí)行,即CPU任務與GPU任務之間不存在嚴重滯后的情況。

    1 分布式機器學習的資源調度框架

    1.1 CPU-GPU資源分配模型

    通常情況下,當使用GPU計算資源計算不同數(shù)據(jù)分片的梯度時,CPU被用來初始化參數(shù),啟動kernel函數(shù)的運行。在GPU的kernel函數(shù)執(zhí)行過程中,CPU就不再被使用。這會導致CPU處于閑置狀態(tài),降低系統(tǒng)資源利用效率。但是,如果所有的CPU資源都處于“忙”狀態(tài)時,也會造成GPU任務等待CPU資源而不能被迅速執(zhí)行的情況,這會浪費GPU資源。

    在機器學習訓練中,要想CPU資源和GPU資源充分被利用,就需要考慮為GPU綁定一定的CPU資源,方便GPU任務的啟動。在面向CPU-GPU的異構集群系統(tǒng)中,圖1給出了CPU與GPU之間的資源分配關系。圖中的c0、c1等代表CPU設備,GPU1、GPU2等代表GPU設備。在每次的迭代過程中,將CPU和GPU進行捆綁,即為每個GPU搭配一定數(shù)量的CPU。訓練開始后,對于GPU任務,綁定的CPU只負責加載參數(shù)以及啟動GPU的kernel函數(shù),一旦開始在GPU上進行誤差的計算,CPU會處于閑置狀態(tài),直到完成所有的局部誤差計算。之后在指定的CPU或者GPU上進行誤差聚合運算,產生新的模型參數(shù)。上述過程相當于完成一次迭代,如果誤差未達到模型精度要求,則會進行重復的迭代過程,直到滿足精度要求。

    圖1 CPU-GPU異構集群系統(tǒng)資源分配方式

    1.2 GPU任務與CPU任務的資源需求

    CPU-GPU異構集群要求任務的二進制程序既能夠在CPU上運行,也能夠在GPU上運行。當一個機器學習作業(yè)準備執(zhí)行時,可以指定哪些任務運行在CPU設備上,哪些任務運行在GPU設備上。任務調度器會查看集群資源中是否有設備處于空閑狀態(tài),如果有GPU空閑,則提交GPU任務,如果有CPU空閑,則提交CPU任務。任務調度器對任務進行資源分配時,如果需要使用GPU資源,那么任務就與GPU二進制程序綁定;如果需要使用CPU資源,那么任務就與CPU二進制程序綁定。之后,任務調度器會將任務及信息發(fā)送給工作節(jié)點的CPU執(zhí)行器或GPU執(zhí)行器,由執(zhí)行器啟動并執(zhí)行任務。在設計CPU二進制程序和GPU二進制程序時,任務的輸入數(shù)據(jù)格式和輸出數(shù)據(jù)格式要求完全一樣。這樣一來,2種任務的輸入輸出能夠正確獲得下一次迭代時新的訓練參數(shù),且不會影響機器學習作業(yè)的參數(shù)更新效果。

    1.3 數(shù)據(jù)分片策略

    數(shù)據(jù)分片策略包含2個目的:①面向分布式機器學習,通過數(shù)據(jù)分片,可以并行執(zhí)行多個梯度計算過程,從而減少機器學習的訓練時間,快速地完成模型的訓練;②面向CPU-GPU異構集群環(huán)境,進行數(shù)據(jù)分片的目的是充分利用CPU資源和GPU資源。

    為了達到上述目的,依據(jù)CPU任務和GPU任務的運行時間,對數(shù)據(jù)進行大小不等的分片。通過統(tǒng)計CPU任務和GPU任務在各自設備上的運行時間,得到任務運行效率的比值,從而確定數(shù)據(jù)分片的大小。由于機器學習聚合操作更新參數(shù)前要求本批次數(shù)據(jù)全部計算完成,因此分片大小決定了CPU任務和GPU任務的同步快慢問題,這是本文算法的關鍵所在。

    1.4 分片方法

    減少機器學習迭代過程中運行時間的核心是保證CPU任務與GPU任務的同步完成。假設N是整個數(shù)據(jù)規(guī)模的大小,n是CPU核數(shù)量,m是GPU設備數(shù)量,對于同樣大小的一塊數(shù)據(jù)B,CPU運行時間與GPU運行時間的比值是α,稱α為加速系數(shù)。其含義是如果使用一個GPU設備完成數(shù)據(jù)的計算需要時間為t,那么使用一個CPU完成數(shù)據(jù)的計算需要α·t的時間。如果可以將數(shù)據(jù)分割成B/α的大小,那么一個CPU完成B/α數(shù)據(jù)的計算就只需要時間t,這樣對于GPU任務和CPU任務的計算就不存在執(zhí)行時間差別的問題,很容易通過調度滿足迭代過程的同步。

    對于機器學習中的數(shù)據(jù)N,現(xiàn)在需要進行數(shù)據(jù)的分片,分片后的每一個數(shù)據(jù)塊對應一個任務。為了保證計算性能的無差異,根據(jù)數(shù)據(jù)分片的大小決定任務由CPU執(zhí)行還是由GPU執(zhí)行。假設數(shù)據(jù)被分割后,有x個CPU任務和y個GPU任務。在n個CPU核上運行x個任務的完成時間記為tC,在m個GPU上完成y任務的時間為tG,理想狀態(tài)下,數(shù)據(jù)分割計劃的目的是|tC-tG|=0。因此,任務同步時間差如下所示

    (1)

    使用以上參數(shù),需要確定CPU任務的個數(shù)x和GPU任務的個數(shù)y,目的是要減少CPU任務的執(zhí)行結束時間與GPU任務執(zhí)行結束時間的差值。所以給出以下的規(guī)劃條件,其目標是

    min|f(x,y)|

    (2)

    同時要滿足條件

    x·B1+y·B2≥N

    (3)

    |B2-αB1|<η

    (4)

    B1,B2,x,y≥0

    (5)

    公式(2)給出了目標函數(shù),即減少CPU任務與GPU任務之間的不同步。其物理意義是,假設tp代表p個任務中第一個任務開始到最后一個任務結束的時間區(qū)間,而tq代表q個任務中第一個任務開始到最后一個任務結束的時間區(qū)間。調度的目的是滿足|tp-tq|<ε,ε∈?(0,1),即GPU任務的完成時間和CPU任務的完成時間相當。公式(3)是按數(shù)據(jù)分片要求,將CPU任務的數(shù)據(jù)分片大小為B1,GPU任務的數(shù)據(jù)分片大小為B2,公式(3)要求x+y個任務要處理完全部的訓練數(shù)據(jù)。公式(4)描述了CPU和GPU任務數(shù)據(jù)規(guī)模之間的關系,其數(shù)據(jù)要滿足加速系數(shù)要求,η表示數(shù)據(jù)分割誤差。公式(5)對所有變量的取值范圍進行了約束。

    對于每一個數(shù)據(jù)分片,都會產生一個任務,分片小的數(shù)據(jù)綁定CPU任務,分片大的數(shù)據(jù)綁定GPU任務。整個數(shù)據(jù)分片完成后,將任務及數(shù)據(jù)信息分別插入到CPU任務隊列和GPU任務隊列中,等待調度器調度。根據(jù)數(shù)據(jù)分片產生的任務,只能用于機器學習中的局部梯度計算,即gi值的計算?;贑PU任務和GPU任務的數(shù)量,調度器安排CPU資源以及GPU資源執(zhí)行任務。

    1.5 算法分析

    迭代計算過程中,CPU負責內存到設備內存的輸入和輸出,GPU負責計算。當GPU計算時,CPU空閑,因此,利用這些CPU時間是可行的,但是前提是不能影響GPU執(zhí)行前后對CPU的需求;另外,GPU數(shù)量一般較少,CPU核數(shù)量眾多,部分CPU核就可以承擔GPU計算前后的輸入和輸出工作,多余的CPU核就可以參與計算,因此CPU-GPU混合的算法是可行的。

    為了利用這些CPU核,就需要對數(shù)據(jù)進行合理的分片,避免部分任務滯后導致的作業(yè)響應時間延遲。所以,論文采用整數(shù)規(guī)劃算法來計算分片的數(shù)量和分片的大小。

    在時間復雜度方面,在公式(3)中,定義了2類變量B1和B2,設其可取最大值為N,由公式(4)可知2類變量滿足比例關系α。設x,y和N可取最大值為a,那么分片規(guī)模循環(huán)次數(shù)為a,任務數(shù)作為內層循環(huán)也為a,則公式(3)時間復雜度為O(a2),該時間復雜度為算法時間復雜度,因此本算法可行。在空間復雜度方面,算法使用的主要變量共8個,涉及的數(shù)量較少,因此占用內存較少,算法具有較好的空間復雜度。

    1.6 機器學習作業(yè)的任務調度框架

    機器學習作業(yè)的任務調度框架由3個主要部分組成(ML框架、工作節(jié)點和數(shù)據(jù)分片)。ML框架是主控節(jié)點,工作節(jié)點是由CPU-GPU資源組成的集群節(jié)點,數(shù)據(jù)分片是對整個訓練數(shù)據(jù)的劃分,其分片大小與計算資源的計算能力相關。整個框架如圖2所示。

    ML框架:ML框架主要功能有①聚合各個工作節(jié)點執(zhí)行器上發(fā)送的局部梯度值;②根據(jù)梯度值更新模型參數(shù);③對訓練數(shù)據(jù)進行分片,并依據(jù)分片創(chuàng)建CPU任務和GPU任務的描述;④對上述任務進行調度。

    工作節(jié)點:工作節(jié)點的主要功能是依據(jù)CPU資源和GPU資源的不同,啟動CPU執(zhí)行器以及GPU執(zhí)行器。CPU執(zhí)行器接收CPU任務描述,使用CPU資源來計算指定分片數(shù)據(jù)的局部梯度值;GPU執(zhí)行器接收GPU任務描述,采用GPU資源來計算指定分片數(shù)據(jù)的局部梯度值。

    數(shù)據(jù)分片:數(shù)據(jù)分片是按照CPU資源和GPU資源的數(shù)量和計算能力,將整個訓練數(shù)據(jù)分割成大小不等的CPU數(shù)據(jù)塊以及GPU數(shù)據(jù)塊。

    整個作業(yè)任務調度框架的運行過程按照以下步驟完成(以下的步驟序號與圖2中序號對應)。

    圖2 面向CPU-GPU集群的機器學習調度框架

    ①ML框架執(zhí)行梯度值的聚集運算。如果是第一次迭代,隨機給出梯度值;如果不是第一次迭代,當所有的執(zhí)行器全部將局部梯度值發(fā)送到ML框架后,ML框架再進行聚集計算;

    ②根據(jù)聚集的梯度值,ML框架計算出新的權重系數(shù),即模型的參數(shù)值;

    ③ML框架將新的模型參數(shù)發(fā)布到各個工作節(jié)點的CPU執(zhí)行器和GPU執(zhí)行器;

    ④ML框架根據(jù)訓練數(shù)據(jù)的大小以及CPU和GPU資源數(shù)量,按照第1.4節(jié)的方式進行數(shù)據(jù)分片,將數(shù)據(jù)分為2類,CPU數(shù)據(jù)分片和GPU數(shù)據(jù)分片。每個分片包含訓練數(shù)據(jù)的編號、開始位置、數(shù)據(jù)塊大小和數(shù)據(jù)所在的IP地址信息等。每個數(shù)據(jù)分片按照一定數(shù)據(jù)格式構成一個任務描述,并添加到各自的排隊隊列中;

    ⑤ML框架的任務調度器從CPU隊列和GPU隊列中取得任務描述,并根據(jù)任務描述及調度算法,確定每個任務將要發(fā)送的執(zhí)行器;

    ⑥調度器將任務發(fā)送到各個工作節(jié)點的CPU執(zhí)行器和GPU執(zhí)行器隊列中;

    ⑦各個工作節(jié)點的CPU執(zhí)行器以及GPU執(zhí)行器開始按照FIFO的方式執(zhí)行機器學習中的局部訓練任務,計算局部梯度值;

    ⑧CPU執(zhí)行器以及GPU執(zhí)行器執(zhí)行計算前,根據(jù)任務描述中的數(shù)據(jù)分片信息,從訓練數(shù)據(jù)中獲取采樣數(shù)據(jù);

    ⑨各個工作節(jié)點的執(zhí)行器完成任務的運行后,將所有計算出的局部梯度值發(fā)送到ML框架;

    ML框架收到全部的梯度值后,檢查誤差是否達到訓練模型的精度要求或者是否滿足迭代次數(shù)的要求。如果滿足要求,停止訓練;否則,繼續(xù)執(zhí)行①,進行新一輪的迭代計算。這樣不斷地進行迭代訓練過程,最終得到模型參數(shù);

    2 調度算法的實現(xiàn)

    機器學習是一個不斷迭代的過程,每一次迭代都需要計算梯度誤差的變化,然后收集這些變化,為下一次的迭代做準備。分布式機器學習中,采用數(shù)據(jù)并行的計算模型,各個計算節(jié)點上只計算整個數(shù)據(jù)的一個分片,然后將計算結果發(fā)送到PS服務器進行聚合。如果數(shù)據(jù)分片大小不合適,可能會出現(xiàn)某個工作節(jié)點嚴重滯后的情況,導致下一次迭代的延遲,因此數(shù)據(jù)分片是本調度算法的核心。對于CPU-GPU混合的集群系統(tǒng),根據(jù)CPU執(zhí)行時間和GPU執(zhí)行時間來決定分片的數(shù)據(jù)大小,使一個分片對應一個計算任務,從而產生大量的任務。這些任務在執(zhí)行過程中,會根據(jù)各自的分片信息,讀取相應的數(shù)據(jù),按照各自的類別在相應的計算資源上進行計算。其計算過程如算法1所示。

    ML-FrameWork 是ML框架的主函數(shù),也是PS服務器所在的節(jié)點。ML-FrameWork首先得到CPU-GPU集群中的CPU資源數(shù)量和GPU資源數(shù)量(s1),然后進入迭代過程中(s2~s8)。(s3)獲得各個數(shù)據(jù)分片任務計算的梯度值,進行聚合計算;(s4)根據(jù)CPU和GPU數(shù)量、訓練數(shù)據(jù)大小以及CPU任務與GPU任務之間的加速系數(shù),將數(shù)據(jù)劃分為大小不同的數(shù)據(jù)塊;(s5)對于較小的數(shù)據(jù)塊,產生CPU任務描述,放入CPU執(zhí)行隊列;(s6)對于較大的數(shù)據(jù)塊,產生GPU任務描述,放入GPU執(zhí)行隊列;(s7)是ML-FrameWork等待CPU任務隊列和GPU任務隊列的執(zhí)行同步。

    WorkerIterate運行在各個工作節(jié)點的執(zhí)行器上,是計算局部梯度的函數(shù)。它可以使用CPU資源或GPU資源進行局部梯度計算。(s1)更新并保存來自PS服務器的新的模型參數(shù);(s2)計算梯度值,其中最為關鍵的是獲得數(shù)據(jù)的分片信息,然后讀取對應的訓練數(shù)據(jù),通過分片信息中包含的計算資源信息,使用不同的計算資源計算出新的局部梯度值;(s3)將計算出的局部梯度值按照一定的標準格式組織起來并返回給ML-FrameWork。

    算法1梯度優(yōu)化的分布式機器學習框架算法

    Begin ML-FrameWork:

    (s1)x=cpus,y=gpus

    (s2) for iterationt=0,1,…,Tdo

    (s7) sync

    (s8) end for

    End ML-FrameWork

    Begin WorkerIterate(t):

    End WorkerIterate

    Schedule函數(shù)描述從隊列中取出任務并提交到工作節(jié)點的過程,如算法2所示。任務調度器從隊列取出一個任務描述,根據(jù)任務的類型,如果是GPU任務,執(zhí)行(s1),根據(jù)任務描述中的IP地址,將任務的分片ID、數(shù)據(jù)分片的起始位置和數(shù)據(jù)長度發(fā)送到對應工作節(jié)點的GPU執(zhí)行器(s2),請求GPU執(zhí)行器執(zhí)行;反之,執(zhí)行(s3),發(fā)送任務到CPU執(zhí)行器(s4)。

    算法2任務調度算法

    Begin Schedule

    (s1) while(Task=gpu-queue.deque())

    (s2) launchTask to GPU

    (s3) while(Task=cpu-queue.deque())

    (s4) launchTask to CPU

    End Schedule

    3 實驗評價

    系統(tǒng)在一個集群上進行實驗,集群中包含6臺NF5468M5服務器,作為計算節(jié)點;1臺中科曙光服務器620/420,作為參數(shù)服務器節(jié)點。每個服務器節(jié)點包含2顆Xeon2.1處理器,每個處理器包含8個核(相當于一個服務器節(jié)點具有16個CPU核),32 GB DDR4內存,2塊RTX2080TI GPU卡,10 GB顯存。集群包含1臺AS2150G2磁盤陣列。服務器操作系統(tǒng)為Ubuntu 7.5.0,CUDA版本為10.1.105,采用C++11作為編程語言,軟件編寫采用NVIDIA CUDA工具和C++。

    3.1 實驗任務

    考慮使用一種通用的數(shù)據(jù)分析算法K-Means進行實驗驗證和分析。K-Means算法是一個迭代求解的聚類算法,是實驗分析中常用算法,且具有代表性。實現(xiàn)了一個CPU版本和GPU版本的K-Means程序,使用C++語言來編寫程序的CPU版本,NVIDIA CUDA來編寫程序的GPU版本。調度框架和執(zhí)行器使用C++語言編寫。調度框架和執(zhí)行器通過實現(xiàn)上述算法,完成對K-Means分布式機器學習作業(yè)的執(zhí)行。

    3.2 算法執(zhí)行效率評價分析

    使用3種資源分配策略來比較K-Means算法的梯度計算的過程,圖3為使用3種策略的作業(yè)執(zhí)行時間比較。

    圖3 使用不同調度算法的K-Means作業(yè)執(zhí)行時間

    1) 每個計算節(jié)點采用16個CPU核來計算數(shù)據(jù)的梯度,在任務調度過程中,數(shù)據(jù)均勻分片,1個任務綁定1個CPU核,即當1個計算節(jié)點有1個CPU核處于空閑狀態(tài)時,分配1個數(shù)據(jù)分片對應的任務到該空閑CPU核。稱該算法為CPU算法(KM-CPU)。

    2) 每個計算節(jié)點使用1個CPU核以及1個GPU設備,GPU設備綁定該CPU核。這時稱被綁定的CPU核處于非自由狀態(tài),反之為自由狀態(tài)。在任務調度過程中,數(shù)據(jù)均勻分片,1個任務綁定1個GPU設備,即當該節(jié)點GPU設備空閑時,分配1個數(shù)據(jù)分片對應的任務到該空閑GPU設備,稱該算法為GPU算法(KM-GPU)。

    3) 每個計算節(jié)點使用16個CPU核及1個GPU設備,將每個節(jié)點中的GPU設備綁定1個CPU核。這時,1個計算節(jié)點上擁有1個非自由狀態(tài)的CPU核和15個自由狀態(tài)的CPU核。ML框架按照本文提出的算法進行數(shù)據(jù)的不均勻分片,1個分片對應的任務綁定1個自由狀態(tài)的CPU核或者1個GPU設備,當自由狀態(tài)的CPU核空閑時,提交1個具有較小的數(shù)據(jù)分片的任務,當GPU設備空閑時,提交1個具有較大的數(shù)據(jù)分片的任務。該算法稱為混合資源調度算法(KM-Hybrid)。

    圖3包含3組數(shù)據(jù),分別代表使用KM-CPU算法、KM-GPU算法和KM-Hybrid算法對應的作業(yè)執(zhí)行時間。每個節(jié)點測試3次,取平均值進行統(tǒng)計。其中,橫坐標代表集群節(jié)點數(shù)目,縱坐標代表使用各算法的作業(yè)執(zhí)行時間。從實驗中可以得到2個結論:①使用KM-GPU和KM-Hybrid算法的作業(yè)執(zhí)行時間明顯少于KM-CPU算法,這是因為GPU設備的運算能力遠高于CPU設備,說明使用GPU計算資源可以明顯降低K-Means作業(yè)的執(zhí)行時間;②隨著節(jié)點增加,計算設備增加,3種算法用時逐漸減少,性能提升逐漸變慢,這是由于每一個分片包含的數(shù)據(jù)量變少,且當節(jié)點數(shù)目過多時,節(jié)點通信開銷成為影響算法性能提升的重要因素。因此,使用本文提出的算法執(zhí)行分布式機器學習作業(yè),能夠加快作業(yè)的執(zhí)行,且能夠有效提高CPU-GPU集群中CPU計算資源的利用率,不再只是將CPU計算資源閑置。

    考慮到上述實驗并未說明KM-Hybrid相較于KM-GPU算法的具體優(yōu)勢,下面探究隨著節(jié)點增加,KM-GPU和KM-Hybrid算法加速比。加速比是衡量算法性能常用指標,表示為s(n,p)=Tserial(n)/Tparallel(n,p),其中n表示數(shù)據(jù)處理規(guī)模,Tserial(n)表示作業(yè)串行計算用時,Tparallel(n,p)表示作業(yè)并行計算用時。圖4為KM-GPU和KM-Hybrid加速比對比情況。其中橫坐標代表節(jié)點個數(shù),縱坐標代表加速比。比值越大,說明并行計算加速效果越好。在圖4中可以得出結論:隨著節(jié)點數(shù)目增加,2種算法均表現(xiàn)出較好的加速;但隨著節(jié)點數(shù)目增加,KM-GPU加速比增長逐漸緩慢,KM-Hybrid加速比增長緩慢并出現(xiàn)回落現(xiàn)象,分析后得出原因:隨著節(jié)點增加,通信延遲和調度處理開銷增加,2種算法的加速比增長緩慢,且KM-Hybrid算法對通信和調度延遲更敏感。

    圖4 KM-GPU和KM-Hybrid加速比

    為了進一步探究本文中提出的不均勻數(shù)據(jù)分片策略為分布式機器學習作業(yè)帶來的性能提升情況,現(xiàn)對KM-GPU和KM-Hybrid算法單次梯度計算時間進行了統(tǒng)計,其結果如圖5所示。在圖5中,橫坐標為集群節(jié)點數(shù)目,縱坐標為單次梯度計算平均值。隨著計算節(jié)點增加,2種算法單次梯度計算任務的平均時間均呈現(xiàn)非線性減少,主要原因是:①數(shù)據(jù)分片規(guī)模對梯度計算用時有很大的影響。隨著節(jié)點增加,并行任務數(shù)目增加,單個分片數(shù)據(jù)量變少,計算設備計算時間減少;②節(jié)點的增加會造成分布式機器學習中I/O通信開銷增加,特別是通過網絡傳輸?shù)拇鷥r會增加,導致單次梯度計算用時減少的速度越來越緩慢?;谝陨蟽牲c,KM-GPU算法和KM-Hybrid算法單次梯度計算的平均時間會呈非線性減少。

    圖5 梯度計算任務平均時間

    上述實驗過程主要探究了集群內CPU計算設備和GPU計算設備之間對作業(yè)調度的影響,但是還沒有探究集群中不同數(shù)量GPU對作業(yè)調度的影響。為了更加明確GPU數(shù)量對分布式機器學習作業(yè)的影響,針對不同數(shù)量的GPU進行了K-Means算法附加實驗,實驗共測試4種不同情況:

    1) 每個節(jié)點使用1個GPU設備和1個CPU核,GPU設備綁定該CPU核,該算法記為KM-1-GPU,相當于上述KM-GPU算法。

    2) 每個節(jié)點使用2個GPU設備和2個CPU核,1個GPU設備綁定1個CPU核。該算法記為KM-2-GPU,其任務分配方式與步驟1)中相同,但計算資源量是步驟1)的2倍。

    3) 每個節(jié)點使用1個GPU設備和16個CPU核,16個CPU核中有1個非自由狀態(tài)核和15個自由狀態(tài)核,數(shù)據(jù)按照自由狀態(tài)的CPU核以及GPU處理能力來分片,將較大的數(shù)據(jù)分片分配給GPU,較小的數(shù)據(jù)分片分給CPU。該算法記為KM-1-Hybrid,相當于上述KM-Hybrid算法。

    4) 每個節(jié)點使用2個GPU設備和16個CPU核,16個CPU核中包含2個非自由狀態(tài)核和14個自由狀態(tài)核。任務分配方式同步驟3)。該算法記為KM-2-Hybrid。

    圖6為不同GPU數(shù)量下K-Means算法作業(yè)執(zhí)行時間的測試結果??梢缘玫饺缦陆Y論:①由于節(jié)點數(shù)目增加,CPU和GPU計算資源增多,4種算法性能均有提升。②KM-2-GPU比KM-1-GPU算法作業(yè)執(zhí)行時間少,KM-2-Hybrid比KM-1-Hybrid算法作業(yè)執(zhí)行時間少,即GPU設備越多,作業(yè)執(zhí)行越快,算法性能越好。③KM-1-Hybrid比KM-2-GPU算法作業(yè)執(zhí)行時間少,說明集群內單純增加GPU計算資源帶來的作業(yè)性能提升不如將集群中已有的閑置CPU利用起來對作業(yè)的性能提升大,因此可以考慮使用不均勻數(shù)據(jù)分片策略,將集群中空閑或部分空閑的CPU利用起來。

    圖6 不同GPU數(shù)量時的作業(yè)執(zhí)行時間對比

    為了進一步驗證論文提出的不均勻數(shù)據(jù)分片策略對分布式學習帶來的性能提升,使用Rodinia[19]基準測試套件驗證實驗效果,該套件包含huffman、K-Means等單節(jié)點基準程序。圖7為Rodinia K-Means基準測試用時和KM-Hybrid用時對比情況,橫坐標表示實驗次數(shù),縱坐標表示作業(yè)運行時間。如圖所示,R-16-CPU表示在單節(jié)點上使用16個線程進行K-Means計算,R-1-GPU表示在單節(jié)點上使用1塊GPU進行K-Means計算,KM-Hrbrid表示在單節(jié)點上使用1塊GPU,15塊CPU進行K-Means計算。數(shù)據(jù)規(guī)模為819 200×100,3組數(shù)據(jù)平均值分別為:33.87,29.83,23.8 s,方差分別為1.079,0.224,3.443??梢缘玫饺缦陆Y論:①使用GPU進行加速的效果比使用多線程加速的效果好;②KM-Hybrid算法比上述2種算法效果更好,這是由于在節(jié)點上既使用了GPU進行計算加速,又利用了閑置的CPU;③KM-Hybrid算法的穩(wěn)定性不如Rodinia基準測試,這和數(shù)據(jù)規(guī)模及程序運行時CPU、GPU設備的性能相關,可以對其進一步探究。

    圖7 基準測試用時對比

    3.3 算法執(zhí)行質量評價分析

    上述實驗可以得出,本文提出的算法可以實現(xiàn)對作業(yè)的加速并提高異構集群資源利用率,但是其執(zhí)行效果受到CPU和GPU實時性能的影響,穩(wěn)定性較差。

    為了進一步分析算法對作業(yè)質量的影響,使用輪廓系數(shù)[20]作為衡量KM-Hybrid作業(yè)質量的標準。數(shù)據(jù)規(guī)模為8 192×100,每項測試進行10次,取平均值作為作業(yè)質量評估值。輪廓系數(shù)越接近1,算法執(zhí)行質量越好。經計算,R-16-CPU算法輪廓系數(shù)均值為0.567 996,R-1-GPU算法輪廓系數(shù)均值為0.540 185,KM-Hybrid算法輪廓系數(shù)均值為0.538 466,3種算法輪廓系數(shù)相近,由此可以得出結論:本文基于不均勻數(shù)據(jù)分片策略的機器學習方法對作業(yè)質量沒有顯著影響。

    4 結 論

    通過CPU-GPU混合異構集群進行分布式機器學習訓練已經成為一個趨勢,但是在這個過程中經常存在集群資源得不到充分利用的現(xiàn)象。為此,論文提出了一種不均勻分片的資源調度算法,并證實該算法能夠加快分布式機器學習訓練,提高集群系統(tǒng)資源利用率。但是,考慮到算法受制于CPU和GPU資源的任務分配方式,如何更加精確合理地對CPU與GPU任務進行資源分配,是今后的研究方向。

    猜你喜歡
    分片計算資源執(zhí)行器
    上下分片與詞的時空佈局
    詞學(2022年1期)2022-10-27 08:06:12
    基于模糊規(guī)劃理論的云計算資源調度研究
    分片光滑邊值問題的再生核方法
    CDN存量MP4視頻播放優(yōu)化方法
    改進快速稀疏算法的云計算資源負載均衡
    基于模糊二分查找的幀分片算法設計與實現(xiàn)
    測控技術(2018年12期)2018-11-25 09:37:50
    基于Wi-Fi與Web的云計算資源調度算法研究
    耦合分布式系統(tǒng)多任務動態(tài)調度算法
    飛機裝配預連接緊固件自動化安裝末端執(zhí)行器設計
    99九九在线精品视频 | 亚洲精品自拍成人| 波野结衣二区三区在线| 国产又色又爽无遮挡免| av视频免费观看在线观看| 午夜免费观看性视频| 亚洲人成网站在线观看播放| 午夜免费观看性视频| 人妻 亚洲 视频| 国产又色又爽无遮挡免| 内射极品少妇av片p| 免费看光身美女| 午夜免费观看性视频| 日本免费在线观看一区| 五月玫瑰六月丁香| 国产淫片久久久久久久久| 国产高清三级在线| 欧美日韩综合久久久久久| 国产精品国产三级专区第一集| 久久99精品国语久久久| 成人影院久久| 免费观看性生交大片5| 亚洲欧美中文字幕日韩二区| 精品视频人人做人人爽| 伊人亚洲综合成人网| xxx大片免费视频| 精品久久久精品久久久| 日本欧美视频一区| 91午夜精品亚洲一区二区三区| 一级a做视频免费观看| 精品一区二区三区视频在线| 亚洲第一av免费看| 久久久亚洲精品成人影院| 九色成人免费人妻av| 热99国产精品久久久久久7| 在线观看人妻少妇| 国产女主播在线喷水免费视频网站| 五月玫瑰六月丁香| 少妇人妻精品综合一区二区| 内射极品少妇av片p| 91aial.com中文字幕在线观看| 在线观看国产h片| 免费黄色在线免费观看| 亚洲人成网站在线观看播放| 国产精品国产三级专区第一集| 日韩强制内射视频| 成人二区视频| .国产精品久久| 亚洲欧美成人综合另类久久久| 久久久久久久精品精品| 国产在线一区二区三区精| 黄色日韩在线| 777米奇影视久久| 日韩免费高清中文字幕av| 乱人伦中国视频| 久久久久久久久久人人人人人人| 成人国产麻豆网| 免费av中文字幕在线| 亚洲欧美一区二区三区国产| 亚洲性久久影院| 如日韩欧美国产精品一区二区三区 | 日韩av在线免费看完整版不卡| 多毛熟女@视频| 欧美精品亚洲一区二区| 精品少妇黑人巨大在线播放| 26uuu在线亚洲综合色| 日日爽夜夜爽网站| 在线观看人妻少妇| 一级,二级,三级黄色视频| 欧美国产精品一级二级三级 | 国产一区二区在线观看日韩| 日日摸夜夜添夜夜爱| 在线亚洲精品国产二区图片欧美 | 视频区图区小说| 在线观看免费高清a一片| 欧美成人午夜免费资源| 免费看光身美女| 看非洲黑人一级黄片| 啦啦啦视频在线资源免费观看| 精品99又大又爽又粗少妇毛片| 日本黄色日本黄色录像| 亚洲熟女精品中文字幕| 精品卡一卡二卡四卡免费| 又爽又黄a免费视频| 色网站视频免费| 我的女老师完整版在线观看| 人妻少妇偷人精品九色| 色5月婷婷丁香| 国产 一区精品| 久久青草综合色| 在线亚洲精品国产二区图片欧美 | 精品久久久久久久久亚洲| 日日摸夜夜添夜夜爱| 国产在线一区二区三区精| 你懂的网址亚洲精品在线观看| 爱豆传媒免费全集在线观看| 秋霞在线观看毛片| 黄色日韩在线| 欧美国产精品一级二级三级 | 极品人妻少妇av视频| 99九九在线精品视频 | 国产精品女同一区二区软件| 熟妇人妻不卡中文字幕| 国产av码专区亚洲av| 爱豆传媒免费全集在线观看| 久久人人爽人人片av| 国产成人一区二区在线| 少妇人妻久久综合中文| 夜夜骑夜夜射夜夜干| 欧美一级a爱片免费观看看| 国内少妇人妻偷人精品xxx网站| 欧美国产精品一级二级三级 | 亚洲av.av天堂| 一本一本综合久久| 欧美变态另类bdsm刘玥| 亚洲美女黄色视频免费看| 国产av国产精品国产| 黑人巨大精品欧美一区二区蜜桃 | 色94色欧美一区二区| 中国三级夫妇交换| 国产精品国产三级国产专区5o| 99re6热这里在线精品视频| 69精品国产乱码久久久| 99久国产av精品国产电影| 国产成人精品一,二区| 国产成人精品福利久久| 纵有疾风起免费观看全集完整版| 三级国产精品欧美在线观看| 日韩av不卡免费在线播放| 桃花免费在线播放| 我要看日韩黄色一级片| 大香蕉97超碰在线| 久久久久久人妻| a级片在线免费高清观看视频| 三级国产精品欧美在线观看| 亚洲怡红院男人天堂| 亚洲av电影在线观看一区二区三区| 99久久精品国产国产毛片| 成年av动漫网址| 国产探花极品一区二区| 国产伦精品一区二区三区视频9| 亚洲综合精品二区| 中国美白少妇内射xxxbb| av福利片在线| 简卡轻食公司| 大香蕉久久网| 多毛熟女@视频| 丝袜在线中文字幕| 日本黄大片高清| 噜噜噜噜噜久久久久久91| 男人狂女人下面高潮的视频| 大话2 男鬼变身卡| 日日爽夜夜爽网站| 国产在线男女| 婷婷色综合大香蕉| 大香蕉97超碰在线| 国产成人freesex在线| 色婷婷av一区二区三区视频| 下体分泌物呈黄色| 亚洲av二区三区四区| 欧美精品国产亚洲| 中文字幕亚洲精品专区| 欧美精品人与动牲交sv欧美| 男男h啪啪无遮挡| 国产日韩欧美在线精品| 精品国产乱码久久久久久小说| 春色校园在线视频观看| 国产精品99久久久久久久久| 国产成人91sexporn| 日韩 亚洲 欧美在线| 国产探花极品一区二区| 日本猛色少妇xxxxx猛交久久| 欧美丝袜亚洲另类| 国产成人精品无人区| 观看美女的网站| 精品亚洲成国产av| 美女主播在线视频| 日韩 亚洲 欧美在线| 九草在线视频观看| 久久ye,这里只有精品| 晚上一个人看的免费电影| 国产精品久久久久久久电影| 校园人妻丝袜中文字幕| 一级毛片aaaaaa免费看小| 国产真实伦视频高清在线观看| 国语对白做爰xxxⅹ性视频网站| 国产av一区二区精品久久| 最黄视频免费看| 日本欧美国产在线视频| 五月开心婷婷网| 久久久国产一区二区| 免费看日本二区| 制服丝袜香蕉在线| 精品少妇内射三级| 中文资源天堂在线| 一级片'在线观看视频| 91精品国产九色| 国产免费福利视频在线观看| 热re99久久国产66热| 久久久精品免费免费高清| 美女主播在线视频| 日韩一区二区三区影片| 纵有疾风起免费观看全集完整版| 精品国产国语对白av| 80岁老熟妇乱子伦牲交| 最近最新中文字幕免费大全7| 久久精品国产亚洲网站| 永久网站在线| 亚洲婷婷狠狠爱综合网| 国产成人freesex在线| 亚洲av福利一区| 欧美成人精品欧美一级黄| 免费观看在线日韩| 国产黄片视频在线免费观看| 少妇的逼水好多| 成人国产麻豆网| 狂野欧美白嫩少妇大欣赏| av有码第一页| 一级av片app| 国产日韩欧美亚洲二区| 亚洲av欧美aⅴ国产| 91精品国产国语对白视频| 日韩电影二区| 亚洲av男天堂| 蜜桃久久精品国产亚洲av| av网站免费在线观看视频| 国产免费视频播放在线视频| 国产伦在线观看视频一区| 精品午夜福利在线看| 妹子高潮喷水视频| 高清黄色对白视频在线免费看 | 久久久久久久久久人人人人人人| 久久精品久久精品一区二区三区| a级一级毛片免费在线观看| 最新中文字幕久久久久| 乱系列少妇在线播放| 夫妻性生交免费视频一级片| 观看美女的网站| 青春草视频在线免费观看| 久久精品国产自在天天线| 国产精品一区www在线观看| 亚洲经典国产精华液单| 久久99热这里只频精品6学生| 国产色婷婷99| 亚洲怡红院男人天堂| 国产视频内射| 男女免费视频国产| 国产在视频线精品| 三级经典国产精品| 亚洲精品久久午夜乱码| 91精品一卡2卡3卡4卡| 国产精品国产三级国产av玫瑰| 亚洲av综合色区一区| 人妻夜夜爽99麻豆av| 中文字幕av电影在线播放| 国产伦精品一区二区三区四那| 极品人妻少妇av视频| 妹子高潮喷水视频| 美女大奶头黄色视频| 亚洲成人手机| 日韩,欧美,国产一区二区三区| 日韩av免费高清视频| 免费黄网站久久成人精品| 最新的欧美精品一区二区| 久久国内精品自在自线图片| 欧美日韩综合久久久久久| 亚洲精品久久午夜乱码| 国产成人一区二区在线| 国产精品一区二区在线不卡| 在线观看免费视频网站a站| 亚洲av男天堂| 伊人久久国产一区二区| 亚洲熟女精品中文字幕| 免费看av在线观看网站| 亚洲精品自拍成人| 狂野欧美激情性bbbbbb| 欧美精品人与动牲交sv欧美| 日韩欧美精品免费久久| 亚洲av二区三区四区| 美女xxoo啪啪120秒动态图| 国产日韩欧美在线精品| 亚洲精品乱久久久久久| 亚洲精品中文字幕在线视频 | 亚洲伊人久久精品综合| 91精品国产国语对白视频| 九九爱精品视频在线观看| 欧美三级亚洲精品| 爱豆传媒免费全集在线观看| 乱系列少妇在线播放| 高清视频免费观看一区二区| 国产一区二区在线观看日韩| 国语对白做爰xxxⅹ性视频网站| 亚洲三级黄色毛片| 国产黄色免费在线视频| 久久99热这里只频精品6学生| 在线观看人妻少妇| a级毛片在线看网站| 青青草视频在线视频观看| 精品亚洲成国产av| 亚洲精品日韩在线中文字幕| 狂野欧美激情性bbbbbb| 精品人妻偷拍中文字幕| 男人爽女人下面视频在线观看| 99视频精品全部免费 在线| 日日摸夜夜添夜夜爱| 麻豆成人av视频| 免费av中文字幕在线| 亚洲第一av免费看| 中文精品一卡2卡3卡4更新| 久久久久久久国产电影| 美女主播在线视频| 午夜精品国产一区二区电影| 久久久久精品久久久久真实原创| 久久久久久久国产电影| 99热国产这里只有精品6| 国产69精品久久久久777片| 日韩一本色道免费dvd| 久久久久网色| 两个人的视频大全免费| 亚洲欧美中文字幕日韩二区| 欧美精品人与动牲交sv欧美| 国产成人aa在线观看| 我的老师免费观看完整版| 婷婷色综合www| 成人亚洲精品一区在线观看| 精品卡一卡二卡四卡免费| 日韩,欧美,国产一区二区三区| 桃花免费在线播放| 美女视频免费永久观看网站| 日本色播在线视频| 老司机影院成人| 国产伦理片在线播放av一区| 搡老乐熟女国产| h视频一区二区三区| 国产成人精品婷婷| 久久婷婷青草| 2018国产大陆天天弄谢| av专区在线播放| 精品午夜福利在线看| 免费黄频网站在线观看国产| 九九久久精品国产亚洲av麻豆| 纯流量卡能插随身wifi吗| 亚洲天堂av无毛| 免费看av在线观看网站| 69精品国产乱码久久久| 99热这里只有精品一区| 精品久久久久久电影网| av在线app专区| 亚洲av成人精品一二三区| 三上悠亚av全集在线观看 | 精品亚洲乱码少妇综合久久| 国产成人91sexporn| 丝瓜视频免费看黄片| 国内揄拍国产精品人妻在线| 内地一区二区视频在线| 99热网站在线观看| 亚洲国产毛片av蜜桃av| 亚洲自偷自拍三级| h视频一区二区三区| 日本猛色少妇xxxxx猛交久久| 男人添女人高潮全过程视频| 欧美国产精品一级二级三级 | 少妇猛男粗大的猛烈进出视频| 成年人免费黄色播放视频 | 欧美变态另类bdsm刘玥| 久久影院123| 日日摸夜夜添夜夜添av毛片| 久久久久久久精品精品| 性高湖久久久久久久久免费观看| 免费观看无遮挡的男女| 国产白丝娇喘喷水9色精品| 男男h啪啪无遮挡| 久久女婷五月综合色啪小说| 国产免费一区二区三区四区乱码| 一级毛片黄色毛片免费观看视频| 国产老妇伦熟女老妇高清| 国产成人精品无人区| 亚洲国产色片| 日日啪夜夜撸| 男人狂女人下面高潮的视频| 国内揄拍国产精品人妻在线| 丁香六月天网| 少妇的逼好多水| 日韩电影二区| 我要看日韩黄色一级片| 亚洲国产日韩一区二区| 久久韩国三级中文字幕| 欧美区成人在线视频| 性色avwww在线观看| av福利片在线观看| 热99国产精品久久久久久7| 亚洲国产精品一区二区三区在线| 国产美女午夜福利| 在线观看免费日韩欧美大片 | 99re6热这里在线精品视频| 嫩草影院新地址| 大香蕉久久网| 亚洲综合精品二区| 国产深夜福利视频在线观看| 亚洲av男天堂| 日韩电影二区| 亚洲av电影在线观看一区二区三区| 亚洲性久久影院| 久久青草综合色| 成人免费观看视频高清| 国产在视频线精品| 成人毛片a级毛片在线播放| 国产亚洲精品久久久com| 欧美xxⅹ黑人| av女优亚洲男人天堂| 中文天堂在线官网| 韩国高清视频一区二区三区| 日韩中字成人| 精品亚洲成国产av| 夫妻午夜视频| 一个人看视频在线观看www免费| 日本爱情动作片www.在线观看| 少妇高潮的动态图| 我要看黄色一级片免费的| 国产女主播在线喷水免费视频网站| 日韩 亚洲 欧美在线| 亚洲真实伦在线观看| 如何舔出高潮| 99久久精品热视频| 黄色欧美视频在线观看| 在线观看国产h片| 伊人久久精品亚洲午夜| 能在线免费看毛片的网站| 亚洲欧美一区二区三区黑人 | 久久精品国产自在天天线| 亚洲图色成人| 午夜激情久久久久久久| 中国美白少妇内射xxxbb| 嫩草影院新地址| 久久久国产精品麻豆| 插阴视频在线观看视频| 天天躁夜夜躁狠狠久久av| 国产亚洲一区二区精品| 国产伦精品一区二区三区视频9| 国产高清三级在线| 欧美少妇被猛烈插入视频| 亚洲,欧美,日韩| 一区二区三区四区激情视频| 国产探花极品一区二区| 亚洲av电影在线观看一区二区三区| 亚洲精品成人av观看孕妇| 国产成人aa在线观看| 国产白丝娇喘喷水9色精品| 一级毛片电影观看| 乱码一卡2卡4卡精品| 五月伊人婷婷丁香| 久久99热6这里只有精品| 欧美老熟妇乱子伦牲交| 午夜福利影视在线免费观看| 免费av不卡在线播放| 国产综合精华液| 97超碰精品成人国产| 国产亚洲91精品色在线| 一级爰片在线观看| 国产成人精品婷婷| 精品一区二区三卡| 一本色道久久久久久精品综合| 蜜桃久久精品国产亚洲av| av播播在线观看一区| 99热6这里只有精品| 美女大奶头黄色视频| 一区二区三区乱码不卡18| 插逼视频在线观看| 午夜老司机福利剧场| 欧美日韩一区二区视频在线观看视频在线| 亚洲精品国产av成人精品| 免费av不卡在线播放| 99九九在线精品视频 | 2018国产大陆天天弄谢| 久久这里有精品视频免费| 免费久久久久久久精品成人欧美视频 | 三级经典国产精品| 中国国产av一级| 99re6热这里在线精品视频| 我要看日韩黄色一级片| 日日摸夜夜添夜夜添av毛片| 色视频在线一区二区三区| 成年人免费黄色播放视频 | 乱码一卡2卡4卡精品| 九九久久精品国产亚洲av麻豆| 97在线人人人人妻| av免费在线看不卡| 国产成人精品一,二区| 夫妻午夜视频| 午夜免费观看性视频| 亚洲国产欧美在线一区| 久久狼人影院| 国产亚洲91精品色在线| 欧美97在线视频| 成人特级av手机在线观看| 熟女av电影| 欧美日韩视频高清一区二区三区二| 久久av网站| 色视频在线一区二区三区| 五月开心婷婷网| 日韩免费高清中文字幕av| 色网站视频免费| 大片免费播放器 马上看| 欧美三级亚洲精品| 国产美女午夜福利| 久久99精品国语久久久| 热re99久久精品国产66热6| 国产一区二区三区av在线| 国产欧美日韩一区二区三区在线 | 久久影院123| 国产欧美亚洲国产| 欧美日韩国产mv在线观看视频| av.在线天堂| 一区二区三区乱码不卡18| 在线天堂最新版资源| 欧美 亚洲 国产 日韩一| 亚洲国产精品一区二区三区在线| 男人狂女人下面高潮的视频| 五月玫瑰六月丁香| 国产成人freesex在线| 国内精品宾馆在线| 日本色播在线视频| 大又大粗又爽又黄少妇毛片口| 嫩草影院新地址| 男女免费视频国产| 女的被弄到高潮叫床怎么办| 在线观看三级黄色| 免费大片黄手机在线观看| 麻豆成人午夜福利视频| 国产极品粉嫩免费观看在线 | 精品人妻熟女毛片av久久网站| 美女cb高潮喷水在线观看| 欧美精品一区二区免费开放| 国产一区有黄有色的免费视频| 成人18禁高潮啪啪吃奶动态图 | 日韩av不卡免费在线播放| 高清毛片免费看| 黑人猛操日本美女一级片| 三级经典国产精品| 秋霞在线观看毛片| 我的女老师完整版在线观看| 麻豆成人av视频| 日本欧美国产在线视频| 69精品国产乱码久久久| 日韩精品免费视频一区二区三区 | 午夜av观看不卡| 观看免费一级毛片| 天堂8中文在线网| 亚洲第一区二区三区不卡| 亚洲精品456在线播放app| 亚洲国产欧美在线一区| 九草在线视频观看| 欧美xxxx性猛交bbbb| www.色视频.com| 国产精品国产av在线观看| 嫩草影院入口| 久久99精品国语久久久| 欧美精品高潮呻吟av久久| 亚洲精品久久午夜乱码| 午夜福利网站1000一区二区三区| 亚洲人成网站在线播| 黑人猛操日本美女一级片| 成人亚洲欧美一区二区av| 人妻系列 视频| 爱豆传媒免费全集在线观看| 久久鲁丝午夜福利片| 水蜜桃什么品种好| 亚洲综合色惰| 亚洲久久久国产精品| 国产片特级美女逼逼视频| 99热国产这里只有精品6| 另类亚洲欧美激情| 日韩免费高清中文字幕av| 午夜av观看不卡| 日韩精品免费视频一区二区三区 | 亚洲av男天堂| 欧美激情国产日韩精品一区| 国产精品久久久久久精品电影小说| 日韩不卡一区二区三区视频在线| 国产av一区二区精品久久| 亚洲va在线va天堂va国产| 久久国产乱子免费精品| 久久这里有精品视频免费| 午夜91福利影院| 久久久午夜欧美精品| 久久久a久久爽久久v久久| 亚洲色图综合在线观看| 男女啪啪激烈高潮av片| 久久久a久久爽久久v久久| 免费大片18禁| 三级国产精品欧美在线观看| 高清毛片免费看| 国产精品女同一区二区软件| 国产成人精品无人区| 乱人伦中国视频| 观看美女的网站| 精品人妻偷拍中文字幕| 在线观看人妻少妇| 久久6这里有精品| 最新的欧美精品一区二区| 成人美女网站在线观看视频| 国产免费视频播放在线视频| 只有这里有精品99| 日韩精品免费视频一区二区三区 | 大码成人一级视频| 黄色一级大片看看| 免费在线观看成人毛片| 国产亚洲91精品色在线| .国产精品久久| 成人二区视频| 黑人猛操日本美女一级片| av.在线天堂| 99热这里只有精品一区| 国产精品女同一区二区软件| 欧美精品人与动牲交sv欧美|