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

    基于動態(tài)任務(wù)調(diào)度的STDS算法設(shè)計研究

    2016-01-15 09:22:09劉正
    智能系統(tǒng)學(xué)報 2015年2期
    關(guān)鍵詞:負(fù)載均衡等待時間

    網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/23.1538.TP.20150413.1505.001.html

    基于動態(tài)任務(wù)調(diào)度的STDS算法設(shè)計研究

    劉正

    (哈爾濱工程大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001)

    摘要:任務(wù)調(diào)度是計算機(jī)多核處理器系統(tǒng)獲得高性能的關(guān)鍵,而現(xiàn)有的多核任務(wù)調(diào)度算法研究,大多側(cè)重于靜態(tài)調(diào)度下的算法優(yōu)化和負(fù)載均衡,對動態(tài)調(diào)度及動態(tài)負(fù)載均衡研究較少。針對動態(tài)調(diào)度,并結(jié)合異構(gòu)多核的特點,提出一種基于核負(fù)載均衡的動態(tài)任務(wù)調(diào)度算法STDS。算法通過合理設(shè)定調(diào)度粒度,降低調(diào)度頻率,從而減少調(diào)度消耗時間;根據(jù)異構(gòu)多核處理器各核處理性能的差異,設(shè)置內(nèi)核負(fù)載上下限值,控制內(nèi)核負(fù)載保持在同一水平,以達(dá)到負(fù)載均衡效果。算法依據(jù)等待時間長短、任務(wù)間通信大小和內(nèi)核負(fù)載輕重因素對任務(wù)進(jìn)行實時調(diào)度,并可通過實時因子、負(fù)載因子等參數(shù)設(shè)置3種因素的影響比重,以滿足系統(tǒng)的不同需求。仿真實驗顯示,在內(nèi)核數(shù)目較多的系統(tǒng)中,STDS算法更加高效,在保證任務(wù)處理速度的同時有較好負(fù)載均衡。

    關(guān)鍵詞:動態(tài)任務(wù)調(diào)度;負(fù)載均衡;調(diào)度粒度;等待時間;異構(gòu)多核系統(tǒng)

    DOI:10.3969/j.issn.1673-4785.201503013

    中圖分類號:TP316.4文獻(xiàn)標(biāo)志碼:A

    收稿日期:2015-03-09. 網(wǎng)絡(luò)出版日期:2015-04-13.

    基金項目:國家自然科學(xué)基金資助項目(61003036);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項資金資助項目(HEUCF100606).

    作者簡介:

    中文引用格式:劉正. 基于動態(tài)任務(wù)調(diào)度的STDS算法設(shè)計研究[J]. 智能系統(tǒng)學(xué)報, 2015, 10(2): 324-332.

    英文引用格式:LIU Zheng. Research on STDS algorithm designing based on dynamic task scheduling[J]. CAAI Transactions on Intelligent Systems, 2015, 10(2): 324-332.

    Research on STDS algorithm designing based on dynamic task scheduling

    LIU Zheng

    (College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China)

    Abstract:Efficient task scheduling is the key for multi-core systems to achieve high performance. However, most of the existing multi-core researches on task scheduling algorithms focus on algorithm optimization and load balancing under the static scheduling rather than dynamic scheduling and dynamic load balancing. Scalable task duplication based scheduling (STDS) is a new dynamic-balanced algorithm based on core load balancing. STDS was put forward specifically for dynamic scheduling and integrating the characteristics of heterogeneous multi-core. It shortens scheduling time by reasonably setting the scheduling granularity and reducing the frequency of scheduling. STDS sets the maximum and minimum ranges of the kernel load according to the different processing performance of each core of the heterogeneous multi-core processor, therefore controlling the core load at the same level and achieving the effect of load balance. The wait time of task and communications between tasks and kernel load will be considered together to pick up the most appropriate task during scheduling. The importance of each element can be adjusted by assigning another value to the real-time factor and load factor enabling it to adapt to various environment. The experimental results verified that the STDS algorithm is more efficient in the system with the most kernels. It also keeps a good load balance while maintaining the speed of task execution processing.

    Keywords:dynamic task scheduling; load balancing; scheduling granularity; waiting time; heterogeneous multi-core system

    通信作者:劉正.E-mail:liuzheng528@hrbeu.edu.cn.

    動態(tài)任務(wù)調(diào)度可以根據(jù)運(yùn)行的時情況動態(tài)地將任務(wù)分配到各個內(nèi)核上,由于需要實時地收集、存儲并分析狀態(tài)信息,動態(tài)調(diào)度的實施有一定的系統(tǒng)開銷,但這種開銷和付出通常是有回報的[1]。多核處理器系統(tǒng)中的任務(wù)調(diào)度已被證明是NP問題[2],除個別特殊情況外,目前尚未有一種多項式時間算法可以求得最優(yōu)解,只能得到一個最大限度接近最優(yōu)解的解,因此改進(jìn)算法的效率并構(gòu)建任務(wù)調(diào)度實現(xiàn)機(jī)制成為研究重點,很多學(xué)者在這方面做了大量工作。

    比較經(jīng)典的調(diào)度算法有Min-Min[3]、Max-Min[4]、MCT[5]、MET[6]算法。Min-Min算法實現(xiàn)簡單、執(zhí)行速度快。算法首先通過計算待調(diào)度任務(wù)在任一可用內(nèi)核上的最早完成時間,取最小值作為該任務(wù)的最早完成時間,然后選取所有待調(diào)度任務(wù)中最早完成時間最小的一個任務(wù)進(jìn)行調(diào)度。缺點是如果任務(wù)集中存在過多的執(zhí)行時間比較小的任務(wù),那么大任務(wù)將無法得到及時的執(zhí)行。Max-Min算法同Min-Min算法類似,同樣需要計算每一任務(wù)的最早完成時間,不同的是Max-Min算法首先調(diào)度最早完成時間最大的任務(wù),將其分配到對應(yīng)的內(nèi)核上。缺點是小任務(wù)等待時間過長、影響執(zhí)行效率,也可能造成負(fù)載不均衡。MCT算法以任務(wù)完成時間最早為目標(biāo)進(jìn)行調(diào)度,每次將到達(dá)的任務(wù)分配到完成時間最早的內(nèi)核上,但該算法忽略了任務(wù)的執(zhí)行時間,可能將任務(wù)分配到執(zhí)行時間較長的處理機(jī)上運(yùn)行。MET算法以任務(wù)執(zhí)行時間最短為目標(biāo)進(jìn)行調(diào)度,每次將到達(dá)的任務(wù)分配到執(zhí)行時間最短的內(nèi)核上,其缺點是易造成較強(qiáng)內(nèi)核負(fù)載過多任務(wù),導(dǎo)致內(nèi)核間負(fù)載不均衡,降低系統(tǒng)性能。

    清華大學(xué)的石威等[7]提出了一種相關(guān)任務(wù)圖的均衡動態(tài)關(guān)鍵路徑調(diào)度算法,采用動態(tài)關(guān)鍵路徑技術(shù)并均衡考慮關(guān)鍵路徑結(jié)點和非關(guān)鍵路徑結(jié)點,優(yōu)先調(diào)度對相關(guān)任務(wù)圖調(diào)度長度影響最大的就緒結(jié)點,從而極大地縮短任務(wù)圖的調(diào)度長度。李仁發(fā)[8]對多核處理器系統(tǒng)任務(wù)調(diào)度研究進(jìn)展進(jìn)行討論,對不同模型下的多核系統(tǒng)任務(wù)調(diào)度算法相關(guān)研究進(jìn)行了分析總結(jié),從調(diào)度算法分析和調(diào)度實現(xiàn)框架2個方面探討了近年來多核任務(wù)調(diào)度的國內(nèi)外研究進(jìn)展情況。文中對任務(wù)分配、任務(wù)模型優(yōu)化、調(diào)度器實現(xiàn)和任務(wù)遷移等當(dāng)前亟待解決的問題,進(jìn)行了深入探討,并指出了下一步主要的研究方向,為多核處理器相關(guān)研究提供參考。吉林大學(xué)的耿曉中提出了一種動態(tài)負(fù)載均衡模型[9],將影響多核處理器負(fù)載均衡的因素分為5類:多核系統(tǒng)的負(fù)載均衡環(huán)境、用戶提交的任務(wù)屬性、系統(tǒng)的負(fù)載評價、系統(tǒng)所采用的調(diào)度策略以及系統(tǒng)的調(diào)度評價指標(biāo),為多核動態(tài)調(diào)度的負(fù)載平衡研究提供了理論指導(dǎo);徐雨明等[10]將遺傳算法和啟發(fā)式方法有機(jī)地結(jié)合,根據(jù)染色體雙螺旋結(jié)構(gòu)模型,提出了一種異構(gòu)系統(tǒng)中依賴任務(wù)調(diào)度的雙螺旋結(jié)構(gòu)遺傳算法。該算法首先采用啟發(fā)式方法,產(chǎn)生較佳的任務(wù)調(diào)度優(yōu)先隊列,然后模仿堿基互補(bǔ)配對方法,提高算法的有效性和收斂速度;Vinay等[11]提出一種多核處理器動態(tài)任務(wù)調(diào)度策略,調(diào)度思想是依據(jù)任務(wù)的執(zhí)行時間和依賴此任務(wù)的任務(wù)數(shù)量確定此任務(wù)優(yōu)先級,當(dāng)某個內(nèi)核空閑時,選擇一個優(yōu)先級最高且為就緒狀態(tài)的任務(wù)分配給該內(nèi)核。此策略結(jié)構(gòu)簡潔,算法復(fù)雜度低,但每個內(nèi)核上只分配一個任務(wù),且調(diào)度時需要對數(shù)據(jù)段加鎖以保證數(shù)據(jù)一致性,當(dāng)內(nèi)核數(shù)目較多時,經(jīng)常發(fā)生多個內(nèi)核同時申請分配任務(wù)的情況,所以不可避免出現(xiàn)內(nèi)核空閑等待現(xiàn)象,不能完全發(fā)揮多核處理器優(yōu)勢。

    文中對文獻(xiàn)[11]的動態(tài)調(diào)度策略進(jìn)行改進(jìn),克服內(nèi)核可能空閑等待問題,并綜合負(fù)載均衡策略,提出多核動態(tài)任務(wù)調(diào)度算法(shared task data structure,STDS)。算法通過分析任務(wù)等待時間、任務(wù)間通信開銷和內(nèi)核負(fù)載等因素,確定任務(wù)優(yōu)先級,并據(jù)此分配任務(wù)。通過仿真實驗驗證,該算法在保證任務(wù)處理速度的同時有較好負(fù)載均衡,比較適用于內(nèi)核數(shù)目較多的系統(tǒng)。

    1模型

    在多核任務(wù)調(diào)度研究中,為便于研究理解,通常用抽象的任務(wù)調(diào)度模型描述任務(wù)調(diào)度系統(tǒng)。多核任務(wù)調(diào)度模型通常由系統(tǒng)模型、任務(wù)模型、任務(wù)調(diào)度算法和任務(wù)映射圖組成。

    1.1系統(tǒng)模型

    系統(tǒng)模型是指依據(jù)系統(tǒng)硬件環(huán)境構(gòu)建出可進(jìn)行數(shù)學(xué)量化分析的數(shù)學(xué)模型,文中用二元組SM(system model)={P, Rate}表示,其中:SM表示系統(tǒng)模型;P={P0,P1,…,Pk,…, Pm-1}為處理器內(nèi)核集合,Pk表示第k個處理器內(nèi)核,|P|=m為處理器中內(nèi)核的總個數(shù)。多核處理器根據(jù)內(nèi)核在執(zhí)行能力方面的差別可劃分為同構(gòu)和異構(gòu)2類,同構(gòu)多核處理器通過增加同種處理器內(nèi)核數(shù)量提升性能,而異構(gòu)多核處理器通過集成不同計算能力的內(nèi)核來優(yōu)化處理器,實現(xiàn)多核處理器性能發(fā)揮的最大化,在能耗、面積等方面有著巨大的優(yōu)勢[12]。文中以有限數(shù)目的異構(gòu)多核處理器為研究基礎(chǔ),集合P中處理器內(nèi)核速度并不完全相同,用spk表示內(nèi)核Pk的處理速度。

    Rate={…,Rates,t,…}表示處理器內(nèi)核間數(shù)據(jù)傳輸速率集合,元素Rates,t表示處理器內(nèi)核Ps與Pt間的數(shù)據(jù)傳輸速率。

    核間互連技術(shù)是多核處理器設(shè)計的關(guān)鍵,當(dāng)前多核處理器核間互連方式主要有總線共享、交叉開關(guān)互連和片上網(wǎng)絡(luò)3種。文中對多核處理器核間互連技術(shù)不做具體研究,默認(rèn)任意2個處理器內(nèi)核間均存在數(shù)據(jù)通信通路,即對于任意的s(0≤s≤m-1)和t(0≤s≤m-1),Rates,t≠0。為簡化環(huán)境模型,假設(shè)同一時刻,內(nèi)核Pk只能與一個內(nèi)核進(jìn)行通信。

    1.2任務(wù)模型

    任務(wù)模型是描述任務(wù)屬性和特征的一種數(shù)學(xué)模型,它包含任務(wù)調(diào)度過程中的狀態(tài)和控制等信息。STDS算法構(gòu)建了一個可以共享訪問的TDS(task data structure)結(jié)構(gòu),TDS由若干數(shù)據(jù)項構(gòu)成,每個數(shù)據(jù)項唯一對應(yīng)一個任務(wù),數(shù)據(jù)項記錄該任務(wù)的相關(guān)信息,其定義如圖1所示。

    圖1數(shù)據(jù)項定義
    Fig.1Definition of data element

    圖1中,Ti為任務(wù)編號,唯一標(biāo)識任務(wù);Tis為任務(wù)狀態(tài),STDS算法將任務(wù)狀態(tài)分為等待、就緒和已執(zhí)行3種,用1表示等待,0表示就緒,2表示已執(zhí)行。如果任務(wù)處于就緒態(tài),說明已分配除CPU外所有必要資源,允許調(diào)度程序?qū)⑵湔{(diào)度分配;等待狀態(tài)的任務(wù)因需要等待某一事件的發(fā)生,比如等待其前驅(qū)任務(wù)執(zhí)行完畢,而暫不能被調(diào)度程序調(diào)度;任務(wù)執(zhí)行完畢后的狀態(tài)為已執(zhí)行狀態(tài),此狀態(tài)下,如果其他所有任務(wù)都不再需要此任務(wù)信息,就將其對應(yīng)的數(shù)據(jù)項刪除,以節(jié)省內(nèi)存空間;

    Tid={…,Tj,…}:依賴任務(wù)集合,也叫前驅(qū)任務(wù)集合,任務(wù)Ti必須在其依賴任務(wù)全部執(zhí)行完成之后執(zhí)行;

    Tidn:依賴任務(wù)剩余數(shù)量,表示任務(wù)Ti的依賴任務(wù)集合中尚未執(zhí)行完畢的任務(wù)數(shù)量,即依賴任務(wù)集合Tid中,還有多少依賴任務(wù)沒有執(zhí)行完成。其初值是集合Tid的長度,即Tidn=|Tid|,每當(dāng)一個依賴任務(wù)執(zhí)行完畢,Tidn值減1,直到Tidn=0,而Tidn=0是Tis=0(就緒)的必要條件;

    Tidd={…,Datai,j,…}:與依賴任務(wù)通信數(shù)據(jù)量集合,記錄任務(wù)Ti與其依賴任務(wù)Tid通信的數(shù)據(jù)大小,Datai,j表示任務(wù)Ti與依賴任務(wù)Tj通信的數(shù)據(jù)大小,如果任務(wù)Ti、Tj分別分配到內(nèi)核Ps、Pt上,則任務(wù)Ti與Tj的通信時間就可用Datai,j/Rates,t表示;

    Tia={…,Tj,…}:依賴任務(wù)Ti的任務(wù)集合,也叫后繼任務(wù)集合,只有Ti執(zhí)行完成后,其后繼任務(wù)才有機(jī)會變?yōu)榫途w狀態(tài),從而調(diào)度執(zhí)行。當(dāng)Ti完成后,需要將集合Tia中所有任務(wù)的Tidn屬性值減一;

    Tip:任務(wù)優(yōu)先級,表示任務(wù)優(yōu)先調(diào)度程度,任務(wù)優(yōu)先級越高,被優(yōu)先調(diào)度的可能性越大。任務(wù)優(yōu)先級取決于任務(wù)就緒時間、通信開銷以及內(nèi)核負(fù)載等因素。系統(tǒng)運(yùn)行過程中,就緒時間和內(nèi)核負(fù)載等是動態(tài)變化的,所以任務(wù)優(yōu)先級不是某一定值,它隨著系統(tǒng)狀態(tài)的改變而動態(tài)變化;

    Tit:任務(wù)就緒時間,即任務(wù)滿足調(diào)度條件變?yōu)榫途w狀態(tài)的時間。如果用t表示現(xiàn)在時間,則等待時間就是(t- Tit),為避免存在長時間未能調(diào)度執(zhí)行的就緒任務(wù),算法應(yīng)優(yōu)先調(diào)度等待時間長的任務(wù);

    Tic:任務(wù)映射,表示任務(wù)和內(nèi)核的對應(yīng)關(guān)系,即任務(wù)Ti分配到哪個內(nèi)核上執(zhí)行。STDS算法用-1表示任務(wù)尚未分配內(nèi)核資源,用整數(shù)0,1,…,m-1分別表示在內(nèi)核P0, P1,…, Pm-1上執(zhí)行。

    1.3調(diào)度器模型

    文中設(shè)計的調(diào)度器模型采用集中式調(diào)度模式,如圖2所示。圖中指定了一個內(nèi)核專門執(zhí)行調(diào)度程序,稱為中心調(diào)度器,中心調(diào)度器負(fù)責(zé)收集調(diào)度信息和執(zhí)行任務(wù)調(diào)度,其余內(nèi)核只負(fù)責(zé)執(zhí)行任務(wù)。

    圖2 調(diào)度器模型 Fig.2 Scheduler model

    建立維護(hù)等待隊列和就緒隊列2個全局任務(wù)列表,調(diào)度器在任務(wù)調(diào)度時只需要檢索就緒任務(wù)隊列,節(jié)省了調(diào)度時間開銷,等待隊列中的任務(wù)滿足就緒條件時可以變?yōu)榫途w態(tài)等待調(diào)度。每個內(nèi)核都有一個可以緩存一定數(shù)目任務(wù)的局部隊列,當(dāng)內(nèi)核需要調(diào)度任務(wù)時直接從緩存中獲??;而當(dāng)局部隊列中的任務(wù)過少時開始請求調(diào)度器為局部隊列分配任務(wù),降低了調(diào)度器調(diào)度頻率,而且中心調(diào)度器與各內(nèi)核可以并行地運(yùn)行。全局調(diào)度隊列和局部調(diào)度隊列結(jié)合的方式在整體上是全局隊列方式,與集中式調(diào)度策略配合使用易于實現(xiàn)負(fù)載均衡;在底層實現(xiàn)上是局部隊列方式,降低了系統(tǒng)對隊列共享性要求,克服了集中式調(diào)度模式的性能瓶頸問題。

    文中通過重載和輕載閥值確定調(diào)度時機(jī),當(dāng)內(nèi)核處于輕載狀態(tài)時請求任務(wù)調(diào)度,處于重載時不允許再向內(nèi)核分配任務(wù),這種策略在保證一定負(fù)載均衡效果的同時提高了內(nèi)核執(zhí)行效率。

    2任務(wù)優(yōu)先級

    將任務(wù)分配到最合適的內(nèi)核上是任務(wù)調(diào)度的核心問題,而任務(wù)優(yōu)先級計算是任務(wù)分配的關(guān)鍵,任務(wù)優(yōu)先級表明任務(wù)被優(yōu)先調(diào)度程度。在多核環(huán)境下,各內(nèi)核的狀態(tài)不盡相同,STDS算法為評價任務(wù)與內(nèi)核的適合程度,首先計算任務(wù)相對于一個確定內(nèi)核的優(yōu)先級Tipk,然后取其在所有內(nèi)核上的最大值作為任務(wù)優(yōu)先級Tip,表示為式(1):

    (1)

    式中:m為內(nèi)核數(shù)量,Tipk表示任務(wù)Ti相對于內(nèi)核Pk的優(yōu)先級。STDS算法在計算Tipk時,綜合考慮等待時間、任務(wù)間通信開銷和內(nèi)核負(fù)載狀態(tài)因素。等待時間為當(dāng)前時間與就緒時間的差值,任務(wù)間通信開銷是任務(wù)Ti與其所有依賴任務(wù)Tid通信時間之和,而內(nèi)核負(fù)載狀態(tài)用于實現(xiàn)內(nèi)核負(fù)載均衡。

    多核處理器的負(fù)載均衡要求避免出現(xiàn)一個或多個內(nèi)核負(fù)載較低甚至空閑,而其他內(nèi)核處于高負(fù)載狀態(tài)的情況,從而充分發(fā)揮多核處理器優(yōu)勢。STDS算法使用任務(wù)隊列長度|TLk|作為內(nèi)核負(fù)載指標(biāo),內(nèi)核的任務(wù)隊列越長,說明分配的任務(wù)越多,所以其負(fù)載越大。

    為實現(xiàn)負(fù)載均衡引入調(diào)度粒度,內(nèi)核Pk的調(diào)度粒度定義為一次調(diào)度過程中為Pk分配的任務(wù)數(shù)量,這里的一次調(diào)度過程是指一個內(nèi)核請求調(diào)度,調(diào)度算法為其分配任務(wù)的過程,在實際運(yùn)行中,可能出現(xiàn)調(diào)度算法一次性處理多個內(nèi)核調(diào)度請求,調(diào)度的任務(wù)數(shù)量等于為每個內(nèi)核分配的任務(wù)數(shù)量之和。粒度大小要根據(jù)系統(tǒng)模型而定,調(diào)度粒度過大,不能充分發(fā)揮動態(tài)調(diào)度優(yōu)勢,而粒度過小,會引發(fā)頻繁調(diào)度,增大調(diào)度程序運(yùn)行時間開銷,降低處理器效率。對于異構(gòu)多核處理器,調(diào)度粒度與內(nèi)核處理速度是正比關(guān)系。STDS算法將調(diào)度粒度定義為式(2):

    lk=l·spk,0≤k≤m-1

    (2)

    式中:lk表示內(nèi)核Pk的調(diào)度粒度,l表示粒度因子,spk表示內(nèi)核Pk的處理速度。對于一個實際的處理器系統(tǒng),內(nèi)核速度是確定的已知量,調(diào)度粒度lk的大小,可以通過粒度因子l調(diào)節(jié),粒度因子與具體的運(yùn)行狀況有關(guān),它起到將內(nèi)核的計算速度轉(zhuǎn)換為內(nèi)核調(diào)度任務(wù)數(shù)量功能。

    STDS算法通過限制內(nèi)核任務(wù)隊列長度實現(xiàn)負(fù)載均衡,為有效發(fā)揮調(diào)度隊列作用,算法引入2個負(fù)載因子,分別確定隊列的上限和下限,具體定義如式(3)~(5):

    (3)

    (4)

    (5)

    0≤k≤m-1

    上述闡述了計算任務(wù)優(yōu)先級時的內(nèi)核隊列上下限問題,式(6)~(10)則是對任務(wù)優(yōu)先級計算時的等待時間、通信開銷和內(nèi)核負(fù)載均衡因素的描述。STDS算法在計算任務(wù)優(yōu)先級時,綜合考慮等待時間、通信開銷和內(nèi)核負(fù)載均衡因素,式(1)中Tipk表示任務(wù)Ti分配到內(nèi)核Pk適合程度,其計算公式為:

    (6)

    (7)

    (8)

    (9)

    (10)

    綜上所述,任務(wù)優(yōu)先級值的計算,是對等待時間、通信開銷和內(nèi)核負(fù)載3個因素綜合考量的過程,其結(jié)果可能不是單一因素中最優(yōu)的,但一定是綜合考慮全部3種因素后最優(yōu)的選擇。

    3算法實現(xiàn)

    在上節(jié)中詳細(xì)介紹了任務(wù)優(yōu)先級的計算,本節(jié)將介紹STDS算法的具體實現(xiàn)過程。

    為了使任務(wù)調(diào)度算法得到較理想的實現(xiàn),STDS算法的研究基于以下假設(shè)條件:

    1)假設(shè)任務(wù)間的依賴關(guān)系固定不變;

    2)同一內(nèi)核上任務(wù)間通信開銷忽略不計;

    3)任務(wù)不可搶占。

    系統(tǒng)運(yùn)行時首先將任務(wù)初始化,構(gòu)造TDS,由于算法中大多計算只針對就緒任務(wù),特別是任務(wù)分配時,所以為了節(jié)約計算開銷,算法初始化時會生成一個就緒任務(wù)列表和一個等待任務(wù)列表。當(dāng)內(nèi)核Pk任務(wù)隊列長度|Tlk|≤lk_min時,就向調(diào)度程序請求分配任務(wù),調(diào)度程序遍歷就緒列表,計算相對于內(nèi)核Pk的優(yōu)先級,選擇優(yōu)先級Tip值最大的任務(wù)分配到Pk上,重復(fù)執(zhí)行此過程,直到內(nèi)核Pk任務(wù)隊列長度|Tlk|≥lk。若同時有多個內(nèi)核請求任務(wù)分配,調(diào)度程序分配任務(wù)時需要響應(yīng)這幾個內(nèi)核的請求,計算優(yōu)先級時需要計算相對于這幾個內(nèi)核的優(yōu)先級,然后取最大值作為最終優(yōu)先級,調(diào)度程序選擇優(yōu)先級最大的任務(wù)分配到對應(yīng)的內(nèi)核。

    值得注意的是在動態(tài)調(diào)度過程中,為了保證數(shù)據(jù)實時有效,STDS算法在每個任務(wù)分配完成或執(zhí)行結(jié)束時對數(shù)據(jù)進(jìn)行更新。當(dāng)任務(wù)Ti分配給內(nèi)核Pk后,需要將任務(wù)Ti對應(yīng)數(shù)據(jù)項中的Tic置為k,此時內(nèi)核Pk負(fù)載也相應(yīng)改變;當(dāng)任務(wù)Ti執(zhí)行完成時,如果任務(wù)Tj依賴任務(wù)Ti,需要將任務(wù)Tj的Tidn值減1,若減1后Tidn=0,將任務(wù)Tj狀態(tài)置為就緒態(tài)并從等待列表移到就緒列表。為了降低復(fù)雜度節(jié)省時間,STDS算法采用先記錄再批量執(zhí)行的方式,即在任務(wù)執(zhí)行期間暫時將完成的任務(wù)編號記錄,在任務(wù)調(diào)度程序執(zhí)行時批量更新數(shù)據(jù);如果任務(wù)Ti執(zhí)行完畢且所有依賴Ti的任務(wù)也執(zhí)行完畢,就將任務(wù)Ti的信息從TDS中刪除,從而釋放內(nèi)存節(jié)省空間。

    如果就緒列表為空,調(diào)度程序不會響應(yīng)內(nèi)核的任務(wù)分配請求,當(dāng)就緒列表和等待列表全為空時,說明任務(wù)全部執(zhí)行完畢,調(diào)度結(jié)束。

    STDS算法實現(xiàn)步驟:

    Procedure STDS(SM,TDS,PList,TLexe)/*SM表示處理器內(nèi)核系統(tǒng);TDS是所有任務(wù)信息;PList是需要分配任務(wù)的內(nèi)核列表, TLexe是執(zhí)行完畢但還未進(jìn)行信息更新的任務(wù)列表*/

    1){for eachTi∈TLexe

    2) {Tia[]←Ti;

    3)for eachTj∈Tia

    4)Tjdn←Tjdn-1; /*執(zhí)行完畢的任務(wù)信息更新,將其后繼任務(wù)的依賴任務(wù)數(shù)量減一*/

    }/* end for eachTi∈TLexe*/

    5)TLready[]←TDS;/*就緒任務(wù)放入就緒隊列*/

    6) for eachTi∈TLready

    7){for eachPk∈PList

    8)Cik←式(10); /*任務(wù)Ti若在內(nèi)核Pk上與前驅(qū)任務(wù)的通信開銷,只需計算一次 */

    }/* end for eachTi∈TLready*/

    9)while(TLready≠? andPList≠?)

    10){for each Ti∈TLready

    11){PWi←式(7);

    12) for each Pk∈PList

    13) {PCik←式(8);

    14)Lk←式(9);

    15)Tipk←式(6);

    }/* end for eachPk∈PList*/

    16) Tip=max{Tipk};

    }/* end for eachTi∈TLready*/

    17)Tj←max{ Tip};/*選出最大優(yōu)先級的任務(wù),設(shè)Tj就是選出的任務(wù),且其對應(yīng)內(nèi)核為Ps,即Tjp= Tjps*/

    18)TLs←TLs+{Tj};/*任務(wù)Tj分配給內(nèi)核Ps*/

    19) TLready←TLready-{Tj};

    20) Tjc=s;

    21) if |TLs|=ls_maxthenPList←PList-{Ps};

    /*內(nèi)核Ps分配任務(wù)結(jié)束*/

    22)if TLready≠? then return; /*沒有就緒任務(wù)*/

    }/* end for while*/

    }

    其中1)~5)是算法對執(zhí)行完畢但未進(jìn)行數(shù)據(jù)更新的任務(wù)進(jìn)行處理,將其后繼任務(wù)的Tidn屬性值減1,且減為0時放入就緒隊列等待調(diào)度。算法中有兩重循環(huán),外層循環(huán)遍歷TLexe列表,內(nèi)層循環(huán)遍歷后繼任務(wù)列表,所以時間復(fù)雜度為O(n)×O(logn)=O(nlogn)。而任務(wù)更新發(fā)生在每次任務(wù)分配時,次數(shù)大約為任務(wù)數(shù)量與調(diào)度粒子比值即n/l,而在具體應(yīng)用環(huán)境中調(diào)度粒子為定值,所以數(shù)據(jù)更新總時間復(fù)雜度為O(n2logn)。6~20是進(jìn)行任務(wù)分配,其中優(yōu)先級計算是關(guān)鍵。計算每個任務(wù)相對于每個請求分配任務(wù)內(nèi)核的優(yōu)先級,其時間復(fù)雜度為O(mn),其中m是內(nèi)核數(shù)量,n是就緒任務(wù)數(shù)量。而算法最終需要將任務(wù)全部分配完成,所以任務(wù)分配的總時間復(fù)雜度為O(mn)×O(n)=O(mn2)。因此STDS算法的時間復(fù)雜度為O(n2logn)+O(mn2)= Max(O(n2logn),O(mn2)),而經(jīng)典Min-Min算法的時間復(fù)雜度為O(mn2)[13],兩者處于同一量級。

    4實驗

    任務(wù)調(diào)度目前還沒有形成統(tǒng)一規(guī)范的性能測試方案[14],大多數(shù)對調(diào)度算法的研究都是采用隨機(jī)DAG圖生成器來生成各種不同形狀的DAG圖集合作為任務(wù)調(diào)度算法的測試用例。

    文中借助TGFF工具生成隨機(jī)任務(wù)圖,并以此完成TDS初始化,用內(nèi)核上任務(wù)長度表示負(fù)載情況,通過任務(wù)總執(zhí)行時間和負(fù)載均衡等衡量算法優(yōu)劣,在Simics[15]模擬平臺上對本文算法性能進(jìn)行模擬實驗測試。為了測試本文提出的算法對并行任務(wù)調(diào)度問題的求解效果,采用下面2類實驗來驗證。

    4.1參數(shù)對調(diào)度算法的影響

    STDS算法用到的參數(shù)有:粒度因子l、負(fù)載因子δ1和δ2、實時性因子β。l的大小決定一次調(diào)度過程分配的任務(wù)數(shù)量,進(jìn)而決定調(diào)度頻度;l、δ1和δ2共同影響著負(fù)載均衡;β主要調(diào)節(jié)算法實時性。下面分別通過實驗數(shù)據(jù)說明參數(shù)l、δ1、δ2、β對STDS算法性能的影響。

    1)調(diào)度粒度對STDS算法調(diào)度頻度和負(fù)載影響

    通過TGFF工具分別生成具有3000個任務(wù)和5000個任務(wù)的隨機(jī)任務(wù)圖,測試這2類任務(wù)在不同調(diào)度粒度下的調(diào)度效果,為屏蔽其他因素影響,設(shè)置參數(shù)β=0,lk_min=lk(1-δ2)=2,結(jié)果如圖3所示。由圖3可以看出,調(diào)度次數(shù)隨著調(diào)度粒度增大而減小,進(jìn)而降低STDS調(diào)度算法消耗時間;粒度較小時調(diào)度次數(shù)減少幅度較大,而在較大粒度情況下效果較弱。

    圖3 調(diào)度粒度對調(diào)度次數(shù)影響 Fig.3 Change of scheduling times in the situation of different scheduling granularities

    雖然較大粒度下節(jié)省調(diào)度時間,但并不是l取最大值時STDS算法性能最優(yōu),l取極大值時,調(diào)度頻度最小,但此時對于內(nèi)核Pk的請求,STDS算法會將全部就緒任務(wù)分配給Pk,從而造成各內(nèi)核上負(fù)載差別較大。表1說明了粒度對負(fù)載均衡的影響,在調(diào)度過程中對內(nèi)核負(fù)載進(jìn)行采樣,每次采樣時,用此時內(nèi)核上任務(wù)隊列長度占所有內(nèi)核任務(wù)隊列長度之和的比例,評價負(fù)載均衡效果。表1中P0、P1、P2的處理速度為1GHz,P3的處理速度為2GHz,據(jù)STDS算法設(shè)定,P3的負(fù)載應(yīng)為P0、P1、P2的2倍。從表1可以看出,負(fù)載均衡效果隨調(diào)度粒度的增大而降低。

    表1調(diào)度粒度對負(fù)載均衡影響

    Table1Changeofloadbalancinginthesituationofdifferentschedulinggranularities

    調(diào)度粒度P0/%P1/%P2/%P3/%219.6120.4420.3739.58820.1119.8021.1938.901422.5119.1320.9137.45

    2)負(fù)載因子對算法性能影響

    δ1是負(fù)載上限因子,δ2是負(fù)載下限因子,δ1和δ2滿足公式(5)約束條件:δ1+δ2=1,當(dāng)δ2確定時,δ1的值也是確定的。δ2的大小決定了內(nèi)核Pk調(diào)度隊列長度下限lk_min的大小,lk_min較大時,內(nèi)核Pk的負(fù)載也相對較大,然而此時會引發(fā)另一個問題,雖然內(nèi)核Pk負(fù)載達(dá)到下限lk_min并請求分配任務(wù),但此刻Pk依然有較多任務(wù)待執(zhí)行,當(dāng)就緒任務(wù)不是很充足時,容易發(fā)生STDS算法頻繁響應(yīng)分配請求。圖4是在δ2取不同值時的調(diào)度統(tǒng)計結(jié)果,固定調(diào)度粒度l=6,可以看出,調(diào)度次數(shù)隨著δ2的增大而增大。

    圖4 負(fù)載因子對調(diào)度次數(shù)影響 Fig.4 Change of scheduling times in the situation of different load factor

    3)實時性因子對算法性能影響

    STDS算法設(shè)立實時性因子主要是解決就緒任務(wù)長時間得不到內(nèi)核資源的“饑餓”現(xiàn)象。由式(6)可知,任務(wù)優(yōu)先級是任務(wù)等待時間、任務(wù)間通信和內(nèi)核負(fù)載3種因素共同決定的,通過實時性因子可以調(diào)節(jié)等待時間因素的重要程度,實時性因子反映了系統(tǒng)對等待時間的容忍程度。表2是在β取不同值時對STDS算法平均等待時間和總運(yùn)行時間的影響,其中AWT(average of wait time)表示平均等待時間,此時設(shè)置l=6,δ1=1/3,δ2=2/3以消除其他因素影響。由表2可以看出,隨著β值的增大,等待時間最大的100個任務(wù)的平均等待時間減小,而全部任務(wù)的平均等待時間的趨勢不能確定,因為此時通信開銷不是最小的,所以算法總執(zhí)行時間增大,從而會造成某些任務(wù)的等待時間增大。在β取較大值(>2.0)時,STDS算法性能基本不再變化,此時STDS算法近似于先來先服務(wù)(FIFO)算法。所以β應(yīng)取滿足系統(tǒng)對實時性要求前提下的最小值。

    表2實時性因子對算法性能影響

    Table 2Change of performance in the situation of different real-time factors

    βAWTofTop100/msAWTofAll/ms運(yùn)行時間/ms07603.11689.446325620.46752.751084.344342500.86179.30901.595349221.04838.11882.158351252.04517.32911.572357565.04497.84926.48535998

    綜上所述,參數(shù)會對算法的調(diào)度時間、調(diào)度次數(shù)、負(fù)載均衡效果以及實時性產(chǎn)生影響,對于不同應(yīng)用環(huán)境,應(yīng)適當(dāng)調(diào)整參數(shù)大小,在滿足系統(tǒng)要求前提下充分發(fā)揮算法性能。對于實時性要求不嚴(yán)格系統(tǒng),可以減少實時因子大小,降低總調(diào)度時間;對于規(guī)模較大系統(tǒng),應(yīng)增大調(diào)度粒度在減小調(diào)度次數(shù),盡量減少調(diào)度器的調(diào)度壓力,適當(dāng)增大負(fù)載下限因子,保證在調(diào)度器調(diào)度不及時情況下,內(nèi)核依然有充足的任務(wù)可以執(zhí)行;反之亦然。本文沒有明確參數(shù)值的具體大小,此工作需要通過大量具體的實際實驗完成。

    4.2算法對比實驗

    為有效評價STDS算法性能,將其與Min-Min算法和文獻(xiàn)[11]的Vinay算法進(jìn)行比較。對于每個固定的內(nèi)核數(shù),通過TGFF工具隨機(jī)產(chǎn)生10組5000節(jié)點的DAG圖,記錄其調(diào)度執(zhí)行時間,然后求出其平均值。由于內(nèi)核數(shù)目改變,系統(tǒng)模型發(fā)生變化,所以實驗時適當(dāng)調(diào)節(jié)STDS算法參數(shù),以充分發(fā)揮算法性能,表3是不同內(nèi)核數(shù)目時STDS算法參數(shù)取值,內(nèi)核數(shù)目較多時,增大調(diào)度粒度l,雖然負(fù)載均衡效果有所下降,但降低了調(diào)度次數(shù)。圖5是STDS算法、Min-Min和Vinay算法在不同內(nèi)核數(shù)目下執(zhí)行時間的比較結(jié)果。

    由圖5可以看出在內(nèi)核數(shù)目較少時,Vinay算法比較高效,這是因為Vinay算法實現(xiàn)簡單,算法復(fù)雜度低,每個內(nèi)核分配一個任務(wù),不需要考慮負(fù)載均衡等問題。隨著內(nèi)核數(shù)目增加,STDS算法優(yōu)勢逐步體現(xiàn),這是因為Vinay算法一次調(diào)度分配一個任務(wù),調(diào)度較頻繁,內(nèi)核數(shù)目較多時,會發(fā)生多個內(nèi)核同時請求調(diào)度,但同一時刻只有一個內(nèi)核可以調(diào)度成功,其他內(nèi)核不得不等待。STDS算法為每個內(nèi)核設(shè)置一個任務(wù)隊列,每次調(diào)度會分配若干個任務(wù),這樣雖然增大了算法復(fù)雜度,但減少了調(diào)度次數(shù)且最大限度避免了內(nèi)核等待現(xiàn)象,所以總時間較小。STDS算法比較適合內(nèi)核數(shù)目較多的系統(tǒng),但值得注意的是在內(nèi)核數(shù)目較多的系統(tǒng)中,對任務(wù)量的要求也較大,否則難以充分發(fā)揮多核系統(tǒng)和STDS算法性能。

    表3不同內(nèi)核數(shù)目時的參數(shù)值

    Table 3Value of parameters in the situation of different quantity of cores

    內(nèi)核數(shù)目lδ1δ2β231/32/30.1441/21/20.1861/32/30.11661/21/20.132103/107/100.1

    圖5 STDS、Min-Min、Vinay算法執(zhí)行時間 Fig.5 Comparison of running time among STDS,Min-Min andVinay

    STDS算法復(fù)雜度與Min-Min算法相當(dāng),但調(diào)度運(yùn)行時間比Min-Min算法稍長,原因是Min-Min算法將運(yùn)行時間作為其唯一考慮因素,優(yōu)先選取最早完成時間最小的任務(wù)進(jìn)行調(diào)度。但Min-Min算法中執(zhí)行時間較長的任務(wù)得不到及時執(zhí)行,圖6是STDS算法與Min-Min算法等待時間的對比結(jié)果。

    圖6 STDS算法與Min-Min算法等待時間對 Fig.6 Comparison of waiting time between STDS and Min-Min

    可以看出STDS算法中任務(wù)最大等待時間明顯小于Min-Min算法。由此也可以得出STDS算法的另一大優(yōu)勢,就是可以通過調(diào)整參數(shù)取值,從而適應(yīng)不同的系統(tǒng)要求。為了排除偶然因素影響,本文通過生成另外9組不同結(jié)構(gòu)的3000 個節(jié)點與5000個節(jié)點的DAG圖,進(jìn)行相同的實驗,實驗結(jié)果與上述描述吻合。

    5結(jié)束語

    文中研究了異構(gòu)多核動態(tài)任務(wù)調(diào)度算法,結(jié)合設(shè)計的調(diào)度模型,提出了動態(tài)任務(wù)調(diào)度STDS算法。該算法分析了調(diào)度粒度對任務(wù)調(diào)度的影響可以根據(jù)當(dāng)前內(nèi)核負(fù)載和任務(wù)狀態(tài)調(diào)整任務(wù)優(yōu)先級,從而將高優(yōu)先級的任務(wù)合理高效地分配到內(nèi)核,并通過限定內(nèi)核任務(wù)隊列的上下限值達(dá)到負(fù)載均衡的目的。通過引入實時性因子使任務(wù)總能及時得到執(zhí)行處理,減少了過長的等待時間。實驗表明,STDS算法在內(nèi)核較大情況下效率較高,且能夠保持負(fù)載均衡。

    參考文獻(xiàn):

    [1]GENG X, XU G, ZHANG Y. Dynamic load balancing scheduling model based on multi-core processor[C]//2010 Fifth International Conference on Frontier of Computer Science and Technology (FCST). [S.l.],2010: 398-403.

    [2]GRAY M R, JOHNSON D S. Computers and intractability: a guide to the theory of NP-completeness[M]. New York: W H Freeman and Company, 1979: 92-115.

    [3]JIN H, CHEN H, CHEN J, et al. Real-time strategy and practice in service grid[C]//Proceedings of the 28th Annual International on Computer Software and Applications Conference, 2004. 2004: 161-166.

    [4]HE X S, SUN X H,VON LASZEWSKI G . A QoS guided scheduling algorithm for grid computing[J]. Journal of Computer Science and Technology, 2003,18(4): 442-451.

    [5]FREUND R F, GHERRITY M, AMBROSIUS S, et al. Scheduling resources in multi-user, heterogeneous, computing environments with SmartNet[C]//Proceedings on Heterogeneous Computing Workshop. , 1998: 184-199.

    [6]ARMSTRONG R, HENSGEN D, KIDD T. The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions[C]//Proceedings on Heterogeneous Computing Workshop. , 1998: 79-87.

    [7]石威, 鄭緯民. 相關(guān)任務(wù)圖的均衡動態(tài)關(guān)鍵路徑調(diào)度算法[J]. 計算機(jī)學(xué)報, 2001, 24(9): 991-997.

    SHI Wei, ZHENG Weimin. The balanced dynamic critical path scheduling algorithm of dependent task graph[J]. Chinese Journal of Computers, 2001, 24(9): 991-997.

    [8]李仁發(fā), 劉彥, 徐成. 多處理器片上系統(tǒng)任務(wù)調(diào)度研究進(jìn)展評述[J]. 計算機(jī)研究與發(fā)展, 2008, 45(9): 1620-1629.

    LI Renfa, LIU Yan, XU Cheng. A survey of task scheduling research progress on multiprocessor system-on-chip[J]. Journal of Computer Research and Development, 2008, 45(9): 1620-1629.

    [9]耿曉中. 基于多核分布式環(huán)境下的任務(wù)調(diào)度關(guān)鍵技術(shù)研究[D]. 吉林: 吉林大學(xué), 2013: .

    GENG Xiaozhong. Research on key techniques of task scheduling based on multi-core distributed environment[D]. Jilin: Jilin University, 2013.

    [10]徐雨明,李肯立. 異構(gòu)系統(tǒng)中DAG任務(wù)調(diào)度的雙螺旋結(jié)構(gòu)遺傳算法[J]. 計算機(jī)研究與發(fā)展,2014,51(6): 1240-1252.

    XU Yuming, LI Kenli. A structure genetic algorithm for task scheduling double-helix on heterogeneous computing systems [J]. Journal of Computer Research and Development, 2014, 51(6): 1240-1252.

    [11]VAIDYA V G, RANADIVE P, SAH S. Dynamic scheduler for multi-core systems[C]// International Conference on Software Technology and Engineering, 2010 2nd. Puerto Rico: IEEE, 2010, 1: V1-13-V1-16.

    [12]陳銳忠,齊德昱,林偉偉.一種面向非對稱多核處理器的綜合性調(diào)度算法. 軟件學(xué)報, 2013, 24(2): 34-3357.

    CHEN Ruozhong, QI Deyu, LIN Weiwei. Comprehensive scheduling algorithm for asymmetric multi-core processors[J]. Journal of Software, 2013, 24(2): 34-3357.

    [12]鄧曉衡, 盧錫城, 王懷民. iVCE中基于可信評價的資源調(diào)度研究[J]. 計算機(jī)學(xué)報, 2007, 30: 1750-1762.

    DENG Xiaoheng, LU Xicheng, WANG Huaimin. Study on trust evaluation based resource scheduling in iVCE[J]. Chinese Journal of Computers, 2007, 30: 1750-1762.

    [12]KWOK Y K, AHMAD I. Benchmarking the task graph scheduling algorithms[C]//Parallel Processing Symposium, 1998. IPPS/SPDP 1998. Proceedings of the First Merged International... and Symposium on Parallel and Distributed Processing 1998. IEEE, 1998: 531-537.

    [12]FORSGREN D, ESKILSON J, CHRISTENSSON M, et al. Simics:a full system simulation platform[J]. IEEE Computer, 2002, 35(2): 50-58.

    劉正, 男,1983年生,講師,博士研究生,主要研究方向為性能優(yōu)化、信息安全與智能信息處理。

    猜你喜歡
    負(fù)載均衡等待時間
    給學(xué)生適宜的等待時間
    ——國外課堂互動等待時間研究的現(xiàn)狀與啟示
    你承受不起讓每個客戶都滿意
    Linux負(fù)載均衡集群技術(shù)在網(wǎng)絡(luò)服務(wù)器中的應(yīng)用
    Oracle MAA在汽車行業(yè)電子政務(wù)平臺中的應(yīng)用
    異構(gòu)環(huán)境下改進(jìn)的LATE調(diào)度算法
    基于負(fù)載均衡的云資源調(diào)度策略研究
    意大利:反腐敗沒有等待時間
    公民與法治(2016年2期)2016-05-17 04:08:28
    多站點同步更新系統(tǒng)的設(shè)計
    科技視界(2016年3期)2016-02-26 20:16:57
    模糊理論在Ad hoc網(wǎng)絡(luò)通信領(lǐng)域的應(yīng)用
    科技視界(2015年25期)2015-09-01 16:07:00
    顧客等待心理的十條原則
    視野(2015年14期)2015-07-28 00:01:44
    精品免费久久久久久久清纯| 天堂av国产一区二区熟女人妻| 日本三级黄在线观看| 日本黄色片子视频| 精品无人区乱码1区二区| 一夜夜www| 精品免费久久久久久久清纯| 岛国在线免费视频观看| 叶爱在线成人免费视频播放| 综合色av麻豆| 欧美性猛交黑人性爽| 久久久久久久午夜电影| 99在线视频只有这里精品首页| 国产精品亚洲一级av第二区| 美女被艹到高潮喷水动态| 两个人看的免费小视频| 国产aⅴ精品一区二区三区波| 亚洲av成人精品一区久久| svipshipincom国产片| 男女那种视频在线观看| 99国产精品99久久久久| 国产亚洲精品av在线| 亚洲自偷自拍图片 自拍| 欧美乱码精品一区二区三区| 麻豆成人av在线观看| 日韩中文字幕欧美一区二区| 午夜视频精品福利| 神马国产精品三级电影在线观看| 大型黄色视频在线免费观看| 国产高潮美女av| 国产野战对白在线观看| www.自偷自拍.com| 一进一出抽搐gif免费好疼| 精品人妻1区二区| av天堂在线播放| 美女免费视频网站| 97人妻精品一区二区三区麻豆| 亚洲国产精品sss在线观看| 女人高潮潮喷娇喘18禁视频| 在线观看一区二区三区| 久久天堂一区二区三区四区| 国产精品免费一区二区三区在线| АⅤ资源中文在线天堂| 九色成人免费人妻av| 九九热线精品视视频播放| 日韩欧美免费精品| 嫩草影院精品99| 免费av毛片视频| 久久久久久国产a免费观看| 精品久久久久久久毛片微露脸| 亚洲欧美日韩卡通动漫| 午夜福利视频1000在线观看| 1024手机看黄色片| 久9热在线精品视频| 国产单亲对白刺激| 老司机福利观看| 最新美女视频免费是黄的| 国产激情欧美一区二区| 亚洲av成人一区二区三| 欧美绝顶高潮抽搐喷水| 成人国产综合亚洲| 夜夜看夜夜爽夜夜摸| 婷婷精品国产亚洲av在线| 国产男靠女视频免费网站| 亚洲国产看品久久| 中文字幕人成人乱码亚洲影| 天堂√8在线中文| 天天躁狠狠躁夜夜躁狠狠躁| 一进一出抽搐gif免费好疼| 亚洲av五月六月丁香网| 九九在线视频观看精品| 亚洲一区二区三区色噜噜| 999久久久国产精品视频| 精品不卡国产一区二区三区| 欧美+亚洲+日韩+国产| 男人舔女人下体高潮全视频| 国产成年人精品一区二区| 视频区欧美日本亚洲| 狠狠狠狠99中文字幕| 久久久久九九精品影院| 一本一本综合久久| 国产亚洲精品久久久com| 国产日本99.免费观看| 国产精品久久电影中文字幕| 国内精品久久久久精免费| 一级毛片精品| 国产免费男女视频| 精品福利观看| 国产一级毛片七仙女欲春2| 国内精品美女久久久久久| 一级a爱片免费观看的视频| 日韩欧美三级三区| 噜噜噜噜噜久久久久久91| 亚洲精品中文字幕一二三四区| 18美女黄网站色大片免费观看| 可以在线观看的亚洲视频| 色av中文字幕| 99热精品在线国产| 国产精品99久久久久久久久| 亚洲专区国产一区二区| 午夜视频精品福利| 黄色女人牲交| 舔av片在线| 免费搜索国产男女视频| 亚洲欧美日韩高清专用| 国产视频内射| 亚洲欧美日韩高清在线视频| 国内精品一区二区在线观看| 成年女人看的毛片在线观看| 国产精品影院久久| 国产精品香港三级国产av潘金莲| 亚洲精品美女久久久久99蜜臀| 国产一区二区三区在线臀色熟女| 亚洲精华国产精华精| 国产成人一区二区三区免费视频网站| 日本三级黄在线观看| 好看av亚洲va欧美ⅴa在| 夜夜躁狠狠躁天天躁| 久久久精品大字幕| 国产综合懂色| 人人妻人人看人人澡| 国产精品98久久久久久宅男小说| 国产高潮美女av| 午夜福利欧美成人| 国产精品九九99| 51午夜福利影视在线观看| 高清毛片免费观看视频网站| 亚洲成a人片在线一区二区| 制服人妻中文乱码| 日本熟妇午夜| 一进一出抽搐gif免费好疼| 黄色女人牲交| 我要搜黄色片| 欧美日韩一级在线毛片| 法律面前人人平等表现在哪些方面| 日韩大尺度精品在线看网址| 不卡av一区二区三区| 国内精品美女久久久久久| 日韩成人在线观看一区二区三区| 亚洲,欧美精品.| 成在线人永久免费视频| 一边摸一边抽搐一进一小说| 美女高潮的动态| 久久久精品大字幕| 成年版毛片免费区| 婷婷精品国产亚洲av在线| 国产精品久久久人人做人人爽| АⅤ资源中文在线天堂| 亚洲黑人精品在线| 热99re8久久精品国产| 亚洲第一电影网av| 亚洲av成人一区二区三| 亚洲人成网站在线播放欧美日韩| 99国产极品粉嫩在线观看| 亚洲激情在线av| 一夜夜www| 日本撒尿小便嘘嘘汇集6| 久久久久久久久免费视频了| 又黄又爽又免费观看的视频| 国产乱人视频| 国产成年人精品一区二区| 成人午夜高清在线视频| 别揉我奶头~嗯~啊~动态视频| 99热这里只有精品一区 | 午夜精品在线福利| 亚洲av电影不卡..在线观看| 看黄色毛片网站| 国产极品精品免费视频能看的| 色综合亚洲欧美另类图片| 搡老妇女老女人老熟妇| x7x7x7水蜜桃| 精品一区二区三区av网在线观看| 国产精品一区二区三区四区免费观看 | 国产精品久久久人人做人人爽| 欧美性猛交黑人性爽| 18禁裸乳无遮挡免费网站照片| 又爽又黄无遮挡网站| 一区二区三区国产精品乱码| 女同久久另类99精品国产91| 国产野战对白在线观看| 日韩三级视频一区二区三区| 国产伦人伦偷精品视频| 99在线视频只有这里精品首页| 久久伊人香网站| 欧美乱码精品一区二区三区| 欧美一区二区精品小视频在线| 宅男免费午夜| 国产成人精品无人区| 精品一区二区三区四区五区乱码| 国产综合懂色| 757午夜福利合集在线观看| 国产精品影院久久| 美女高潮喷水抽搐中文字幕| 久久久久国内视频| 美女高潮的动态| 免费一级毛片在线播放高清视频| 午夜两性在线视频| 国产真人三级小视频在线观看| 成年女人永久免费观看视频| 免费搜索国产男女视频| 精品一区二区三区视频在线 | 欧美色视频一区免费| 99热这里只有精品一区 | 亚洲真实伦在线观看| 成年女人永久免费观看视频| 99久久无色码亚洲精品果冻| 欧美3d第一页| 成人欧美大片| 黄色 视频免费看| 1024香蕉在线观看| 国产精品精品国产色婷婷| 亚洲精品久久国产高清桃花| 精品99又大又爽又粗少妇毛片 | 日日夜夜操网爽| 亚洲熟女毛片儿| av中文乱码字幕在线| 亚洲精品美女久久久久99蜜臀| 岛国在线免费视频观看| 97超级碰碰碰精品色视频在线观看| 高清在线国产一区| 国产精品1区2区在线观看.| 999精品在线视频| 国产私拍福利视频在线观看| 亚洲av熟女| 成年免费大片在线观看| 真人做人爱边吃奶动态| 成人永久免费在线观看视频| 久久国产乱子伦精品免费另类| 99久久精品热视频| 90打野战视频偷拍视频| 国产精华一区二区三区| 女人被狂操c到高潮| 日日摸夜夜添夜夜添小说| 日韩中文字幕欧美一区二区| 他把我摸到了高潮在线观看| 国产成人精品无人区| 在线免费观看不下载黄p国产 | 精品一区二区三区av网在线观看| 国产精品乱码一区二三区的特点| 每晚都被弄得嗷嗷叫到高潮| 久久亚洲精品不卡| 免费看美女性在线毛片视频| 日韩有码中文字幕| 日本在线视频免费播放| 久久久久免费精品人妻一区二区| 97碰自拍视频| 久久久久久久午夜电影| 亚洲av第一区精品v没综合| 精品无人区乱码1区二区| 亚洲 欧美一区二区三区| 老司机在亚洲福利影院| 91av网一区二区| 五月玫瑰六月丁香| 免费观看的影片在线观看| 中文在线观看免费www的网站| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲自拍偷在线| 最近视频中文字幕2019在线8| 可以在线观看的亚洲视频| 观看免费一级毛片| 熟妇人妻久久中文字幕3abv| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品精品国产色婷婷| 又爽又黄无遮挡网站| 亚洲欧美日韩东京热| 亚洲成人中文字幕在线播放| 亚洲欧美一区二区三区黑人| 亚洲第一欧美日韩一区二区三区| 搞女人的毛片| 久久人人精品亚洲av| 中文字幕熟女人妻在线| 可以在线观看的亚洲视频| 看片在线看免费视频| 成人国产一区最新在线观看| 欧美日韩中文字幕国产精品一区二区三区| 国产成人aa在线观看| 国产激情偷乱视频一区二区| 久久精品人妻少妇| 叶爱在线成人免费视频播放| 久久精品国产99精品国产亚洲性色| 又黄又粗又硬又大视频| 久久久国产欧美日韩av| 我要搜黄色片| 久久精品国产99精品国产亚洲性色| 又黄又爽又免费观看的视频| 男女做爰动态图高潮gif福利片| 嫩草影院入口| 级片在线观看| 国产精品一区二区精品视频观看| 久久99热这里只有精品18| 麻豆av在线久日| 国产精品 欧美亚洲| 国产成+人综合+亚洲专区| 搡老岳熟女国产| 中亚洲国语对白在线视频| 欧美大码av| 成人av一区二区三区在线看| 天堂√8在线中文| 老司机午夜十八禁免费视频| 757午夜福利合集在线观看| 国产高清激情床上av| 偷拍熟女少妇极品色| 精品日产1卡2卡| 变态另类成人亚洲欧美熟女| 男女床上黄色一级片免费看| 久久久色成人| 国产成人精品久久二区二区免费| 亚洲国产精品999在线| 偷拍熟女少妇极品色| 国产高清videossex| 午夜福利在线观看免费完整高清在 | 国产精品久久久久久亚洲av鲁大| 免费观看人在逋| 精品久久久久久成人av| 在线a可以看的网站| 亚洲国产欧洲综合997久久,| 女警被强在线播放| 亚洲午夜精品一区,二区,三区| 久久精品国产清高在天天线| 最近在线观看免费完整版| 丁香六月欧美| 亚洲av成人不卡在线观看播放网| 久久中文字幕一级| 精品午夜福利视频在线观看一区| h日本视频在线播放| 国产高清视频在线观看网站| 非洲黑人性xxxx精品又粗又长| www日本在线高清视频| 免费电影在线观看免费观看| av女优亚洲男人天堂 | 琪琪午夜伦伦电影理论片6080| 桃色一区二区三区在线观看| 无限看片的www在线观看| 最新中文字幕久久久久 | 成人亚洲精品av一区二区| 熟女电影av网| 国产精品久久久久久精品电影| 精品国产美女av久久久久小说| 国产亚洲精品久久久久久毛片| 久9热在线精品视频| 国产蜜桃级精品一区二区三区| 亚洲自偷自拍图片 自拍| 淫秽高清视频在线观看| 男女视频在线观看网站免费| 亚洲欧美精品综合久久99| h日本视频在线播放| 国产欧美日韩精品亚洲av| 欧美日韩一级在线毛片| 曰老女人黄片| 国产亚洲精品久久久久久毛片| 老熟妇仑乱视频hdxx| 成在线人永久免费视频| 99热这里只有精品一区 | 亚洲熟妇中文字幕五十中出| 在线免费观看不下载黄p国产 | 久久精品人妻少妇| 国内毛片毛片毛片毛片毛片| svipshipincom国产片| 国内少妇人妻偷人精品xxx网站 | 国产亚洲精品一区二区www| 国产主播在线观看一区二区| 久久久国产成人免费| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲激情在线av| 国产成人av教育| 看黄色毛片网站| av欧美777| 日韩有码中文字幕| 又黄又粗又硬又大视频| 国产蜜桃级精品一区二区三区| 操出白浆在线播放| 老熟妇乱子伦视频在线观看| 亚洲熟妇熟女久久| 精品午夜福利视频在线观看一区| 欧美三级亚洲精品| 国产精品日韩av在线免费观看| 国产成人欧美在线观看| 国产亚洲av高清不卡| 色综合站精品国产| 午夜福利成人在线免费观看| 亚洲一区二区三区色噜噜| 天天添夜夜摸| 精品久久久久久久久久久久久| 精品人妻1区二区| 一边摸一边抽搐一进一小说| 一级毛片高清免费大全| 草草在线视频免费看| av女优亚洲男人天堂 | 综合色av麻豆| 国产久久久一区二区三区| 亚洲中文字幕一区二区三区有码在线看 | 精品久久久久久久末码| 人人妻人人看人人澡| 草草在线视频免费看| 男人的好看免费观看在线视频| 黑人操中国人逼视频| 久久精品国产清高在天天线| 少妇的丰满在线观看| 一区二区三区激情视频| 在线观看美女被高潮喷水网站 | 亚洲自拍偷在线| 国产亚洲精品久久久com| 日本熟妇午夜| 国产三级黄色录像| 久久伊人香网站| 波多野结衣高清无吗| 麻豆av在线久日| 少妇熟女aⅴ在线视频| 亚洲av电影在线进入| 久久热在线av| 在线视频色国产色| 欧美乱妇无乱码| 一个人看视频在线观看www免费 | 亚洲欧美一区二区三区黑人| 久久国产精品人妻蜜桃| 2021天堂中文幕一二区在线观| 亚洲九九香蕉| e午夜精品久久久久久久| 小说图片视频综合网站| 久久久成人免费电影| 久久亚洲真实| 亚洲成av人片在线播放无| 久久中文看片网| 99久久综合精品五月天人人| 老汉色∧v一级毛片| 日本a在线网址| 亚洲在线观看片| 精品国产美女av久久久久小说| xxxwww97欧美| 欧美三级亚洲精品| 久久久久久久精品吃奶| 一级毛片精品| 国产91精品成人一区二区三区| 99久久综合精品五月天人人| 亚洲人成电影免费在线| 国内精品久久久久精免费| 国产野战对白在线观看| 麻豆av在线久日| 欧美日韩瑟瑟在线播放| 噜噜噜噜噜久久久久久91| 国产 一区 欧美 日韩| 欧美日本亚洲视频在线播放| tocl精华| 亚洲午夜精品一区,二区,三区| 欧美性猛交黑人性爽| 国产高清videossex| 日韩成人在线观看一区二区三区| 久久午夜亚洲精品久久| 国产黄片美女视频| 免费看美女性在线毛片视频| 日日夜夜操网爽| 丰满人妻一区二区三区视频av | 亚洲五月婷婷丁香| 99国产精品一区二区三区| 国产亚洲欧美在线一区二区| 欧美中文综合在线视频| 国产av在哪里看| 麻豆成人午夜福利视频| 在线观看66精品国产| а√天堂www在线а√下载| 看片在线看免费视频| 97超视频在线观看视频| 亚洲欧美精品综合久久99| 精品人妻1区二区| 99在线视频只有这里精品首页| 亚洲精品一卡2卡三卡4卡5卡| 久久中文字幕人妻熟女| 中文字幕av在线有码专区| 国产精品野战在线观看| 亚洲成人精品中文字幕电影| 嫁个100分男人电影在线观看| 香蕉久久夜色| 免费高清视频大片| 国产精品 欧美亚洲| 国产一区二区在线观看日韩 | 日日干狠狠操夜夜爽| 一级毛片精品| 免费电影在线观看免费观看| 美女高潮的动态| 大型黄色视频在线免费观看| 免费看十八禁软件| 两性午夜刺激爽爽歪歪视频在线观看| 淫秽高清视频在线观看| 淫妇啪啪啪对白视频| 他把我摸到了高潮在线观看| 欧美中文日本在线观看视频| 波多野结衣高清无吗| 国产麻豆成人av免费视频| 久久精品91蜜桃| 中国美女看黄片| 欧美日韩精品网址| 极品教师在线免费播放| 国产av麻豆久久久久久久| 五月玫瑰六月丁香| 一本精品99久久精品77| 国产又色又爽无遮挡免费看| 桃色一区二区三区在线观看| 18禁观看日本| 国产精华一区二区三区| 成年版毛片免费区| 91av网站免费观看| 亚洲无线观看免费| 国产一区二区三区在线臀色熟女| 丁香六月欧美| 国产精品九九99| 国产探花在线观看一区二区| 午夜免费观看网址| 人妻久久中文字幕网| 亚洲欧美日韩无卡精品| 免费在线观看成人毛片| 一区二区三区高清视频在线| 免费看十八禁软件| 激情在线观看视频在线高清| 欧美日韩乱码在线| 亚洲国产日韩欧美精品在线观看 | 亚洲av美国av| 色尼玛亚洲综合影院| 美女大奶头视频| 欧美丝袜亚洲另类 | 国产又色又爽无遮挡免费看| 欧美3d第一页| 亚洲真实伦在线观看| 夜夜夜夜夜久久久久| 日韩精品青青久久久久久| 可以在线观看的亚洲视频| 午夜福利高清视频| 国产欧美日韩一区二区精品| 两个人的视频大全免费| 亚洲欧美日韩高清专用| 国产午夜福利久久久久久| 欧美乱妇无乱码| 精品国产超薄肉色丝袜足j| 国产成人影院久久av| 久久香蕉精品热| 俺也久久电影网| 女同久久另类99精品国产91| 久久久久国内视频| 在线观看免费视频日本深夜| 国产精品 国内视频| 不卡av一区二区三区| 51午夜福利影视在线观看| 又黄又粗又硬又大视频| 天天添夜夜摸| 亚洲无线观看免费| 亚洲性夜色夜夜综合| 9191精品国产免费久久| 最近视频中文字幕2019在线8| 99久久99久久久精品蜜桃| 露出奶头的视频| 成人永久免费在线观看视频| 性色av乱码一区二区三区2| 天天一区二区日本电影三级| 舔av片在线| 搡老熟女国产l中国老女人| 日本a在线网址| 手机成人av网站| 欧美在线一区亚洲| 国产精品1区2区在线观看.| 久久久久国内视频| 夜夜看夜夜爽夜夜摸| 香蕉国产在线看| 国产高清视频在线播放一区| 亚洲成人久久爱视频| 午夜福利在线在线| 成人鲁丝片一二三区免费| 亚洲 国产 在线| 一边摸一边抽搐一进一小说| 精品不卡国产一区二区三区| 国产精华一区二区三区| 亚洲色图av天堂| 免费看美女性在线毛片视频| 日韩国内少妇激情av| 最近最新免费中文字幕在线| 小说图片视频综合网站| 欧美色视频一区免费| 免费在线观看影片大全网站| 热99re8久久精品国产| 亚洲av成人不卡在线观看播放网| 国产69精品久久久久777片 | 色视频www国产| 一级a爱片免费观看的视频| 熟女少妇亚洲综合色aaa.| 国产免费av片在线观看野外av| 国产在线精品亚洲第一网站| 19禁男女啪啪无遮挡网站| 中文字幕av在线有码专区| av视频在线观看入口| 九九在线视频观看精品| 后天国语完整版免费观看| www.自偷自拍.com| 又爽又黄无遮挡网站| 丰满的人妻完整版| 亚洲欧美日韩高清在线视频| 噜噜噜噜噜久久久久久91| 757午夜福利合集在线观看| 国产成人影院久久av| 男人舔女人的私密视频| xxxwww97欧美| 最新中文字幕久久久久 | 国产99白浆流出| 99热6这里只有精品| 亚洲成人精品中文字幕电影| 日本在线视频免费播放| 免费高清视频大片| 日韩欧美在线乱码| 亚洲七黄色美女视频| 国产视频一区二区在线看| 欧美日韩一级在线毛片| 亚洲真实伦在线观看| 一卡2卡三卡四卡精品乱码亚洲| 一进一出好大好爽视频| 天堂av国产一区二区熟女人妻| 制服丝袜大香蕉在线| 在线a可以看的网站| 亚洲人成电影免费在线|