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

    Spark環(huán)境下基于子圖的異步迭代更新方法

    2020-04-07 10:48:40董新華陳建峽
    計算機工程與應(yīng)用 2020年7期

    李 超,董新華,陳建峽

    湖北工業(yè)大學 計算機學院,武漢430068

    1 引言

    隨著信息時代的快速發(fā)展,基于圖的迭代算法有著廣泛應(yīng)用[1]。例如,PageRank算法可以對網(wǎng)頁的重要性進行排序,SimRank算法可以對社交網(wǎng)絡(luò)中用戶之間的相似度進行分析。由于真實網(wǎng)絡(luò)的數(shù)據(jù)規(guī)模較大,通常采取分布式框架對圖數(shù)據(jù)進行迭代處理,基于全局同步更新機制[2](BSP)的圖處理系統(tǒng)由于實現(xiàn)簡單且易于擴展,為大規(guī)模圖數(shù)據(jù)的分析提供了便利。

    受全局同步更新機制的啟發(fā)[3],Spark 環(huán)境下的Graphx[4]圖處理系統(tǒng)基于子圖對數(shù)據(jù)進行全局同步迭代更新。通過彈性分布式數(shù)據(jù)集以分區(qū)方式存放頂點和連接邊屬性,Graphx可以利用頂點的局部狀態(tài)更新頂點的全局狀態(tài),并且在迭代過程中將中間計算結(jié)果放入內(nèi)存,以此避免頻繁地I/O 訪問。但是,由于Graphx 要求子圖之間的計算任務(wù)保持全局同步,因此降低了圖的收斂速度。

    針對全局同步機制收斂速度較慢的問題,研究人員提出了異步迭代更新方法[5],Zhang[6]闡述了異步迭代收斂需要滿足的條件。當?shù)惴M足該條件時,頂點的狀態(tài)更新能夠繞開同步路障。雖然異步迭代提高了算法的收斂速度,但是以頂點為中心的異步迭代需要鄰居節(jié)點頻繁跨連接邊發(fā)送消息[7-8],當鄰居節(jié)點狀態(tài)的變化對頂點狀態(tài)更新的作用不大時,會降低網(wǎng)絡(luò)的通信效率[9]。

    為了解決圖迭代收斂速度較慢以及通信效率較低的問題,本文在Spark 環(huán)境下提出一種基于子圖的異步迭代更新方法,總體研究思路如下:首先,對圖的切分、全局同步和異步迭代更新等概念進行簡要介紹;其次,結(jié)合Spark 環(huán)境下圖數(shù)據(jù)存儲和更新的特點,推導出基于子圖的異步迭代更新條件,分別從異步消息通信和迭代更新機制等方面給出具體的研究方案,在此基礎(chǔ)上給出研究方案在分布式環(huán)境下的具體實現(xiàn);最后,通過PageRank 算法分別從圖的收斂結(jié)果、收斂速度和通信代價等方面驗證了方法有效性,并對實驗結(jié)果進行分析。實驗結(jié)果表明,本文方法不僅能夠提高算法收斂速度,同時還能降低通信開銷。

    2 相關(guān)概念

    2.1 圖切分

    圖數(shù)據(jù)有較強的關(guān)聯(lián)性,因此圖的切分對數(shù)據(jù)的迭代更新有較大影響[10-11]。將圖1中頂點E 切分成4部分后,邊分區(qū)可以存放連接邊的完整屬性和頂點的局部狀態(tài),點分區(qū)可以存放頂點的全局狀態(tài),計算節(jié)點分別對邊分區(qū)中頂點的局部狀態(tài)和點分區(qū)中頂點的全局狀態(tài)進行迭代處理。

    圖1 有向圖的點切分方法

    在圖迭代過程中,連接邊上的頂點需要頻繁交互信息。由于圖1中邊分區(qū)存放了連接邊兩端的頂點,因此連接邊上的頂點可以直接在本地交互信息。對于連接邊數(shù)量多于頂點數(shù)量的真實網(wǎng)絡(luò)來說,這種切分方式可以顯著減少頂點通過連接邊跨分區(qū)發(fā)送消息的次數(shù)[11]。

    2.2 全局同步更新

    圖的狀態(tài)迭代更新可以用公式(1)描述:

    公式(1)表明目的節(jié)點j 在第k 輪的狀態(tài)值根據(jù)連接邊上的源節(jié)點在第k-1 輪的狀態(tài)值計算得到。

    在全局同步機制下,頂點的全局狀態(tài)依賴于所有邊分區(qū)內(nèi)頂點的局部狀態(tài)。當所有邊分區(qū)頂點的局部狀態(tài)全部計算完畢,頂點的全局狀態(tài)更新才能開始。異構(gòu)環(huán)境下如果連接邊分布在多個不同的邊分區(qū),那么本地計算耗時最長的邊分區(qū)將直接影響下一輪迭代開始的時間。

    2.3 異步更新

    為提高算法收斂速度,Zhang[6]認為對公式(1)作適當變形后,可以得到公式(2):

    公式(2)表明目的節(jié)點j 在第k 輪的狀態(tài)可以通過nj個源節(jié)點在第k-1 輪的狀態(tài)計算得到。如果只考慮源節(jié)點在第k 輪與第k-1 輪的狀態(tài)變化值,令,那么公式(2)可變?yōu)楣剑?):

    公式(2)和公式(3)表明異步更新能夠減少圖的收斂時間,但是分布式環(huán)境下圖的迭代對異步更新條件、消息通信和更新機制有著不同的要求,需要根據(jù)實際情況加以具體分析。本文首先給出Spark環(huán)境下基于子圖的異步迭代形式,在此基礎(chǔ)上給出消息通信模型和異步處理機制。

    3 研究方案

    3.1 基于子圖的異步迭代

    式中的⊕算子定義為局部算子,將公式(5)帶入公式(4),可以得到公式(6):

    式中的⊕算子定義為全局算子,公式(6)表明頂點的全局狀態(tài)改變值可以根據(jù)不同邊分區(qū)的局部改變值進行更新。由于不同分區(qū)的本地計算任務(wù)互不影響,因此全局算子滿足交換律。在函數(shù)fm作用下,如果局部算子也滿足交換律和分配律,那么頂點收到任一局部狀態(tài)變化值,就能立即更新頂點的全局狀態(tài)。

    3.2 消息通信

    分布式圖處理系統(tǒng)主要采取消息傳遞[12]和共享內(nèi)存的通信方式?;诠蚕韮?nèi)存通信的分布式圖處理系統(tǒng)一般采取分布式鎖保證數(shù)據(jù)的一致性。由于分布式環(huán)境下的計算節(jié)點有獨立的內(nèi)存地址,共享內(nèi)存的通信方式實現(xiàn)起來較為困難?;谙鬟f的通信方式在計算節(jié)點之間發(fā)送消息,目前主要有基于Netty 的通信協(xié)議[13]、消息傳遞接口協(xié)議[14]和遠程過程調(diào)用協(xié)議。

    根據(jù)Spark 環(huán)境下頂點狀態(tài)更新的特點,本文采取遠程過程調(diào)用協(xié)議實現(xiàn)分區(qū)數(shù)據(jù)集之間的異步消息通信,將每個分區(qū)數(shù)據(jù)集看作基于Actor 模型[15]的通信實體。另外,遠程過程調(diào)用不僅能夠?qū)崿F(xiàn)異步消息通信,底層通信協(xié)議還支持數(shù)據(jù)塊傳輸。由于頂點的局部狀態(tài)值分布在不同的邊分區(qū),而頂點唯一的全局狀態(tài)值存放在點分區(qū),邊分區(qū)m 與點分區(qū)n 之間存在交集。當邊分區(qū)在本地獲取本地目的節(jié)點的局部匯聚值之后,可以將本地局部匯聚的結(jié)果以數(shù)據(jù)塊Blockm->n(local(ΔSID))的形式發(fā)送給頂點所在的點分區(qū),數(shù)據(jù)塊中頂點ID 滿足式(7):

    與頂點為中心的消息發(fā)送方式相比,以數(shù)據(jù)塊為單位將計算結(jié)果集中發(fā)給點分區(qū),不僅可以批量處理數(shù)據(jù)塊,同時還能提高通信效率。

    3.3 更新機制

    當點分區(qū)收到數(shù)據(jù)塊之后,為避免頂點狀態(tài)在異步更新過程中產(chǎn)生數(shù)據(jù)讀寫沖突,本文創(chuàng)建數(shù)據(jù)塊緩存隊列以及線程池,在頂點狀態(tài)表上設(shè)置讀寫鎖,保證頂點狀態(tài)在異步更新過程中的一致性。

    圖2中,線程池分別執(zhí)行數(shù)據(jù)塊的接收(receive)、更新(update)和發(fā)送(send)任務(wù)。receive線程將收到的數(shù)據(jù)塊放入緩存隊列,update線程從緩存隊列中取出數(shù)據(jù)塊進行處理,將數(shù)據(jù)塊中頂點的局部狀態(tài)變化delta 寫進狀態(tài)表(state table),同時更新頂點的全局狀態(tài)。如果更新后的頂點作為源節(jié)點指向其他目的節(jié)點,則將最新的狀態(tài)變化值發(fā)送給該點作為源節(jié)點的邊分區(qū),以更新其指向的目的節(jié)點。另外,update線程通過設(shè)定發(fā)送閾值,將滿足條件的狀態(tài)變化值放入待發(fā)送數(shù)據(jù)塊,當數(shù)據(jù)塊達到一定規(guī)模后喚醒send 線程,由send 線程將數(shù)據(jù)塊發(fā)給邊分區(qū),以更新邊分區(qū)中源節(jié)點的狀態(tài)。當點分區(qū)內(nèi)頂點全局狀態(tài)變化值小于閾值時,終止迭代過程。

    圖2 點分區(qū)和邊分區(qū)之間異步迭代更新機制

    4 方法實現(xiàn)

    4.1 PageRank定義

    本文以PageRank[16]算法驗證基于子圖的異步迭代更新方法,PageRank的迭代計算公式為:

    4.2 PageRank的異步迭代形式

    Spark 環(huán)境下邊分區(qū)以三元組((srcId,srcAttr),(dstId,dstAttr),attr)的格式存儲本地連接邊的狀態(tài)值,其中srcId、dstId 是連接邊上源節(jié)點的ID 和目的節(jié)點的ID,srcAttr 是源節(jié)點在分區(qū)內(nèi)當前的狀態(tài)值,dstAttr 是目的節(jié)點的狀態(tài)值,attr是連接邊完整的屬性值,取決于源節(jié)點的出度數(shù)。

    根據(jù)圖數(shù)據(jù)的特點,在連接邊上定義map 函數(shù)和reduce函數(shù),頂點的局部狀態(tài)可以直接利用數(shù)據(jù)的本地性計算獲取。與傳統(tǒng)的MapReduce 分布式計算模型[12]不同,由于采用彈性分布式數(shù)據(jù)集存放圖數(shù)據(jù),Spark環(huán)境下通過map 函數(shù)和reduce 函數(shù)實現(xiàn)的消息映射和匯聚結(jié)果不需要頻繁寫入外存,每條連接邊上的Map函數(shù)定義如下:

    在邊分區(qū)內(nèi)執(zhí)行map 函數(shù)時,源節(jié)點src 以并行方式向本地目的節(jié)點集合dstIds發(fā)送消息,消息度量值是源節(jié)點當前的狀態(tài)值與該條連接邊屬性的乘積。當目的節(jié)點存在多條入度連接邊,目的節(jié)點dst 在本地局部聚合的結(jié)果是該點所有入度連接邊上消息聚合的總和,通過reduce函數(shù)得到:

    Spark 環(huán)境下的局部計算可以通過公式(9)和公式(10)實現(xiàn),⊕算子是乘積算子和加法算子,滿足交換律、結(jié)合律。根據(jù)公式(6),目的節(jié)點dst 的全局狀態(tài)值是上一次更新后的全局狀態(tài)值與最新的狀態(tài)變化值直接求和:

    式中,⊕是加法算子,滿足交換律和結(jié)合律,因此頂點在第k 輪的全局狀態(tài)與不同邊分區(qū)中頂點的局部狀態(tài)值到達的次序無關(guān),而通過式(9)、(10)計算得到,因此全局狀態(tài)值的更新滿足異步迭代條件。本文接下來結(jié)合公式(9)、(10)和公式(11)給出PageRank算法異步更新的具體實現(xiàn)。

    4.3 分布式環(huán)境中的實現(xiàn)

    根據(jù)公式(9)、(10),Spark 環(huán)境下邊分區(qū)內(nèi)部的活躍節(jié)點沿其出度連接邊給目的節(jié)點發(fā)消息,而目的節(jié)點對其每條入度連接邊上對收到的消息進行局部聚合,如算法1。

    算法1在邊分區(qū)內(nèi)對目的節(jié)點的局部狀態(tài)聚合

    輸入:點分區(qū)的活躍源節(jié)點集合activeSet,源節(jié)點狀態(tài)值變化的數(shù)據(jù)塊newSrcAttrblock

    輸出:邊分區(qū)內(nèi)部目的節(jié)點的局部狀態(tài)信息local_aggregates,并將localBlockForVertexPartition發(fā)給點分區(qū)vertexPartition

    /*遍歷本地的源節(jié)點集合*/

    1.for each srcId in localSrcIds

    /*如果活躍節(jié)點集合包含源節(jié)點sccId*/

    2.if activeSet.contains(srcId)

    /*更新邊分區(qū)三元組上活躍源節(jié)點srcId的狀態(tài)值*/

    3. newSrcAttr=update(srcId,newSrcAttrblock)

    4. newedgeTriplet=updateEdgeTriple(tsrcId,news rcAttr)

    /*在源節(jié)點srcId的出度連接邊上給目的節(jié)點發(fā)送消息*/

    5. mapFunc(newedgeTriplet=>dstMsg([dstId,msg)])

    /*在目的節(jié)點dstId入度連接邊上作本地局部聚合*/

    6. for each dstId,msg in dstMsg([dstId,msg)]

    7. reduceFunc(local_aggregates(dstId),msg)

    /*根據(jù)目的節(jié)點所在的點分區(qū)對局部聚合結(jié)果進行切分*/

    8.dstBlockToVertexPartition=split(dstVidsInVertexPartition,local_aggregates)

    /*將分區(qū)后的數(shù)據(jù)塊依次發(fā)送至所在的點分區(qū)*/

    9.for each vertexRef in vertexPartitionRefs

    10.vertexPartitionRef.send(dstBlockToVertexPartition)

    算法1中,邊分區(qū)中源節(jié)點是否對其出度連接邊上的目的節(jié)點發(fā)送消息,取決于源節(jié)點是否處于活躍狀態(tài)(active)。因此,邊分區(qū)首先接收來自點分區(qū)的活躍節(jié)點集(activeSet)以及包含源節(jié)點變化值的數(shù)據(jù)塊newSrcAttrblock,并且檢查本地源節(jié)點是否在活躍節(jié)點集中。對于活躍的源節(jié)點,更新其狀態(tài)變化值得到最新的以該點為中心的三元組集合newedgeTriplet。此后,mapFunc 并行作用于更新后的以srcId 為源節(jié)點的三元組上,同時reduceFunc 對目的節(jié)點dstId 入度連接邊上的消息進行聚合,得到目的節(jié)點在本地局部聚合的結(jié)果local_aggregates。由于邊分區(qū)中的目的節(jié)點分布在不同的點分區(qū)中,按照式(7)對本地聚合結(jié)果進行切分,將切分后的結(jié)果dstBlockToVertexPartition 通過每個點分區(qū)地址引用vertexPartitionRef發(fā)送給對應(yīng)的點分區(qū)。

    另一方面,點分區(qū)收到不同邊分區(qū)的數(shù)據(jù)塊,按照圖2更新節(jié)點的狀態(tài)信息,如算法2。

    算法2點分區(qū)對收到的數(shù)據(jù)塊后進行處理,將更新后的源節(jié)點狀態(tài)變化值以數(shù)據(jù)塊的形式發(fā)送到所在的邊分區(qū)

    輸入:點分區(qū)從邊分區(qū)收到的局部匯聚結(jié)果dstBlockTo-VertexPartition

    輸出:更新后的源節(jié)點狀態(tài)變化值數(shù)據(jù)塊newSrcAttrblock

    /*receive線程將邊分區(qū)發(fā)送的數(shù)據(jù)塊dstBlockToVertex-Partition放入阻塞隊列blockingQueue*/

    1.blockingQueue.pu(tdstBlockToVertexPartition)

    /*update線程池從阻塞隊列取出數(shù)據(jù)塊curBlock*/

    2.curBlock=blockingQueue.take()

    /*update 線程池遍歷數(shù)據(jù)塊中的節(jié)點vid 及其變化值delta*/

    3.for each vid,delta in curBlock

    /*將節(jié)點和狀態(tài)變化值寫入狀態(tài)信息表stateTable*/

    4.stateTable.write(vid,delta)

    /*將滿足條件的源節(jié)點放入狀態(tài)更新數(shù)據(jù)集srcDelta-ToEdgePartition,活躍節(jié)點集activeSet中*/

    5.if(delta>DELTA_THRESHHOLD)

    6.srcDeltaToEdgePartition.append(vid,delta)

    7.activeSet.add(vid)

    /*根據(jù)源節(jié)點所在的邊分區(qū)srcVidToEdgePartition 對狀態(tài)更新數(shù)據(jù)集srcDeltaToEdgePartition進行切分*/

    8.newSrcAttrblock=split(srcVidToEdgePartition,srcDelta-ToEdgePartition)

    /*send線程將切分后的數(shù)據(jù)塊newSrcAttrblock依次發(fā)送至所在的邊分區(qū)*/

    9.for each edgePartitionRef in edgePartitionRefs

    10.edgePartitionRef.send(newSrcAttrblock)

    算法2中,receive線程首先將來自邊分區(qū)的數(shù)據(jù)塊放入緩存隊列,update線程從緩存隊列取出數(shù)據(jù)塊處理目的節(jié)點的變化值。為了避免對狀態(tài)表中同一頂點同時寫入狀態(tài)變化值,update線程在寫入數(shù)據(jù)之前需要首先獲取狀態(tài)表的寫鎖,在寫入數(shù)據(jù)之后檢查該頂點的狀態(tài)變化值是否超過頂點狀態(tài)變化的閾值,并將滿足條件的頂點放入待發(fā)送數(shù)據(jù)塊以及活躍頂點集activeSet中。另外,由于點分區(qū)中更新后的源節(jié)點分布在不同的邊分區(qū)中,需要對點分區(qū)內(nèi)更新后的結(jié)果進行切分,并將切分后的結(jié)果newSrcAttrblock 通過每個邊分區(qū)地址引用edgePartitionRef 依次發(fā)送給對應(yīng)的邊分區(qū)。當邊分區(qū)收到點分區(qū)的數(shù)據(jù)塊之后再次執(zhí)行算法1,并繼續(xù)執(zhí)行新一輪的局部聚合任務(wù),當邊分區(qū)內(nèi)所有源節(jié)點為非活躍狀態(tài)時,終止算法1和算法2。

    5 實驗和結(jié)果分析

    5.1 實驗準備

    本文選取真實網(wǎng)絡(luò)樣本數(shù)據(jù)集wiki-topcats[17],該數(shù)據(jù)集共包含1 791 489個頂點,28 511 807條連接邊。為實現(xiàn)負載均衡,以哈希方式對圖數(shù)據(jù)作點切分,頂點和連接邊的狀態(tài)值分別存放在4 個點分區(qū)和4 個邊分區(qū)。通過兩組實驗驗證方法有效性:第一組實驗統(tǒng)計PageRank 在全局同步和異步更新的收斂結(jié)果;第二組實驗給出不同迭代方式下的收斂時間和通信開銷。

    5.2 初始化和結(jié)束條件

    在執(zhí)行迭代算法之前,首先對圖中頂點狀態(tài)進行初始化。根據(jù)公式(11),在迭代過程中需要保證第k+1輪狀態(tài)值是第k 輪狀態(tài)值與下一輪狀態(tài)變化值求和的結(jié)果,因此設(shè)定點分區(qū)內(nèi)頂點的初始值為0,邊分區(qū)內(nèi)頂點初始值1-d,邊分區(qū)內(nèi)所有頂點的狀態(tài)為激活狀態(tài)。另外,PageRank 算法中頂點狀態(tài)值在迭代過程中呈單調(diào)增長趨勢,因此采用頂點全局狀態(tài)值的總和作為收斂程度的度量值,頂點的狀態(tài)初始值以及整個圖中活躍節(jié)點的個數(shù)將影響整個圖的最終收斂結(jié)果。當d 值越小,頂點的初始狀態(tài)值越大,并且圖中活躍頂點個數(shù)越多時,圖中頂點狀態(tài)值的收斂總和越大。根據(jù)PageRank 算法的迭代公式,通常情況下設(shè)定d 值為0.8,使得孤立頁面隨機跳轉(zhuǎn)到其他頁面的概率為0.2。在異步迭代方式下,不同點分區(qū)內(nèi)頂點的全局狀態(tài)相互獨立,只要點分區(qū)內(nèi)頂點全局狀態(tài)總和的增長區(qū)間小于設(shè)定的閾值,即認為該分區(qū)的頂點達到全局收斂。當設(shè)定閾值越大,圖越容易達到收斂狀態(tài),當所有分區(qū)的頂點全部收斂,結(jié)束整個迭代過程。

    5.3 收斂結(jié)果

    首先,按照全局同步方式對圖數(shù)據(jù)迭代。Spark 環(huán)境下的全局同步通過reduce 算子觸發(fā)邊分區(qū)內(nèi)部的局部消息聚合任務(wù),再將聚合后的結(jié)果發(fā)送給點分區(qū)作全局同步,圖中所有頂點的狀態(tài)總和與迭代次數(shù)之間的關(guān)系如圖3所示。

    圖3 全局同步迭代下頂點狀態(tài)總和

    在圖3中,頂點狀態(tài)值的總和隨著迭代次數(shù)增長不斷增大。迭代前10 輪頂點狀態(tài)總和的增長速度較快,隨后增長速度減緩,迭代到22輪時,頂點狀態(tài)值的總和接近收斂狀態(tài)。

    其次,異步迭代不受全局同步的限制,因此異步更新沒有迭代次數(shù)的概念,不能通過迭代次數(shù)判斷圖的收斂狀態(tài)??紤]到頂點的全局狀態(tài)更新取決于邊分區(qū)數(shù)據(jù)塊到達的時間,并且不同分區(qū)內(nèi)頂點的全局狀態(tài)之間相互獨立,因此可以統(tǒng)計不同點分區(qū)內(nèi)頂點的全局狀態(tài)總和判斷圖數(shù)據(jù)的收斂狀態(tài)。圖4 給出不同點分區(qū)內(nèi)頂點狀態(tài)總和隨著數(shù)據(jù)塊處理的變化關(guān)系。

    圖4 異步迭代下各個點分區(qū)的頂點狀態(tài)總和

    在異步迭代初始階段,邊分區(qū)內(nèi)所有源節(jié)點的初始狀態(tài)都為激活狀態(tài),因此邊分區(qū)內(nèi)所有源節(jié)點都能向目的節(jié)點發(fā)送消息,使得初始階段各個點分區(qū)內(nèi)頂點的全局狀態(tài)總和增長較快。另外,異步更新并不要求所有邊分區(qū)的數(shù)據(jù)塊同時到達,只要點分區(qū)收到數(shù)據(jù)塊就能立即更新部分頂點的狀態(tài),因此各個點分區(qū)的頂點狀態(tài)總和在收斂過程中出現(xiàn)不同幅度的震蕩。當4 個點分區(qū)處理完65~70個數(shù)據(jù)塊后,頂點狀態(tài)總和與全局同步迭代到22輪的狀態(tài)值接近,認為異步迭代接近收斂。

    5.4 收斂速度

    為比較全局同步和異步迭代的收斂速度,以圖3和圖4 的收斂值統(tǒng)計全局同步和異步迭代的收斂時間。圖5給出全局同步下reduce和collect算子在每輪迭代過程中的平均運行時間。

    圖5 全局同步每輪迭代的運行時間

    從圖5 可以看到,全局同步迭代輪數(shù)較少,但是由于存在路障限制,全局同步迭代需要等到所有邊分區(qū)的結(jié)果全部到達才能對頂點的狀態(tài)進行更新。每輪迭代過程中reduce 算子平均運行時間為12~18 s,collect算子平均運行時間在8~10 s。在已知圖數(shù)據(jù)收斂狀態(tài)情況下,僅考慮每輪迭代過程中reduce 算子運行的時間,并且只在最后收斂階段使用collect算子將頂點狀態(tài)匯總至driver 計算收斂結(jié)果,全局同步的平均收斂時間為335.7 s。

    由于初始階段點分區(qū)需要等待邊分區(qū)局部聚合的結(jié)果,導致點分區(qū)發(fā)送數(shù)據(jù)塊的時間變長,因此圖6 中前后兩個階段消耗的時間比其他階段長。在對圖數(shù)據(jù)處理多次后,4個點分區(qū)的平均收斂時間分別為112.4 s、114.5 s、117.2 s、119.7 s,相同數(shù)據(jù)集下以頂點為中心異步更新的收斂時間為102.7 s。

    圖6 給出4 個點分區(qū)處理數(shù)據(jù)塊的時間,起始點設(shè)為點分區(qū)收到數(shù)據(jù)塊的時間,結(jié)束點為點分區(qū)將處理后的頂點狀態(tài)變化值以數(shù)據(jù)塊的形式發(fā)送給邊分區(qū)的時間,圖中每個點分區(qū)對數(shù)據(jù)塊的接收、更新到發(fā)送時間集中在0.5~2.5 s。

    圖6 異步更新下點分區(qū)對數(shù)據(jù)塊的處理時間

    5.5 通信代價

    全局同步的通信開銷主要由每輪迭代過程中的reduce算子產(chǎn)生,當邊分區(qū)在本地的局部聚合全部結(jié)束之后,需要對所有邊分區(qū)中具有相同索引頂點的局部狀態(tài)作全局聚合,并將結(jié)果發(fā)送給點分區(qū)。統(tǒng)計發(fā)現(xiàn)全局同步迭代方式下每輪迭代的通信開銷在125~132 MB。對圖數(shù)據(jù)進行多次全局同步迭代后,通信量均值為2 850 MB。

    相比全局同步要求4 個邊分區(qū)將數(shù)據(jù)塊匯總后同時發(fā)送到點分區(qū),以子圖為中心的異步迭代不需要等待其他分區(qū)的局部聚合結(jié)果,能夠直接將邊分區(qū)聚合后的數(shù)據(jù)塊發(fā)送給點分區(qū)。分別對邊分區(qū)和點分區(qū)發(fā)送的消息量進行統(tǒng)計,結(jié)果表明邊分區(qū)給點分區(qū)發(fā)送的數(shù)據(jù)塊大小在3~4 MB,點分區(qū)給邊分區(qū)發(fā)送的數(shù)據(jù)塊大小在2~3 MB。當各個點分區(qū)接近收斂狀態(tài),產(chǎn)生的網(wǎng)絡(luò)通信量共1 950 MB?;陧旤c為中心的異步迭代通過頂點更新次數(shù)統(tǒng)計網(wǎng)絡(luò)通信開銷,統(tǒng)計發(fā)現(xiàn)以頂點為中心的異步迭代方式下每個頂點平均更新9 次達到收斂狀態(tài)。對圖數(shù)據(jù)進行多次異步迭代后,網(wǎng)絡(luò)通信量均值為2 520 MB。

    根據(jù)以上分析,圖7給出了不同迭代方式下的圖迭代的收斂時間和通信開銷。從圖7可以看到,與全局同步迭代方式相比,以子圖為中心的異步迭代不僅能有效降低收斂速度同時能提高通信效率。與頂點為中心的異步迭代方式相比,基于子圖為中心的異步更新方式在收斂時間上雖略有增長,但是能夠顯著降低通信開銷。

    圖7 不同迭代方式下的收斂時間和通信開銷

    5.6 原因分析

    圖3 表明全局同步迭代輪數(shù)較少,但是由于存在路障限制,全局同步迭代需要等到所有邊分區(qū)的結(jié)果全部到達才能對頂點的狀態(tài)進行更新。圖4 中異步更新處理的數(shù)據(jù)塊個數(shù)雖然較多,但只要迭代算法滿足異步更新條件,點分區(qū)收到任一邊分區(qū)的局部聚合結(jié)果,就能夠立即從緩存隊列中取出數(shù)據(jù)塊進行處理,因此基于子圖的異步更新方式能極大縮短圖的收斂時間。由于整個迭代過程時間較短,這也使得異步迭代產(chǎn)生的通信量遠少于全局同步產(chǎn)生的通信量。

    另外,以頂點為中心的異步迭代以頂點為單位更新頂點狀態(tài),以子圖為中心的異步迭代以數(shù)據(jù)塊為單位更新頂點狀態(tài),因此以頂點為單位進行異步更新能夠更快地加速圖狀態(tài)收斂。相比較于以頂點的異步迭代在收斂時間上略有增長,基于子圖的異步迭代可以通過以下方式極大提高通信效率:

    (1)大部分網(wǎng)絡(luò)拓撲服從冪律分布,網(wǎng)絡(luò)中連接邊的數(shù)量遠遠超過頂點的個數(shù),因此以頂點為對象發(fā)送消息的次數(shù)遠少于跨連接邊發(fā)送消息的次數(shù)[18]。

    (2)基于子圖的劃分方式將大量頂點連接邊存放在同一分區(qū),少部分頂點的連接邊分布在不同的邊分區(qū),這種存儲方式不僅減小了消息發(fā)送的次數(shù),基于子圖為中心的異步迭代通過在邊分區(qū)內(nèi)通過聚合機制獲取頂點的局部狀態(tài)后,以批量方式集中將分區(qū)的局部聚合結(jié)果發(fā)送給點分區(qū)。

    (3)單個頂點在同一邊分區(qū)中存在多條連接邊,更新后的頂點狀態(tài)發(fā)往同一邊分區(qū)后在很大程度上能夠?qū)旤c狀態(tài)信息重用,因此進一步減少了同一頂點跨越計算節(jié)點發(fā)送消息的次數(shù)。

    6 結(jié)束語

    Spark 環(huán)境下的Graphx 圖處理系統(tǒng)要求子圖之間的計算任務(wù)保持全局同步,因此限制了圖迭代的收斂速度[19]。根據(jù)Spark 環(huán)境下圖切分和數(shù)據(jù)存儲的特點,本文提出了一種基于子圖的異步迭代更新方法。實驗結(jié)果表明,該方法能夠有效提高圖迭代的收斂速度,同時降低網(wǎng)絡(luò)通信開銷。未來,將對方法的擴展性[20]作進一步研究。

    亚洲美女黄色视频免费看| 亚洲精品乱码久久久v下载方式| 国产一区二区在线观看日韩| 欧美97在线视频| 久久久久久久国产电影| 中文乱码字字幕精品一区二区三区| 国产精品欧美亚洲77777| 91aial.com中文字幕在线观看| 国产成人精品久久久久久| 精品亚洲成a人片在线观看 | 亚洲色图综合在线观看| 亚洲精品自拍成人| 日韩欧美一区视频在线观看 | 超碰av人人做人人爽久久| 亚洲精品aⅴ在线观看| 国产淫语在线视频| 99热6这里只有精品| xxx大片免费视频| 欧美日韩在线观看h| 亚洲国产精品999| 在线观看一区二区三区激情| 欧美精品亚洲一区二区| 亚洲中文av在线| 欧美成人一区二区免费高清观看| 亚洲自偷自拍三级| 欧美精品一区二区免费开放| 啦啦啦视频在线资源免费观看| 日本-黄色视频高清免费观看| 男人狂女人下面高潮的视频| 春色校园在线视频观看| 高清午夜精品一区二区三区| 男人和女人高潮做爰伦理| 自拍偷自拍亚洲精品老妇| av在线老鸭窝| 欧美日韩视频高清一区二区三区二| 国产av精品麻豆| 成年免费大片在线观看| 久久精品国产自在天天线| 成人一区二区视频在线观看| 欧美日韩国产mv在线观看视频 | 在线观看三级黄色| 黄色日韩在线| 下体分泌物呈黄色| 自拍欧美九色日韩亚洲蝌蚪91 | 亚洲人成网站高清观看| 91久久精品国产一区二区成人| 午夜福利高清视频| 国产 一区 欧美 日韩| 王馨瑶露胸无遮挡在线观看| av国产免费在线观看| 欧美高清成人免费视频www| 国产美女午夜福利| 各种免费的搞黄视频| 久久精品国产亚洲av涩爱| 久久人人爽人人爽人人片va| 国产高清三级在线| 亚洲国产欧美在线一区| 亚洲国产精品国产精品| 亚洲精品aⅴ在线观看| 最近中文字幕高清免费大全6| 久久久久久久久久久丰满| 中文天堂在线官网| 欧美成人a在线观看| 国产91av在线免费观看| 久久久久久九九精品二区国产| 日日摸夜夜添夜夜爱| 美女中出高潮动态图| 精品人妻视频免费看| 国产精品嫩草影院av在线观看| 寂寞人妻少妇视频99o| 观看免费一级毛片| 最后的刺客免费高清国语| 色婷婷av一区二区三区视频| 成人毛片60女人毛片免费| 国产日韩欧美在线精品| 国产69精品久久久久777片| 精品久久久久久久末码| 亚洲怡红院男人天堂| h日本视频在线播放| 尤物成人国产欧美一区二区三区| 免费大片18禁| 只有这里有精品99| 伦精品一区二区三区| 如何舔出高潮| 18禁在线无遮挡免费观看视频| 七月丁香在线播放| 三级国产精品欧美在线观看| 久久毛片免费看一区二区三区| 欧美极品一区二区三区四区| 久久人人爽人人爽人人片va| 日韩人妻高清精品专区| 看十八女毛片水多多多| 又黄又爽又刺激的免费视频.| 亚洲av综合色区一区| 丰满少妇做爰视频| 美女xxoo啪啪120秒动态图| 国产成人91sexporn| 在线观看av片永久免费下载| 国产伦在线观看视频一区| 国产爽快片一区二区三区| 毛片女人毛片| 国产高清国产精品国产三级 | 好男人视频免费观看在线| 日日撸夜夜添| 久久久久久九九精品二区国产| 日日摸夜夜添夜夜添av毛片| 久久久久久久大尺度免费视频| 亚洲四区av| 久久精品久久精品一区二区三区| av又黄又爽大尺度在线免费看| 色视频www国产| 观看美女的网站| 在线观看一区二区三区| 精品国产露脸久久av麻豆| 国产伦精品一区二区三区四那| 国产 精品1| 狂野欧美激情性xxxx在线观看| 精品久久久久久久久亚洲| 肉色欧美久久久久久久蜜桃| 久久这里有精品视频免费| 蜜桃亚洲精品一区二区三区| 夜夜骑夜夜射夜夜干| 欧美一区二区亚洲| 免费不卡的大黄色大毛片视频在线观看| 一区二区三区精品91| 国产精品久久久久久久电影| 蜜桃在线观看..| 婷婷色av中文字幕| 少妇熟女欧美另类| 一区二区三区乱码不卡18| 成人漫画全彩无遮挡| 国国产精品蜜臀av免费| 精品一区二区免费观看| 国产精品无大码| 亚洲欧美精品自产自拍| av在线老鸭窝| 蜜桃亚洲精品一区二区三区| 国产中年淑女户外野战色| 国产精品99久久99久久久不卡 | 女人久久www免费人成看片| 亚洲av中文字字幕乱码综合| 精品亚洲成a人片在线观看 | 大陆偷拍与自拍| 在线播放无遮挡| av在线老鸭窝| 日韩一区二区三区影片| 亚洲国产最新在线播放| 久久影院123| 午夜激情久久久久久久| 九九久久精品国产亚洲av麻豆| 国产精品福利在线免费观看| 在线看a的网站| 最近中文字幕2019免费版| 看免费成人av毛片| 99re6热这里在线精品视频| 久久精品熟女亚洲av麻豆精品| 国产久久久一区二区三区| 亚洲欧美日韩东京热| 欧美精品国产亚洲| 黄片无遮挡物在线观看| 最近中文字幕2019免费版| 亚洲无线观看免费| 国产高清三级在线| 久热久热在线精品观看| 亚洲av免费高清在线观看| 天堂8中文在线网| 一级毛片 在线播放| 国产精品成人在线| 欧美日韩综合久久久久久| 自拍偷自拍亚洲精品老妇| 五月天丁香电影| 深夜a级毛片| 精品国产一区二区三区久久久樱花 | 一级毛片我不卡| 日韩不卡一区二区三区视频在线| 成人高潮视频无遮挡免费网站| 麻豆乱淫一区二区| 国产精品精品国产色婷婷| 婷婷色麻豆天堂久久| 国产在线免费精品| 亚洲国产日韩一区二区| 日韩成人伦理影院| 在线观看免费视频网站a站| 欧美精品亚洲一区二区| 91精品国产国语对白视频| 我要看日韩黄色一级片| 精品午夜福利在线看| 久久精品国产自在天天线| 婷婷色麻豆天堂久久| 91久久精品电影网| 天堂中文最新版在线下载| 国产精品一区二区在线观看99| 不卡视频在线观看欧美| 亚洲无线观看免费| 国产又色又爽无遮挡免| 成人一区二区视频在线观看| 一级爰片在线观看| 观看免费一级毛片| 中文字幕人妻熟人妻熟丝袜美| 国产深夜福利视频在线观看| 国产精品伦人一区二区| 少妇 在线观看| 亚洲va在线va天堂va国产| 免费观看性生交大片5| 我要看日韩黄色一级片| 九色成人免费人妻av| 亚洲综合色惰| 五月伊人婷婷丁香| 2022亚洲国产成人精品| 高清黄色对白视频在线免费看 | 国产精品久久久久久精品古装| 干丝袜人妻中文字幕| 特大巨黑吊av在线直播| 中文乱码字字幕精品一区二区三区| 免费观看无遮挡的男女| 成人特级av手机在线观看| 深夜a级毛片| 免费观看av网站的网址| 在线观看一区二区三区激情| 亚洲国产毛片av蜜桃av| 精品久久久噜噜| 赤兔流量卡办理| 在线精品无人区一区二区三 | 国产精品国产三级国产av玫瑰| 草草在线视频免费看| 看非洲黑人一级黄片| 午夜福利高清视频| 黑丝袜美女国产一区| 精品酒店卫生间| 亚洲国产精品999| 亚洲精品一二三| 国产成人freesex在线| 岛国毛片在线播放| .国产精品久久| 免费观看在线日韩| 男人舔奶头视频| 亚洲精品自拍成人| 亚洲成人中文字幕在线播放| 搡女人真爽免费视频火全软件| 精品一区二区免费观看| 亚洲国产精品专区欧美| 国产一区二区三区av在线| av国产免费在线观看| 欧美bdsm另类| 亚洲国产av新网站| 又粗又硬又长又爽又黄的视频| 六月丁香七月| 亚洲高清免费不卡视频| 亚洲精品国产av成人精品| 水蜜桃什么品种好| 成年免费大片在线观看| 99久久人妻综合| 久久久a久久爽久久v久久| 日韩电影二区| 蜜桃在线观看..| 国产在线视频一区二区| 三级经典国产精品| 制服丝袜香蕉在线| 高清黄色对白视频在线免费看 | 国产精品不卡视频一区二区| 亚洲精品一二三| av天堂中文字幕网| 国产女主播在线喷水免费视频网站| 国产精品偷伦视频观看了| 国内揄拍国产精品人妻在线| 黑人高潮一二区| 久久ye,这里只有精品| 国产成人a∨麻豆精品| 一本一本综合久久| 韩国高清视频一区二区三区| 久久精品国产亚洲av天美| 国产色爽女视频免费观看| 亚洲av中文字字幕乱码综合| 国产成人freesex在线| 日本黄大片高清| 精华霜和精华液先用哪个| 国产精品国产三级国产av玫瑰| 亚洲国产精品一区三区| 97热精品久久久久久| 97精品久久久久久久久久精品| 蜜桃久久精品国产亚洲av| 成年女人在线观看亚洲视频| 中国美白少妇内射xxxbb| 黑丝袜美女国产一区| 亚洲激情五月婷婷啪啪| 久久精品国产自在天天线| 中文精品一卡2卡3卡4更新| 视频中文字幕在线观看| 日韩免费高清中文字幕av| 亚洲欧美日韩卡通动漫| 日韩av免费高清视频| 一区在线观看完整版| 国产成人精品久久久久久| 伦精品一区二区三区| 丝袜喷水一区| 秋霞在线观看毛片| 国模一区二区三区四区视频| 成人18禁高潮啪啪吃奶动态图 | 亚洲三级黄色毛片| 成人二区视频| 在现免费观看毛片| 亚洲aⅴ乱码一区二区在线播放| 日本av手机在线免费观看| 精品久久久精品久久久| 少妇 在线观看| 欧美成人午夜免费资源| 午夜免费观看性视频| 老司机影院毛片| 日本黄大片高清| 久久99蜜桃精品久久| 亚洲av成人精品一二三区| 在线观看三级黄色| 成人影院久久| 欧美zozozo另类| 2021少妇久久久久久久久久久| 青春草国产在线视频| 伊人久久国产一区二区| 少妇的逼水好多| 亚洲色图av天堂| 中文字幕av成人在线电影| 观看av在线不卡| 国产亚洲91精品色在线| 免费大片18禁| 男人爽女人下面视频在线观看| 丝瓜视频免费看黄片| 亚洲欧美日韩东京热| 亚洲精品久久久久久婷婷小说| 亚州av有码| 91精品伊人久久大香线蕉| 国产中年淑女户外野战色| 精品亚洲成国产av| 亚洲欧美日韩东京热| av网站免费在线观看视频| 男女下面进入的视频免费午夜| 黑人猛操日本美女一级片| 国产黄片视频在线免费观看| 国产淫片久久久久久久久| 久久久久久人妻| 在线观看免费视频网站a站| 免费av不卡在线播放| 午夜福利在线在线| 黑人高潮一二区| 91精品国产国语对白视频| 国产乱来视频区| 久久国产精品男人的天堂亚洲 | 国产精品久久久久久久久免| 国产在线男女| av.在线天堂| 99热国产这里只有精品6| 国产亚洲av片在线观看秒播厂| 日韩视频在线欧美| 日韩成人伦理影院| 插逼视频在线观看| av国产免费在线观看| 天堂8中文在线网| 99热全是精品| 少妇的逼水好多| 成人毛片a级毛片在线播放| 亚洲av男天堂| 免费观看性生交大片5| 国产精品99久久99久久久不卡 | 国产淫片久久久久久久久| 国产在线一区二区三区精| 日韩国内少妇激情av| 午夜福利在线在线| 九色成人免费人妻av| 国产精品久久久久成人av| 97在线人人人人妻| 黄色一级大片看看| 欧美精品一区二区免费开放| 我要看日韩黄色一级片| 狂野欧美激情性bbbbbb| 精品视频人人做人人爽| 精品国产露脸久久av麻豆| 亚洲伊人久久精品综合| 久久国产亚洲av麻豆专区| 久热久热在线精品观看| 国产伦在线观看视频一区| 亚洲精品久久久久久婷婷小说| 免费久久久久久久精品成人欧美视频 | 亚洲美女搞黄在线观看| kizo精华| 婷婷色麻豆天堂久久| 夫妻午夜视频| 亚洲欧美一区二区三区国产| 人妻 亚洲 视频| 男女边摸边吃奶| 久久久精品94久久精品| 国产精品99久久99久久久不卡 | 国产中年淑女户外野战色| 成人午夜精彩视频在线观看| 久久热精品热| 精品久久国产蜜桃| 狂野欧美激情性bbbbbb| 亚洲精品久久久久久婷婷小说| 99久久中文字幕三级久久日本| 国产成人a∨麻豆精品| 亚洲av不卡在线观看| 日本黄色日本黄色录像| 免费观看av网站的网址| 日本与韩国留学比较| 亚洲国产精品一区三区| a级毛色黄片| kizo精华| 免费高清在线观看视频在线观看| 国产亚洲最大av| 麻豆乱淫一区二区| 亚洲精品一二三| 一区二区三区精品91| 欧美一区二区亚洲| 青春草国产在线视频| 内射极品少妇av片p| 26uuu在线亚洲综合色| av国产久精品久网站免费入址| 国产精品麻豆人妻色哟哟久久| av网站免费在线观看视频| 在线观看国产h片| 男人狂女人下面高潮的视频| 性高湖久久久久久久久免费观看| 九九久久精品国产亚洲av麻豆| 亚洲精品国产av成人精品| 国产色婷婷99| 男女边摸边吃奶| 偷拍熟女少妇极品色| 国产无遮挡羞羞视频在线观看| 国产在线视频一区二区| 日韩精品有码人妻一区| 一区二区三区免费毛片| 尤物成人国产欧美一区二区三区| 免费看日本二区| 在线天堂最新版资源| 在线看a的网站| 交换朋友夫妻互换小说| 久久ye,这里只有精品| 91在线精品国自产拍蜜月| 多毛熟女@视频| 久久久久国产精品人妻一区二区| a级毛色黄片| 91狼人影院| 99热国产这里只有精品6| 欧美日韩国产mv在线观看视频 | 亚洲,欧美,日韩| 亚洲精品乱码久久久久久按摩| 亚洲综合色惰| 国产免费一区二区三区四区乱码| 亚洲精品乱码久久久v下载方式| 少妇精品久久久久久久| av天堂中文字幕网| 日本午夜av视频| 一级毛片 在线播放| 亚洲精品久久午夜乱码| 国产精品久久久久久久久免| 国产午夜精品一二区理论片| 熟女电影av网| 自拍欧美九色日韩亚洲蝌蚪91 | 午夜激情久久久久久久| 国产精品久久久久成人av| 极品少妇高潮喷水抽搐| 午夜免费观看性视频| 成年美女黄网站色视频大全免费 | 亚洲av不卡在线观看| 制服丝袜香蕉在线| 男女边吃奶边做爰视频| 啦啦啦中文免费视频观看日本| 丝袜脚勾引网站| 少妇的逼水好多| 亚洲成人av在线免费| 我的老师免费观看完整版| 天天躁日日操中文字幕| av免费观看日本| 国产精品一及| 热99国产精品久久久久久7| h视频一区二区三区| 亚洲国产高清在线一区二区三| 18禁在线播放成人免费| 亚洲欧美中文字幕日韩二区| 秋霞伦理黄片| 22中文网久久字幕| av又黄又爽大尺度在线免费看| 亚洲av免费高清在线观看| 97在线人人人人妻| 大香蕉久久网| 国产午夜精品久久久久久一区二区三区| 午夜激情久久久久久久| 99热国产这里只有精品6| 国产精品女同一区二区软件| 简卡轻食公司| 小蜜桃在线观看免费完整版高清| 国产免费一级a男人的天堂| 欧美精品一区二区免费开放| 亚洲欧洲国产日韩| 国国产精品蜜臀av免费| 99久久综合免费| 日日啪夜夜爽| 欧美日韩综合久久久久久| 少妇人妻久久综合中文| 美女福利国产在线 | 看十八女毛片水多多多| 久久精品人妻少妇| 国产精品偷伦视频观看了| 18禁在线播放成人免费| 国产欧美日韩一区二区三区在线 | 天天躁日日操中文字幕| 精品亚洲成a人片在线观看 | 一个人看视频在线观看www免费| 91aial.com中文字幕在线观看| 一本久久精品| 赤兔流量卡办理| 少妇高潮的动态图| 免费观看a级毛片全部| 免费不卡的大黄色大毛片视频在线观看| 舔av片在线| 黄色怎么调成土黄色| 极品教师在线视频| 网址你懂的国产日韩在线| 国产一区二区三区av在线| 91在线精品国自产拍蜜月| 亚洲精品中文字幕在线视频 | 免费av不卡在线播放| 国产成人91sexporn| 熟女电影av网| 国产欧美另类精品又又久久亚洲欧美| 欧美性感艳星| 51国产日韩欧美| 一个人看视频在线观看www免费| 日本午夜av视频| 最近中文字幕高清免费大全6| 亚洲图色成人| 永久免费av网站大全| 亚洲精品国产色婷婷电影| 欧美zozozo另类| 纯流量卡能插随身wifi吗| 久久久久久久久久成人| 午夜福利在线在线| 欧美老熟妇乱子伦牲交| 男的添女的下面高潮视频| 九九久久精品国产亚洲av麻豆| 少妇人妻一区二区三区视频| 欧美xxxx黑人xx丫x性爽| 国产精品久久久久久久电影| 国产午夜精品久久久久久一区二区三区| 亚洲国产精品一区三区| 尾随美女入室| 深夜a级毛片| 秋霞在线观看毛片| 国产成人精品福利久久| 日本wwww免费看| 欧美xxxx黑人xx丫x性爽| 国产在线免费精品| 91久久精品国产一区二区三区| 亚洲三级黄色毛片| 久久精品国产自在天天线| 日韩 亚洲 欧美在线| 日本免费在线观看一区| 在线观看免费高清a一片| 国产又色又爽无遮挡免| 亚洲精品国产色婷婷电影| 大又大粗又爽又黄少妇毛片口| 国产一区二区在线观看日韩| 成人二区视频| 亚洲精品日韩在线中文字幕| 国产精品99久久99久久久不卡 | 在线观看美女被高潮喷水网站| 国产大屁股一区二区在线视频| 亚洲av中文av极速乱| 最近2019中文字幕mv第一页| 亚洲色图av天堂| 综合色丁香网| 亚洲精品一二三| 精品一区二区免费观看| 亚洲欧美一区二区三区国产| 在线天堂最新版资源| 亚洲精品国产成人久久av| 又黄又爽又刺激的免费视频.| 免费不卡的大黄色大毛片视频在线观看| 少妇人妻精品综合一区二区| 久久久久久久久久久免费av| 久久综合国产亚洲精品| 精品人妻一区二区三区麻豆| 在线观看三级黄色| 大又大粗又爽又黄少妇毛片口| 亚洲欧洲日产国产| 蜜桃在线观看..| 天堂8中文在线网| 色5月婷婷丁香| 欧美日韩视频高清一区二区三区二| 高清视频免费观看一区二区| 久久精品久久精品一区二区三区| 欧美最新免费一区二区三区| 亚洲,一卡二卡三卡| 久久精品国产亚洲av涩爱| 精品一区在线观看国产| 80岁老熟妇乱子伦牲交| 国产男人的电影天堂91| 国产在线一区二区三区精| 日韩制服骚丝袜av| 中文字幕人妻熟人妻熟丝袜美| 777米奇影视久久| 久久婷婷青草| 一级二级三级毛片免费看| 少妇高潮的动态图| 最近手机中文字幕大全| 国产永久视频网站| 蜜桃亚洲精品一区二区三区| 九九久久精品国产亚洲av麻豆| 精品视频人人做人人爽| 国产综合精华液| 亚洲经典国产精华液单| 女性被躁到高潮视频| 亚洲av中文av极速乱| 美女视频免费永久观看网站| 日日撸夜夜添| 国产精品一二三区在线看| 欧美bdsm另类| 亚洲人成网站高清观看|