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

    幫助線程預(yù)取質(zhì)量的實(shí)時(shí)在線評(píng)價(jià)方法

    2017-04-17 05:19:32張建勛古志民
    計(jì)算機(jī)應(yīng)用 2017年1期
    關(guān)鍵詞:主線線程熱點(diǎn)

    張建勛,古志民

    (1.天津職業(yè)技術(shù)師范大學(xué) 信息技術(shù)工程學(xué)院,天津 300222; 2.北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京 100081)

    (*通信作者電子郵箱zhangjx@tute.edu.cn)

    幫助線程預(yù)取質(zhì)量的實(shí)時(shí)在線評(píng)價(jià)方法

    張建勛1*,古志民2

    (1.天津職業(yè)技術(shù)師范大學(xué) 信息技術(shù)工程學(xué)院,天津 300222; 2.北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京 100081)

    (*通信作者電子郵箱zhangjx@tute.edu.cn)

    針對(duì)傳統(tǒng)靜態(tài)枚舉設(shè)置幫助線程控制參數(shù)值的繁雜耗時(shí)問題,提出了一種幫助線程預(yù)取質(zhì)量的實(shí)時(shí)在線評(píng)價(jià)方法。首先,明確了幫助線程的預(yù)取服務(wù)質(zhì)量(QoS)的目標(biāo);其次,分析了幫助線程預(yù)取性能評(píng)價(jià)的動(dòng)態(tài)指標(biāo),對(duì)幫助線程預(yù)取QoS進(jìn)行了建模分析;最后,提出一個(gè)幫助線程預(yù)取的動(dòng)態(tài)自適應(yīng)調(diào)節(jié)算法,算法根據(jù)程序的階段行為變化和動(dòng)態(tài)預(yù)取獲益變化等信息來判斷參數(shù)值的適用度以及是否需要進(jìn)行反饋優(yōu)化,從而實(shí)現(xiàn)對(duì)預(yù)取控制的自適應(yīng)調(diào)節(jié)。實(shí)驗(yàn)結(jié)果表明,應(yīng)用自適應(yīng)預(yù)取評(píng)價(jià)算法之后,Mst熱點(diǎn)模塊的性能提升加速比為1.496,所提出的自適應(yīng)預(yù)取評(píng)價(jià)方法能夠根據(jù)程序的動(dòng)態(tài)階段行為對(duì)幫助線程控制參數(shù)值作出自適應(yīng)控制和調(diào)節(jié)。

    幫助線程;預(yù)取質(zhì)量;評(píng)價(jià)方法;性能分析

    0 引言

    隨著多核處理器技術(shù)的發(fā)展,緩存和主存作為多核處理器的共享部件已經(jīng)成為影響系統(tǒng)性能的關(guān)鍵因素之一。多核平臺(tái)的幫助線程數(shù)據(jù)預(yù)取技術(shù)利用多核處理器的空閑核運(yùn)行數(shù)據(jù)預(yù)取線程,將主線程應(yīng)用所需要的數(shù)據(jù)提前推送到最后一級(jí)共享緩存中以隱藏主線程應(yīng)用的片外訪存延遲,從而達(dá)到提高應(yīng)用程序性能的目的。幫助線程主要為主線程提供數(shù)據(jù)預(yù)取服務(wù),其預(yù)取服務(wù)質(zhì)量(Quality of Service, QoS)的好壞將直接影響到主線程的性能。目前,幫助線程預(yù)取質(zhì)量常常通過一定的控制參數(shù)及其閾值來控制[1]。傳統(tǒng)PV方法[2]使用LOOP_SYNC_INTERVAL和MAX_DIST兩個(gè)參數(shù)來控制幫助線程。交織預(yù)取KPB方法[3-5]采用預(yù)取距離K、預(yù)取大小P和同步距離B三個(gè)參數(shù)來控制幫助線程。在以上兩種方法中幫助線程預(yù)取控制參數(shù)值的選取都是通過靜態(tài)枚舉獲得,參數(shù)值的選擇過程是一個(gè)耗時(shí)繁雜的過程。此外,當(dāng)應(yīng)用程序運(yùn)行的平臺(tái)環(huán)境不同和數(shù)據(jù)輸入集不同時(shí),這些靜態(tài)枚舉獲得控制參數(shù)值都會(huì)失效。因此,針對(duì)不同運(yùn)行環(huán)境和程序輸入集,在幫助線程預(yù)取執(zhí)行過程中如何實(shí)時(shí)在線地進(jìn)行預(yù)取質(zhì)量分析和動(dòng)態(tài)反饋調(diào)節(jié)是需要進(jìn)一步研究的問題。

    要實(shí)現(xiàn)幫助線程預(yù)取質(zhì)量的動(dòng)態(tài)調(diào)節(jié)和優(yōu)化,首先需要明確幫助線程預(yù)取質(zhì)量的評(píng)價(jià)指標(biāo)問題?,F(xiàn)有研究大多采用預(yù)取準(zhǔn)確率和預(yù)取覆蓋率兩個(gè)指標(biāo)來度量預(yù)取質(zhì)量的優(yōu)劣。例如文獻(xiàn)[6-7]中將預(yù)取請(qǐng)求中有用的預(yù)取區(qū)分出來分別用于計(jì)算預(yù)取準(zhǔn)確率和預(yù)取覆蓋率。具體到幫助線程預(yù)取的研究中,一般硬件實(shí)現(xiàn)方法[8-12]中采用上述兩個(gè)指標(biāo)的研究較多,因?yàn)橛布M器能夠有效地將有用預(yù)取和無用預(yù)取區(qū)分開來。軟件實(shí)現(xiàn)方法[13-15]中的大多研究都是采用CPU時(shí)鐘數(shù)、緩存缺失率、加速比等靜態(tài)指標(biāo)來度量。預(yù)取準(zhǔn)確率能夠精確地反映預(yù)取的質(zhì)量好壞,如果能夠在程序?qū)崟r(shí)執(zhí)行過程中獲得這個(gè)指標(biāo)數(shù)據(jù)就可以根據(jù)預(yù)取準(zhǔn)確率對(duì)預(yù)取進(jìn)行很好的自適應(yīng)控制。但在真實(shí)商用機(jī)器上實(shí)現(xiàn)幫助線程預(yù)取時(shí),主線程的訪存流和幫助線程的預(yù)取流在最后一級(jí)共享緩存(Last Level Cache, LLC)合并,很難區(qū)分有用預(yù)取和無用預(yù)取的數(shù)量,因此在幫助線程動(dòng)態(tài)預(yù)取執(zhí)行過程中預(yù)取質(zhì)量評(píng)價(jià)可以從應(yīng)用線程性能提升的角度來衡量。本文通過實(shí)驗(yàn)分析幫助線程的預(yù)取行為,確定幫助線程預(yù)取性能的評(píng)價(jià)指標(biāo),在此基礎(chǔ)上提出了一種自適應(yīng)的幫助線程預(yù)取質(zhì)量實(shí)時(shí)在線評(píng)價(jià)方法。

    1 幫助線程預(yù)取QoS目標(biāo)

    幫助線程預(yù)取QoS是指幫助線程對(duì)主線程的預(yù)取服務(wù)質(zhì)量。多核平臺(tái)幫助線程的數(shù)據(jù)預(yù)取場(chǎng)景如圖1所示。C0為主線程計(jì)算核,C1為幫助線程預(yù)取核。當(dāng)啟動(dòng)幫助線程數(shù)據(jù)預(yù)取之后,由計(jì)算核C0和預(yù)取核C1分別發(fā)出的數(shù)據(jù)訪問流在LLC緩存合并,理想情況下,主線程計(jì)算核C0的LLC緩存缺失流完全可以由幫助線程的預(yù)取數(shù)據(jù)流替代,即主線程不發(fā)生LLC緩存缺失,數(shù)據(jù)全部由幫助線程預(yù)取流將數(shù)據(jù)推送到LLC緩存中。但是實(shí)際情況常常會(huì)由于幫助線程預(yù)取數(shù)據(jù)流的干擾使得主線程仍然存在LLC缺失流。因此,幫助線程預(yù)取QoS控制的重點(diǎn)在于如何對(duì)幫助線程發(fā)出的預(yù)取數(shù)據(jù)流進(jìn)行有效的調(diào)節(jié)和控制,從而減少主線程計(jì)算核的LLC緩存缺失率,最大限度地隱藏主線程計(jì)算核的片外訪存延遲,從而改善主線程的程序性能。

    幫助線程預(yù)取QoS目標(biāo)可以通過對(duì)幫助線程的預(yù)取觸發(fā)、預(yù)取行為、同步機(jī)制等幾方面的控制策略來實(shí)現(xiàn)。在前期工作[3-5]的基礎(chǔ)上,本文實(shí)現(xiàn)的幫助線程預(yù)取觸發(fā)時(shí)機(jī)選擇在應(yīng)用主線程進(jìn)入熱點(diǎn)程序模塊之前觸發(fā);幫助線程的預(yù)取行為通過預(yù)取距離K和預(yù)取工作量大小P兩個(gè)參數(shù)來控制,幫助線程與應(yīng)用線程的同步機(jī)制通過參數(shù)B來控制,主要用于控制幫助線程和主線程之間的同步粒度(頻度)。將幫助線程控制參數(shù)K、P和B的不同取值組合,稱之為一個(gè)預(yù)取QoS策略。

    2 幫助線程預(yù)取質(zhì)量在線評(píng)價(jià)

    幫助線程預(yù)取QoS評(píng)價(jià)的目的主要是為了改善主線程的片外訪存延遲,提升主線程的執(zhí)行性能。評(píng)價(jià)一個(gè)幫助線程QoS策略是否有效,度量指標(biāo)可以分為靜態(tài)度量指標(biāo)和動(dòng)態(tài)度量指標(biāo)兩種。靜態(tài)度量指標(biāo)主要用于評(píng)價(jià)應(yīng)用某種預(yù)取QoS策略對(duì)主線程的性能提升情況,著重于對(duì)幫助線程預(yù)取結(jié)果的性能評(píng)價(jià)。動(dòng)態(tài)度量指標(biāo)主要用于實(shí)時(shí)在線對(duì)幫助線程的預(yù)取QoS進(jìn)行度量和評(píng)價(jià),著重于對(duì)幫助線程預(yù)取過程的度量。

    2.1 預(yù)取QoS動(dòng)態(tài)評(píng)價(jià)的基本思想及相關(guān)定義

    實(shí)現(xiàn)幫助線程預(yù)取策略的動(dòng)態(tài)調(diào)節(jié),首先需要明確如何對(duì)不同的幫助線程預(yù)取策略的效果和預(yù)取性能進(jìn)行度量和比較。通過對(duì)應(yīng)用程序中熱點(diǎn)模塊的采樣實(shí)驗(yàn)發(fā)現(xiàn),程序熱點(diǎn)模塊存在不同的階段行為,并且在同一個(gè)運(yùn)行階段內(nèi)每指令時(shí)鐘數(shù)(CyclesPerInstruction,CPI)指標(biāo)保持相對(duì)穩(wěn)定。因此,在熱點(diǎn)模塊程序運(yùn)行過程中,可以將熱點(diǎn)模塊程序的運(yùn)行劃分成等長的運(yùn)行代碼段,每一個(gè)運(yùn)行代碼段用于評(píng)測(cè)一組預(yù)取控制參數(shù)值,然后通過觀察應(yīng)用主線程CPI的變化來度量和評(píng)價(jià)不同預(yù)取控制參數(shù)取值的預(yù)取性能好壞,這是本文幫助線程動(dòng)態(tài)QoS評(píng)價(jià)和預(yù)取控制策略調(diào)節(jié)的核心思想。本節(jié)以下部分主要介紹幫助線程預(yù)取質(zhì)量動(dòng)態(tài)調(diào)節(jié)所涉及的相關(guān)定義和術(shù)語。

    定義1 采樣區(qū)間平均每條指令運(yùn)行時(shí)鐘數(shù)(CPI)。

    CPI=Unhalted_CPU_Cycles/Retired_Instructions

    (1)

    CPI是一個(gè)經(jīng)常使用的綜合性能評(píng)測(cè)指標(biāo),在相同的采樣間隔內(nèi)通過觀察主線程CPI指標(biāo)的改進(jìn)情況來評(píng)價(jià)不同的預(yù)取QoS策略優(yōu)劣。式(1)中Unhalted_CPU_Cycles表示不停頓的CPU時(shí)鐘數(shù),Retired_instructions表示采樣期間提交的指令數(shù),二者均可以通過CPU的硬件性能監(jiān)視部件獲得。

    定義2 熱點(diǎn)模塊M。對(duì)于應(yīng)用程序A中的任意模塊M,存在閾值ε1和ε2分別滿足Cycle(M)/Cycle(A)≥ε1和LLC_Miss(M)/LLC_MISS(A)≥ε2,則稱M為熱點(diǎn)模塊。其中0<ε1,ε2<1,Cycle(X)和LLC_Miss(X)分別表示利用Profiling工具對(duì)程序X進(jìn)行性能剖析所獲得的程序運(yùn)行時(shí)鐘數(shù)和LLC缺失數(shù)。

    定義3 程序階段(Phase)。假設(shè)應(yīng)用程序A動(dòng)態(tài)運(yùn)行過程中的一個(gè)執(zhí)行區(qū)間P,在這個(gè)執(zhí)行區(qū)間P內(nèi)應(yīng)用程序的某個(gè)性能指標(biāo)(如:CPI、分支預(yù)測(cè)等)保持相對(duì)穩(wěn)定,那么這個(gè)執(zhí)行區(qū)間P為一個(gè)程序階段。

    定義4 階段變化判定函數(shù)(ΔP)。

    ΔP=(CPIPi-CPIPj)/CPIPi*100%;i

    其中:Pi表示第i個(gè)階段檢測(cè)期,Pj表示第j個(gè)階段檢測(cè)期。Pi和Pj之間的程序運(yùn)行區(qū)間即為參數(shù)值應(yīng)用期。在階段檢測(cè)期Pi和Pj內(nèi),關(guān)閉幫助線程預(yù)取操作,并采集n個(gè)采樣間隔內(nèi)的CPI數(shù)據(jù),最后計(jì)算CPI均值來表征檢測(cè)期Pi內(nèi)的程序階段特征。設(shè)ΔPthreshold為一個(gè)閾值,當(dāng)ΔP>ΔPthreshold時(shí),稱程序運(yùn)行階段發(fā)生變化。

    定義5 預(yù)取獲益判定函數(shù)(ΔCPI)。

    ΔCPI=CPIPi|disable prefetch-CPIPi|enable prefetch

    其中Pi表示第i個(gè)檢測(cè)階段。CPIPi|disable prefetch表示階段Pi在關(guān)閉預(yù)取狀態(tài)下的CPI采樣均值,CPIPi|enable prefetch表示階段Pi在開啟預(yù)取狀態(tài)下的CPI采樣均值,二者之差用于判定預(yù)取是否獲益。在階段Pi內(nèi)采集n個(gè)執(zhí)行樣本的CPI數(shù)據(jù),最后計(jì)算CPI均值來表征階段Pi內(nèi)主線程的性能情況。ΔCPI>0時(shí),表示在幫助線程預(yù)取的作用下主線程取得了性能提升,即預(yù)取是正獲益;當(dāng)ΔCPI<0時(shí),表示在幫助線程預(yù)取的作用下使得主線程性能下降,即預(yù)取是負(fù)獲益。

    2.2 預(yù)取QoS動(dòng)態(tài)評(píng)價(jià)模型

    由定義2所知,程序熱點(diǎn)模塊是指占用應(yīng)用程序絕大多數(shù)運(yùn)行時(shí)間的程序模塊。根據(jù)定義3中程序階段的定義,假設(shè)程序熱點(diǎn)模塊包含P個(gè)執(zhí)行階段,每個(gè)執(zhí)行階段所運(yùn)行的指令數(shù)用IC表示,由于在每個(gè)執(zhí)行階段內(nèi)CPI保持相對(duì)穩(wěn)定,以該運(yùn)行階段的平均CPI值近似的表示該階段內(nèi)每條指令的CPU時(shí)鐘數(shù)。為了便于表述,現(xiàn)將模型中的關(guān)鍵符號(hào)表示如表1所示。

    表1 預(yù)取QoS動(dòng)態(tài)評(píng)價(jià)模型的符號(hào)表示

    原始的串行熱點(diǎn)模塊的CPU執(zhí)行時(shí)鐘數(shù)為:

    在每個(gè)程序運(yùn)行階段Pj內(nèi),將程序熱點(diǎn)模塊的執(zhí)行分為階段檢測(cè)(detect)、參數(shù)訓(xùn)練(train)和參數(shù)應(yīng)用(application)三個(gè)部分。階段檢測(cè)主要用于程序階段行為的檢測(cè),參數(shù)訓(xùn)練主要用于評(píng)價(jià)不同參數(shù)組合的預(yù)取質(zhì)量。程序階段Pj內(nèi)真正用于幫助線程數(shù)據(jù)預(yù)取優(yōu)化的部分是參數(shù)應(yīng)用期,因此參數(shù)應(yīng)用期的長短比例直接決定了程序運(yùn)行階段Pj預(yù)取優(yōu)化的效果。

    其中:CPItrain表示參數(shù)訓(xùn)練期內(nèi)的采樣樣本CPI的均值,CPIapp為參數(shù)應(yīng)用期內(nèi)采樣樣本CPI的均值。在一個(gè)程序階段Pj內(nèi)CPI相對(duì)保持穩(wěn)定。由于在階段檢測(cè)期內(nèi)不開啟幫助線程預(yù)取,因此在階段檢測(cè)期CPIj與原有串行程序一致。

    現(xiàn)在僅考慮程序在某個(gè)運(yùn)行階段Pj的CPU時(shí)鐘情況。在階段檢測(cè)期內(nèi),采樣個(gè)數(shù)Detect_sample=(ICdetect)j/U,參數(shù)訓(xùn)練期采樣個(gè)數(shù)為Train_sample=(ICtrain)j/U,程序進(jìn)入?yún)?shù)應(yīng)用期后不進(jìn)行采樣,其所包含的樣本個(gè)數(shù)為App_sample=(ICapp)j/U。

    原始串行熱點(diǎn)模塊在程序階段Pj內(nèi)的執(zhí)行CPU時(shí)鐘近似表示為:

    應(yīng)用幫助線程預(yù)取之后,在程序階段Pj內(nèi)熱點(diǎn)模塊的執(zhí)行CPU時(shí)鐘近似表示為:

    應(yīng)用幫助線程預(yù)取后熱點(diǎn)模塊在程序階段Pj內(nèi)CPU時(shí)鐘減少數(shù)為:

    其中:CPIj表示串行程序在運(yùn)行階段Pj內(nèi)的采樣CPI均值,CPItrain為參數(shù)訓(xùn)練期不同參數(shù)組合所對(duì)應(yīng)的采樣CPI,CPIapp為參數(shù)應(yīng)用期CPI均值,三者滿足約束條件(CPIj>CPItrain>CPIapp)。

    通過以上建模分析,可以得出影響基于動(dòng)態(tài)采樣機(jī)制的幫助線程預(yù)取性能的兩個(gè)主要因素:其一是參數(shù)訓(xùn)練期與參數(shù)應(yīng)用期之間的比例關(guān)系;其二是幫助線程預(yù)取行為帶來的CPI改善程度。與靜態(tài)參數(shù)幫助線程預(yù)取優(yōu)化相比,盡管動(dòng)態(tài)方法引入了參數(shù)訓(xùn)練期的額外開銷,但是動(dòng)態(tài)方法中通過引入自適應(yīng)預(yù)取反饋機(jī)制,在幫助線程預(yù)取過程中能夠根據(jù)程序的階段行為和預(yù)取獲益對(duì)預(yù)取的參數(shù)值進(jìn)行動(dòng)態(tài)調(diào)節(jié)和控制,從而解決了傳統(tǒng)靜態(tài)方法應(yīng)用中在參數(shù)選擇、運(yùn)行平臺(tái)調(diào)整和輸入集變化等因素帶來參數(shù)值優(yōu)選難題。

    2.3 程序階段行為判定及方法

    熱點(diǎn)模塊程序階段行為檢測(cè)的目的就是當(dāng)熱點(diǎn)模塊內(nèi)程序的階段行為發(fā)生變化時(shí),幫助線程預(yù)取控制參數(shù)能夠根據(jù)階段變化作出調(diào)整。典型階段檢測(cè)技術(shù)通常將程序的執(zhí)行區(qū)間劃分成等長的采樣間隔,一般以動(dòng)態(tài)執(zhí)行提交的指令數(shù)為劃分單位。在采樣期間收集與程序執(zhí)行相關(guān)的信息,收集完成之后計(jì)算兩個(gè)采樣間隔之間的相似性,然后根據(jù)相似性作出兩個(gè)采樣間隔是否處于同一個(gè)運(yùn)行階段的判斷。如果相似性大于一定的閾值即稱程序運(yùn)行發(fā)生了階段行為變化。根據(jù)定義4,不同程序運(yùn)行階段之間的相似性可以用各階段的CPI均值來表示。當(dāng)程序的不同運(yùn)行階段之間的CPI均值相差ΔP大于一定的閾值時(shí),即稱為程序運(yùn)行階段發(fā)生了變化。

    2.4 幫助線程預(yù)取獲益判定及方法

    幫助線程預(yù)取是通過隱藏主線程應(yīng)用的片外訪存延遲來實(shí)現(xiàn)提高主線程執(zhí)行性能的目的,因此判定幫助線程預(yù)取是否有效可以從幫助線程預(yù)取是否帶來主線程性能提升的角度來衡量。如定義5所示,通過觀測(cè)在指定程序運(yùn)行階段Pi內(nèi)在開啟幫助線程預(yù)取和不開啟預(yù)取情況下CPI的差值ΔCPI的變化來判斷預(yù)取的獲益情況。當(dāng)幫助線程落后于主線程或是領(lǐng)先主線程過多時(shí),會(huì)造成共享緩存污染的情況,此時(shí)勢(shì)必會(huì)干擾主線程的片外訪存行為,造成主線程性能的下降。因此,通過觀測(cè)主線程動(dòng)態(tài)CPI指標(biāo)的變化就能夠直觀地刻畫主線程性能的變化情況,也就能夠客觀描述幫助線程預(yù)取的獲益情況。

    3 幫助線程預(yù)取的實(shí)時(shí)在線評(píng)價(jià)算法

    在幫助線程預(yù)取中引入反饋機(jī)制的主要目的是在程序運(yùn)行過程中能夠根據(jù)程序執(zhí)行的動(dòng)態(tài)階段行為和幫助線程的獲益情況對(duì)幫助線程的預(yù)取參數(shù)值作出調(diào)整,從而有效控制幫助線程的預(yù)取質(zhì)量。自適應(yīng)幫助線程預(yù)取的反饋信息主要包括兩方面:一是程序的動(dòng)態(tài)階段變化信息;二是幫助線程預(yù)取是否獲益的信息。

    幫助線程預(yù)取的自適應(yīng)反饋評(píng)價(jià)算法如下所示。

    算法 幫助預(yù)取自適應(yīng)反饋評(píng)價(jià)算法。

    輸入: 階段檢測(cè)區(qū)間CPI采樣數(shù)據(jù),當(dāng)前執(zhí)行進(jìn)度。 輸出: 自適應(yīng)決策。

    1)

    //進(jìn)入階段檢測(cè)和反饋決策

    2)

    計(jì)算ΔP;

    //階段判定

    3)

    計(jì)算預(yù)取獲益Prefetch_benifit=ΔCPI

    4)

    if(Prefetch_benifit<0)then

    //預(yù)取負(fù)獲益

    5)

    if((1-Current_progress)>Progressth)then

    //當(dāng)前執(zhí)行進(jìn)度

    6)

    Init parameter train engine;

    7)

    Phase=1;

    //重新進(jìn)入?yún)?shù)訓(xùn)練期

    8)

    else

    9)

    Disable Helper Thread;

    10)

    endif

    11)

    else

    //預(yù)取正獲益

    12)

    if (ΔP>ΔPthreshold)then

    //判斷階段是否變化

    13)

    if((1-Current_progress)>Progressth)then

    //當(dāng)前執(zhí)行進(jìn)度

    14)

    Init parameter train engine;

    15)

    Phase=1;

    //重新進(jìn)入?yún)?shù)訓(xùn)練期

    16)

    else

    //接近末尾,沒必要重新優(yōu)化

    17)

    Apply CurrentK,P;Phase=3;

    //參數(shù)保持不變,進(jìn)入?yún)?shù)應(yīng)用期

    18)

    endif

    19)

    else

    //程序階段沒有變化

    20)

    Apply CurrentK,P;Phase=3;

    21)

    endif

    22)

    endif

    //if prefetch benefit

    幫助線程預(yù)取的自適應(yīng)反饋評(píng)價(jià)算法的核心思想是在程序熱點(diǎn)模塊執(zhí)行過程中,周期性地引入反饋機(jī)制,并對(duì)反饋信息進(jìn)行條件判定,根據(jù)不同的判定結(jié)果,幫助線程的預(yù)取作出不同的控制決策。算法決策輸出有3種情況:1)重新進(jìn)入?yún)?shù)選擇優(yōu)化階段;2)關(guān)閉幫助線程預(yù)??;3)保持當(dāng)前狀態(tài)不變。

    在幫助線程預(yù)取的自適應(yīng)反饋評(píng)價(jià)算法的反饋執(zhí)行過程主要有以下兩個(gè)步驟:

    1)首先判斷當(dāng)前幫助線程預(yù)取是否獲益,主要判斷定義5中ΔCPI的變化。如果預(yù)取獲益為負(fù),即ΔCPI<0,此時(shí)根據(jù)熱點(diǎn)模塊執(zhí)行的當(dāng)前進(jìn)度情況決定是否進(jìn)入重新優(yōu)化階段。如果熱點(diǎn)模塊剩余的執(zhí)行比例不足以完成一個(gè)完整的參數(shù)的訓(xùn)練和參數(shù)應(yīng)用周期,那么在預(yù)取獲益為負(fù)時(shí),直接關(guān)閉幫助線程預(yù)?。环駝t進(jìn)入?yún)?shù)訓(xùn)練期,進(jìn)入重新優(yōu)化階段。

    2)如果預(yù)取獲益為正,即ΔCPI>0,此時(shí)將進(jìn)行程序的階段行為判斷,主要判斷ΔP指標(biāo)的變化。如果程序的運(yùn)行階段行為發(fā)生變化,即ΔP>ΔPthreshold,此時(shí)根據(jù)當(dāng)前執(zhí)行進(jìn)度作出是否進(jìn)入重新優(yōu)化階段的決策;如果程序階段沒有發(fā)生變化或是程序剩余比例不足以完成一個(gè)優(yōu)化周期,那么當(dāng)前的配置參數(shù)保持不變。

    4 實(shí)驗(yàn)評(píng)測(cè)與分析

    4.1 實(shí)驗(yàn)環(huán)境與方法

    表2提供了本文實(shí)驗(yàn)平臺(tái)的關(guān)鍵系統(tǒng)結(jié)構(gòu)信息和操作系統(tǒng)內(nèi)核。

    表2 實(shí)驗(yàn)平臺(tái)參數(shù)及配置

    Intel酷睿Q6600四核處理器內(nèi)部集成了2個(gè)Intel早期的Core2Duo處理器,因此Q6600處理器中的4個(gè)CPU核每兩個(gè)共享一個(gè)容量為4Mb的L2緩存,將這兩4個(gè)CPU處理核分成兩組,分別是以{(0,1)(2,3)}表示。

    基準(zhǔn)測(cè)試程序及輸入?yún)?shù)如表3所示,其中Gcc和Mcf來自于CPUSPEC2006,Mst和Em3d來自于OLDEN基準(zhǔn)測(cè)試程序集。所有的性能指標(biāo)均在Q6600平臺(tái)上進(jìn)行驗(yàn)證測(cè)試。

    表3 基準(zhǔn)測(cè)試程序和輸入集

    基準(zhǔn)測(cè)試程序的運(yùn)行時(shí)間通過在原程序的開頭和結(jié)尾分別插樁時(shí)間函數(shù),計(jì)算被測(cè)試程序的整體運(yùn)行時(shí)間。實(shí)驗(yàn)中通過使用LinuxCPUaffinity接口將目標(biāo)應(yīng)用綁定在共享緩存的處理核上。在IntelQ6600平臺(tái),將程序綁定在處理核組(0,1)或(2,3)。幫助線程的構(gòu)造在源代碼級(jí)通過手工構(gòu)造生成。幫助線程預(yù)取QoS動(dòng)態(tài)采樣及其性能指標(biāo)的評(píng)測(cè)通過采用開源工具庫perfmon2[16]來實(shí)現(xiàn)。該工具利用多核平臺(tái)的PMU部件的事件計(jì)數(shù)中斷來達(dá)到對(duì)主線程執(zhí)行過程中的CPU性能數(shù)據(jù)采樣的目的。數(shù)據(jù)的采樣操作均在操作系統(tǒng)內(nèi)核級(jí)完成,對(duì)用戶空間運(yùn)行的主線程性能影響不是很大。

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

    4.2.1 熱點(diǎn)模塊的程序階段行為分析

    本節(jié)通過實(shí)驗(yàn)采樣原始串行應(yīng)用程序的熱點(diǎn)模塊在執(zhí)行過程中發(fā)生的UNHALTED_CPU_CYCLES和RETIRED_INSTRUCTIONS兩個(gè)性能事件的數(shù)據(jù),然后計(jì)算CPI性能指標(biāo),描述應(yīng)用程序熱點(diǎn)模塊所存在的程序階段行為特征。實(shí)驗(yàn)以Q6600平臺(tái)為平臺(tái)環(huán)境,以Mcf、Em3d和Mst程序?yàn)槔?,采樣周期?00萬條指令。圖2(a)至圖2(c)分別是Mcf、Em3d和Mst三個(gè)測(cè)試程序的熱點(diǎn)模塊CPI采樣結(jié)果,采樣周期為100萬條指令。

    從圖2(a)中可以看出,Mcf原始串行程序的熱點(diǎn)模塊Refresh_potential()在進(jìn)入熱點(diǎn)的開始階段,CPI有逐漸上升的趨勢(shì),當(dāng)在第2 000個(gè)采樣點(diǎn)左右,CPI值接近9,之后的熱點(diǎn)模塊CPI的值均在9左右浮動(dòng)。在圖2(b)中,Em3d程序的熱點(diǎn)模塊fill_from_field()的CPI值基本保持穩(wěn)定,熱點(diǎn)模塊的LLC缺失數(shù)也基本保持穩(wěn)定,程序處于一個(gè)階段,采樣樣本的變異系數(shù)COV為0.009 5。在圖2(c)中,Mst程序的熱點(diǎn)模塊在程序的執(zhí)行過程中,熱點(diǎn)模塊內(nèi)部的熱點(diǎn)循環(huán)的迭代次數(shù)依次遞減,因此總體上看,熱點(diǎn)模塊的CPI值有下降的趨勢(shì)。

    圖2 基準(zhǔn)測(cè)試程序的熱點(diǎn)模塊CPI采樣結(jié)果

    然而,當(dāng)對(duì)采樣數(shù)據(jù)局部放大時(shí),三個(gè)測(cè)試程序的CPI分布如圖3所示。圖3中是前100個(gè)采樣點(diǎn)數(shù)據(jù)。幫助線程預(yù)取動(dòng)態(tài)調(diào)節(jié)算法的基礎(chǔ)就是假設(shè)在同一個(gè)程序階段內(nèi)程序的性能保持相對(duì)穩(wěn)定。從實(shí)驗(yàn)結(jié)果可以看出,三個(gè)程序的局部的CPI變化相對(duì)很小,因此可以用局部等長的執(zhí)行間隔近似評(píng)價(jià)不同預(yù)取策略的預(yù)取質(zhì)量好壞。

    圖3 Mst、Em3d和Mcf程序CPI采樣局部放大

    4.2.2 幫助線程預(yù)取動(dòng)態(tài)反饋評(píng)價(jià)算法解析

    4.2.1節(jié)對(duì)程序熱點(diǎn)模塊的階段行為特征分析發(fā)現(xiàn),Mst程序的熱點(diǎn)模塊在動(dòng)態(tài)執(zhí)行過程中,CPI呈現(xiàn)下降趨勢(shì)。從圖2(c)中的采樣數(shù)據(jù)看,串行程序熱點(diǎn)模塊的CPI采樣數(shù)據(jù)從最開始的13左右浮動(dòng)到最后下降到2~3左右。程序的CPI采樣表現(xiàn)出較大的差異。因此本節(jié)將以Mst程序?yàn)槔?,?duì)幫助線程預(yù)取動(dòng)態(tài)反饋評(píng)價(jià)算法的執(zhí)行過程進(jìn)行解析,以驗(yàn)證程序的正確性。

    1)算法輸入?yún)?shù)閾值。

    算法閾值ΔPthreshold=5%,即兩次階段檢測(cè)期間的CPI均值差異超過5%時(shí),即認(rèn)為程序的執(zhí)行階段發(fā)生了變化。Progressthreshold是指熱點(diǎn)模塊運(yùn)行過程中,至少需要有Progressthreshold比例的程序還未執(zhí)行時(shí),才重新進(jìn)入?yún)?shù)訓(xùn)練期,進(jìn)行參數(shù)的重新選擇和優(yōu)化。算法中將Progressthreshold設(shè)置為參數(shù)訓(xùn)練期長度的2倍,即至少要保證參數(shù)訓(xùn)練完成,并能夠應(yīng)用一個(gè)訓(xùn)練周期。在此次執(zhí)行中,Progressthreshold=0.34%。

    2)算法執(zhí)行過程解析。

    表4是Mst程序應(yīng)用動(dòng)態(tài)反饋評(píng)價(jià)算法的數(shù)據(jù)計(jì)算過程。當(dāng)程序受到系統(tǒng)平臺(tái)、操作系統(tǒng)、緩存狀態(tài)等因素的影響時(shí),程序的CPI性能數(shù)據(jù)也會(huì)發(fā)生變化,算法能夠根據(jù)幫助線程預(yù)取獲益和程序的階段行為作出自適應(yīng)調(diào)整,因此算法再次執(zhí)行時(shí)所得數(shù)據(jù)不一定與表4完全相同,即算法具有自適應(yīng)性特征。

    首先對(duì)表4中各列數(shù)據(jù)的涵義和計(jì)算方法解釋如下。

    第1列,反饋點(diǎn)表示信息反饋的次數(shù),由于Mst程序的熱點(diǎn)模塊被調(diào)用了1萬次,以熱點(diǎn)函數(shù)的1次調(diào)用為執(zhí)行樣本,每調(diào)用1000次進(jìn)行一次信息反饋,因此,反饋點(diǎn)共有10個(gè)。

    第2列,參數(shù)值組合是指參數(shù)K和參數(shù)P的取值組合([K]-[P]),是反饋評(píng)價(jià)算法在執(zhí)行過程中選擇出的適應(yīng)當(dāng)前運(yùn)行階段的較好參數(shù)值組合。

    第3,4列,程序執(zhí)行進(jìn)度以熱點(diǎn)模塊的調(diào)用次數(shù)衡量,即當(dāng)前是第X次調(diào)用,那么當(dāng)前的執(zhí)行進(jìn)度即為(X/10 000)×100%。程序剩余比例用1減去當(dāng)前進(jìn)度得到。

    第5列表示動(dòng)態(tài)采樣得到的CPI均值。每次進(jìn)入反饋算法之后,連續(xù)執(zhí)行10個(gè)采樣執(zhí)行樣本,然后計(jì)算10次采樣CPI的均值??梢钥吹絇0反饋點(diǎn)是首次進(jìn)入反饋,算法只是在關(guān)閉幫助線程預(yù)取的情況下([0]-[0]),采樣主線程的CPI數(shù)據(jù)以備之后階段檢測(cè)使用,之后程序轉(zhuǎn)向參數(shù)訓(xùn)練期繼續(xù)執(zhí)行。

    當(dāng)再次進(jìn)入反饋點(diǎn)后,需要獲得2個(gè)采樣CPI均值,即開啟幫助線程預(yù)取時(shí)的CPI均值和關(guān)閉幫助線程預(yù)取時(shí)的CPI均值。例如反饋點(diǎn)P1中,[460]-[115]即為應(yīng)用該組參數(shù)值時(shí),主線程在采樣區(qū)間內(nèi)的CPI均值,該值用于預(yù)取獲益判定函數(shù)的計(jì)算。P1中的[0]-[0]是指關(guān)閉幫助線程預(yù)取時(shí)采樣主線程的CPI均值,主要用于階段檢測(cè)判定函數(shù)的計(jì)算。

    第6列,ΔP是階段檢測(cè)判定函數(shù)的值,當(dāng)ΔP>ΔPthreshold并且熱點(diǎn)模塊待執(zhí)行的比例大于Progressthreshold時(shí),才重新進(jìn)入?yún)?shù)訓(xùn)練期,重新根據(jù)當(dāng)前執(zhí)行階段進(jìn)行參數(shù)值組合的優(yōu)選。ΔP的計(jì)算通過定義4公式計(jì)算。例如反饋點(diǎn)P1的ΔP計(jì)算是(13.855 60-13.802 48)/13.802 48×100%=0.38%。采用的CPI均值數(shù)據(jù)是關(guān)閉預(yù)取時(shí)的CPI均值。

    第7列,ΔCPI是預(yù)取獲益判定函數(shù)的值。計(jì)算方法為當(dāng)前反饋點(diǎn)內(nèi)關(guān)閉預(yù)取的CPI均值與打開預(yù)取的CPI均值之差。ΔCPI主要用于判定程序當(dāng)前運(yùn)行階段幫助線程預(yù)取是否獲益。

    表4 預(yù)取動(dòng)態(tài)反饋評(píng)價(jià)算法解析過程(Mst為例)

    在明確了表4各列的涵義之后,算法的執(zhí)行過程即是表中從反饋點(diǎn)P0到反饋點(diǎn)P9的過程。從P0到P9的過程中,在P4、P5、P6、P7和P8反饋點(diǎn)分別進(jìn)入了參數(shù)訓(xùn)練期進(jìn)行自適應(yīng)的參數(shù)選擇和優(yōu)化。在P0到P3反饋點(diǎn)區(qū)間,幫助線程的控制參數(shù)保持不變。算法執(zhí)行的結(jié)果與Mst熱點(diǎn)模塊程序階段采樣實(shí)驗(yàn)結(jié)果一致。通過對(duì)Mst熱點(diǎn)模塊的階段行為分析發(fā)現(xiàn),Mst程序在運(yùn)行的開始階段,CPI保持相對(duì)平穩(wěn),同樣幫助線程預(yù)取的自適應(yīng)反饋評(píng)價(jià)算法的結(jié)果在CPI平穩(wěn)時(shí),保持幫助線程的控制參數(shù)不變。應(yīng)用自適應(yīng)預(yù)取反饋算法之后,Mst熱點(diǎn)模塊的性能加速比為1.496。傳統(tǒng)靜態(tài)枚舉方法使得Mst程序熱點(diǎn)模塊的性能加速比為1.524。動(dòng)態(tài)自適應(yīng)方法與靜態(tài)枚舉方法相比,性能相差1.8%,其主要原因在于動(dòng)態(tài)自適應(yīng)反饋算法具有額外的階段檢測(cè)開銷和采樣開銷,算法的性能可以通過減少反饋次數(shù)、調(diào)節(jié)ΔPthreshold和Progressthreshold閾值等進(jìn)一步縮小算法的額外開銷。

    5 結(jié)語

    傳統(tǒng)幫助線程的預(yù)取控制參數(shù)值通過靜態(tài)枚舉獲得,這將是一個(gè)耗時(shí)繁雜的過程,已經(jīng)成為制約幫助線程應(yīng)用推廣的重要因素,因而實(shí)現(xiàn)幫助線程的預(yù)取質(zhì)量的實(shí)時(shí)評(píng)價(jià)是突破這一瓶頸的重要一步。本文在分析幫助線程動(dòng)態(tài)評(píng)價(jià)指標(biāo)的基礎(chǔ)上,對(duì)幫助線程預(yù)取的在線評(píng)價(jià)進(jìn)行了建模分析,結(jié)合實(shí)驗(yàn)評(píng)測(cè)得出如下結(jié)論:1)幫助線程動(dòng)態(tài)預(yù)取性能可以采用CPI指標(biāo)來度量;2)幫助線程不同預(yù)取控制策略的評(píng)價(jià)可以通過動(dòng)態(tài)采樣指令流的方法解決;3)程序階段變化和預(yù)取獲益信息是設(shè)計(jì)自適應(yīng)的預(yù)取反饋評(píng)價(jià)算法的基礎(chǔ)。通過實(shí)驗(yàn)對(duì)提出的評(píng)價(jià)指標(biāo)、采樣機(jī)制和反饋評(píng)價(jià)機(jī)制進(jìn)行了驗(yàn)證,結(jié)果證明提出的評(píng)價(jià)指標(biāo)能夠描述幫助線程預(yù)取服務(wù)的質(zhì)量,提出的自適應(yīng)預(yù)取評(píng)價(jià)方法能夠根據(jù)程序的動(dòng)態(tài)階段行為對(duì)幫助線程控制參數(shù)值作出自適應(yīng)控制和調(diào)節(jié)。下一步的研究工作將對(duì)所提出的算法進(jìn)行詳細(xì)的實(shí)驗(yàn)評(píng)測(cè)與分析。

    References)

    [1] 張建勛,古志民.幫助線程預(yù)取技術(shù)研究綜述[J].計(jì)算機(jī)科學(xué),2013,40(7):19-23.(ZHANG J X, GU Z M.Survey of helper thread prefetching [J].Computer Science, 2013, 40(7): 19-23.)

    [2] LEE J, JUNG C, LIM D, et al.Prefetching with helper threads for loosely coupled multiprocessor systems [J].IEEE Transactions on Parallel and Distributed Systems, 2009, 20(9): 1309-1324.

    [3] GU Z M, FU Y X, ZHENG N H, et al.Improving performance of the irregular data intensive application with small workload for CMPs [C]// ICPPW 2011: Proceedings of 40th International Conference on Parallel Processing Workshops.Piscataway, NJ: IEEE, 2011: 279-288.

    [4] HUANG Y, TANG J, GU Z M, et al.The performance optimization of threaded prefetching for linked data structures [J].International Journal of Parallel Programming, 2012, 40(2): 141-163.

    [5] 張建勛,古志民,胡瀟涵,等.面向非規(guī)則大數(shù)據(jù)分析應(yīng)用的多核幫助線程預(yù)取方法[J].通信學(xué)報(bào),2014,35(8):137-146.(ZHANG J X, GU Z M, HU X H, et al.Multi-core helper thread prefetching for irregular data intensive applications [J].Journal on Communications, 2014, 35(8): 137-146.)

    [6] ALAMLDEEN A R, WOOD D A.Interactions between compression and prefetching in chip multiprocessors [C]// HPCA 2007: Proceedings of the 13th International Symposium of High Performance Computer Architecture.Washington, DC: IEEE Computer Society, 2007: 228-239.

    [7] LEE C J, MUTLU O, NARASIMAN V, et al.Prefetch-aware DRAM controllers [C]// MICRO 2008: Proceedings of the 41st IEEE/ACM International Symposium on Microarchitecture.Washington, DC: IEEE Computer Society, 2008: 200-209.

    [8] ANNAVARAM M, PATEL J M, DAVIDSON E S.Data prefetching by dependence graph precomputation [C]// ISCA 2011: Proceedings of the 28th Annual International Symposium on Computer Architecture.New York: ACM, 2001: 52-61.

    [9] MOSHOVOS A, PNEVMATIKATOS D N, BANIASADI A.Slice-processors: an implementation of operation-based prediction [C]// ICS 2001: Proceedings of the 15th International Conference on Supercomputing.New York: ACM, 2001: 321-334.

    [10] ZILLES C B, SOHI G.Execution-based prediction using speculative slices [C]// ISCA 2001: Proceedings of the 28th Annual International Symposium on Computer Architecture.New York: ACM, 2001: 2-13.

    [11] 歐國東.基于線程的數(shù)據(jù)預(yù)取技術(shù)研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2011.(OU G D.Research on thread-based data prefetching techniques [D].Changsha: National University of Defense Technology, 2011.)

    [12] HOU R, ZHANG L B, HU W W.Accelerating sequential programs on chip multiprocessors via dynamic prefetching thread [J].Microprocessors and Microsystems, 2007, 3(31): 200-211.

    [13] COLLINS J D, WANG H, TULLSEN D M.Speculative precomputation: long-range prefetching of delinquent loads [C]// ISCA 2001: Proceedings of the 28th Annual International Symposium on Computer Architecture.New York: ACM, 2001: 14-25.

    [14] ROTH A, SOHI G S.Speculative data-driven multithreading [C]// HPCA 2001: Proceedings of the 7th International Conference on High Performance Computer Architecture.Washington, DC: IEEE Computer Society, 2001: 191-202.

    [15] WON W R, GAUDIOT J L.Speculative pre-execution assisted by compiler (SPEAR) [J].Journal of Parallel and Distributed Computing, 2006, 66(8): 1076-1089.

    [16] ERANIAN S.Perfmon2 [EB/OL].[2016-04-15].http://perfmon2.sourceforge.net/.

    This work is partially supported by the National Natural Science Foundation of China (61070029, 61370062), the Research Starting Funds of Tianjin University of Technology and Education (KYQD1619).

    ZHANG Jianxun, born in 1978, Ph.D., associate professor.His research interests include multi-core computing, cache performance optimization.

    GU Zhimin, born in 1964, Ph.D., professor.His research interests include multi-core system architecture, cache optimization, energy conservation and performance analysis.

    Real-time online evaluation method of helper thread prefetching quality

    ZHANG Jianxun1*, GU Zhimin2

    (1.CollegeofInformationEngineering,TianjinUniversityofTechnologyandEducation,Tianjin300222,China;2.SchoolofComputerScienceandTechnology,BeijingInstituteofTechnology,Beijing100081,China)

    Focusing on the multifarious and time-consuming optimization process of traditional helper thread parameter value enumeration method, a real-time online helper thread prefetching quality assessment method was proposed.First, the help thread prefetching Quality of Service (QoS) target was defined.Second, the dynamic evaluation index of helper thread prefetching quality was analyzed, as well the helper thread prefetching QoS model.Finally, a dynamic and adaptive helper thread prefetching adjustment algorithm was presented.The algorithm was based on phase behavior and dynamic prefetching benefit information to determine the suitable degree of parameter values, and whether to need feedback optimization, so as to realize the adaptive adjustment and control of helper thread prefetching.By applying the adaptive prefeching algorithm, the speed up of Mst’s hotspot module was 1.496.The experimental results show that the proposed adaptive prefetching evaluation method can control parameter values adaptively according to the dynamic phase behavior and prefetching benefit information.

    helper thread; prefetching quality; evaluation method; performance analysis

    2016-07-29;

    2016-09-01。

    國家自然科學(xué)基金資助項(xiàng)目(61070029, 61370062);天津職業(yè)技術(shù)師范大學(xué)科研啟動(dòng)基金資助項(xiàng)目(KYQD1619)。

    張建勛(1978—),男,河北保定人,副教授,博士,主要研究方向:多核計(jì)算、緩存性能優(yōu)化; 古志民(1964—),男,山西運(yùn)城人,教授,博士生導(dǎo)師,博士,CCF會(huì)員,主要研究方向:多核系統(tǒng)結(jié)構(gòu)、緩存優(yōu)化、節(jié)能和性能分析。

    1001-9081(2017)01-0114-06

    10.11772/j.issn.1001-9081.2017.01.0114

    TP302.7

    A

    猜你喜歡
    主線線程熱點(diǎn)
    熱點(diǎn)
    人物報(bào)道的多維思考、主線聚焦與故事呈現(xiàn)
    活力(2019年17期)2019-11-26 00:42:32
    更加突出主線 落實(shí)四個(gè)到位 推動(dòng)主題教育取得實(shí)實(shí)在在成效
    熱點(diǎn)
    車迷(2019年10期)2019-06-24 05:43:28
    結(jié)合熱點(diǎn)做演講
    快樂語文(2018年7期)2018-05-25 02:32:00
    數(shù)字主線
    淺談linux多線程協(xié)作
    下沉和整合 遼寧醫(yī)改主線
    熱點(diǎn)
    中國記者(2014年6期)2014-03-01 01:39:53
    Linux線程實(shí)現(xiàn)技術(shù)研究
    国产高清有码在线观看视频 | 啦啦啦免费观看视频1| 高潮久久久久久久久久久不卡| www国产在线视频色| 两个人视频免费观看高清| 亚洲成人国产一区在线观看| 亚洲欧美日韩无卡精品| 午夜激情av网站| 怎么达到女性高潮| 亚洲成人久久爱视频| 最近最新中文字幕大全免费视频| 久久久国产精品麻豆| 午夜免费观看网址| 91成人精品电影| 午夜两性在线视频| 精品高清国产在线一区| 欧美一级毛片孕妇| 99riav亚洲国产免费| 亚洲av熟女| 欧美激情极品国产一区二区三区| 哪里可以看免费的av片| 国产高清激情床上av| 午夜视频精品福利| 日韩中文字幕欧美一区二区| 国产伦在线观看视频一区| 亚洲欧洲精品一区二区精品久久久| 18禁黄网站禁片午夜丰满| 啪啪无遮挡十八禁网站| 宅男免费午夜| 此物有八面人人有两片| 一级a爱视频在线免费观看| 久久午夜综合久久蜜桃| 久久精品国产99精品国产亚洲性色| 俺也久久电影网| 久久久久久久精品吃奶| 精品电影一区二区在线| 黄色毛片三级朝国网站| 色尼玛亚洲综合影院| 午夜福利成人在线免费观看| 国产极品粉嫩免费观看在线| 亚洲激情在线av| 欧美激情久久久久久爽电影| 后天国语完整版免费观看| 久久精品aⅴ一区二区三区四区| 女人爽到高潮嗷嗷叫在线视频| 99久久精品国产亚洲精品| 日韩欧美一区二区三区在线观看| 一区二区三区国产精品乱码| 久久久久九九精品影院| 亚洲国产毛片av蜜桃av| 亚洲av成人一区二区三| 最新美女视频免费是黄的| 国产区一区二久久| 国产精品亚洲av一区麻豆| xxxwww97欧美| 在线观看免费午夜福利视频| 人成视频在线观看免费观看| 大型av网站在线播放| 欧美激情高清一区二区三区| 成在线人永久免费视频| 久久久久久大精品| 亚洲精品国产精品久久久不卡| 国产一区二区在线av高清观看| 亚洲精品美女久久av网站| 免费高清视频大片| 久久久久久久午夜电影| 精品久久久久久久毛片微露脸| 叶爱在线成人免费视频播放| 成在线人永久免费视频| 国产亚洲精品久久久久5区| 天天添夜夜摸| 少妇裸体淫交视频免费看高清 | 国产一级毛片七仙女欲春2 | 亚洲五月天丁香| 亚洲精品中文字幕一二三四区| 成在线人永久免费视频| 99国产综合亚洲精品| 亚洲性夜色夜夜综合| 天天添夜夜摸| 国产成人精品久久二区二区91| 日日干狠狠操夜夜爽| 久久中文字幕一级| 欧美成人性av电影在线观看| 黄色视频,在线免费观看| 免费看美女性在线毛片视频| 久久人妻福利社区极品人妻图片| 国内毛片毛片毛片毛片毛片| 制服丝袜大香蕉在线| 国产精品自产拍在线观看55亚洲| 叶爱在线成人免费视频播放| 国产伦人伦偷精品视频| 狠狠狠狠99中文字幕| 亚洲精品中文字幕一二三四区| 亚洲黑人精品在线| 亚洲五月天丁香| 一本一本综合久久| 国产熟女午夜一区二区三区| 久久久精品国产亚洲av高清涩受| 国产成人av教育| 久久精品国产99精品国产亚洲性色| 亚洲一区高清亚洲精品| 在线av久久热| 欧美成人免费av一区二区三区| 精品日产1卡2卡| www.精华液| 亚洲天堂国产精品一区在线| 在线播放国产精品三级| 日韩三级视频一区二区三区| 男女做爰动态图高潮gif福利片| 黄色女人牲交| 亚洲久久久国产精品| 成人亚洲精品一区在线观看| 久久人妻福利社区极品人妻图片| 黄频高清免费视频| 这个男人来自地球电影免费观看| а√天堂www在线а√下载| 欧美黑人巨大hd| 真人一进一出gif抽搐免费| 好男人在线观看高清免费视频 | av免费在线观看网站| 搡老熟女国产l中国老女人| 人人妻人人看人人澡| 国产成+人综合+亚洲专区| 成年版毛片免费区| 亚洲五月色婷婷综合| 一区二区三区高清视频在线| 18禁观看日本| 久久人人精品亚洲av| 黄色女人牲交| 久久香蕉国产精品| 亚洲专区字幕在线| 午夜日韩欧美国产| 日本熟妇午夜| 亚洲中文字幕日韩| 国产精品综合久久久久久久免费| 久久人人精品亚洲av| 一级a爱片免费观看的视频| 亚洲激情在线av| 国产午夜精品久久久久久| 久久久国产精品麻豆| 日日干狠狠操夜夜爽| 丝袜人妻中文字幕| 99久久精品国产亚洲精品| 99久久综合精品五月天人人| 色av中文字幕| 亚洲国产精品久久男人天堂| 久久国产精品人妻蜜桃| 国产亚洲精品综合一区在线观看 | 国产在线精品亚洲第一网站| 在线观看舔阴道视频| 岛国在线观看网站| 99久久久亚洲精品蜜臀av| 他把我摸到了高潮在线观看| 99久久无色码亚洲精品果冻| 亚洲一区高清亚洲精品| 一级毛片高清免费大全| 亚洲午夜精品一区,二区,三区| 侵犯人妻中文字幕一二三四区| 999精品在线视频| 波多野结衣av一区二区av| 黄色女人牲交| 女生性感内裤真人,穿戴方法视频| 黄色视频不卡| 91av网站免费观看| 亚洲黑人精品在线| 国产色视频综合| 久9热在线精品视频| 免费看日本二区| 国产激情久久老熟女| 久久热在线av| 久久久久久久久中文| 天天一区二区日本电影三级| 亚洲电影在线观看av| 久久国产乱子伦精品免费另类| 久久天堂一区二区三区四区| 亚洲av日韩精品久久久久久密| 人成视频在线观看免费观看| tocl精华| 久久久国产成人精品二区| 国产又黄又爽又无遮挡在线| 中文资源天堂在线| 国产精品98久久久久久宅男小说| 久久婷婷成人综合色麻豆| 波多野结衣高清无吗| 午夜a级毛片| 90打野战视频偷拍视频| 免费人成视频x8x8入口观看| 男人操女人黄网站| 色综合欧美亚洲国产小说| 精品久久久久久久久久免费视频| 久久精品国产综合久久久| 亚洲国产精品合色在线| 久久久久久人人人人人| 丁香欧美五月| 免费在线观看完整版高清| 长腿黑丝高跟| 满18在线观看网站| 好男人在线观看高清免费视频 | 悠悠久久av| 久久国产精品男人的天堂亚洲| 亚洲久久久国产精品| 亚洲七黄色美女视频| 免费在线观看黄色视频的| 亚洲第一电影网av| 久久久久久久久中文| 黄色成人免费大全| 日韩欧美 国产精品| 久久精品夜夜夜夜夜久久蜜豆 | 亚洲国产高清在线一区二区三 | 亚洲国产欧洲综合997久久, | 91麻豆av在线| 久久午夜综合久久蜜桃| 中文字幕高清在线视频| 在线观看66精品国产| 亚洲 国产 在线| 91麻豆精品激情在线观看国产| 黄色视频,在线免费观看| 丝袜人妻中文字幕| 亚洲人成伊人成综合网2020| 久久精品国产99精品国产亚洲性色| 美女扒开内裤让男人捅视频| 成人18禁在线播放| 怎么达到女性高潮| 欧美国产精品va在线观看不卡| 午夜激情av网站| 老司机在亚洲福利影院| 女同久久另类99精品国产91| 亚洲全国av大片| 美女免费视频网站| 国产av一区二区精品久久| 在线免费观看的www视频| 淫秽高清视频在线观看| 俄罗斯特黄特色一大片| 亚洲国产欧美一区二区综合| 亚洲色图 男人天堂 中文字幕| 亚洲色图av天堂| 黑人巨大精品欧美一区二区mp4| 亚洲熟女毛片儿| 国产精品影院久久| 美女免费视频网站| 国产黄a三级三级三级人| 69av精品久久久久久| 欧美色视频一区免费| 成人三级做爰电影| 精品日产1卡2卡| 亚洲精品国产一区二区精华液| 中文字幕久久专区| 欧美日韩精品网址| 亚洲国产精品999在线| 久久精品影院6| 一夜夜www| 黄色女人牲交| 天堂动漫精品| 大型av网站在线播放| 黄色 视频免费看| 中文资源天堂在线| 久久国产精品影院| 好男人电影高清在线观看| 国产又爽黄色视频| 国产欧美日韩一区二区三| 99精品欧美一区二区三区四区| 欧美日韩中文字幕国产精品一区二区三区| 一级片免费观看大全| 欧美日韩福利视频一区二区| 中出人妻视频一区二区| 黄片播放在线免费| 日韩国内少妇激情av| 12—13女人毛片做爰片一| 亚洲国产毛片av蜜桃av| 国产三级黄色录像| 大香蕉久久成人网| 首页视频小说图片口味搜索| 国产精品久久电影中文字幕| 国产亚洲欧美精品永久| 欧美zozozo另类| av电影中文网址| 国产精品一区二区三区四区久久 | 午夜福利视频1000在线观看| www.精华液| 亚洲av片天天在线观看| 身体一侧抽搐| 身体一侧抽搐| av有码第一页| 夜夜爽天天搞| 美女扒开内裤让男人捅视频| 老汉色∧v一级毛片| 亚洲精品色激情综合| 久久99热这里只有精品18| 美女大奶头视频| 久久久久久久午夜电影| 天天躁夜夜躁狠狠躁躁| 国产熟女xx| 高潮久久久久久久久久久不卡| 日韩国内少妇激情av| 嫩草影视91久久| 宅男免费午夜| 亚洲人成77777在线视频| av福利片在线| 十分钟在线观看高清视频www| 级片在线观看| 91老司机精品| 亚洲一区二区三区不卡视频| 动漫黄色视频在线观看| 在线观看一区二区三区| 亚洲精品美女久久av网站| 免费人成视频x8x8入口观看| 两性夫妻黄色片| 久久久久精品国产欧美久久久| netflix在线观看网站| 女同久久另类99精品国产91| 国产av在哪里看| 免费av毛片视频| 免费观看人在逋| 老司机午夜十八禁免费视频| 制服人妻中文乱码| 久久久久国产精品人妻aⅴ院| 久久久久久人人人人人| www.999成人在线观看| 精品免费久久久久久久清纯| 亚洲七黄色美女视频| 别揉我奶头~嗯~啊~动态视频| 国产v大片淫在线免费观看| 脱女人内裤的视频| 亚洲中文字幕日韩| 国产精品久久久久久精品电影 | 69av精品久久久久久| 女人被狂操c到高潮| 国产激情欧美一区二区| 亚洲三区欧美一区| 国产精品久久久av美女十八| 亚洲精品色激情综合| 18美女黄网站色大片免费观看| 亚洲第一欧美日韩一区二区三区| 亚洲av成人一区二区三| 女同久久另类99精品国产91| 欧美激情久久久久久爽电影| 少妇 在线观看| 啦啦啦免费观看视频1| 国产精品自产拍在线观看55亚洲| 亚洲av熟女| 老司机福利观看| 可以在线观看的亚洲视频| 91大片在线观看| 美女国产高潮福利片在线看| 最好的美女福利视频网| 亚洲狠狠婷婷综合久久图片| 可以在线观看的亚洲视频| 欧美最黄视频在线播放免费| 国产一级毛片七仙女欲春2 | 男女床上黄色一级片免费看| 99国产精品一区二区蜜桃av| 亚洲av电影不卡..在线观看| 日韩精品中文字幕看吧| 亚洲精品在线观看二区| 国产亚洲欧美在线一区二区| 久久久精品欧美日韩精品| 国产精华一区二区三区| 午夜成年电影在线免费观看| 看片在线看免费视频| 人人妻人人澡欧美一区二区| 露出奶头的视频| 两个人视频免费观看高清| 99久久综合精品五月天人人| 欧美性长视频在线观看| 在线视频色国产色| 啦啦啦 在线观看视频| 麻豆成人午夜福利视频| 香蕉久久夜色| 久久精品人妻少妇| 久久久水蜜桃国产精品网| 又大又爽又粗| 欧美另类亚洲清纯唯美| 黄网站色视频无遮挡免费观看| av欧美777| a级毛片在线看网站| 色av中文字幕| 亚洲人成网站在线播放欧美日韩| 一区福利在线观看| 两个人视频免费观看高清| 国产精品久久电影中文字幕| 日韩精品中文字幕看吧| 亚洲国产精品999在线| 女性生殖器流出的白浆| 欧美中文日本在线观看视频| 人人妻人人看人人澡| 国产又色又爽无遮挡免费看| 两个人视频免费观看高清| 国产精品亚洲av一区麻豆| 亚洲av片天天在线观看| 好男人电影高清在线观看| 色综合站精品国产| 中文字幕精品亚洲无线码一区 | 国产av一区在线观看免费| 国产精品1区2区在线观看.| 免费av毛片视频| 好男人在线观看高清免费视频 | 欧美黑人精品巨大| 男女视频在线观看网站免费 | 51午夜福利影视在线观看| 国产成人一区二区三区免费视频网站| 高潮久久久久久久久久久不卡| 国产精品亚洲一级av第二区| 日韩欧美国产一区二区入口| 久久人妻福利社区极品人妻图片| 在线av久久热| 免费在线观看视频国产中文字幕亚洲| 国产又爽黄色视频| 啪啪无遮挡十八禁网站| www.熟女人妻精品国产| 黑人巨大精品欧美一区二区mp4| 亚洲激情在线av| 久久性视频一级片| 日日爽夜夜爽网站| 天天躁夜夜躁狠狠躁躁| 久久久久久大精品| 欧美丝袜亚洲另类 | 国内精品久久久久精免费| 午夜免费鲁丝| 2021天堂中文幕一二区在线观 | 国产v大片淫在线免费观看| 国产精品亚洲一级av第二区| 19禁男女啪啪无遮挡网站| 非洲黑人性xxxx精品又粗又长| 亚洲av成人一区二区三| 日韩欧美国产一区二区入口| 听说在线观看完整版免费高清| 特大巨黑吊av在线直播 | 99热只有精品国产| 在线观看日韩欧美| 91在线观看av| 欧美一区二区精品小视频在线| 久久精品影院6| 久久久精品国产亚洲av高清涩受| 欧美大码av| 国产午夜福利久久久久久| 黄片小视频在线播放| 国产极品粉嫩免费观看在线| 麻豆一二三区av精品| 亚洲精品在线观看二区| 日韩视频一区二区在线观看| 首页视频小说图片口味搜索| 精品国产乱子伦一区二区三区| 午夜两性在线视频| 久久天堂一区二区三区四区| 久久午夜亚洲精品久久| 看片在线看免费视频| 亚洲国产精品sss在线观看| 亚洲黑人精品在线| 久久久久久久久免费视频了| 国产爱豆传媒在线观看 | 黄色成人免费大全| 欧美黄色片欧美黄色片| 一卡2卡三卡四卡精品乱码亚洲| 最新在线观看一区二区三区| 香蕉久久夜色| 国产不卡一卡二| 国产成人影院久久av| 中文字幕久久专区| 神马国产精品三级电影在线观看 | 成人av一区二区三区在线看| 变态另类丝袜制服| 日韩一卡2卡3卡4卡2021年| 欧美 亚洲 国产 日韩一| 久久精品夜夜夜夜夜久久蜜豆 | 91在线观看av| 欧美av亚洲av综合av国产av| 国产亚洲精品久久久久5区| 99久久国产精品久久久| 亚洲一区二区三区不卡视频| 久久国产精品男人的天堂亚洲| cao死你这个sao货| 中文字幕最新亚洲高清| 亚洲成人免费电影在线观看| 亚洲熟妇熟女久久| 精品熟女少妇八av免费久了| 丁香六月欧美| www.自偷自拍.com| 亚洲狠狠婷婷综合久久图片| 国产亚洲欧美98| 好看av亚洲va欧美ⅴa在| 国产又爽黄色视频| 两性夫妻黄色片| 色播在线永久视频| 国产主播在线观看一区二区| 午夜福利视频1000在线观看| 国产成人精品久久二区二区免费| 在线观看一区二区三区| 久久性视频一级片| 免费无遮挡裸体视频| 久久久国产精品麻豆| 欧美国产日韩亚洲一区| 国产亚洲精品久久久久久毛片| 国产精品日韩av在线免费观看| 精品久久久久久成人av| 男人舔女人的私密视频| 国产成人精品无人区| 精品久久久久久久久久免费视频| 最好的美女福利视频网| 国产精品 国内视频| 99精品在免费线老司机午夜| 久久精品aⅴ一区二区三区四区| 亚洲成人久久爱视频| 国产乱人伦免费视频| 色综合站精品国产| 法律面前人人平等表现在哪些方面| 一边摸一边做爽爽视频免费| 一二三四社区在线视频社区8| 久久久国产成人免费| 亚洲最大成人中文| 日本精品一区二区三区蜜桃| av福利片在线| 亚洲一区中文字幕在线| 亚洲精品美女久久av网站| 精品欧美一区二区三区在线| 一级a爱视频在线免费观看| 女生性感内裤真人,穿戴方法视频| 欧美中文日本在线观看视频| 欧美激情久久久久久爽电影| 国产欧美日韩精品亚洲av| 精品欧美国产一区二区三| 老司机深夜福利视频在线观看| 国产欧美日韩一区二区三| 中文字幕精品亚洲无线码一区 | 精品高清国产在线一区| 日韩欧美一区视频在线观看| 欧美日韩一级在线毛片| 熟妇人妻久久中文字幕3abv| 亚洲第一av免费看| 久9热在线精品视频| 成年版毛片免费区| 女性生殖器流出的白浆| 国产精品永久免费网站| 亚洲片人在线观看| 亚洲成人久久爱视频| 久久香蕉精品热| 亚洲国产精品成人综合色| 日韩国内少妇激情av| 国产三级黄色录像| 成熟少妇高潮喷水视频| 亚洲国产高清在线一区二区三 | 精品久久久久久久末码| 国产亚洲精品av在线| 亚洲成av片中文字幕在线观看| 老司机福利观看| 大型黄色视频在线免费观看| www.www免费av| 超碰成人久久| 女性生殖器流出的白浆| 国产激情久久老熟女| 老熟妇仑乱视频hdxx| a级毛片在线看网站| 成人欧美大片| 成人三级黄色视频| 国产熟女午夜一区二区三区| 亚洲最大成人中文| 天堂动漫精品| 校园春色视频在线观看| 婷婷精品国产亚洲av在线| 国产欧美日韩一区二区精品| 又黄又爽又免费观看的视频| 在线天堂中文资源库| 国产精品 欧美亚洲| av中文乱码字幕在线| 1024手机看黄色片| 在线观看免费视频日本深夜| 最近最新中文字幕大全免费视频| 夜夜躁狠狠躁天天躁| 国内揄拍国产精品人妻在线 | 久久久国产成人精品二区| 黄色 视频免费看| 在线观看免费日韩欧美大片| 妹子高潮喷水视频| 两个人视频免费观看高清| 欧美精品啪啪一区二区三区| 亚洲人成77777在线视频| 亚洲在线自拍视频| 久久精品aⅴ一区二区三区四区| 午夜成年电影在线免费观看| 丁香欧美五月| 国产视频内射| 国产精品综合久久久久久久免费| 99精品久久久久人妻精品| 亚洲成人免费电影在线观看| 国产精品 国内视频| 女同久久另类99精品国产91| 母亲3免费完整高清在线观看| 国产免费男女视频| 久久久国产精品麻豆| xxx96com| 黄网站色视频无遮挡免费观看| 91av网站免费观看| 一级毛片高清免费大全| 日韩三级视频一区二区三区| 91老司机精品| 欧美黑人欧美精品刺激| 成人18禁高潮啪啪吃奶动态图| 美女午夜性视频免费| 久久久久久亚洲精品国产蜜桃av| 亚洲av成人不卡在线观看播放网| 欧美成人一区二区免费高清观看 | 免费在线观看完整版高清| 校园春色视频在线观看| 国产野战对白在线观看| 午夜激情福利司机影院| 村上凉子中文字幕在线| 99久久精品国产亚洲精品| 自线自在国产av| 久久午夜亚洲精品久久| 亚洲av成人不卡在线观看播放网| 一区二区三区精品91| 一级a爱视频在线免费观看| 一区二区三区精品91| 黄网站色视频无遮挡免费观看| 日韩高清综合在线| 色播在线永久视频|