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

    基于累計(jì)工作量的在線大數(shù)據(jù)分析作業(yè)調(diào)度算法

    2019-10-23 12:23:56李葉飛徐超許道強(qiáng)鄒云峰張曉達(dá)錢柱中
    計(jì)算機(jī)應(yīng)用 2019年8期
    關(guān)鍵詞:數(shù)據(jù)分析系統(tǒng)公平性

    李葉飛 徐超 許道強(qiáng) 鄒云峰 張曉達(dá) 錢柱中

    摘 要:針對(duì)Hadoop和Spark等大數(shù)據(jù)分析系統(tǒng)中無(wú)先驗(yàn)知識(shí)任務(wù)的高效執(zhí)行問(wèn)題,設(shè)計(jì)了基于累計(jì)工作量(CRW)的任務(wù)調(diào)度器CRWScheduler。該調(diào)度器根據(jù)CRW將任務(wù)在低權(quán)重隊(duì)列與高權(quán)重隊(duì)列間切換;在為作業(yè)分配資源時(shí),同時(shí)考慮到作業(yè)所在的隊(duì)列和其瞬時(shí)占用資源量,無(wú)需作業(yè)先驗(yàn)知識(shí)即顯著提升系統(tǒng)性能?;贏pache Hadoop YARN實(shí)現(xiàn)了CRWScheduler原型,在28個(gè)節(jié)點(diǎn)的基準(zhǔn)測(cè)試集群上的實(shí)驗(yàn)表明,與YARN的公平調(diào)度機(jī)制相比,作業(yè)流時(shí)間(JFT)平均降低21%,其中95百分位的作業(yè)流時(shí)間(JFT)最多降低了35%,并且在與任務(wù)級(jí)調(diào)度程序協(xié)作時(shí)可獲得進(jìn)一步的性能提升。

    關(guān)鍵詞:數(shù)據(jù)分析系統(tǒng);作業(yè)流時(shí)間;公平性;饑餓避免

    中圖分類號(hào):?TP316.4

    文獻(xiàn)標(biāo)志碼:A

    Online task scheduling algorithm for big data analytics based on cumulative running work

    LI Yefei1, XU Chao2, XU Daoqiang3, ZOU Yunfeng2, ZHANG Xiaoda1, QIAN Zhuzhong1

    1.Department of Computer Science and Technology, Nanjing University, Nanjing Jiangsu 210023, China ;

    2.Electric Power Research Institute, State Grid Jiangsu Electric Power Company Limited, Nanjing Jiangsu 210000, China ;

    3.State Grid Jiangsu Electric Power Company Limited, Nanjing Jiangsu 210000, China

    Abstract:?A Cumulative Running Work (CRW) based task scheduler CRWScheduler was proposed to effectively process tasks without any prior knowledge for big data analytics platform like Hadoop and Spark. The running job was moved from a low-weight queue to a high-weight one based on CRW. When resources were allocated to a job, both the queue of the job and the instantaneous resource utilization of the job were considered, significantly improving the overall system performance without prior knowledge. The prototype of CRWScheduler was implemented based on Apache Hadoop YARN. Experimental results on 28-node benchmark testing cluster show that CRWScheduler reduces average Job Flow Time (JFT) by 21% and decreases JFT of 95th percentile by up to 35% compared with YARN fair scheduler. Further improvements can be obtained when CRWScheduler cooperates with task-level schedulers.

    Key words:?data analytics system; Job Flow Time (JFT); fairness; starvation-free

    0 引言

    在現(xiàn)代主流分布式大數(shù)據(jù)分析系統(tǒng)(例如Apache Hadoop、Apache Spark、Apache Tez)中,作業(yè)是由一系列任務(wù)構(gòu)成的,可表示為有向無(wú)環(huán)圖(Directed Acyclic Graph, DAG),其中每個(gè)頂點(diǎn)表示一個(gè)任務(wù),邊表示任務(wù)之間輸入與輸出的依賴關(guān)系。為提升資源利用率,作業(yè)之間會(huì)共享集群資源[1-3]。用戶級(jí)公平性確保所有用戶都能夠在共享集群中獲得資源[4-10]。然而,從用戶的角度看,除了可以獲得的資源量,如何高效地利用已分配的資源來(lái)快速完成其作業(yè)同樣是一個(gè)重要問(wèn)題。作業(yè)完成效率一般用作業(yè)流時(shí)間(Job Flow Time, JFT)來(lái)刻畫,其值定義為作業(yè)完成時(shí)間減去作業(yè)提交時(shí)間。本文針對(duì)分布式大數(shù)據(jù)分析系統(tǒng)的作業(yè)調(diào)度問(wèn)題,研究任務(wù)調(diào)度算法,在確保用戶之間公平性以及無(wú)饑餓的前提下,加速DAG作業(yè)的完成。

    即使是在離線場(chǎng)景(offline setting)中,最小化平均作業(yè)流時(shí)間的DAG調(diào)度問(wèn)題都是NP難的。而Hadoop和Spark中的默認(rèn)集群調(diào)度機(jī)制將資源劃分為固定大小的資源塊(Slots),例如〈2個(gè)CPU內(nèi)核, 1GB內(nèi)存〉,并將資源塊提供給作業(yè)。在此過(guò)程中調(diào)度器并未考慮作業(yè)的執(zhí)行進(jìn)展情況,使得作業(yè)完成時(shí)間變長(zhǎng)[4,10-11]。為此,Carbyne[12]和Graphene[13]等優(yōu)化的作業(yè)調(diào)度機(jī)制將不同的任務(wù)分類以提高集群整體的吞吐率,同時(shí)根據(jù)初始的作業(yè)量(所有任務(wù)正在處理的時(shí)間總和)以短作業(yè)優(yōu)先(Shortest Job First, SJF)[14]的方式調(diào)度DAG作業(yè),從而減少了平均作業(yè)流時(shí)間。一方面,短作業(yè)優(yōu)先的策略會(huì)導(dǎo)致長(zhǎng)作業(yè)饑餓,損害作業(yè)級(jí)的公平性;另一方面,這種調(diào)度機(jī)制預(yù)先假設(shè)已知作業(yè)的全部先驗(yàn)知識(shí),如:DAG的結(jié)構(gòu)和任務(wù)處理時(shí)間。對(duì)于一些重復(fù)出現(xiàn)的作業(yè)確實(shí)可以在當(dāng)前集群中預(yù)測(cè)其特征[15-17],但在一般的情況下,由于集群的動(dòng)態(tài)性(任務(wù)中斷、推測(cè)執(zhí)行)等難以預(yù)先獲取完全的作業(yè)信息,從而限制了這些調(diào)度機(jī)制的實(shí)用性[2-3]。

    LAS (Least-Attained Service)[17]是一種基于作業(yè)提交后已展現(xiàn)的運(yùn)行信息來(lái)進(jìn)行調(diào)度的策略,由于它不需要提前獲取完全信息,具有更強(qiáng)的實(shí)用性;并且,當(dāng)作業(yè)的工作量服從重尾分布時(shí),LAS能近似最優(yōu)策略的性能[3]。但傳統(tǒng)LAS策略僅考慮了計(jì)算量一個(gè)維度,而大數(shù)據(jù)處理作業(yè)對(duì)CPU與內(nèi)存的消耗具有同等重要的地位。為此,本文基于LAS思想,提出了支持多類型資源(CPU、內(nèi)存等)的非饑餓集群調(diào)度機(jī)制CRWScheduler。CRWScheduler基于主資源[4]的累計(jì)運(yùn)行工作量(Cumulative Running Work, CRW)來(lái)預(yù)測(cè)作業(yè)的總工作量,從而無(wú)需提前獲取作業(yè)特征,即可減少平均作業(yè)流時(shí)間。

    通過(guò)使用權(quán)重多隊(duì)列架構(gòu),CRWScheduler將基于CRW的啟發(fā)式算法(有利于重尾分布)和先進(jìn)先出(First In First Out, FIFO)思想(有利于輕尾分布)組合起來(lái)。每個(gè)作業(yè)基于其CRW會(huì)被分配到特定的隊(duì)列中, CRW較小的作業(yè)隊(duì)列被設(shè)置較低的權(quán)重;而在分配資源時(shí),CRWScheduler首先按照“分?jǐn)?shù)”將隊(duì)列進(jìn)行排序,然后依據(jù)分?jǐn)?shù)遞增的順序分配資源。分?jǐn)?shù)的計(jì)算同時(shí)依賴隊(duì)列中作業(yè)當(dāng)前占用資源的情況和隊(duì)列的權(quán)重。一方面,當(dāng)前不占用資源的隊(duì)列其分?jǐn)?shù)為0,有最高優(yōu)先級(jí)獲得新資源,又由于每個(gè)隊(duì)列中作業(yè)為先進(jìn)先出,進(jìn)而避免了作業(yè)出現(xiàn)饑餓的情況。另一方面,由于CRW較小的隊(duì)列的權(quán)重較小,相比有相同資源的隊(duì)列有更高的優(yōu)先級(jí)獲得新資源。這樣做模擬了短作業(yè)優(yōu)先的策略,降低了平均作業(yè)流時(shí)間。有別于PIAS (Practical Information-Agnostic flow Scheduling)[18]和Aalo[19-20]等其他基于LAS策略的網(wǎng)絡(luò)流調(diào)度機(jī)制,CRWScheduler避免了PIAS等調(diào)度機(jī)制導(dǎo)致作業(yè)饑餓的問(wèn)題,也克服了Aalo等機(jī)制需要無(wú)限分割資源,但并不能實(shí)際滿足DAG作業(yè)的最小資源需求的缺陷。

    本文基于Apache Hadoop YARN (Yet Another Resource Negotiator)[21]實(shí)現(xiàn)了CRWScheduler,并將系統(tǒng)部署在28個(gè)節(jié)點(diǎn)的集群中。通過(guò)全面的工作負(fù)載測(cè)試結(jié)果顯示,與公平調(diào)度相比,CRWScheduler的平均作業(yè)流時(shí)間縮短了10%~35%,而其中95百分位的作業(yè)流時(shí)間縮短了21%~35%。

    1 研究現(xiàn)狀

    大數(shù)據(jù)分析系統(tǒng)

    目前的數(shù)據(jù)分析系統(tǒng)大致可分為資源管理和計(jì)算框架兩類。資源管理平臺(tái),如Apache YARN[21]和Apache Mesos[7]。從物理機(jī)器抽象出資源,使彈性計(jì)算框架易于構(gòu)建和有效運(yùn)行。研究人員和從業(yè)人員已經(jīng)開(kāi)發(fā)出了多種易于編程的框架,如Apache Tez[1]、MapReduce[2]、Dryad[3]和Apache Spark[3]。這些框架通常將作業(yè)看成DAG,從而使得它們可以表達(dá)對(duì)資源的偏好和約束。吳信東等[22]比較了MapReduce和Spark在不同場(chǎng)景中的性能。

    大數(shù)據(jù)分析的任務(wù)調(diào)度

    延遲調(diào)度[10]和Quincy[23]通過(guò)調(diào)度單個(gè)任務(wù)以更接近于其輸入數(shù)據(jù),從而提高單個(gè)任務(wù)的數(shù)據(jù)本地性。ShuffleWatcher[24]提高了階段(stage)之間的shuffle局部性;Tetris[15]確保多臺(tái)機(jī)器能更好地打包任務(wù);Corral[16]同時(shí)考慮了結(jié)合數(shù)據(jù)和計(jì)算位置的優(yōu)化。這些工作集中于任務(wù)調(diào)度級(jí)別,同時(shí)CRWScheduler能夠更好地與其協(xié)作。

    對(duì)于調(diào)度一個(gè)單獨(dú)的作業(yè),列表調(diào)度和工作竊取調(diào)度[25]是常見(jiàn)的異步優(yōu)化方案,比如對(duì)于多個(gè)DAG作業(yè)共享一個(gè)并行多主機(jī)集群,LAPS (Latest Arrival Processor Sharing)[26]有良好的性能,然而并沒(méi)有得到應(yīng)用。文獻(xiàn)[13]中證明了短作業(yè)優(yōu)先(SJF)算法與LAPS有相近的性能,并且不涉及參數(shù)。王習(xí)特等[27]提出了基于序列的任務(wù)調(diào)度策略SEQ(SEQuence-based task scheduling strategy)來(lái)最大化集群運(yùn)行作業(yè)的收益。本文驗(yàn)證了CRWScheduler能夠在無(wú)先驗(yàn)知識(shí)的情況下達(dá)到近似于SJF的性能。

    2 DAG作業(yè)調(diào)度

    首先形式化地定義DAG作業(yè)調(diào)度問(wèn)題以及一些相關(guān)的概念,然后量化分析實(shí)際生產(chǎn)中的工作負(fù)載,最后用一個(gè)例子展示基于CRW的調(diào)度機(jī)制所獲得的性能提升。

    2.1 問(wèn)題定義

    本節(jié)定義DAG作業(yè)調(diào)度問(wèn)題,之后給出問(wèn)題的計(jì)算復(fù)雜度,最后形式化地定義累計(jì)運(yùn)行工作量(CRW)。

    假設(shè)一個(gè)用戶在時(shí)刻0提交了若干個(gè)作業(yè)J,每個(gè)作業(yè)包含若干個(gè)任務(wù),crij表示第i個(gè)作業(yè)的第j個(gè)任務(wù)對(duì)于資源r的需求量。假設(shè)dij表示相應(yīng)任務(wù)的處理時(shí)間,且dij并未考慮持續(xù)時(shí)間內(nèi)位置環(huán)境的影響。Dij表示表示作業(yè)i中任務(wù)j的依賴任務(wù)集合,只有當(dāng)Dij中的任務(wù)全部完成,作業(yè)i中任務(wù)j才能被調(diào)度執(zhí)行。整個(gè)集群包含機(jī)器的集合為P,每臺(tái)機(jī)器s包含資源r的容量為prs。假設(shè)Aij代表作業(yè)i中任務(wù)j分配的機(jī)器,Bij表示任務(wù)分配發(fā)生的時(shí)間,Itij指示在時(shí)刻t,作業(yè)i的任務(wù)j是否在集群上運(yùn)行。

    定義1? 作業(yè)i的流時(shí)間為其到達(dá)時(shí)間與其最后一個(gè)任務(wù)完成時(shí)間的間隔時(shí)間,即:max j∈i {t>0 | Itij>0}。

    約束條件:

    1)在任何時(shí)刻,一臺(tái)機(jī)器上的所有任務(wù)使用的資源總和不得超過(guò)當(dāng)前機(jī)器相應(yīng)資源的容量:

    r,t,s∈P,∑ Aij=s crij·ltij≤Prs

    (1)

    2)調(diào)度器不能在一個(gè)任務(wù)還未完成前中斷任務(wù):

    Itij= 1,?? Bij≤t≤Bij+dij0, 其他

    (2)

    3)一個(gè)任務(wù)只有等到其所依賴的任務(wù)全部執(zhí)行完才能被調(diào)度執(zhí)行:

    Bij≥max k∈Dij {Bik+dik}

    (3)

    目標(biāo)函數(shù):最小化平均作業(yè)流時(shí)間(即最小化作業(yè)流時(shí)間之和):

    ∑ i∈J max j∈i {t>0 | Itij>0}

    (4)

    定理1? 滿足上述目標(biāo)(4)和約束條件(1)~(3)的DAG作業(yè)調(diào)度問(wèn)題為NP難問(wèn)題。

    證明? 通過(guò)證明該問(wèn)題的一個(gè)特殊情況是NP難來(lái)證明該問(wèn)題的計(jì)算復(fù)雜性。對(duì)于所有作業(yè)中的任務(wù),假設(shè)Dij為空集且任務(wù)的執(zhí)行時(shí)間為1;假設(shè)在0時(shí)刻共有 | P | 個(gè)箱子。若能夠?qū)⑺腥蝿?wù)打包起來(lái)所需的箱子數(shù)小于 | P | ,那么所有作業(yè)的完成時(shí)間為1;否則在1時(shí)刻開(kāi)啟另外 | P | 個(gè)箱子,來(lái)判斷是否能將剩余的任務(wù)打包。因?yàn)榕袛嘧钌俚南渥訑?shù)是NP難的[20],故DAG作業(yè)調(diào)度問(wèn)題是NP難的。

    注意到即使沒(méi)有任務(wù)位置偏好,DAG作業(yè)調(diào)度問(wèn)題仍然為NP難。鑒于NP難問(wèn)題的復(fù)雜度[28],本文在考慮非饑餓的同時(shí)尋找有效的啟發(fā)式方法以最小化平均流時(shí)間。

    為了論述方便,預(yù)先定義以下概念。

    定義2? 作業(yè)i的總工作量(Original Work)是指對(duì)于特定資源,任務(wù)需求與任務(wù)處理時(shí)間的乘積與集群資源容量的最大比率,即:

    R(i)=max r? 1 ∑ s∈P prs ∑ j∈i crij·dij

    定義3? 作業(yè)i在t時(shí)刻的當(dāng)前運(yùn)行任務(wù)數(shù)為:

    CR(i,t)=∑ j∈i Itij

    定義4? 作業(yè)i在t時(shí)刻的累計(jì)運(yùn)行工作量(Cumulative Running Work, CRW)是指對(duì)于每種資源,該作業(yè)已經(jīng)完成的任務(wù)和正在運(yùn)行任務(wù)中對(duì)該資源的需求量和可用量比值的最大值,即:

    RW(i,τ)=max r? 1 ∑ s∈P prs ∑ j∈i ∑ t≤τ crij·Irij

    2.2 工作負(fù)載分析

    如表1所示,Yahoo!采集了在2500個(gè)節(jié)點(diǎn)的集群中的作業(yè)所使用資源(以Slot數(shù)量計(jì)算)的情況。作業(yè)的資源使用情況在實(shí)際生產(chǎn)中滿足重尾分布[29]:即大部分的作業(yè)都屬于輕量級(jí),它們只占用少量的集群資源;小部分繁重的作業(yè)占據(jù)著大部分的集群資源。

    在重尾分布中,一個(gè)作業(yè)已經(jīng)完成的程度將是其實(shí)際工作的一個(gè)好的預(yù)測(cè)值[13]。在本文所討論的場(chǎng)景中,CRW很好地近似了作業(yè)總工作量,因此基于CRW的調(diào)度機(jī)制(CRW較小的作業(yè)優(yōu)先)在實(shí)際負(fù)載工作中近似于短作業(yè)優(yōu)先(SJF)。

    2.3 典型實(shí)例分析

    圖1以具體的例子顯示了現(xiàn)有調(diào)度器的缺陷:公平調(diào)度器(fair scheduler)總是將資源分配給當(dāng)前資源占有量最少的作業(yè)[30];容量調(diào)度器(capacity scheduler)根據(jù)作業(yè)提交時(shí)間分配資源[31];SJF[14]能夠?qū)崿F(xiàn)最優(yōu)的調(diào)度,但是它依賴于作業(yè)提交時(shí)完全的先驗(yàn)的作業(yè)特性。

    假設(shè)用戶在時(shí)刻0提交作業(yè)A和B,在時(shí)刻1提交作業(yè)C。每個(gè)任務(wù)需要1個(gè)單位的處理時(shí)間,每個(gè)任務(wù)有不同的資源需求。假設(shè)所有資源的總量為1。作業(yè)流時(shí)間定義為從作業(yè)的提交時(shí)間到作業(yè)最后一個(gè)任務(wù)完成的時(shí)間間隔?;诠潭ㄙY 源塊(每個(gè)slot的資源為〈0.5, 0.5〉)的公平調(diào)度器以實(shí)時(shí)最大 最小公平(max-min fairness)的方式為作業(yè)分配資源[30]。公平調(diào)度器作用下的平均作業(yè)流時(shí)間為17/3,而容量調(diào)度器導(dǎo)致平均流時(shí)間也為17/3??紤]已知DAG結(jié)構(gòu)和細(xì)粒度任務(wù)需求,SJF調(diào)度策略將會(huì)根據(jù)其總工作量逆序調(diào)用作業(yè),使得平均作業(yè)流時(shí)間為5?;贑RW的調(diào)度器將資源分配給具有最小累計(jì)運(yùn)行工作量的作業(yè)。在時(shí)刻1,基于CRW的調(diào)度器將為作業(yè)C分配2個(gè)任務(wù),而不是1個(gè),因?yàn)樽鳂I(yè)A、B、C在時(shí)刻1的CRW分別為0.4、0.5、0?;贑RW的調(diào)度器可使得平均作業(yè)流時(shí)間為16/3。在這個(gè)例子中,基于CRW的調(diào)度器不需要先驗(yàn)的作業(yè)特性,但能夠近似最優(yōu)的調(diào)度器,實(shí)現(xiàn)更低的平均作業(yè)流時(shí)間。

    基于此,本文試圖根據(jù)作業(yè)的累計(jì)運(yùn)行工作量設(shè)計(jì)在線的動(dòng)態(tài)調(diào)度器來(lái)分配資源以保證無(wú)饑餓的同時(shí)減少平均作業(yè)流時(shí)間。

    3 基于CRW的作業(yè)調(diào)度機(jī)制

    如圖2所示,在分配資源時(shí),用戶級(jí)調(diào)度機(jī)制根據(jù)用戶在集群中的份額排序。公平調(diào)度機(jī)制為最?。▋?nèi)存)份額的用戶提供資源[10],然而主資源公平的調(diào)度機(jī)制(Dominate Resource Fairness, DRF)將其擴(kuò)展為考慮多類資源(如CPU、內(nèi)存)[4]。任務(wù)調(diào)度器嘗試提高任務(wù)的數(shù)據(jù)本地性[10],或者最小化集群資源碎片[15],或者根據(jù)任務(wù)依賴約束進(jìn)行分類[12]。CRWScheduler位于用戶之間的調(diào)度和任務(wù)調(diào)度之間,將每個(gè)用戶內(nèi)部的作業(yè)作為輸入,試圖縮短平均作業(yè)流時(shí)間。

    3.1 權(quán)重多隊(duì)列框架

    在多個(gè)DAG作業(yè)共享多臺(tái)機(jī)器的場(chǎng)景中,作業(yè)到達(dá)和離開(kāi)的時(shí)間都是在線的,難以獲得完整的作業(yè)信息,因此最短作業(yè)優(yōu)先原則實(shí)際上是無(wú)法實(shí)施的。因此,依據(jù)2.2節(jié)分析和定義4,累計(jì)工作量是作業(yè)總工作量的良好的預(yù)測(cè)值,一個(gè)直觀的啟發(fā)式方法是基于累計(jì)運(yùn)行工作量的思想近似最短作業(yè)優(yōu)先。

    在t時(shí)刻,為作業(yè)i賦予分?jǐn)?shù)CR(i, t) * CRW(i, t),按照分?jǐn)?shù)非遞減的方式分配資源。這樣做的目的是在保證饑餓不發(fā)生的前提下減少平均作業(yè)流時(shí)間:因?yàn)轲囸I作業(yè)的分?jǐn)?shù)為0(因?yàn)镃R(i, t)=0),在分配資源時(shí)具有最高的優(yōu)先級(jí);并且,較低CRW的作業(yè)有較高的優(yōu)先級(jí),又因?yàn)镃RW可以很好地評(píng)估一個(gè)作業(yè)的總工作量,所以這個(gè)啟發(fā)式方法有助于最小化平均作業(yè)流時(shí)間。

    然而,對(duì)于滿足輕尾的作業(yè)分布,上述啟發(fā)式算法實(shí)際上就退化成了作業(yè)之間公平共享資源,這并不能最小化平均作業(yè)流時(shí)間。例如,兩個(gè)相同的作業(yè)等待調(diào)度執(zhí)行,其中一個(gè)作業(yè)被選中執(zhí)行,這個(gè)作業(yè)的分?jǐn)?shù)提高了,將導(dǎo)致另一個(gè)作業(yè)被調(diào)度執(zhí)行,因此,兩個(gè)作業(yè)的完成時(shí)間都變成了最優(yōu)時(shí)間的兩倍。而在這種情況下,F(xiàn)IFO調(diào)度策略能最小化平均完成時(shí)間。因此,本文算法通過(guò)權(quán)重多隊(duì)列框架將基于CRW的機(jī)制和FIFO策略組合起來(lái),具體介紹見(jiàn)3.2節(jié)。

    3.2 DAG作業(yè)調(diào)度CRWScheduler

    本文通過(guò)將基于CRW的啟發(fā)式思想和FIFO的啟發(fā)式思想綜合起來(lái)考慮,引入權(quán)重多隊(duì)列框架(Weighted Multi-Queue Framework,WMQF)。CRWScheduler基于運(yùn)行中作業(yè)的CRW值將其劃分到相應(yīng)的隊(duì)列Q1,Q2,…,Qn中去。在隊(duì)列Qi中的作業(yè)的CRW值屬于[Qi-1.th,Qi.th],其中Qi.th是隊(duì)列Qi的閾值同時(shí)滿足Qi+1.th>Qi.th;且 Q0.th=0。CRWScheduler從Q1到Qn以遞減的方式設(shè)置隊(duì)列權(quán)重Qi.weight。一個(gè)作業(yè)的CRW值隨著其任務(wù)在集群中執(zhí)行單調(diào)遞增,一旦其CRW值超出所在隊(duì)列的閾值,當(dāng)前作業(yè)將從當(dāng)前隊(duì)列轉(zhuǎn)移到下一個(gè)隊(duì)列。

    CRWScheduler實(shí)時(shí)記錄每個(gè)作業(yè)的CRW值,同時(shí)在必要時(shí)調(diào)整作業(yè)所在的隊(duì)列。當(dāng)一個(gè)作業(yè)周期性地向集群報(bào)告其心跳時(shí),將調(diào)用UPDATECRW:為作業(yè)分配新的slot(Cn)以執(zhí)行其任務(wù),同時(shí)返回完成后的slot(Cr)給集群調(diào)度器。當(dāng)作業(yè)更新后的CRW值超出隊(duì)列的閾值時(shí),該作業(yè)將會(huì)轉(zhuǎn)移到下一個(gè)隊(duì)列(代碼第7)行)。

    Qr.score=Qr.weight· 1 ?| Qr | ??∑ i∈Qr CR(i,τ)

    (5)

    算法1

    DAG作業(yè)調(diào)度CRWScheduler。

    程序前

    procedure UPDATECRW(JOB i, Cn, Cr)

    //在作業(yè)向集群報(bào)告其心跳時(shí)調(diào)用

    1)

    R ←當(dāng)前累計(jì)運(yùn)行資源向量

    2)

    k←作業(yè)i的隊(duì)列index

    3)

    在新分配的slot Cn中啟動(dòng)任務(wù)

    4)

    fo r c∈Cr∪Cn do:

    5)

    R +=c· r? (time.Now-c.lastUpdateTime)

    6)

    if? max( R )>Qk..th then

    7)

    將作業(yè)i從隊(duì)列Qk轉(zhuǎn)移到Qk+1

    procedure CRWSCHEDULE(NODE n)

    //在機(jī)器向集群報(bào)告其心跳時(shí)調(diào)用

    8)

    wh ile n has free resources do

    9)

    decide user u to offer resources to

    10)

    jobList=SCOREDLIST(u)

    11)

    offer resources to jobList

    procedure SCOREDLIST(USER u)

    //將作業(yè)排序

    12)

    n←用戶u所在的隊(duì)列數(shù)

    13)

    fo r i=1 to n do:

    14)

    使用式(5)計(jì)算Qi.score

    15)

    根據(jù)score對(duì)隊(duì)列進(jìn)行排序

    16)

    jlist←連接有序隊(duì)列中的作業(yè)

    17)

    return jlist

    程序后

    CRWScheduler維持了用戶級(jí)別的公平性(代碼第9)行),并在每個(gè)用戶內(nèi)部調(diào)度作業(yè)。當(dāng)一臺(tái)機(jī)器周期性地報(bào)告其心跳時(shí),CRWSchduler被調(diào)用,同時(shí)將重新分配資源。通過(guò)設(shè)置權(quán)重隨隊(duì)列索引遞減,CRWScheduler使用式(5)計(jì)算每個(gè)隊(duì)列的分?jǐn)?shù)(代碼第14)行),其中∑ i∈ Q r CR(i,τ)表示的是隊(duì)列Qr中當(dāng)前所有作業(yè)正在運(yùn)行的任務(wù)數(shù)量之和, | Qr | 表示的是隊(duì)列Qr中當(dāng)前的作業(yè)的數(shù)量。也就是說(shuō),Qr.score為隊(duì)列中當(dāng)前運(yùn)行任務(wù)的平均值與隊(duì)列權(quán)重的乘積。按照Qr.score非遞減的順序排序可使得CRWSchduler為重尾作業(yè)分布保留了基于CRW的啟發(fā)式特性:因?yàn)橛休^低CRW的作業(yè)所在隊(duì)列的權(quán)重較大,導(dǎo)致其作業(yè)排在jlist前面;與此同時(shí),也保證了FIFO思想在輕尾作業(yè)分布中的優(yōu)勢(shì),即在同一隊(duì)列中的作業(yè)是FIFO的,從而使CRWScheduler有效地防止了隊(duì)列和作業(yè)中饑餓現(xiàn)象的發(fā)生,同時(shí)縮短了平均作業(yè)流時(shí)間。

    3.3 CRWScheduler的實(shí)現(xiàn)

    Tez[1]、Hadoop[21]和Spark[32]等經(jīng)典的數(shù)據(jù)分析系統(tǒng)將集群功能劃分為多個(gè)角色,包括集群管理器(resource manager)、節(jié)點(diǎn)管理器(node manager)與作業(yè)管理器(job manager),圖3中帶“+”的部分為CRWScheduler在已有架構(gòu)上的修改與擴(kuò)展。為了保證系統(tǒng)的擴(kuò)展性、性能以及可靠性,類YARN的數(shù)據(jù)分析系統(tǒng)[10]將集群功能劃分為若干個(gè)不同的守護(hù)進(jìn)程。本文通過(guò)如下修改將CRWScheduler整合到Apach Hadoop YARN框架(Hadoop 2.6)中。集群管理器為每個(gè)用戶管理多個(gè)隊(duì)列框架,同時(shí)在資源分配中實(shí)現(xiàn)CRWScheduler。節(jié)點(diǎn)管理器進(jìn)行slot分配的同時(shí)追蹤slot的運(yùn)行時(shí)間。作業(yè)管理器負(fù)責(zé)增加自身的CRW值,并在必要時(shí)使用UPDATECRW調(diào)整其所在的隊(duì)列。

    對(duì)Apache Hadoop YARN框架所做的修改并不影響原有調(diào)度器的可擴(kuò)展性,因?yàn)镃RWScheduler在分配資源時(shí)將隊(duì)列排序,而原有的調(diào)度器是直接對(duì)作業(yè)進(jìn)行排序。CRWScheduler在作業(yè)更新時(shí)增加了累計(jì)運(yùn)行工作計(jì)算,這是一個(gè)工作量適中的操作,同時(shí)實(shí)驗(yàn)結(jié)果也顯示這一花銷并不會(huì)影響系統(tǒng)的性能。

    4 實(shí)驗(yàn)評(píng)估

    4.1 實(shí)驗(yàn)配置

    本文在28個(gè)節(jié)點(diǎn)的集群中運(yùn)用各種類型的工作負(fù)載評(píng)估CRWScheduler,并且以仿真的方式在更大的集群中評(píng)測(cè)CRWScheduler的開(kāi)銷。

    集群中的每個(gè)節(jié)點(diǎn)采用2核CPU,4GB內(nèi)存,1Gb/s NIC網(wǎng)卡,運(yùn)行Ubuntu14.04系統(tǒng)。

    對(duì)比方法:將CRWScheduler與Hadoop 2.6中實(shí)現(xiàn)的調(diào)度算法進(jìn)行對(duì)比。為了與公平調(diào)度器[10]和DRF調(diào)度器[4]相比較,CRWScheduler替換了這些調(diào)度機(jī)制中的作業(yè)調(diào)度組件,同時(shí)保留了用戶之間的調(diào)度組件。同樣將CRWScheduler與容量調(diào)度器[4]相比較。本文利用延遲調(diào)度機(jī)制[10]作為默認(rèn)的任務(wù)調(diào)度機(jī)制。

    性能指標(biāo):主要關(guān)注于提升作業(yè)流時(shí)間(平均作業(yè)流時(shí)間或者絕大多數(shù)作業(yè)流時(shí)間)和作業(yè)吞吐量。

    測(cè)試負(fù)載:使用Apach Spark來(lái)生成運(yùn)行在YARN上的DAG作業(yè)。評(píng)估中使用的作業(yè)來(lái)源于如下數(shù)據(jù)分析應(yīng)用:WordCount、TPC-H基準(zhǔn)、迭代機(jī)器學(xué)習(xí)以及PageRank。如表2所示,對(duì)于每一類工作負(fù)載,數(shù)據(jù)集大小仿照真實(shí)生產(chǎn)環(huán)境的集群按比例縮放(Yahoo![8]和Facebook[10])。對(duì)于作業(yè)的分布,設(shè)置46%、40%和14%分別為小型、中型、大型的作業(yè),這與實(shí)際應(yīng)用中作業(yè)的分布相似[10]。

    4.2 實(shí)驗(yàn)結(jié)果

    本文首先討論CRWScheduler在多用戶環(huán)境下相比現(xiàn)有調(diào)度策略在性能上的提升,同時(shí)集中分析對(duì)于單用戶作用吞吐率的提升效果,之后將隔離提交作業(yè)以模擬輕尾工作負(fù)載,最后評(píng)估經(jīng)過(guò)修改的架構(gòu)與初始架構(gòu)相比所產(chǎn)生的額外開(kāi)銷。

    1)多用戶環(huán)境實(shí)驗(yàn)。假設(shè)有7個(gè)用戶,為每個(gè)用戶生成300個(gè)作業(yè)。圖4顯示了當(dāng)CRWScheduler與公平調(diào)度器協(xié)作(CRWScheduler-fair)以及與DRF調(diào)度器協(xié)作(CRWScheduler-DRF)時(shí)的性能提升,所有的指標(biāo)均按公平調(diào)度標(biāo)準(zhǔn)化。 圖4(a)顯示,與fair scheduler相比,CRWScheduler-fair處理小型、中型、大型作業(yè)的平均JFT分別減少了14、21和10個(gè)百分點(diǎn),對(duì)于所有的作業(yè)而言,JFT平均減少了16個(gè)百分點(diǎn);與DRF調(diào)度器相比,CRWScheduler-DRF處理小型、中型、大型作業(yè)的平均JFT分別減少了10、22以及10個(gè)百分點(diǎn),對(duì)于所有的作業(yè)而言,JFT平均減少15個(gè)百分點(diǎn)。圖4(b)描述了95百分位的作業(yè)流時(shí)間的提升效果。

    2)單用戶環(huán)境實(shí)驗(yàn)。為了突出在資源競(jìng)爭(zhēng)激勵(lì)的環(huán)境下CRWSheduler對(duì)性能的提升,設(shè)置的實(shí)驗(yàn)環(huán)境為:?jiǎn)斡脩裘扛?0s提交一次作業(yè)。對(duì)每種調(diào)度策略進(jìn)行1h的實(shí)驗(yàn),并分別統(tǒng)計(jì)其吞吐量。如表3所示,CRW公平調(diào)度策略相于單純的公平調(diào)度策略吞吐量提升了32%,CRWSheduler-DRF調(diào)度策略相比DRF吞吐量提升了45%。

    3)輕尾作業(yè)分布。實(shí)驗(yàn)為每個(gè)尺寸的作業(yè)生成100個(gè)作業(yè),并且分開(kāi)提交到服務(wù)器集群。容量調(diào)度程序在這些輕尾作業(yè)分布中進(jìn)行最優(yōu)調(diào)度。圖5顯示,CRWScheduler的調(diào)度效果近似于容量調(diào)度器,因?yàn)镃RWSchduler能保持作業(yè)在相同的隊(duì)列中進(jìn)行FIFO調(diào)度,所以優(yōu)于公平調(diào)度。

    4)額外開(kāi)銷:使用300節(jié)點(diǎn)集群進(jìn)行仿真實(shí)驗(yàn),每個(gè)機(jī)架有30臺(tái)服務(wù)器,同時(shí)生成10000個(gè)作業(yè),計(jì)算從節(jié)點(diǎn)中作業(yè)處理和更新的平均時(shí)間。表4顯示,對(duì)于每個(gè)作業(yè)心跳的額外開(kāi)銷在0.05ms以內(nèi),這對(duì)于集群管理者來(lái)說(shuō)可以忽略不計(jì)。在節(jié)點(diǎn)心跳中,公平調(diào)度器直接對(duì)運(yùn)行中的作業(yè)排序,而CRWScheduler首先對(duì)隊(duì)列進(jìn)行排序,之后通過(guò)合并有序的隊(duì)列得到有序的作業(yè)列表,從而使得CRWScheduler在資源分配時(shí)能達(dá)到更短的響應(yīng)時(shí)間。

    表格中的“事件平均處理時(shí)間”是算法的開(kāi)銷,而“更短的響應(yīng)時(shí)間”是指之前實(shí)驗(yàn)中作業(yè)流時(shí)間這個(gè)指標(biāo),確認(rèn)表述正確

    5 結(jié)語(yǔ)

    目前的DAG作業(yè)調(diào)度機(jī)制都需要預(yù)先獲得完整的作業(yè)信息,但在大量實(shí)際應(yīng)用中難以實(shí)現(xiàn)。為此,本文提出了累計(jì)運(yùn)行工作量(CRW),以估算作業(yè)總工作量,并設(shè)計(jì)了CRWScheduler調(diào)度器。它基于作業(yè)的CRW值將當(dāng)前運(yùn)行的作業(yè)劃分成多個(gè)隊(duì)列,同時(shí)考慮作業(yè)瞬時(shí)資源占用率以及不同的隊(duì)列權(quán)重,不僅能縮短平均作業(yè)流時(shí)間,也抑制了“饑餓”現(xiàn)象。而通過(guò)保持作業(yè)在每個(gè)隊(duì)列中的FIFO順序,CRWSheduler還提高了輕尾作業(yè)分布的性能。本文基于Apache Hadoop YARN實(shí)現(xiàn)了CRWSchduler原型系統(tǒng),通過(guò)部署在28個(gè)節(jié)點(diǎn)的集群中進(jìn)行多類型數(shù)據(jù)分析應(yīng)用的測(cè)試。實(shí)驗(yàn)結(jié)果顯示,相比YARN的公平調(diào)度機(jī)制,CRWScheduler將平均作業(yè)流時(shí)間縮短21%,而95百分位的作業(yè)流時(shí)間縮短35%。然而,當(dāng)前任務(wù)執(zhí)行時(shí)的資源使用是隧道化的,同一時(shí)刻會(huì)同時(shí)使用多種資源。多任務(wù)同時(shí)運(yùn)行在同一物理機(jī)上時(shí)會(huì)造成不可預(yù)知的資源競(jìng)爭(zhēng),從而難以對(duì)任務(wù)執(zhí)行時(shí)間建模。元任務(wù)(monotask)是將任務(wù)劃分成更小的粒度,每個(gè)元任務(wù)只消耗一種資源(磁盤、網(wǎng)絡(luò)和內(nèi)存等)。通過(guò)將每個(gè)任務(wù)劃分成元任務(wù),能夠更好地對(duì)任務(wù)和作業(yè)的執(zhí)行時(shí)間建模。下一步擬研究針對(duì)元任務(wù)的調(diào)度機(jī)制,以進(jìn)一步提高集群的資源利用率和作業(yè)性能。

    參考文獻(xiàn)

    [1]?Apache Software Foundation. Apache Tez [EB/OL]. [2017-12-21]. http://tez.apache.org/.

    [2]?DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [C]// Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation. Berkeley, CA: USENIX Association, 2004, 6: 10-10.

    [3]?ISARD M, BUDIU M, YU Y, et al. Dryad: distributed data-parallel programs from sequential building blocks [C]// Proceedings of the 2nd ACM Special Interest Groups in Operating Systems (SIGOPS)/European Conference on Computer Systems. New York: ACM, 2007: 59-72.

    [4]?ZAHARIA M, CHOWDHURY M, DAS T, et al. Resilient distributed datasets: a fault-tolerant abstraction for in-memory cluster computing [C]// Proceedings of the 9th USENIX Symposium on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2012: 15-28.

    [5]?GHODSI A, ZAHARIA M, HINDMAN B, et al. Dominant resource fairness: Fair allocation of multiple resource types [C]// Proceedings of the 8th USENIX Symposium on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2011: 323-336.

    [6]?GHODSI A, ZAHARIA M, SHENKER S, et al. Choosy: max-min fair sharing for datacenter jobs with constraints [C]// Proceedings of the 8th ACM European Conference on Computer Systems. New York: ACM, 2013: 365-378.

    [7]?HINDMAN B, KONWINSKI A, ZAHARIA M, et al. Mesos: A platform for fine-grained resource sharing in the data center [C]// Proceedings of the 8th USENIX Symposium on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2011: 295-308.

    [8] ?VAVILAPALLI V K, MURTHY A C, DOUGLAS C, et al. Apache hadoop YARN: yet another resource negotiator [C]// Proceedings of the 4th Annual Symposium on Cloud Computing. New York: ACM, 2013: 1-16.

    [9]?WANG W, LIANG B, LI B. Multi-resource fair allocation in heterogeneous cloud computing systems [J]. IEEE Transactions on Parallel and Distributed Systems, 2015, 26(10): 2822-2835.

    [10]?ZAHARIA M, BORTHAKUR D, SARMA J S, et al. Delay scheduling: a simple technique for achieving locality and fairness in cluster scheduling [C]// Proceedings of the 5th ACM European Conference on Computer Systems. New York: ACM, 2013: 265-278.

    [11]?Apache Software Foundation. Hadoop MapReduce Next Generation — Fair Scheduler [EB/OL]. [2018-10-21]. http://tinyurl.com/j9vzsl9.

    [12]??GRANDL R, CHOWDHURY M, AKELLA A, et al. Altruistic? scheduling in multi-resource clusters [C]// Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2016: 65-80.

    [13]?GRANDL R, KANDULA S, RAO S, et al. Graphene: packing and dependency-aware scheduling for data-parallel clusters [C]// Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2016: 81-97.

    [14]?AGRAWAL K, LI J, LU K, et al. Scheduling parallel DAG jobs online to minimize average flow time [C]// Proceedings of the 27th annual ACM-SIAM Symposium on Discrete algorithms. Philadelphia, PA: Society for Industrial and Applied Mathematics, 2016: 176-189.

    [15]?FERGUSON A D, BODIK P, KANDULA S, et al. Jockey: guaranteed job latency in data parallel clusters [C]// Proceedings of the 7th ACM European Conference on Computer Systems. New York: ACM, 2012: 99-112.

    [16]?GRANDL R, ANANTHANARAYANAN G, KANDULA S, et al. Multi-resource packing for cluster schedulers [C]// Proceedings of the 2014 ACM Conference on SIGCOMM. New York: ACM, 2014: 455-466.

    [17]??JALAPARTI V, BODIK P, MENACHE I, et al. Network-aware ?scheduling for data-parallel jobs: Plan when you can [C]// Proceedings of the 2015 ACM Conference on SIGCOMM. New York: ACM, 2015: 407-420.

    [18]?RAI I A, URVOY-KELLER G, BIERSACK E W. Analysis of LAS scheduling for job size distributions with high variance [C]// Proceedings of the 2003 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. New York: ACM, 2003: 218-228.

    [19]?BAI W, CHEN L, CHEN K, et al. Information-agnostic flow scheduling for commodity data centers [C]// Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation. Berkeley, CA: USENIX Association, 2015: 455-468.

    [20]?CHOWDHURY M, STOICA I. Efficient coflow scheduling without prior knowledge[C]// Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication. New York: ACM, 2015: 393-406.

    [21]?Apache Software Foundation. Apache Hadoop NextGen MapReduce (YARN) [EB/OL]. [2017-12-21]. http://tinyurl.com/zyy8kbc.

    [22]?吳信東,嵇圣硙.MapReduce與Spark用于大數(shù)據(jù)分析值比較[J].軟件學(xué)報(bào),2018,29(6):1770-1791. (WU X D, JI S W. Comparive study on MapReduce and Spark for bid data analytics [J]. Journal of Software, 2018, 29(6): 1770-1791.)

    [23]?ISARD M, PRABHAKARAN V, CURREY J, et al. Quincy: fair scheduling for distributed computing clusters [C]// Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. New York: ACM, 2009: 261-276.

    [24]?AHMAD F, CHAKRADHAR S, RAGHUNATHAN A, et al. Shufflewatcher: Shuffle-aware scheduling in multi-tenant mapreduce clusters [C]// USENIX Proceedings of 2014 USENIX Annual Technical Conference. Berkeley, CA: USENIX Association, 2014: 1-12.

    [25]??BLUMOFE R D, LEISERSON C E. Scheduling multithreaded computations by work stealing [J]. Journal of the ACM. 1999, 46(5): 720-748.

    [26]?EDMONDS J, PRUHS K. Scalably scheduling processes with arbitrary speedup curves [J]. ACM Transactions on Algorithms, 2012, 8(3): 256-265. [C]// Proceedings of the twentieth annual ACM-SIAM symposium on Discrete algorithms. New York: ACM, 2009: 685-692.

    [27]?王習(xí)特,申德榮,于戈,等.MapReduce集群中最大收益問(wèn)題的研究[J].計(jì)算機(jī)學(xué)報(bào),2015,38(1):109-121. (WANG X T, SHEN D R, YU G, et al. Research on maximum benefit problem in a MapReduce cluster [J]. Chinese Journal of Computers, 2015, 38(1): 109-121.)

    [28]?VAZIRANI V V. Approximation Algorithms [M]. Berlin: Springer, 2003: 74-78.

    https://www.logobook.ru/prod_show.php?object_uid=11146016

    [29]?NAIR J, WIERMAN A, ZWART B. The fundamentals of heavy-tails: properties, emergence, and identification [C]// Proceedings of the ACM SIGMETRICS/International Conference on Measurement and Modeling of Computer Systems. New York: ACM, 2013: 387-388.

    [30]?WIKIPEDIA. Max-min fairness [EB/OL]. [2017-12-21]. http://tinyurl.com/krkdmho.

    [31]?Apache Software Foundation. Hadoop MapReduce Next Generation — Capacity Scheduler [EB/OL]. [2018-12-01]. http://tinyurl.com/j739ojm.

    [32]?Apache Software Foundation. Apache Spark [EB/OL]. [2018-11-07]. http://spark.apache.org/.

    猜你喜歡
    數(shù)據(jù)分析系統(tǒng)公平性
    高管薪酬外部公平性、機(jī)構(gòu)投資者與并購(gòu)溢價(jià)
    基于云圖像處理的城市車廂和站臺(tái)擁擠度的檢測(cè)與研究
    利用GSM-R接口數(shù)據(jù)分析系統(tǒng)偏移的方法研究
    焊接設(shè)備實(shí)時(shí)監(jiān)測(cè)與數(shù)據(jù)分析系統(tǒng)在核電建造行業(yè)的應(yīng)用
    基于信息融合的社群金融信息數(shù)據(jù)分析系統(tǒng)的研究與實(shí)現(xiàn)
    一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
    智能數(shù)據(jù)分析系統(tǒng)研究及應(yīng)用
    公平性問(wèn)題例談
    關(guān)于公平性的思考
    數(shù)據(jù)集成技術(shù)在電力營(yíng)銷數(shù)據(jù)分析系統(tǒng)中的應(yīng)用研究
    亚洲精品久久久久久婷婷小说| 手机成人av网站| 亚洲av电影在线进入| 久久国产精品影院| 国产av精品麻豆| 丰满人妻熟妇乱又伦精品不卡| 国产男女超爽视频在线观看| 欧美成人午夜精品| 免费久久久久久久精品成人欧美视频| 国产精品.久久久| 色播在线永久视频| 久久精品国产亚洲av高清一级| 日韩免费高清中文字幕av| 亚洲欧洲精品一区二区精品久久久| 天天躁夜夜躁狠狠久久av| 国产一区二区激情短视频 | 精品人妻在线不人妻| 久久久久久久国产电影| 国产精品久久久久久精品古装| 一边摸一边抽搐一进一出视频| 欧美人与性动交α欧美软件| 国产成人精品久久二区二区免费| 国产高清视频在线播放一区 | 亚洲一码二码三码区别大吗| 99精品久久久久人妻精品| 欧美精品av麻豆av| 一级黄片播放器| 巨乳人妻的诱惑在线观看| 国产免费现黄频在线看| av福利片在线| 啦啦啦在线免费观看视频4| 手机成人av网站| 好男人电影高清在线观看| 国产欧美日韩一区二区三 | 日韩一本色道免费dvd| 国产精品人妻久久久影院| 午夜日韩欧美国产| av天堂在线播放| 在线天堂中文资源库| 免费看十八禁软件| 多毛熟女@视频| 欧美人与性动交α欧美软件| 欧美在线黄色| 人成视频在线观看免费观看| svipshipincom国产片| 日本欧美国产在线视频| 青春草视频在线免费观看| 成人亚洲欧美一区二区av| av福利片在线| 国产免费一区二区三区四区乱码| 欧美+亚洲+日韩+国产| 亚洲,欧美,日韩| 亚洲激情五月婷婷啪啪| 国产亚洲欧美精品永久| 国产精品一区二区精品视频观看| 午夜福利一区二区在线看| 日本a在线网址| 免费不卡黄色视频| 婷婷色综合www| av线在线观看网站| 精品国产乱码久久久久久男人| 18禁黄网站禁片午夜丰满| 50天的宝宝边吃奶边哭怎么回事| 黄色 视频免费看| 久久亚洲国产成人精品v| 亚洲av欧美aⅴ国产| 国产精品人妻久久久影院| 一本综合久久免费| 国产又爽黄色视频| 老鸭窝网址在线观看| 又粗又硬又长又爽又黄的视频| 高清欧美精品videossex| 人人妻,人人澡人人爽秒播 | 精品一区在线观看国产| 国产亚洲av高清不卡| h视频一区二区三区| 亚洲欧美一区二区三区黑人| 一本—道久久a久久精品蜜桃钙片| 99久久综合免费| 18禁观看日本| 香蕉丝袜av| 极品人妻少妇av视频| 男女国产视频网站| 99精品久久久久人妻精品| 不卡av一区二区三区| 色婷婷av一区二区三区视频| 免费观看a级毛片全部| 亚洲,欧美,日韩| 亚洲中文av在线| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品久久久av美女十八| 考比视频在线观看| 亚洲国产日韩一区二区| 国产精品久久久久久人妻精品电影 | 欧美日韩av久久| 美国免费a级毛片| 久久青草综合色| 国产97色在线日韩免费| 日韩av免费高清视频| 国产av国产精品国产| 国产精品一区二区在线不卡| 大片免费播放器 马上看| 精品少妇一区二区三区视频日本电影| 国产亚洲av高清不卡| 久久久久精品国产欧美久久久 | 高清欧美精品videossex| 亚洲成人免费电影在线观看 | 91精品国产国语对白视频| 久久av网站| 亚洲国产成人一精品久久久| 一区二区日韩欧美中文字幕| 视频区欧美日本亚洲| 汤姆久久久久久久影院中文字幕| 亚洲一区二区三区欧美精品| 亚洲国产av影院在线观看| 多毛熟女@视频| 9191精品国产免费久久| 日本91视频免费播放| 免费女性裸体啪啪无遮挡网站| 亚洲精品乱久久久久久| 国产精品国产三级国产专区5o| 国产伦理片在线播放av一区| 黄色片一级片一级黄色片| 精品高清国产在线一区| 精品人妻1区二区| 最近中文字幕2019免费版| 久久久久久亚洲精品国产蜜桃av| 国产精品99久久99久久久不卡| 国产精品久久久av美女十八| 女人久久www免费人成看片| 免费看十八禁软件| 69精品国产乱码久久久| 亚洲av国产av综合av卡| 国产成人av教育| 国产精品 欧美亚洲| 免费一级毛片在线播放高清视频 | 一级黄片播放器| 狠狠精品人妻久久久久久综合| 涩涩av久久男人的天堂| 久久精品国产a三级三级三级| 精品亚洲成国产av| 亚洲,欧美精品.| 欧美日韩综合久久久久久| 中文字幕人妻丝袜制服| 免费看十八禁软件| 久久99热这里只频精品6学生| 欧美 日韩 精品 国产| 成人免费观看视频高清| 欧美日韩亚洲国产一区二区在线观看 | 婷婷成人精品国产| 欧美日韩亚洲综合一区二区三区_| 久久久久视频综合| 韩国高清视频一区二区三区| 精品久久久久久久毛片微露脸 | 国产成人啪精品午夜网站| 一边摸一边做爽爽视频免费| 夫妻性生交免费视频一级片| 午夜激情久久久久久久| 丰满饥渴人妻一区二区三| 精品少妇黑人巨大在线播放| 少妇人妻久久综合中文| 中文乱码字字幕精品一区二区三区| 一区二区日韩欧美中文字幕| 女警被强在线播放| 在线 av 中文字幕| 久久久久精品人妻al黑| av片东京热男人的天堂| 国产片特级美女逼逼视频| 成人午夜精彩视频在线观看| 成人黄色视频免费在线看| 在线观看免费高清a一片| 日本91视频免费播放| 老鸭窝网址在线观看| 国产精品一区二区免费欧美 | 视频区欧美日本亚洲| 久久久久视频综合| 亚洲精品中文字幕在线视频| 亚洲九九香蕉| 国产一区二区 视频在线| 国产欧美日韩一区二区三区在线| 亚洲一码二码三码区别大吗| 久久 成人 亚洲| 国产亚洲av片在线观看秒播厂| 亚洲黑人精品在线| 欧美精品高潮呻吟av久久| 精品一区在线观看国产| 成人18禁高潮啪啪吃奶动态图| 女人爽到高潮嗷嗷叫在线视频| 亚洲专区国产一区二区| 国产成人系列免费观看| 国产欧美日韩精品亚洲av| 在线看a的网站| 观看av在线不卡| 亚洲国产精品一区三区| 一个人免费看片子| 香蕉国产在线看| 午夜91福利影院| 80岁老熟妇乱子伦牲交| 欧美日韩视频精品一区| 美女国产高潮福利片在线看| 亚洲成色77777| 成年女人毛片免费观看观看9 | 一区二区日韩欧美中文字幕| 69精品国产乱码久久久| 亚洲精品一卡2卡三卡4卡5卡 | 叶爱在线成人免费视频播放| 午夜免费鲁丝| 美女午夜性视频免费| 国产色视频综合| 亚洲欧美一区二区三区久久| 亚洲男人天堂网一区| 女人精品久久久久毛片| 悠悠久久av| 黄频高清免费视频| 真人做人爱边吃奶动态| 亚洲成人国产一区在线观看 | 亚洲国产毛片av蜜桃av| 国产精品av久久久久免费| 免费黄频网站在线观看国产| 纯流量卡能插随身wifi吗| 日韩制服丝袜自拍偷拍| 波多野结衣av一区二区av| 在线观看一区二区三区激情| 捣出白浆h1v1| 精品国产一区二区三区四区第35| 精品卡一卡二卡四卡免费| 91精品国产国语对白视频| 一边摸一边抽搐一进一出视频| 久久精品久久久久久久性| 久久精品aⅴ一区二区三区四区| 亚洲自偷自拍图片 自拍| 日本91视频免费播放| 免费高清在线观看视频在线观看| 一本综合久久免费| 亚洲国产精品999| 少妇人妻久久综合中文| 亚洲成人免费电影在线观看 | 人人澡人人妻人| 欧美精品高潮呻吟av久久| 91国产中文字幕| 女人爽到高潮嗷嗷叫在线视频| 国产91精品成人一区二区三区 | 欧美日韩成人在线一区二区| 国产在视频线精品| 人妻一区二区av| 国产97色在线日韩免费| 美女视频免费永久观看网站| 免费观看人在逋| 两个人看的免费小视频| 成年动漫av网址| 美女主播在线视频| 黄网站色视频无遮挡免费观看| 成人亚洲欧美一区二区av| 国产精品一区二区在线不卡| 久久精品熟女亚洲av麻豆精品| 99热国产这里只有精品6| 一边摸一边抽搐一进一出视频| 看免费成人av毛片| 国产高清videossex| 精品亚洲乱码少妇综合久久| 69精品国产乱码久久久| 黄网站色视频无遮挡免费观看| 久久人妻福利社区极品人妻图片 | 99精国产麻豆久久婷婷| 亚洲精品av麻豆狂野| 人妻 亚洲 视频| 日韩制服骚丝袜av| 免费在线观看影片大全网站 | 亚洲中文日韩欧美视频| 亚洲久久久国产精品| 国产精品人妻久久久影院| 久久久久久久大尺度免费视频| 国产女主播在线喷水免费视频网站| 日日夜夜操网爽| 考比视频在线观看| 久久久国产一区二区| 黑人巨大精品欧美一区二区蜜桃| 两性夫妻黄色片| 无限看片的www在线观看| 男女床上黄色一级片免费看| www.精华液| 女人高潮潮喷娇喘18禁视频| 美女主播在线视频| 精品国产超薄肉色丝袜足j| 亚洲一码二码三码区别大吗| 夜夜骑夜夜射夜夜干| 一二三四社区在线视频社区8| 高清av免费在线| 亚洲图色成人| 99精品久久久久人妻精品| 97人妻天天添夜夜摸| 美女脱内裤让男人舔精品视频| 精品少妇久久久久久888优播| 国产淫语在线视频| 桃花免费在线播放| 伊人久久大香线蕉亚洲五| 亚洲五月婷婷丁香| 又大又爽又粗| 天天躁日日躁夜夜躁夜夜| 久久精品国产亚洲av涩爱| 2018国产大陆天天弄谢| 在线观看人妻少妇| 日韩一卡2卡3卡4卡2021年| 超碰97精品在线观看| 久久久久久久久久久久大奶| 欧美精品啪啪一区二区三区 | 久久中文字幕一级| 国产成人精品久久二区二区免费| 国产在线免费精品| 国产成人av激情在线播放| 日韩精品免费视频一区二区三区| 一本色道久久久久久精品综合| 欧美 日韩 精品 国产| 婷婷色麻豆天堂久久| 亚洲av电影在线进入| 国产av国产精品国产| 国产精品久久久久久精品电影小说| 天天躁夜夜躁狠狠躁躁| 亚洲,欧美,日韩| 久久精品亚洲av国产电影网| 久久热在线av| 老汉色∧v一级毛片| www.av在线官网国产| 99热网站在线观看| www日本在线高清视频| 人人妻人人爽人人添夜夜欢视频| 国产精品一区二区在线不卡| 91麻豆精品激情在线观看国产 | 久久ye,这里只有精品| 国产成人系列免费观看| 国产成人欧美在线观看 | 狂野欧美激情性xxxx| 黑人巨大精品欧美一区二区蜜桃| 18禁黄网站禁片午夜丰满| 热re99久久精品国产66热6| 亚洲国产欧美一区二区综合| 国产av国产精品国产| 亚洲国产看品久久| 欧美精品啪啪一区二区三区 | 国产成人影院久久av| 男女高潮啪啪啪动态图| av电影中文网址| 亚洲成人免费av在线播放| av不卡在线播放| 欧美 亚洲 国产 日韩一| 美女视频免费永久观看网站| 91麻豆精品激情在线观看国产 | 色播在线永久视频| 免费在线观看视频国产中文字幕亚洲 | 亚洲av片天天在线观看| 老汉色av国产亚洲站长工具| 黄色a级毛片大全视频| 亚洲成人国产一区在线观看 | 看免费成人av毛片| 黄色怎么调成土黄色| 免费在线观看完整版高清| 欧美精品av麻豆av| 国产av一区二区精品久久| 欧美日韩亚洲国产一区二区在线观看 | 岛国毛片在线播放| 啦啦啦在线免费观看视频4| 99国产精品免费福利视频| 久久午夜综合久久蜜桃| 亚洲精品一二三| svipshipincom国产片| av欧美777| 熟女少妇亚洲综合色aaa.| 日本欧美视频一区| 亚洲综合色网址| 国产日韩欧美在线精品| 91麻豆av在线| 一区福利在线观看| 国产成人啪精品午夜网站| 久久精品熟女亚洲av麻豆精品| 国产精品人妻久久久影院| 一个人免费看片子| 又粗又硬又长又爽又黄的视频| 亚洲欧美色中文字幕在线| 亚洲成国产人片在线观看| 精品人妻1区二区| 性少妇av在线| 少妇精品久久久久久久| 一级片'在线观看视频| 日本欧美视频一区| 国产精品三级大全| 国产精品久久久人人做人人爽| 亚洲国产中文字幕在线视频| 国产精品久久久人人做人人爽| svipshipincom国产片| 国产av一区二区精品久久| 欧美少妇被猛烈插入视频| 一区二区日韩欧美中文字幕| 中文字幕最新亚洲高清| 亚洲成av片中文字幕在线观看| 国产日韩一区二区三区精品不卡| 亚洲成av片中文字幕在线观看| 91老司机精品| 久久鲁丝午夜福利片| 啦啦啦视频在线资源免费观看| 九草在线视频观看| 亚洲中文日韩欧美视频| 大陆偷拍与自拍| 美国免费a级毛片| 中文字幕人妻丝袜制服| 欧美精品啪啪一区二区三区 | 高清黄色对白视频在线免费看| 久久久久久久精品精品| 狠狠精品人妻久久久久久综合| 老司机午夜十八禁免费视频| 国产精品国产三级国产专区5o| 亚洲九九香蕉| 91精品伊人久久大香线蕉| 免费在线观看完整版高清| 又粗又硬又长又爽又黄的视频| 国语对白做爰xxxⅹ性视频网站| 麻豆乱淫一区二区| 欧美日本中文国产一区发布| 久久ye,这里只有精品| 日韩 欧美 亚洲 中文字幕| 一区二区av电影网| 飞空精品影院首页| 美女脱内裤让男人舔精品视频| 久久青草综合色| 国产精品二区激情视频| 日本猛色少妇xxxxx猛交久久| 少妇精品久久久久久久| 一区在线观看完整版| 欧美精品亚洲一区二区| 国产有黄有色有爽视频| 国产免费福利视频在线观看| 男的添女的下面高潮视频| 中文字幕高清在线视频| 国产av一区二区精品久久| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲午夜精品一区,二区,三区| 国产在线免费精品| 国产人伦9x9x在线观看| 亚洲欧美色中文字幕在线| 视频区图区小说| 国产精品99久久99久久久不卡| 国产一区二区激情短视频 | 国产精品99久久99久久久不卡| 视频区欧美日本亚洲| 又粗又硬又长又爽又黄的视频| 狠狠精品人妻久久久久久综合| 超色免费av| 精品少妇内射三级| 精品一区二区三卡| 日韩制服骚丝袜av| 欧美日韩精品网址| 最近中文字幕2019免费版| 亚洲欧美日韩高清在线视频 | 亚洲伊人久久精品综合| 精品少妇一区二区三区视频日本电影| 九草在线视频观看| 18禁黄网站禁片午夜丰满| 国产精品免费视频内射| 成年美女黄网站色视频大全免费| 国产视频首页在线观看| 欧美日韩亚洲国产一区二区在线观看 | 国产高清视频在线播放一区 | 久久人人爽人人片av| 日本欧美视频一区| 国产熟女午夜一区二区三区| 97人妻天天添夜夜摸| 国产熟女欧美一区二区| 热re99久久国产66热| 成年人免费黄色播放视频| 国产视频首页在线观看| 精品国产一区二区三区四区第35| 久久久精品免费免费高清| 一区在线观看完整版| 亚洲五月色婷婷综合| av网站免费在线观看视频| 精品久久久精品久久久| 成年人免费黄色播放视频| 女人精品久久久久毛片| 性少妇av在线| 亚洲熟女毛片儿| 交换朋友夫妻互换小说| 国产成人免费无遮挡视频| 午夜免费男女啪啪视频观看| 一级毛片 在线播放| 韩国高清视频一区二区三区| 色94色欧美一区二区| 天堂中文最新版在线下载| 久久久久久亚洲精品国产蜜桃av| 一区二区av电影网| 狂野欧美激情性bbbbbb| 五月开心婷婷网| 伦理电影免费视频| 男人添女人高潮全过程视频| 婷婷丁香在线五月| 国产一区有黄有色的免费视频| 久久久久久亚洲精品国产蜜桃av| 日本五十路高清| 女人精品久久久久毛片| 精品亚洲成国产av| 18禁裸乳无遮挡动漫免费视频| tube8黄色片| 91麻豆av在线| 久久狼人影院| 少妇的丰满在线观看| 欧美av亚洲av综合av国产av| 亚洲免费av在线视频| 在线亚洲精品国产二区图片欧美| 69精品国产乱码久久久| 久久久久久久国产电影| 久久这里只有精品19| av在线app专区| 久久久久久亚洲精品国产蜜桃av| 欧美av亚洲av综合av国产av| 成人三级做爰电影| 国产主播在线观看一区二区 | 久久精品久久久久久久性| 如日韩欧美国产精品一区二区三区| 在线观看www视频免费| 国产精品一国产av| 纯流量卡能插随身wifi吗| 女警被强在线播放| av天堂在线播放| 18禁裸乳无遮挡动漫免费视频| 日本欧美视频一区| www.精华液| 18禁国产床啪视频网站| 黄片播放在线免费| 中文字幕人妻丝袜一区二区| 大码成人一级视频| 在线观看免费视频网站a站| 狂野欧美激情性xxxx| 亚洲第一av免费看| 日本猛色少妇xxxxx猛交久久| 免费少妇av软件| 日韩伦理黄色片| 欧美日韩亚洲高清精品| 丝袜人妻中文字幕| 狂野欧美激情性bbbbbb| 人体艺术视频欧美日本| 色视频在线一区二区三区| 亚洲成人国产一区在线观看 | 91成人精品电影| 日本vs欧美在线观看视频| 国产精品一区二区精品视频观看| 97人妻天天添夜夜摸| 欧美xxⅹ黑人| 在现免费观看毛片| 精品福利永久在线观看| 99国产精品一区二区三区| 久久精品国产亚洲av高清一级| 欧美日韩av久久| 十八禁人妻一区二区| 欧美成人精品欧美一级黄| 国产极品粉嫩免费观看在线| 午夜免费成人在线视频| 自拍欧美九色日韩亚洲蝌蚪91| 一区二区日韩欧美中文字幕| 国产精品三级大全| 18禁国产床啪视频网站| 亚洲欧美日韩高清在线视频 | 成人18禁高潮啪啪吃奶动态图| 一本一本久久a久久精品综合妖精| 色视频在线一区二区三区| 国产一区二区激情短视频 | 美女脱内裤让男人舔精品视频| 精品一区在线观看国产| 国产av一区二区精品久久| 中文字幕人妻熟女乱码| 国产99久久九九免费精品| 亚洲,欧美精品.| 亚洲欧美日韩高清在线视频 | 首页视频小说图片口味搜索 | 操美女的视频在线观看| 晚上一个人看的免费电影| 一区在线观看完整版| 晚上一个人看的免费电影| 国产成人av教育| 午夜免费成人在线视频| 少妇的丰满在线观看| 无限看片的www在线观看| 韩国高清视频一区二区三区| 成年人黄色毛片网站| 天堂俺去俺来也www色官网| 制服诱惑二区| 女人被躁到高潮嗷嗷叫费观| 成人国产av品久久久| 你懂的网址亚洲精品在线观看| 曰老女人黄片| 欧美亚洲 丝袜 人妻 在线| 在线亚洲精品国产二区图片欧美| 一级毛片 在线播放| h视频一区二区三区| 色视频在线一区二区三区| av有码第一页| 亚洲国产欧美网| 纵有疾风起免费观看全集完整版| 性色av一级| 日韩制服骚丝袜av| 午夜福利乱码中文字幕| 国产精品一区二区免费欧美 | 老司机影院毛片| 99久久综合免费| 亚洲七黄色美女视频| 午夜两性在线视频| 欧美日韩福利视频一区二区| 午夜免费成人在线视频| 高清视频免费观看一区二区| 欧美亚洲 丝袜 人妻 在线| 欧美成人精品欧美一级黄| 久久这里只有精品19| 国产精品久久久av美女十八| av网站在线播放免费| 91麻豆精品激情在线观看国产 | 99国产综合亚洲精品| 欧美日韩国产mv在线观看视频| 伊人亚洲综合成人网|