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

    BESIII實(shí)驗(yàn)軟件事例級(jí)并行化研究

    2021-10-28 06:01:42馬震太張曉梅孫功星
    關(guān)鍵詞:緩沖區(qū)線程事例

    馬震太,張曉梅,孫功星

    1.中國(guó)科學(xué)院 高能物理研究所,北京 100049

    2.中國(guó)科學(xué)院大學(xué),北京 100049

    近年來隨著高能物理作業(yè)所需資源的不斷增長(zhǎng),通過不斷增加時(shí)鐘頻率和分配更多物理機(jī)的時(shí)代將趨于終結(jié),未來硬件的特點(diǎn)是更專業(yè)和更多的內(nèi)核,尤其是異構(gòu)資源,為充分利用多核的潛力,并行技術(shù)在高能物理領(lǐng)域勢(shì)必得到廣泛的應(yīng)用。

    并行計(jì)算以充分發(fā)揮硬件的計(jì)算能力為首要目標(biāo),具體實(shí)現(xiàn)時(shí)需結(jié)合體系結(jié)構(gòu)選擇相應(yīng)的解決方案,常見的并行方法有:(1)區(qū)域分解法,把原問題的求解轉(zhuǎn)化為若干子問題的求解。(2)功能分解法,將由不同功能組成的問題,按照其功能進(jìn)行分解,并行求解。(3)流水線技術(shù),常用的時(shí)間并行技術(shù)。(4)分而治之,把復(fù)雜問題劃分為等價(jià)的小問題。按處理器處理數(shù)據(jù)的方式,又分為:(1)同步并行,在某一刻需要與其他處理器進(jìn)行數(shù)據(jù)交換,才能繼續(xù)執(zhí)行。(2)異步并行,不需要處理器之間相互等待,充分發(fā)揮CPU效率[1]。

    國(guó)內(nèi)外常見的并行編程模型主要有以下幾類:(1)共享內(nèi)存模型,如OpenMP[2]、pthreads[3];(2)消息傳遞模型,MPI[4]、虛擬并行機(jī)[5];(3)數(shù)據(jù)并行模型,CUDA[6]、OpenCL[7]、MapReduce[8];(4)混合模型,如MPI+OpenMP模型[9]、MPI+CUDA模型[10]、大規(guī)模并行編程模型[11];(5)基于共享存儲(chǔ)的任務(wù)并行編程模型,如fork-join框架、Cilk++、TPL[12]、TBB[13]。

    北京譜儀(BESIII)是北京正負(fù)電子對(duì)撞機(jī)上的大型通用譜儀,BESIII離線軟件是一個(gè)相當(dāng)復(fù)雜的系統(tǒng),包含了離線數(shù)據(jù)處理框架,模擬、重建、刻度等算法模塊,使用了大量的外部庫(kù),涉及到多種編程語(yǔ)言;需要處理PB級(jí)別的數(shù)據(jù)量,所以并行方案的改善已迫在眉睫。

    本文對(duì)BESIII實(shí)驗(yàn)軟件的并行化展開研究,首先分析了作業(yè)級(jí)并行和序列級(jí)并行的弊端,從而得到內(nèi)存消耗嚴(yán)重和性能損失的根本原因,并由此提出了事例級(jí)并行的解決方案,主要?jiǎng)?chuàng)新點(diǎn)表現(xiàn)在:

    (1)設(shè)立全局緩沖區(qū),提出了事例組的定義,采用分而治之的并行方法,揭示了數(shù)據(jù)粒度是制約并行計(jì)算性能的主要因素。

    (2)設(shè)計(jì)了事例級(jí)并行的框架,核心思想是:采用最佳粒度,在保證并行度的同時(shí),減少通信次數(shù)和通信量,從而使性能加速比接近線性??蚣苤械年P(guān)鍵技術(shù)有信號(hào)量交互機(jī)制、映射表機(jī)制、信號(hào)的發(fā)射與接收、延遲加載技術(shù)、三層映射表。

    (3)結(jié)合實(shí)驗(yàn)數(shù)據(jù),分析事例級(jí)并行相較于作業(yè)級(jí)并行和序列級(jí)并行的性能優(yōu)勢(shì)。

    按操作系統(tǒng)切換上下文環(huán)境的方式,作業(yè)級(jí)并行和序列級(jí)并行皆屬于進(jìn)程級(jí)并行;而事例級(jí)并行則屬于線程級(jí)并行。從處理器處理數(shù)據(jù)的方式,作業(yè)級(jí)并行和序列級(jí)并行屬于同步并行,事例級(jí)并行屬于異步并行。從編程模型的角度,序列級(jí)并行和事例級(jí)并行雖然都選用了任務(wù)并行編程模型,但序列級(jí)并行采用fork-join框架,而事例級(jí)并行則選用TBB。

    1 高能物理傳統(tǒng)并行化方案

    高能物理作業(yè)通常為批處理作業(yè),這些作業(yè)在指定的數(shù)據(jù)集合上,運(yùn)行特定的物理計(jì)算過程,最終產(chǎn)生科學(xué)家們需要的數(shù)據(jù)結(jié)果;包括模擬、重建、刻度、分析等過程,數(shù)據(jù)文件相互獨(dú)立,每個(gè)文件包含若干個(gè)事例,各個(gè)事例數(shù)據(jù)之間相互獨(dú)立。作業(yè)的執(zhí)行過程依次為:讀取待處理數(shù)據(jù),創(chuàng)建并初始化消息服務(wù)、作業(yè)配置服務(wù)、其他必須服務(wù),啟動(dòng)作業(yè)配置選項(xiàng)的頂級(jí)算法,事例處理循環(huán),停止相關(guān)算法和服務(wù),析構(gòu)并釋放資源,作業(yè)結(jié)束;在初始化階段,應(yīng)用軟件會(huì)將大量的庫(kù)文件、通用配置文件、幾何數(shù)據(jù)裝入內(nèi)存[14]。根據(jù)庫(kù)文件和幾何數(shù)據(jù)是否被各個(gè)進(jìn)程所共享,高能物理傳統(tǒng)并行化方案可分為作業(yè)級(jí)并行和序列級(jí)并行。

    高能物理作業(yè)級(jí)并行,對(duì)每個(gè)作業(yè)創(chuàng)建一個(gè)處理進(jìn)程,各個(gè)作業(yè)進(jìn)程之間相互獨(dú)立;每個(gè)作業(yè)進(jìn)程初始化階段都會(huì)向內(nèi)存中讀入大量的庫(kù)文件和幾何數(shù)據(jù),導(dǎo)致內(nèi)存消耗嚴(yán)重;各個(gè)作業(yè)請(qǐng)求的資源直到作業(yè)結(jié)束階段才釋放,致使資源閑置,無(wú)法高效利用;輸出文件由各個(gè)作業(yè)單獨(dú)負(fù)責(zé),得不到統(tǒng)一的管理。作業(yè)級(jí)并行示意圖如圖1所示。

    圖1 作業(yè)級(jí)并行原理Fig.1 Principle of job level parallel

    如圖2所示,為避免作業(yè)級(jí)并行時(shí)庫(kù)文件和幾何數(shù)據(jù)無(wú)法共享所帶來的內(nèi)存浪費(fèi)問題,序列級(jí)并行采用了fork-join框架:父進(jìn)程將庫(kù)文件、幾何數(shù)據(jù)、通用文件裝入內(nèi)存,根據(jù)用戶指定的參數(shù)調(diào)用fork系統(tǒng)啟動(dòng)多個(gè)子進(jìn)程;將多個(gè)文件對(duì)應(yīng)的大量事例數(shù)據(jù)集合,分解成若干事例子集;每個(gè)事例子集對(duì)應(yīng)一個(gè)子進(jìn)程,每個(gè)子進(jìn)程在事例循環(huán)結(jié)束后生成對(duì)應(yīng)的臨時(shí)數(shù)據(jù)文件;父進(jìn)程將所有的臨時(shí)文件排序,形成輸出文件。

    圖2 序列級(jí)并行原理Fig.2 Principle of sequence level parallel

    序列級(jí)并行有助于節(jié)約內(nèi)存,但文件合并階段需要排序工作,資源得不到高效配置;由于臨時(shí)數(shù)據(jù)文件存儲(chǔ)在磁盤中,屬于外部排序。因臨時(shí)數(shù)據(jù)文件中的事例數(shù)據(jù)已經(jīng)是非遞減有序的,所以外部排序算法采用選擇樹進(jìn)行多路合并[15]:假設(shè)事例總數(shù)為m,共存儲(chǔ)在n個(gè)臨時(shí)文件中,查看每個(gè)臨時(shí)文件的第一個(gè)事例,將這n個(gè)首位事例作為n個(gè)終端節(jié)點(diǎn)構(gòu)造二叉樹,自下而上選擇次序小的事例,樹的根部即為次序最小的事例,將這個(gè)事例寫到輸出文件;接著將樹中相應(yīng)的事例替換為該臨時(shí)數(shù)據(jù)文件的下一個(gè)事例,重復(fù)選擇過程,直到所有事例全部輸出到結(jié)果數(shù)據(jù);每次選擇需要lgn次比較,故時(shí)間復(fù)雜度為O(mlgn)。因每個(gè)事例開始執(zhí)行時(shí)需讀取磁盤1次,執(zhí)行結(jié)束寫至臨時(shí)文件需要寫磁盤1次,合并過程需要從磁盤讀取臨時(shí)文件1次,生成最終文件需寫磁盤1次;整個(gè)過程m個(gè)事例共需要I/O操作4m次。圖3展示了兩級(jí)選擇樹進(jìn)行四路合并的樣例,即n=4,m=16 000,共需要32 000次比較操作,64 000次I/O操作。

    圖3 兩級(jí)選擇樹進(jìn)行四路合并Fig.3 Two level selection tree for merge

    2 事例級(jí)并行框架設(shè)計(jì)

    為了提高并行度,需要將一個(gè)錯(cuò)綜復(fù)雜的大任務(wù)拆分成大量可以并行執(zhí)行的子任務(wù),由于各個(gè)事例數(shù)據(jù)之間相互獨(dú)立,故這些子任務(wù)的并行類型為數(shù)據(jù)并行;作業(yè)級(jí)并行選擇以單個(gè)文件全體事例組成的數(shù)據(jù)流作為基本單元,序列級(jí)并行選擇以區(qū)間有序但全部事例失序的子數(shù)據(jù)流作為基本單元,這兩者都不能對(duì)內(nèi)存進(jìn)行統(tǒng)一高效的管理;為解決這一難題,需要重新選擇數(shù)據(jù)并行的粒度。如果以單個(gè)事例作為基本處理單元,便可以產(chǎn)生數(shù)量最多的子任務(wù),取得最高的線程并行度,但同時(shí)也會(huì)產(chǎn)生最高的線程交互開銷;一個(gè)好的粒度應(yīng)該在子任務(wù)并行帶來的性能提升與線程交互的性能開銷中取得最佳平衡點(diǎn)。因此本文提出了事例組的概念,將特定數(shù)目連續(xù)有序的事例視為一個(gè)事例組,選取事例組作為數(shù)據(jù)并行的基本邏輯單元;將若干連續(xù)且按原始順序流動(dòng)的事例組視為隊(duì)列;故而在內(nèi)存中創(chuàng)建全局緩沖區(qū),用于緩存事例數(shù)據(jù),緩沖區(qū)將事例數(shù)據(jù)從輸入文件讀入,在數(shù)據(jù)處理完成后按輸入順序?qū)懙捷敵鑫募小?/p>

    考慮到線程并行共享堆內(nèi)存,可大幅降低內(nèi)存消耗,同時(shí)共享資源可以得到高效管理,故基于事例組創(chuàng)建的各個(gè)子任務(wù)均采用線程實(shí)現(xiàn),這些線程被稱為事例循環(huán)處理線程,線程啟動(dòng)后會(huì)統(tǒng)一提交到TBB并行執(zhí)行。之所以選擇任務(wù)并行編程模型TBB,是因?yàn)門BB從邏輯任務(wù)而非物理線程的角度指定線程功能[16],不用考慮線程的細(xì)節(jié)問題;只需從庫(kù)中選擇高效并行的算法模板,即可得益于處理器高效的多路執(zhí)行而獲得性能提升[2,5]。

    根據(jù)上述思想設(shè)計(jì)的事例級(jí)并行框架如圖4所示,由圖可知,全局緩沖區(qū)中的邏輯單元可以保存任何類型的事例數(shù)據(jù),而各個(gè)并行子任務(wù)為邏輯子任務(wù),框架中只有文件輸入服務(wù)和文件輸出服務(wù)線程與具體文件數(shù)據(jù)相關(guān),故只需創(chuàng)建文件輸入服務(wù)和文件輸出服務(wù)的子類對(duì)象并實(shí)現(xiàn)相關(guān)代碼邏輯,本框架便可推廣到其他物理實(shí)驗(yàn)。現(xiàn)本章將從事例組的定義、事例組的運(yùn)轉(zhuǎn)機(jī)制、如何訪問事例組中的事例數(shù)據(jù)三個(gè)方面對(duì)框架展開闡述。

    圖4 事例級(jí)并行框架設(shè)計(jì)圖Fig.4 Architecture of event level parallel

    2.1 事例組

    緩沖區(qū)中事例數(shù)據(jù)在內(nèi)存中的邏輯層次自上而下為:{事例組先進(jìn)先出隊(duì)列、事例組、事例}。

    (1)事例。由事例頭和事例數(shù)據(jù)組成,事例頭記錄了事例大小、Run號(hào)、事例號(hào)、事例類型、探測(cè)器名,以及各個(gè)子探測(cè)器數(shù)據(jù)位置的偏移地址表;事例數(shù)據(jù)部分由各個(gè)子探測(cè)器的數(shù)據(jù)頭和數(shù)據(jù)部分組成,子探測(cè)器的數(shù)據(jù)頭用于記錄子探測(cè)器標(biāo)識(shí)、數(shù)據(jù)大小、數(shù)據(jù)狀態(tài)。

    (2)事例組。由特定數(shù)目事例構(gòu)成的有序序列;其結(jié)構(gòu)如圖5所示,其中FileID字段標(biāo)識(shí)文件ID,用于標(biāo)記事例組所屬文件上下文環(huán)境;GroupState字段標(biāo)記事例組當(dāng)前狀態(tài),具體狀態(tài)包括:空閑、數(shù)據(jù)準(zhǔn)備就緒、事例循環(huán)正在處理數(shù)據(jù)、數(shù)據(jù)處理完成等待輸出、數(shù)據(jù)占用內(nèi)存可釋放、數(shù)據(jù)錯(cuò)誤。EventCount字段記錄該事例組包含的事例數(shù)目;EventProcessedCount字段用于記錄已處理的事例數(shù)目;CurrentIndex字段用于記錄當(dāng)前正在處理的事例對(duì)應(yīng)的索引位置;EventPtr[n]為一組指向若干事例數(shù)據(jù)入口地址的指針。事例組支持對(duì)應(yīng)線程存取數(shù)據(jù)。

    圖5 事例組數(shù)據(jù)結(jié)構(gòu)圖Fig.5 Data structure of event group

    (3)事例組先進(jìn)先出隊(duì)列。由若干事例組按先進(jìn)先出原則構(gòu)成的有序隊(duì)列,隊(duì)列尾端只允許插入操作,首端只允許刪除操作。

    由于輸入文件包含的事例數(shù)目一定,故事例組數(shù)目和事例組大小成反比關(guān)系。當(dāng)事例組包含的事例數(shù)目太多時(shí),則事例組分配給事例循環(huán)線程后,需要較多的計(jì)算時(shí)間才能處理完畢,在程序運(yùn)行前期,由于事例組數(shù)目較多,每個(gè)線程都能分配到自己所屬的事例組,但在程序運(yùn)行后期,由于事例組數(shù)目逐漸減少,只有部分線程分配到事例組,其他線程則處于閑置狀態(tài),極端的情況就是整個(gè)事例組先進(jìn)先出隊(duì)列只有一個(gè)事例組,此時(shí)整個(gè)程序運(yùn)行期間只有一個(gè)事例循環(huán)處理線程執(zhí)行全部事例的計(jì)算工作,導(dǎo)致CPU時(shí)間得不到充分利用,造成性能低下。當(dāng)事例組包含的事例數(shù)目太少時(shí),則事例循環(huán)處理線程只用少量時(shí)間即可完成事例組的計(jì)算量,極端情況是一個(gè)事例組只包含一個(gè)事例,這樣每處理一個(gè)事例都要請(qǐng)求一次事例組,事例循環(huán)處理線程需要頻繁請(qǐng)求事例組,大量的時(shí)間被浪費(fèi)在事例組調(diào)度方面,事例計(jì)算時(shí)間所占比重嚴(yán)重下滑,同樣會(huì)造成性能低下。事例的計(jì)算時(shí)間和事例組的大小,與框架性能有著緊密的關(guān)系。對(duì)于真實(shí)的BESIII實(shí)驗(yàn)數(shù)據(jù)處理中,由于作業(yè)的各種參數(shù)很難做出正確的預(yù)估,故對(duì)大量有代表性的作業(yè),選用不同的事例組尺寸進(jìn)行實(shí)驗(yàn),得出該作業(yè)的事例組大小取值區(qū)間;將作業(yè)類型與事例組大小的取值區(qū)間錄入作為訓(xùn)練集,建立線性模型,采用最小二乘法進(jìn)行學(xué)習(xí),取得了優(yōu)良的效果。

    2.2 運(yùn)轉(zhuǎn)機(jī)制

    為了讓事例組和各個(gè)工作線程正常交互,需要追蹤事例組的狀態(tài)并設(shè)置狀態(tài)機(jī),如圖6所示,事例組的狀態(tài)有:空閑、數(shù)據(jù)就緒、處理中、處理完成。文件輸入線程在初始化文件上下文環(huán)境后,向全局緩沖區(qū)請(qǐng)求分配處于空閑狀態(tài)的事例組,將原始文件中的事例數(shù)據(jù)按序讀入事例組,在數(shù)據(jù)輸入完成后置事例組為數(shù)據(jù)就緒狀態(tài);各個(gè)事例循環(huán)處理線程向全局緩沖區(qū)申請(qǐng)分配數(shù)據(jù)就緒狀態(tài)的事例組,分配成功后置事例組狀態(tài)為處理中,在事例組中的全部事例處理完成后,置事例組狀態(tài)為處理完成;文件輸出線程按事例組的輸入順序,依次將處理完成狀態(tài)事例組的數(shù)據(jù)寫到磁盤文件后,重置事例組為空閑狀態(tài)。

    圖6 事例組狀態(tài)機(jī)Fig.6 State machine of event group

    為同步處于不同狀態(tài)事例組的數(shù)目,本文設(shè)計(jì)了三個(gè)信號(hào)量:記錄處于空閑狀態(tài)事例組數(shù)目的信號(hào)量EmptyStateSemaphore,記錄處于數(shù)據(jù)就緒狀態(tài)事例組數(shù)目的信號(hào)量ReadyStateSemaphore,記錄處于處理完成狀態(tài)事例組數(shù)目的信號(hào)量ProcessedStateSemaphore。圖7中的P、V操作[17]為信號(hào)量操作原語(yǔ):(1)P操作,當(dāng)該信號(hào)量大于零時(shí),將信號(hào)量減一,否則調(diào)用P操作的線程等待,直至該信號(hào)量大于零;(2)V操作,將對(duì)應(yīng)信號(hào)量加一。信號(hào)量變化過程詳述如下:

    圖7 事例組信號(hào)量變化圖Fig.7 Semaphore variation diagram of event group

    (1)文件輸入線程對(duì)EmptyStateSemaphore執(zhí)行P操作以檢查是否存在空閑狀態(tài)的事例組:如存在則讀入新的事例數(shù)據(jù),事例讀入結(jié)束后,轉(zhuǎn)換狀態(tài){空閑→數(shù)據(jù)就緒},然后對(duì)ReadyStateSemaphore執(zhí)行V操作;否則等待。

    (2)每個(gè)事例循環(huán)處理線程都會(huì)向全局緩沖區(qū)發(fā)出請(qǐng)求,緩沖區(qū)查詢映射表:若為新的線程,對(duì)ReadyState-Semaphore執(zhí)行P操作,將分配的事例組轉(zhuǎn)換狀態(tài){數(shù)據(jù)就緒→處理中},并更新映射表和文件上下文;若為映射表中已存在的線程,則返回對(duì)應(yīng)事例組中下個(gè)事例。

    (3)當(dāng)事例組中的事例全部處理完成,則將該事例組轉(zhuǎn)換狀態(tài){處理中→處理完成},對(duì)ProcessedState-Semaphore執(zhí)行V操作;然后尋找新的事例組,并檢查文件上下文根據(jù)需要進(jìn)行更新。由于所有事例循環(huán)處理線程對(duì)事例組的競(jìng)爭(zhēng)全部集中在{數(shù)據(jù)就緒→處理中}這一狀態(tài)轉(zhuǎn)換,選擇事例組為粒度顯著降低了加鎖的開銷。

    (4)文件輸出線程對(duì)ProcessedStateSemaphore執(zhí)行P操作,將狀態(tài)為處理完成的事例組輸出到磁盤,轉(zhuǎn)換狀態(tài){處理完成→空閑},對(duì)EmptyStateSemaphore執(zhí)行V操作。

    狀態(tài)機(jī)和信號(hào)量的設(shè)置,保證了事例數(shù)據(jù)自始至終按原序存儲(chǔ),不再發(fā)生任何變更,避免了復(fù)雜的合并排序工作;由于文件輸入輸出線程以事例組為單位與磁盤交互,假設(shè)一個(gè)事例組包含1 000個(gè)事例,則與圖3相比,不需要比較操作,只需32次I/O操作;與序列級(jí)并行相比,I/O性能有了質(zhì)的飛躍。

    2.3 數(shù)據(jù)訪問

    至此,本文確定了事例組的運(yùn)轉(zhuǎn)機(jī)制,現(xiàn)在只需將不同的事例組以特定模式分派到處理器上,即可支持各個(gè)事例循環(huán)處理線程訪問事例數(shù)據(jù);事例組的調(diào)度策略由TBB負(fù)責(zé)執(zhí)行,采用寬度優(yōu)先和深度優(yōu)相結(jié)合的方法:寬度優(yōu)先用于提高并行度,保持CPU繁忙,深度優(yōu)先則促使線程高效執(zhí)行。為了按特定事例組中的原始順序訪問事例數(shù)據(jù),需建立兩張映射表,一張為每個(gè)事例循環(huán)處理線程與對(duì)應(yīng)事例組的映射表,用于分配事例數(shù)據(jù);另一張為每個(gè)事例循環(huán)處理線程與對(duì)應(yīng)文件上下文環(huán)境的映射表,用于更新文件上下文環(huán)境。

    每個(gè)事例循環(huán)線程請(qǐng)求事例數(shù)據(jù)的流程如圖8所示,全局緩沖區(qū)首先查詢線程與事例組映射表:

    圖8 線程請(qǐng)求事例流程圖Fig.8 Flow chart of requesting event

    (1)如果為新的線程,則獲取處于數(shù)據(jù)就緒狀態(tài)的事例組分配給線程,更新映射表,設(shè)置事例組狀態(tài)為處理中,根據(jù)事例組FileID字段初始化文件上下文環(huán)境,讀取事例數(shù)據(jù)開始處理。

    (2)如果映射表已經(jīng)存在該線程的記錄,則獲得對(duì)應(yīng)事例組,判斷當(dāng)前事例組是否已經(jīng)處理完成,若尚未處理完成的話,直接獲取下個(gè)事例。

    (3)如果事例組的事例數(shù)據(jù)已經(jīng)全部處理完成,則更新事例組的狀態(tài)為處理完成;向全局緩沖區(qū)請(qǐng)求新的事例組,如果當(dāng)前沒有處于數(shù)據(jù)就緒狀態(tài)的事例組,則線程進(jìn)入阻塞狀態(tài),直到有數(shù)據(jù)就緒狀態(tài)的事例組出現(xiàn)。

    (4)如果全局緩沖區(qū)中存在數(shù)據(jù)就緒狀態(tài)的事例組,則更新映射表,并設(shè)置該事例組狀態(tài)為處理中,檢測(cè)事例組FileID字段與線程的文件上下文環(huán)境是否一致。

    (5)如果文件發(fā)生變更,則調(diào)用文件只讀服務(wù)更新文件上下文環(huán)境。

    3 文件I/O

    作業(yè)級(jí)并行和序列級(jí)并行這兩種方案的事例處理過程皆是一個(gè)循環(huán)的過程,作業(yè)級(jí)并行每個(gè)作業(yè)的循環(huán)次數(shù)取決于作業(yè)輸入文件所包含的事例數(shù)目,序列級(jí)并行每個(gè)進(jìn)程的循環(huán)次數(shù)取決于對(duì)應(yīng)的事例子集所包含的事例數(shù);該循環(huán)過程分為三個(gè)階段:事例讀取、事例數(shù)據(jù)處理、事例存儲(chǔ);這種循環(huán)機(jī)制既導(dǎo)致I/O操作頻繁,又容易產(chǎn)生大量?jī)?nèi)存碎片。事例級(jí)并行由于全局緩沖區(qū)和信號(hào)量機(jī)制的支持,使得文件輸入線程、文件輸出線程、事例處理線程可以并行工作,徹底消除了循環(huán)機(jī)制所帶來的弊端,本章對(duì)事例級(jí)并行的文件I/O具體技術(shù)展開詳述。

    BESIII實(shí)驗(yàn)軟件數(shù)據(jù)文件自頂向下分為四層結(jié)構(gòu):目錄、樹、分枝、葉子,但大多數(shù)情況下,用戶只需訪問其中的部分?jǐn)?shù)據(jù)。為避免讀入大量的無(wú)效數(shù)據(jù),采用了延遲加載技術(shù),如圖9所示,只將數(shù)據(jù)指針讀入內(nèi)存,僅當(dāng)事例處理線程訪問相應(yīng)數(shù)據(jù)時(shí),才會(huì)請(qǐng)求文件只讀服務(wù),通過事例對(duì)象指針,獲取線程對(duì)應(yīng)的分支管理器,進(jìn)而調(diào)用分枝搜索算法在線程本地已知樹列表中查找所需樹的指針,最終將磁盤數(shù)據(jù)讀入內(nèi)存;延遲加載的應(yīng)用,顯著提高了內(nèi)存利用率。實(shí)驗(yàn)軟件還提供了分枝選擇服務(wù),用于篩選用戶感興趣的事例數(shù)據(jù),進(jìn)一步減少冗余的讀寫操作,提升I/O性能。

    圖9 事例級(jí)并行數(shù)據(jù)服務(wù)圖Fig.9 Data service diagram of event level parallel

    原始數(shù)據(jù)一般以字節(jié)流形式存儲(chǔ)于文件中,由文件輸入服務(wù)線程將字節(jié)流數(shù)據(jù)讀入到內(nèi)存,內(nèi)存中的字節(jié)流形成一個(gè)完整邏輯事例單元;字節(jié)流解包服務(wù)可以很方便地獲得各部分?jǐn)?shù)據(jù),文件輸出服務(wù)線程則按順序?qū)⑦壿嬍吕龁卧獙懭氲街付ǖ淖止?jié)流文件中[18]。如圖10所示,在數(shù)據(jù)存儲(chǔ)管理器初始化后,當(dāng)每個(gè)事例循環(huán)執(zhí)行時(shí),向信號(hào)管理器發(fā)送“事例開始”信號(hào),信號(hào)管理器通過信號(hào)句柄請(qǐng)求事例,進(jìn)而訪問全局緩沖區(qū)獲得下個(gè)事例。每個(gè)事例循環(huán)處理線程都會(huì)設(shè)置一個(gè)監(jiān)視器,用于控制事例執(zhí)行過程中的各個(gè)步驟,以便在事例發(fā)生錯(cuò)誤和異常時(shí)及時(shí)做出響應(yīng),避免造成硬件資源的浪費(fèi)。

    圖10 事例級(jí)并行事例獲取流程圖Fig.10 Flow chart of distributing event data

    元組輸出為分析作業(yè)獨(dú)有的輸出方式;針對(duì)事例級(jí)并行的元組輸出,本文建立了三層映射:在作業(yè)腳本配置時(shí),由用戶設(shè)置第一層映射,“邏輯文件名”→“物理文件路徑”;在并行緩沖區(qū)合并服務(wù)初始化階段建立第二層映射,“邏輯文件名”→“緩存合并管理器(TBuffer-Merger)”;在用戶算法初始化階段建立第三層映射,“<線程ID,邏輯文件名>”→“臨時(shí)緩存”、“數(shù)據(jù)樹”→“臨時(shí)緩存”。在線程處理事例循環(huán)時(shí),線程只需填充對(duì)應(yīng)的樹。最終化階段,根據(jù)線程ID和邏輯文件名,查詢映射表,獲取對(duì)應(yīng)的臨時(shí)緩存,將數(shù)據(jù)文件輸出到磁盤;原理如圖11所示。

    圖11 事例級(jí)并行Tuple輸出原理圖Fig.11 Tuple output principle of event level parallel

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

    目前BESIII軟件依賴的外部庫(kù)皆為串行版本,并行版本算法庫(kù)的開發(fā)工作尚需較多的人力物力才能完成,為預(yù)測(cè)事例級(jí)并行方案在BESIII中的性能趨勢(shì),本實(shí)驗(yàn)將真實(shí)BESIII實(shí)驗(yàn)數(shù)據(jù)處理中比較耗時(shí)的熱點(diǎn)過程相關(guān)代碼移植為并行版本,進(jìn)行測(cè)試,從而更準(zhǔn)確地預(yù)測(cè)事例級(jí)并行的優(yōu)勢(shì)所在。為了實(shí)驗(yàn)數(shù)據(jù)更加精確,實(shí)驗(yàn)數(shù)據(jù)取50輪測(cè)試數(shù)據(jù)的平均值,本文實(shí)驗(yàn)環(huán)境詳見表1。

    表1 實(shí)驗(yàn)環(huán)境Table 1 Experimental environment

    圖13 PMT信號(hào)處理過程性能對(duì)比Fig.13 Performance contrast of PMT signal processing

    圖14 點(diǎn)搜索過程性能對(duì)比Fig.14 Performance contrast of locating point

    圖15 截面計(jì)算過程性能對(duì)比Fig.15 Performance contrast of calculating cross sections

    BESIII事例類型包括模擬、重建、物理分析,模擬用于研究高能物理實(shí)驗(yàn)中各種隨機(jī)物理過程,以及物理量的統(tǒng)計(jì)分布,全面地反映相關(guān)物理量的統(tǒng)計(jì)性質(zhì)。模擬作業(yè)熱點(diǎn)過程的實(shí)驗(yàn)數(shù)據(jù)如圖12~17所示,相較于作業(yè)級(jí)并行,隨機(jī)數(shù)生成過程的序列級(jí)并行性能提升1.6%~5.3%,事例級(jí)并行性能提升4.6%~13.9%;PMT信號(hào)處理過程的序列級(jí)并行性能提升2.5%~6.6%,事例級(jí)并行性能提升5.1%~15.4%;點(diǎn)搜索過程的序列級(jí)并行性能提升3%~7.2%,事例級(jí)并行性能提升5.8%~14.5%;截面計(jì)算過程的序列級(jí)并行性能提升2.5%~5.7%,事例級(jí)并行性能提升5.2%~14.2%;Hit算法的序列級(jí)并行性能提升1.1%~4.1%,事例級(jí)并行性能提升3.7%~12%;體素查找過程的序列級(jí)并行性能提升2.3%~4.1%,事例級(jí)并行性能提升3.2%~9.6%。

    圖12 隨機(jī)數(shù)生成過程性能對(duì)比Fig.12 Performance contrast of random number generation

    事例重建是利用相應(yīng)的刻度常數(shù)對(duì)原始數(shù)據(jù)進(jìn)行修正,將原始數(shù)據(jù)中的數(shù)字信號(hào)還原為粒子的位置、能量、動(dòng)量等物理量,最終形成重建數(shù)據(jù)交給物理分析人員。重建作業(yè)熱點(diǎn)過程如圖18~21所示,相較于作業(yè)級(jí)并行,磁場(chǎng)求解過程的序列級(jí)并行性能提升2.1%~4%,事例級(jí)并行性能提升2.6%~7.9%;高能物理熱點(diǎn)矢量混合運(yùn)算的序列級(jí)并行性能提升1.8%~5.4%,事例級(jí)并行性能提升2.9%~11.8%;軌跡追蹤算法的事例級(jí)并行性能提升1.3%~2.9%,事例級(jí)并行性能提升1.5%~5.2%;路徑求解算法的序列級(jí)并行性能提升3.2%~7.6%,事例級(jí)并行性能提升3.5%~16.2%。

    圖16 Hit算法性能對(duì)比Fig.16 Performance contrast of Hit algorithm

    圖17 體素查找過程性能對(duì)比Fig.17 Performance contrast of locating voxel

    圖18 磁場(chǎng)求解過程性能對(duì)比Fig.18 Performance contrast of magnetic field computing

    圖19 高能物理熱點(diǎn)矢量混合運(yùn)算性能對(duì)比Fig.19 Performance contrast of hot vector operation

    圖20 軌跡追蹤算法性能對(duì)比Fig.20 Performance contrast of trajectory tracking

    圖21 路徑求解算法性能對(duì)比Fig.21 Performance contrast of calculating path

    相較于作業(yè)級(jí)并行,模擬作業(yè)和重建作業(yè)熱點(diǎn)過程的序列級(jí)并行性能提升幅度不大,這是由于序列級(jí)并行雖然消除了重復(fù)的初始化過程且減少了冗余I/O,但引入了復(fù)雜的事例排序;事例級(jí)并行方案能獲得如此顯著的性能提升,說明事例組運(yùn)轉(zhuǎn)機(jī)制是有效的。

    物理分析是根據(jù)科研人員的具體需要,對(duì)不同的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行綜合的計(jì)算和統(tǒng)計(jì),進(jìn)而獲得所需的物理結(jié)果。分析作業(yè)熱點(diǎn)過程如圖22~23所示:相較于作業(yè)級(jí)并行,衰變樹處理過程序列級(jí)并行性能提升4.8%~9.7%,事例級(jí)并行性能提升5.3%~19.8%;射線處理過程序列級(jí)并行性能提升2.8%~7.5%,事例級(jí)并行性能提升6.5%~26.7%。

    圖22 衰變樹處理過程性能對(duì)比Fig.22 Performance contrast of Decay Tree

    事例級(jí)并行以事例組為粒度,保證了事例數(shù)據(jù)在與輸入線程、輸出線程、事例處理循環(huán)線程交互時(shí)的順序流動(dòng),消除了無(wú)效的內(nèi)存浪費(fèi),最終大幅提升了分析作業(yè)的文件I/O效率;由于射線處理過程采用前文所述的三層映射,雖然有一定的內(nèi)存損耗,但性能提升顯著?,F(xiàn)對(duì)上述兩個(gè)過程的內(nèi)存消耗進(jìn)行對(duì)比測(cè)試,實(shí)驗(yàn)數(shù)據(jù)如圖24、25所示:相較于作業(yè)級(jí)并行,衰變樹過程序列級(jí)并行內(nèi)存用量降低5.6%~28.7%,事例級(jí)并行內(nèi)存用量降低12.9%~46.5%;射線處理過程序列級(jí)并行內(nèi)存用量降低3.5%~19.6%,事例級(jí)并行內(nèi)存用量降低9.2%~25.8%。

    圖23 射線處理過程性能對(duì)比Fig.23 Performance contrast of ray processing

    圖24 衰變樹內(nèi)存消耗量對(duì)比Fig.24 Performance contrast of Decay Tree memory consumption

    圖25 射線處理過程內(nèi)存消耗量對(duì)比Fig.25 Performance contrast of ray processing memory consumption

    5 結(jié)束語(yǔ)

    本文實(shí)驗(yàn)結(jié)果總體是令人滿意的,但實(shí)驗(yàn)軟件目前并不支持異構(gòu)平臺(tái)[19];而且當(dāng)事例中某個(gè)算法長(zhǎng)時(shí)間占用某類資源,事例級(jí)并行將會(huì)出現(xiàn)其他資源閑置的情況;在以后的實(shí)驗(yàn)中,將針對(duì)算法和數(shù)據(jù)的依賴關(guān)系建立有向無(wú)環(huán)圖[20],將控制流信息和數(shù)據(jù)流信息集成在圖中,采用關(guān)鍵路徑和性能權(quán)重表相結(jié)合的解決方案,以期在異構(gòu)平臺(tái)上能充分利用硬件資源,取得理想的實(shí)驗(yàn)效果。

    猜你喜歡
    緩沖區(qū)線程事例
    嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計(jì)與實(shí)現(xiàn)
    傳神寫照,意味深長(zhǎng)——寫人要關(guān)注具體事例和細(xì)節(jié)
    作文想好,“事例”不能少
    中國(guó)十大憲法事例(2017)
    淺談linux多線程協(xié)作
    關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
    Linux線程實(shí)現(xiàn)技術(shù)研究
    地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計(jì)與實(shí)現(xiàn)
    電視技術(shù)(2012年1期)2012-06-06 08:13:58
    中國(guó)十大憲法事例(2012)
    男人操女人黄网站| 在线观看www视频免费| 久久久国产欧美日韩av| 国产精品自产拍在线观看55亚洲| 亚洲人成伊人成综合网2020| 亚洲中文日韩欧美视频| 日本免费一区二区三区高清不卡 | 国产成人av激情在线播放| 国产精品乱码一区二三区的特点 | 法律面前人人平等表现在哪些方面| 国产亚洲精品av在线| 久久人人97超碰香蕉20202| 亚洲成av片中文字幕在线观看| 人成视频在线观看免费观看| 国产精品永久免费网站| 国产精品98久久久久久宅男小说| 国产一区在线观看成人免费| 国产一区二区三区在线臀色熟女| 精品一区二区三区四区五区乱码| 香蕉久久夜色| 亚洲第一av免费看| 日韩av在线大香蕉| 可以免费在线观看a视频的电影网站| 亚洲中文日韩欧美视频| 精品久久久久久,| 大陆偷拍与自拍| 国产欧美日韩综合在线一区二区| 色综合婷婷激情| 成人av一区二区三区在线看| 成人亚洲精品一区在线观看| 两人在一起打扑克的视频| 一级毛片高清免费大全| 欧美日本亚洲视频在线播放| 男女之事视频高清在线观看| 日本三级黄在线观看| 老熟妇乱子伦视频在线观看| 他把我摸到了高潮在线观看| 成人手机av| 国产精品一区二区在线不卡| 久久精品91蜜桃| 国产91精品成人一区二区三区| a级毛片在线看网站| 法律面前人人平等表现在哪些方面| 女性被躁到高潮视频| 亚洲国产精品sss在线观看| 久久中文字幕一级| 老司机福利观看| 亚洲自偷自拍图片 自拍| av中文乱码字幕在线| 久久久国产精品麻豆| 国产精品美女特级片免费视频播放器 | 午夜福利高清视频| av在线天堂中文字幕| 日本撒尿小便嘘嘘汇集6| 看黄色毛片网站| 国产高清视频在线播放一区| 精品久久久久久久毛片微露脸| 别揉我奶头~嗯~啊~动态视频| 人妻丰满熟妇av一区二区三区| 黄色 视频免费看| АⅤ资源中文在线天堂| 精品熟女少妇八av免费久了| 波多野结衣巨乳人妻| 男人舔女人的私密视频| 国内毛片毛片毛片毛片毛片| 亚洲第一欧美日韩一区二区三区| 国产精品1区2区在线观看.| 久久亚洲精品不卡| tocl精华| 咕卡用的链子| avwww免费| 啪啪无遮挡十八禁网站| 久久人人爽av亚洲精品天堂| 久久人人97超碰香蕉20202| 90打野战视频偷拍视频| 国产麻豆69| 99国产精品99久久久久| 久久人人精品亚洲av| 国内毛片毛片毛片毛片毛片| www国产在线视频色| 中文字幕精品免费在线观看视频| 精品人妻在线不人妻| 国产精品 国内视频| 国产片内射在线| 精品少妇一区二区三区视频日本电影| 91精品三级在线观看| 别揉我奶头~嗯~啊~动态视频| 国产成人免费无遮挡视频| 男人舔女人的私密视频| 国产成人精品久久二区二区91| 久久精品国产99精品国产亚洲性色 | 亚洲精品一区av在线观看| 国产精品自产拍在线观看55亚洲| 久久伊人香网站| 亚洲五月色婷婷综合| 国产私拍福利视频在线观看| 人人妻人人澡人人看| 午夜日韩欧美国产| 巨乳人妻的诱惑在线观看| 99国产精品一区二区蜜桃av| 黑人欧美特级aaaaaa片| av天堂在线播放| 免费观看人在逋| 中出人妻视频一区二区| 亚洲三区欧美一区| 国产精品爽爽va在线观看网站 | 一区二区日韩欧美中文字幕| 精品欧美国产一区二区三| 丁香六月欧美| 亚洲国产毛片av蜜桃av| 午夜免费激情av| 怎么达到女性高潮| 久久久国产欧美日韩av| 黄片大片在线免费观看| 午夜日韩欧美国产| 久久精品国产亚洲av香蕉五月| 一边摸一边抽搐一进一小说| 波多野结衣巨乳人妻| 精品久久久久久,| 色播亚洲综合网| 亚洲精品国产色婷婷电影| 久久精品91蜜桃| 国产一区二区在线av高清观看| 久久久国产成人免费| 看黄色毛片网站| 久久国产精品男人的天堂亚洲| 最近最新免费中文字幕在线| 国产精品野战在线观看| 中文字幕人成人乱码亚洲影| 如日韩欧美国产精品一区二区三区| 黄色毛片三级朝国网站| 国产不卡一卡二| 午夜福利在线观看吧| 两个人看的免费小视频| 久久国产乱子伦精品免费另类| 亚洲国产精品成人综合色| 色av中文字幕| 国产精品综合久久久久久久免费 | 国产99久久九九免费精品| 欧美+亚洲+日韩+国产| 国产伦人伦偷精品视频| 欧美一级a爱片免费观看看 | 日韩精品青青久久久久久| 久久人妻福利社区极品人妻图片| 最新美女视频免费是黄的| 悠悠久久av| or卡值多少钱| 色av中文字幕| 成人国产一区最新在线观看| 色精品久久人妻99蜜桃| 国产成人精品久久二区二区免费| 国产免费av片在线观看野外av| 亚洲色图 男人天堂 中文字幕| 午夜日韩欧美国产| 久久精品国产亚洲av香蕉五月| 国产av又大| 国产亚洲精品av在线| 亚洲精品久久成人aⅴ小说| 青草久久国产| 亚洲va日本ⅴa欧美va伊人久久| 他把我摸到了高潮在线观看| 18禁黄网站禁片午夜丰满| 欧美国产精品va在线观看不卡| 一进一出好大好爽视频| 桃色一区二区三区在线观看| 亚洲熟女毛片儿| 久久久久久国产a免费观看| 亚洲第一欧美日韩一区二区三区| 日韩免费av在线播放| 亚洲七黄色美女视频| 国产片内射在线| 91字幕亚洲| 日日干狠狠操夜夜爽| 日韩欧美在线二视频| 亚洲成人免费电影在线观看| 香蕉丝袜av| 正在播放国产对白刺激| 人人妻人人澡欧美一区二区 | 黄色 视频免费看| 精品国产乱码久久久久久男人| www.熟女人妻精品国产| 午夜免费成人在线视频| 中国美女看黄片| 91精品国产国语对白视频| 亚洲国产看品久久| 18禁黄网站禁片午夜丰满| 成人国产综合亚洲| 久久久水蜜桃国产精品网| 亚洲成国产人片在线观看| 黑人巨大精品欧美一区二区mp4| 国产亚洲欧美在线一区二区| 级片在线观看| av中文乱码字幕在线| 久久精品91无色码中文字幕| 亚洲国产欧美网| 一区福利在线观看| 精品无人区乱码1区二区| 欧美 亚洲 国产 日韩一| 18禁国产床啪视频网站| 老司机午夜福利在线观看视频| 亚洲欧美激情在线| 日日干狠狠操夜夜爽| 夜夜躁狠狠躁天天躁| 久久国产乱子伦精品免费另类| 午夜福利视频1000在线观看 | 欧美成人一区二区免费高清观看 | 电影成人av| 国产1区2区3区精品| 亚洲片人在线观看| 国产精品美女特级片免费视频播放器 | 亚洲激情在线av| 日本一区二区免费在线视频| 精品不卡国产一区二区三区| а√天堂www在线а√下载| 久久人妻av系列| 村上凉子中文字幕在线| www.www免费av| 一级毛片女人18水好多| 国产成人系列免费观看| 好男人在线观看高清免费视频 | 99国产极品粉嫩在线观看| 最近最新免费中文字幕在线| 在线国产一区二区在线| 在线永久观看黄色视频| 91麻豆av在线| 少妇粗大呻吟视频| 午夜福利视频1000在线观看 | 日韩高清综合在线| 韩国av一区二区三区四区| 欧美午夜高清在线| 可以免费在线观看a视频的电影网站| 精品一区二区三区视频在线观看免费| 欧美成人性av电影在线观看| 黄色毛片三级朝国网站| 日本精品一区二区三区蜜桃| 成人三级做爰电影| 黑人巨大精品欧美一区二区mp4| 国产亚洲欧美在线一区二区| 欧美中文综合在线视频| av天堂在线播放| 高清毛片免费观看视频网站| 亚洲一区中文字幕在线| 香蕉丝袜av| 亚洲 欧美一区二区三区| 国产一区在线观看成人免费| 国产亚洲欧美98| 久久香蕉精品热| 90打野战视频偷拍视频| 亚洲欧美日韩高清在线视频| 色综合亚洲欧美另类图片| 国产亚洲欧美98| 激情视频va一区二区三区| 在线观看免费视频日本深夜| 日韩av在线大香蕉| 国产亚洲精品一区二区www| 亚洲男人天堂网一区| 精品日产1卡2卡| 国产成人欧美| 午夜福利在线观看吧| 美国免费a级毛片| 老汉色av国产亚洲站长工具| 91大片在线观看| 国产成人系列免费观看| 老司机午夜十八禁免费视频| 99久久久亚洲精品蜜臀av| 精品免费久久久久久久清纯| 色综合婷婷激情| 亚洲av美国av| 91大片在线观看| 国产一区在线观看成人免费| 久久久国产成人精品二区| 国产成人欧美| 给我免费播放毛片高清在线观看| 国产乱人伦免费视频| 亚洲人成77777在线视频| 九色国产91popny在线| 一a级毛片在线观看| 美女 人体艺术 gogo| 亚洲三区欧美一区| 久久久久国内视频| 欧美激情久久久久久爽电影 | 女性被躁到高潮视频| 淫秽高清视频在线观看| 啦啦啦观看免费观看视频高清 | 一级毛片精品| 天堂动漫精品| 色尼玛亚洲综合影院| 午夜福利18| 欧美色视频一区免费| 午夜激情av网站| 90打野战视频偷拍视频| 精品高清国产在线一区| 国产亚洲欧美在线一区二区| 久久 成人 亚洲| 岛国视频午夜一区免费看| 欧美日韩亚洲国产一区二区在线观看| 国产成人系列免费观看| 亚洲欧美激情综合另类| ponron亚洲| 国产色视频综合| 九色亚洲精品在线播放| 久久久久久久精品吃奶| 在线十欧美十亚洲十日本专区| 露出奶头的视频| 亚洲 欧美一区二区三区| 欧美激情 高清一区二区三区| 欧美成人免费av一区二区三区| 黑人巨大精品欧美一区二区蜜桃| 亚洲色图 男人天堂 中文字幕| 又紧又爽又黄一区二区| 视频在线观看一区二区三区| 亚洲专区国产一区二区| 欧美在线一区亚洲| 岛国在线观看网站| 日日干狠狠操夜夜爽| 咕卡用的链子| 欧美日韩亚洲综合一区二区三区_| 麻豆一二三区av精品| 一二三四社区在线视频社区8| 国产精品一区二区在线不卡| 精品乱码久久久久久99久播| av天堂久久9| 男女下面进入的视频免费午夜 | 欧美大码av| 久久狼人影院| 亚洲av电影不卡..在线观看| 欧美av亚洲av综合av国产av| 亚洲第一欧美日韩一区二区三区| 巨乳人妻的诱惑在线观看| 十分钟在线观看高清视频www| 好男人电影高清在线观看| 久久午夜亚洲精品久久| 丝袜在线中文字幕| 99香蕉大伊视频| 999久久久精品免费观看国产| 久久精品91无色码中文字幕| 精品少妇一区二区三区视频日本电影| 丝袜人妻中文字幕| 国语自产精品视频在线第100页| 亚洲一码二码三码区别大吗| 亚洲av五月六月丁香网| 一个人观看的视频www高清免费观看 | 日韩精品免费视频一区二区三区| 成熟少妇高潮喷水视频| 日本 av在线| 精品日产1卡2卡| 日本欧美视频一区| 精品午夜福利视频在线观看一区| 男女下面进入的视频免费午夜 | 亚洲欧美日韩高清在线视频| 变态另类丝袜制服| 99国产精品99久久久久| 国产精品自产拍在线观看55亚洲| 看黄色毛片网站| 久久久久久大精品| 女人爽到高潮嗷嗷叫在线视频| 午夜福利免费观看在线| 美国免费a级毛片| 叶爱在线成人免费视频播放| 熟妇人妻久久中文字幕3abv| 日本a在线网址| 又黄又粗又硬又大视频| 搡老妇女老女人老熟妇| 激情在线观看视频在线高清| av超薄肉色丝袜交足视频| 成人国产综合亚洲| 中国美女看黄片| 麻豆成人av在线观看| 国产精品久久久久久人妻精品电影| 美女国产高潮福利片在线看| av超薄肉色丝袜交足视频| 国产精品98久久久久久宅男小说| 久久久久九九精品影院| 精品一区二区三区视频在线观看免费| 99香蕉大伊视频| ponron亚洲| 国产麻豆成人av免费视频| 亚洲全国av大片| 免费在线观看黄色视频的| 国产高清视频在线播放一区| 精品一区二区三区四区五区乱码| 天天躁狠狠躁夜夜躁狠狠躁| 校园春色视频在线观看| 国产欧美日韩一区二区三| 在线播放国产精品三级| 国产精品二区激情视频| 国产精品野战在线观看| 亚洲性夜色夜夜综合| 国产亚洲精品综合一区在线观看 | 亚洲精品国产精品久久久不卡| 国产精品野战在线观看| 90打野战视频偷拍视频| 熟妇人妻久久中文字幕3abv| av网站免费在线观看视频| 国产精品免费视频内射| 午夜免费激情av| 999久久久精品免费观看国产| 后天国语完整版免费观看| 身体一侧抽搐| 国产麻豆69| 色在线成人网| 午夜福利成人在线免费观看| 日韩欧美一区视频在线观看| 国产在线精品亚洲第一网站| 日韩三级视频一区二区三区| 看黄色毛片网站| 久久中文字幕一级| 免费无遮挡裸体视频| 一级片免费观看大全| 亚洲五月色婷婷综合| 91国产中文字幕| 亚洲中文字幕一区二区三区有码在线看 | 女性被躁到高潮视频| av网站免费在线观看视频| 又紧又爽又黄一区二区| 久9热在线精品视频| 国产精品综合久久久久久久免费 | 免费在线观看影片大全网站| 别揉我奶头~嗯~啊~动态视频| 欧美+亚洲+日韩+国产| 99久久精品国产亚洲精品| 丁香欧美五月| 成人18禁在线播放| 18禁国产床啪视频网站| 久久 成人 亚洲| 黄色视频,在线免费观看| 日韩国内少妇激情av| 亚洲一码二码三码区别大吗| 亚洲中文字幕日韩| 一区在线观看完整版| 18禁观看日本| 精品欧美一区二区三区在线| 1024香蕉在线观看| 久久国产亚洲av麻豆专区| 国产真人三级小视频在线观看| 午夜福利成人在线免费观看| 亚洲,欧美精品.| 国内精品久久久久精免费| 亚洲av日韩精品久久久久久密| 在线观看舔阴道视频| 搡老妇女老女人老熟妇| 国产亚洲av高清不卡| 如日韩欧美国产精品一区二区三区| 天天躁夜夜躁狠狠躁躁| 久久久国产成人精品二区| 久久亚洲精品不卡| 黄片播放在线免费| 成人免费观看视频高清| 少妇熟女aⅴ在线视频| 久久精品91无色码中文字幕| 成人av一区二区三区在线看| 亚洲免费av在线视频| 国产精品香港三级国产av潘金莲| 人人澡人人妻人| 国产三级黄色录像| 两性午夜刺激爽爽歪歪视频在线观看 | 久久国产精品男人的天堂亚洲| 国内久久婷婷六月综合欲色啪| 亚洲熟妇中文字幕五十中出| 99久久99久久久精品蜜桃| 满18在线观看网站| 亚洲中文字幕日韩| 久久这里只有精品19| 99re在线观看精品视频| 最新美女视频免费是黄的| 国产精品日韩av在线免费观看 | 一区二区三区精品91| 大型黄色视频在线免费观看| 中文字幕色久视频| 久久精品国产清高在天天线| 热re99久久国产66热| 日日干狠狠操夜夜爽| 亚洲成人免费电影在线观看| 国内精品久久久久久久电影| 在线观看免费视频网站a站| 9色porny在线观看| 成在线人永久免费视频| 变态另类成人亚洲欧美熟女 | 国产男靠女视频免费网站| 91麻豆av在线| 国产成年人精品一区二区| 精品久久久久久久人妻蜜臀av | 色综合婷婷激情| 99国产精品一区二区蜜桃av| 老汉色∧v一级毛片| 久久久久久亚洲精品国产蜜桃av| 免费av毛片视频| 亚洲色图综合在线观看| 日本免费a在线| 黑人巨大精品欧美一区二区mp4| 国产欧美日韩综合在线一区二区| 国产不卡一卡二| 夜夜躁狠狠躁天天躁| 亚洲九九香蕉| 亚洲三区欧美一区| 夜夜夜夜夜久久久久| 日韩欧美一区视频在线观看| 久久 成人 亚洲| 欧美成人性av电影在线观看| 身体一侧抽搐| 中出人妻视频一区二区| 国产精品一区二区三区四区久久 | 亚洲熟女毛片儿| 国产精品秋霞免费鲁丝片| 欧美在线黄色| 精品国内亚洲2022精品成人| 两个人视频免费观看高清| 夜夜看夜夜爽夜夜摸| 午夜老司机福利片| 亚洲精品久久成人aⅴ小说| 国产99久久九九免费精品| 亚洲av第一区精品v没综合| 日本黄色视频三级网站网址| 亚洲欧美激情综合另类| 久久天堂一区二区三区四区| 精品高清国产在线一区| 色精品久久人妻99蜜桃| 日韩欧美国产一区二区入口| 成人18禁在线播放| 午夜福利免费观看在线| 变态另类成人亚洲欧美熟女 | 在线观看免费视频网站a站| 脱女人内裤的视频| 国产成人精品无人区| 色哟哟哟哟哟哟| 亚洲第一欧美日韩一区二区三区| 一二三四社区在线视频社区8| 两性午夜刺激爽爽歪歪视频在线观看 | 欧美黄色片欧美黄色片| 欧美乱色亚洲激情| 国产av又大| 美女免费视频网站| 啦啦啦韩国在线观看视频| 高清黄色对白视频在线免费看| 亚洲精品在线美女| 女人被狂操c到高潮| 99精品欧美一区二区三区四区| 中文字幕精品免费在线观看视频| 欧美成狂野欧美在线观看| 美女大奶头视频| 人妻丰满熟妇av一区二区三区| 国产高清有码在线观看视频 | 麻豆一二三区av精品| 久久久久久久久久久久大奶| 韩国精品一区二区三区| 伦理电影免费视频| 久久久精品欧美日韩精品| 国产视频一区二区在线看| 性少妇av在线| 亚洲av美国av| 女性被躁到高潮视频| 在线观看免费午夜福利视频| 亚洲精品久久成人aⅴ小说| 成人精品一区二区免费| 色精品久久人妻99蜜桃| 日本五十路高清| 久久人妻av系列| 午夜亚洲福利在线播放| 老司机靠b影院| 亚洲精品国产一区二区精华液| 国产黄a三级三级三级人| 欧美日韩精品网址| 18禁黄网站禁片午夜丰满| 色综合亚洲欧美另类图片| 搡老熟女国产l中国老女人| 午夜免费激情av| 成人三级黄色视频| 制服人妻中文乱码| 久久人妻福利社区极品人妻图片| 亚洲一区二区三区色噜噜| 欧美一级毛片孕妇| 亚洲熟妇熟女久久| 国产精品一区二区精品视频观看| 亚洲欧美激情综合另类| 国产精品二区激情视频| 一边摸一边抽搐一进一出视频| 午夜老司机福利片| 亚洲,欧美精品.| 少妇熟女aⅴ在线视频| 国产精品美女特级片免费视频播放器 | 国产亚洲欧美98| 91精品三级在线观看| 欧美不卡视频在线免费观看 | 午夜精品久久久久久毛片777| 亚洲精品久久成人aⅴ小说| 精品卡一卡二卡四卡免费| 久久性视频一级片| 亚洲第一av免费看| 一区二区三区国产精品乱码| 99riav亚洲国产免费| 亚洲成人精品中文字幕电影| 99精品在免费线老司机午夜| 最近最新免费中文字幕在线| 村上凉子中文字幕在线| 99精品在免费线老司机午夜| 欧美成人一区二区免费高清观看 | 黄片播放在线免费| 免费人成视频x8x8入口观看| 黑人巨大精品欧美一区二区蜜桃| 精品第一国产精品| 最近最新中文字幕大全免费视频| 18禁观看日本| 久久热在线av| 国产成人精品无人区| av天堂在线播放| 怎么达到女性高潮| 1024视频免费在线观看| 国产精品久久久av美女十八| 国产精品电影一区二区三区| 久久久久国内视频| 啦啦啦免费观看视频1| 亚洲av成人一区二区三| 亚洲成av人片免费观看| 精品一品国产午夜福利视频| 国产亚洲精品av在线|