亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        并行科學(xué)計(jì)算應(yīng)用中采樣數(shù)據(jù)的聚集I/O*

        2018-10-08 07:23:54曹立強(qiáng)羅紅兵
        關(guān)鍵詞:科學(xué)計(jì)算進(jìn)程數(shù)量

        曹立強(qiáng),羅紅兵

        (北京應(yīng)用物理與計(jì)算數(shù)學(xué)研究所,北京 100088)

        1 引言

        科學(xué)計(jì)算應(yīng)用不僅輸出可視化(Visualization)和檢查點(diǎn)(Check Point)數(shù)據(jù),也輸出采樣數(shù)據(jù)(Sample Data)。一般的串行科學(xué)計(jì)算應(yīng)用中,數(shù)據(jù)場(chǎng)規(guī)模較小,采樣輸出量少,不容易發(fā)生采樣數(shù)據(jù)的I/O瓶頸。然而,一些并行科學(xué)計(jì)算應(yīng)用設(shè)定的采樣點(diǎn)數(shù)量較多,I/O較為頻繁,采樣數(shù)據(jù)I/O容易發(fā)生瓶頸制約。以美國模擬慣性約束聚變的pF3D程序[1]為例。在超算TOP500上榜的Intrepid系統(tǒng)[2]中,16 000個(gè)進(jìn)程的pF3D程序在完整的運(yùn)行周期中輸出3.43 GB采樣點(diǎn)數(shù)據(jù),耗時(shí)245 s,約占程序總運(yùn)行時(shí)間的20%。采樣數(shù)據(jù)I/O的平均帶寬為14 MB/s,遠(yuǎn)低于該機(jī)并行文件系統(tǒng)I/O帶寬[3]。在一些與實(shí)際問題密切相關(guān)的算例中,國內(nèi)的電磁場(chǎng)仿真程序JEMS-TD等也出現(xiàn)了采樣數(shù)據(jù)I/O的性能瓶頸。

        通常,可視化與檢查點(diǎn)數(shù)據(jù)在空間上是數(shù)據(jù)場(chǎng)的全集,采樣數(shù)據(jù)是數(shù)據(jù)場(chǎng)的子集。采樣數(shù)據(jù)以幾何拓?fù)浠蛘咂渌问郊s束在數(shù)據(jù)場(chǎng)的特定區(qū)域,價(jià)值密度高于可視化數(shù)據(jù)[4]。通過對(duì)可視化數(shù)據(jù)與采樣數(shù)據(jù)的統(tǒng)計(jì)分析,用戶可以發(fā)現(xiàn)代表性的科學(xué)規(guī)律。然而一些并行科學(xué)計(jì)算應(yīng)用可以設(shè)置數(shù)以萬計(jì)的采樣點(diǎn),并且在迭代循環(huán)中頻繁輸出采樣數(shù)據(jù),因此它的I/O次數(shù)較多。

        高性能計(jì)算機(jī)中,規(guī)模較小而讀寫較為頻繁的數(shù)據(jù)不容易發(fā)揮并行文件系統(tǒng)的性能[5]。除了pF3D程序外,國內(nèi)的一些大規(guī)模并行應(yīng)用,例如模擬三維電磁場(chǎng)的JEMS-TD程序[6]、電磁耦合程序LAP3D[7]等,也在一定程度上遇到采樣數(shù)據(jù)I/O的帶寬制約。此外,當(dāng)并行程序發(fā)生動(dòng)態(tài)負(fù)載平衡與重啟動(dòng)運(yùn)行時(shí),一些應(yīng)用還出現(xiàn)采樣數(shù)據(jù)存儲(chǔ)的不一致問題。優(yōu)化采樣數(shù)據(jù)的并行I/O效率、確保并行采樣數(shù)據(jù)的I/O一致性成為提高并行程序運(yùn)行效率、保障并行程序正常運(yùn)行的關(guān)鍵問題。

        面對(duì)大規(guī)模并行科學(xué)計(jì)算應(yīng)用采樣數(shù)據(jù)快速存儲(chǔ)需求,本文研究采樣數(shù)據(jù)的并行聚集I/O優(yōu)化方法。

        2 采樣數(shù)據(jù)并行I/O

        現(xiàn)有采樣數(shù)據(jù)的并行I/O可以分為應(yīng)用采樣和數(shù)據(jù)輸出兩個(gè)步驟。首先,應(yīng)用采樣。應(yīng)用程序從數(shù)據(jù)場(chǎng)中選擇、讀取、記錄采樣點(diǎn)位置的數(shù)值,記錄在〈key,value〉對(duì)中;然后程序查找采樣點(diǎn)對(duì)應(yīng)的文件,將變量值寫入其中,形成與采樣點(diǎn)一一對(duì)應(yīng),按時(shí)間、列序存儲(chǔ)的采樣數(shù)據(jù)文件集合。

        大部分科學(xué)計(jì)算應(yīng)用中,每個(gè)采樣點(diǎn)每次僅僅輸出幾十到幾百字節(jié)數(shù)據(jù)。參與I/O的進(jìn)程多,每次讀寫數(shù)據(jù)量少是造成采樣點(diǎn)I/O瓶頸的主要原因。通常,文件訪問開銷可分解為數(shù)據(jù)I/O開銷和文件系統(tǒng)元數(shù)據(jù)開銷兩部分[8]。前者主要與數(shù)據(jù)塊大小和I/O帶寬相關(guān);后者主要與目錄(Directory)中的文件數(shù)量相關(guān)。在單機(jī)系統(tǒng)中,進(jìn)程數(shù)量、計(jì)算規(guī)模受到結(jié)點(diǎn)計(jì)算能力、內(nèi)存容量和存儲(chǔ)容量的限制,文件數(shù)量少。元數(shù)據(jù)操作較少成為瓶頸。

        并行文件系統(tǒng)與單機(jī)文件系統(tǒng)的性能特征不同。它一方面具備較高的并行I/O帶寬,另一方面有較高的元數(shù)據(jù)訪問延遲。此外,并行應(yīng)用的計(jì)算規(guī)??梢员却袘?yīng)用高出4個(gè)以上量級(jí),其中采樣點(diǎn)數(shù)量也遠(yuǎn)遠(yuǎn)超出串行程序,與之對(duì)應(yīng)的采樣點(diǎn)文件數(shù)量也會(huì)增長。較多的文件數(shù)量增加了并行文件系統(tǒng)元數(shù)據(jù)訪問延遲[9]。

        領(lǐng)域?qū)<覍?duì)元數(shù)據(jù)訪問性能與文件數(shù)量的關(guān)系已經(jīng)有一定認(rèn)識(shí)。在pF3D程序采樣數(shù)據(jù)的并行I/O過程中,Langer等人通過多級(jí)目錄存儲(chǔ)采樣文件等方法減少同一層次的文件數(shù)量,提高文件系統(tǒng)元數(shù)據(jù)的訪問效率。測(cè)試表明,該方法可以有效縮短元數(shù)據(jù)訪問延遲,從而提高并行I/O效率。雖然該方法有一定效果,但是使用多級(jí)目錄后采樣數(shù)據(jù)管理的難度增加,而且I/O調(diào)用數(shù)量與每次讀寫的數(shù)據(jù)大小沒有變化,有進(jìn)一步優(yōu)化的空間。

        MPI(Message Passing Interface)的集合并行I/O優(yōu)化方法可以提高小塊數(shù)據(jù)的并行I/O效率[10]。常用的集合并行I/O加速方法包括兩階段I/O[11]和Data Sieving[12]等,它們可以重組大量小塊數(shù)據(jù)I/O成為少量大塊數(shù)據(jù)I/O。

        兩階段I/O首先從參與并行計(jì)算的進(jìn)程中選擇若干進(jìn)程存取數(shù)據(jù)。輸出時(shí),被選中的進(jìn)程按一定規(guī)則接收其余進(jìn)程的數(shù)據(jù),合并原本小而非連續(xù)的數(shù)據(jù)塊成為大而連續(xù)的數(shù)據(jù)塊,再輸出到磁盤中達(dá)到加速目的。數(shù)據(jù)輸入的過程與輸出過程相反,被選中進(jìn)程從文件系統(tǒng)獲得數(shù)據(jù),然后將數(shù)據(jù)分配給參與計(jì)算的進(jìn)程。雖然有多種并行I/O性能讀寫優(yōu)化方法,但是這些優(yōu)化方法往往局限在進(jìn)程間的數(shù)據(jù)合并與拼接方面,不適用于迭代生成、逐漸累積的采樣數(shù)據(jù)。

        3 采樣數(shù)據(jù)的并行聚集I/O方法

        科學(xué)計(jì)算程序在一個(gè)迭代步可以從一個(gè)采樣點(diǎn)獲得幾個(gè)到幾百個(gè)字節(jié)的數(shù)據(jù),一般并行輸出方法在采樣點(diǎn)與文件之間建立映射,然后按迭代步向文件中增加數(shù)據(jù),形成按文件存儲(chǔ)的采樣數(shù)據(jù)集合。這種I/O方法不僅產(chǎn)生較多文件和小數(shù)據(jù)I/O,降低并行I/O效率,還難以處理動(dòng)態(tài)負(fù)載平衡與并行應(yīng)用重啟動(dòng)等較復(fù)雜的并行程序運(yùn)行態(tài)[13]。

        動(dòng)態(tài)負(fù)載平衡與重啟動(dòng)是并行程序,尤其是大規(guī)模并行程序特有的運(yùn)行狀態(tài),它們影響采樣數(shù)據(jù)存儲(chǔ)的一致性。在并行程序的動(dòng)態(tài)負(fù)載平衡過程中,采樣點(diǎn)所在進(jìn)程編號(hào)隨負(fù)載的調(diào)整而變化,它們改變了進(jìn)程與文件的對(duì)應(yīng)關(guān)系,增加了數(shù)據(jù)失效的風(fēng)險(xiǎn)。在并行程序重啟動(dòng)運(yùn)行過程中,部分進(jìn)程的時(shí)序發(fā)生變化,一些計(jì)算過程被重復(fù)執(zhí)行,如果其中包含采樣輸出,將導(dǎo)致采樣數(shù)據(jù)的不一致。

        針對(duì)上述現(xiàn)狀,我們?cè)O(shè)計(jì)了采樣點(diǎn)數(shù)據(jù)并行聚集I/O方法,它的主要特點(diǎn)在于:(1)使用共享文件(Shared-one-file)并行I/O模式存儲(chǔ)采樣數(shù)據(jù),降低文件數(shù)量;(2)在客戶端內(nèi)存中設(shè)置采樣數(shù)據(jù)緩存,臨時(shí)存儲(chǔ)數(shù)據(jù),降低小塊數(shù)據(jù)的I/O次數(shù);(3)使用HDF5(Hierarchical Data Format release 5)數(shù)據(jù)格式庫[14],提供高效率、增量式的I/O支持。

        3.1 采樣點(diǎn)數(shù)據(jù)的共享文件I/O

        在并行應(yīng)用中,根據(jù)進(jìn)程與文件關(guān)系,并行I/O主要分為共享文件與進(jìn)程-文件對(duì)應(yīng)(File-per-process)兩種模式。如果參與并行計(jì)算的進(jìn)程同時(shí)向一個(gè)文件輸出數(shù)據(jù),那么這種并行I/O模式是共享文件I/O模式;如果參與并行計(jì)算的進(jìn)程同時(shí)向多個(gè)文件輸出數(shù)據(jù),那么這種并行I/O模式是進(jìn)程-文件對(duì)應(yīng)并行I/O模式。

        對(duì)比兩種并行I/O模式,共享文件并行I/O模式輸出的文件少,可以減少文件系統(tǒng)元數(shù)據(jù)操作時(shí)間,但是它存在文件描述符等共享資源,在一定程度上影響數(shù)據(jù)傳輸效率。進(jìn)程-文件對(duì)應(yīng)模式的進(jìn)程間沒有共享的資源,但是它創(chuàng)建較多文件,元數(shù)據(jù)開銷高,對(duì)并行可擴(kuò)展性有一定影響。

        采樣數(shù)據(jù)一般具有存儲(chǔ)量較少、數(shù)據(jù)來源較多等特點(diǎn),元數(shù)據(jù)操作延遲是主要的開銷來源。本文在兩種并行I/O模式中選擇共享文件并行I/O模式,減少文件數(shù)量,降低文件系統(tǒng)元數(shù)據(jù)開銷。

        共享文件并行I/O模式在采樣點(diǎn)與文件之間建立多對(duì)一的映射關(guān)系。使用這種并行I/O模式,我們實(shí)現(xiàn)了采樣數(shù)據(jù)的聚集I/O方法。該方法中,不同的采樣點(diǎn)存儲(chǔ)于不同的數(shù)據(jù)集,多數(shù)據(jù)集存儲(chǔ)到一個(gè)文件。為了提高并行I/O效率,并行聚集I/O方法將采樣數(shù)據(jù)I/O分解為數(shù)據(jù)采集與數(shù)據(jù)輸出兩個(gè)過程,兩者以聚集緩存耦合在一起。數(shù)據(jù)采集過程中,采樣數(shù)據(jù)按遍歷序排列;在多個(gè)時(shí)間步之間,數(shù)據(jù)按時(shí)間步采樣順序緩存。輸出時(shí),各進(jìn)程首先轉(zhuǎn)置采樣點(diǎn)數(shù)據(jù)緩存,將數(shù)據(jù)排列順序調(diào)整為按時(shí)間步存儲(chǔ),然后輸出數(shù)據(jù)到文件,如圖1所示。

        Figure 1 Aggregation and transposition I/O of sampled data圖1 采樣數(shù)據(jù)的轉(zhuǎn)置與聚集I/O

        圖1中,每個(gè)方框代表了一個(gè)采樣點(diǎn)數(shù)據(jù)。假設(shè)0進(jìn)程是輸出進(jìn)程,部署聚集緩存。0號(hào)進(jìn)程有2個(gè)采樣數(shù)據(jù),1號(hào)進(jìn)程有3個(gè)采樣數(shù)據(jù),n號(hào)進(jìn)程有1個(gè)采樣數(shù)據(jù)。聚集輸出過程中,采樣數(shù)據(jù)按行序從應(yīng)用中讀出,然后以列序緩存在各個(gè)進(jìn)程。輸出前,各進(jìn)程將緩存數(shù)據(jù)聚集到0進(jìn)程,輸出到HDF5。

        3.2 采樣數(shù)據(jù)緩存的狀態(tài)管理

        采樣點(diǎn)數(shù)據(jù)緩存在應(yīng)用層,它合并采樣數(shù)據(jù),減少I/O次數(shù)。使用采樣緩存過程中,需要保障采樣點(diǎn)數(shù)據(jù)存儲(chǔ)的一致性。用戶可以根據(jù)內(nèi)存容量與采樣點(diǎn)數(shù)量等參數(shù)設(shè)定刷新步間隔,提高采樣點(diǎn)數(shù)據(jù)的存儲(chǔ)效率。

        根據(jù)設(shè)置,系統(tǒng)使用生產(chǎn)者-消費(fèi)者模型管理采樣數(shù)據(jù)緩存,當(dāng)緩存未滿時(shí),它可以不斷地接受數(shù)據(jù);當(dāng)緩沖區(qū)滿時(shí),系統(tǒng)輸出采樣數(shù)據(jù)并清空緩存,然后才能暫存數(shù)據(jù)。與一般的生產(chǎn)者、消費(fèi)者控制流程不同,采樣點(diǎn)數(shù)據(jù)的生產(chǎn)者-消費(fèi)者模型有多源控制的特征。這里的多源控制是指:消費(fèi)者不僅考慮緩存使用情況,還需要考慮動(dòng)態(tài)負(fù)載平衡、重啟動(dòng)等因素的影響。

        負(fù)載平衡過程中,采樣點(diǎn)的處理器編號(hào)有可能變化,因此需要刷新緩存,重新計(jì)算采樣點(diǎn)在進(jìn)程間的分布情況。在重啟動(dòng)運(yùn)行過程中,一些進(jìn)程需要重演重啟動(dòng)步與失效步之間的計(jì)算,在此過程中,數(shù)據(jù)已經(jīng)采樣并存儲(chǔ),需要跳躍部分時(shí)間步,以保障存儲(chǔ)的一致性。我們使用圖2的自動(dòng)狀態(tài)機(jī)控制采樣點(diǎn)緩存。

        Figure 2 FSM of aggregated buffer圖2 緩存的自動(dòng)狀態(tài)機(jī)

        運(yùn)行過程中,并行程序不斷地生成采樣數(shù)據(jù),這些數(shù)據(jù)被增加(Append)到緩存中,直到緩存滿,數(shù)據(jù)被刷新(Flush)到文件。如果是重啟動(dòng)運(yùn)行(Restart Recover),那么需要首先判斷采樣點(diǎn)數(shù)據(jù)文件狀態(tài),獲取已經(jīng)輸出采樣數(shù)據(jù)的名稱、狀態(tài)和位置;然后根據(jù)狀態(tài)拷貝(Copy)數(shù)據(jù)到緩存中,保證采樣數(shù)據(jù)一致性。如果發(fā)生負(fù)載平衡,那么采樣點(diǎn)數(shù)據(jù)也要被刷新到文件中,同時(shí)清空緩存。

        3.3 增量式的數(shù)據(jù)存儲(chǔ)

        采樣數(shù)據(jù)一般根據(jù)來源按列存儲(chǔ)成數(shù)據(jù)集合,集合大小隨著迭代步的增加逐漸增長。一般的I/O庫遞增數(shù)據(jù)集合需要讀出原始數(shù)據(jù),添加數(shù)據(jù)后再輸出,覆蓋或刪除原始數(shù)據(jù)集。上述過程不僅操作步驟較多,效率也受到一定影響,為此,我們使用HDF5的Chunk I/O功能實(shí)現(xiàn)數(shù)據(jù)集的遞增式輸出[15,16]。HDF5有數(shù)據(jù)塊的空間管理功能,它可以將分散的數(shù)據(jù)塊虛擬成邏輯上連續(xù)的數(shù)據(jù)塊。使用Chunk I/O后,向數(shù)據(jù)集合增添數(shù)據(jù)只需要分配新的數(shù)據(jù)塊,不需要回讀數(shù)據(jù),因此效率較高。

        跨平臺(tái)、跨應(yīng)用的數(shù)據(jù)存儲(chǔ)是使用HDF5數(shù)據(jù)格式的另一個(gè)優(yōu)點(diǎn)。使用HDF5存儲(chǔ)的浮點(diǎn)數(shù)據(jù),可以在不同平臺(tái)、不同應(yīng)用間共享,提高了采樣數(shù)據(jù)的應(yīng)用范圍。

        通過共享文件并行I/O模式、用戶層的采樣數(shù)據(jù)緩存和HDF5的Chunk I/O方法,我們不僅擴(kuò)展了采樣數(shù)據(jù)的應(yīng)用范圍,還可以在保持采樣數(shù)據(jù)存儲(chǔ)一致性的同時(shí)減少采樣文件數(shù)量和I/O次數(shù),優(yōu)化I/O流程。上述方法可以提高采樣數(shù)據(jù)的并行I/O效率。

        4 軟件實(shí)現(xiàn)

        我們?cè)诒本?yīng)用物理與計(jì)算數(shù)學(xué)研究所研制的JASMIN并行編程框架中集成采樣數(shù)據(jù)并行I/O庫[17]。JASMIN框架有比較完善的軟件體系結(jié)構(gòu),其中的狀態(tài)變量可以反映程序的運(yùn)行狀態(tài)。例如,本次迭代之前是否發(fā)生過負(fù)載的動(dòng)態(tài)調(diào)整,或者是否是從重啟動(dòng)運(yùn)行等,這些狀態(tài)可以輔助調(diào)整采樣數(shù)據(jù)的I/O策略。

        對(duì)于一般的并行程序,JASMIN框架預(yù)定義了hierarchy-level-patch三層數(shù)據(jù)組織結(jié)構(gòu)。Patch內(nèi)部包含數(shù)據(jù)片(Patch Data),數(shù)據(jù)片與變量對(duì)應(yīng)。變量和數(shù)據(jù)片等定義提高了領(lǐng)域編程的代碼重用率。我們集成采樣數(shù)據(jù)并行I/O庫如圖3所示,其中VizCurveWriter是JASMIN框架與并行I/O庫的耦合模塊,中間SamplingVariable定義采樣點(diǎn)數(shù)據(jù)類型,SamplingData是采樣點(diǎn)數(shù)據(jù)來源。

        Figure 3 Class diagram of writing sampled data圖3 采樣數(shù)據(jù)輸出模塊類圖

        JASMIN框架中,PatchData是數(shù)據(jù)容器。采樣點(diǎn)數(shù)據(jù)由變量類SamplingVariable、數(shù)據(jù)片工廠類JSamplingDataFactory和數(shù)據(jù)片類SamplingData定義,它們分別派生自框架的Variable、PatchDataFactory和PatchData基類[18]。

        采樣點(diǎn)變量(SamplingVariable)是為采樣點(diǎn)數(shù)據(jù)設(shè)置的變量,它說明從一個(gè)采樣點(diǎn)可獲得的數(shù)據(jù)類型、數(shù)量等信息。采樣點(diǎn)數(shù)據(jù)片(SamplingData)為采樣數(shù)據(jù)分配空間,每一個(gè)迭代步,用戶程序向采樣點(diǎn)數(shù)據(jù)片賦值。VizCurveWriter基于HDF5數(shù)據(jù)格式庫研制,它以行序緩存采樣迭代步的數(shù)據(jù)。輸出前,輸出轉(zhuǎn)置成列序,然后調(diào)用HDF5接口輸出數(shù)據(jù)。

        5 性能測(cè)試

        使用JEMS-TD并行科學(xué)計(jì)算應(yīng)用,在工作站和高性能計(jì)算機(jī)中比較采樣數(shù)據(jù)的聚合輸出與直接輸出性能。JEMS-TD是基于時(shí)域有限差分方法求解Maxwell方程組的全矢量三維電磁模擬仿真軟件。通過精確建模及全波電磁模擬獲得時(shí)域電磁近場(chǎng)和遠(yuǎn)場(chǎng)信息,可實(shí)現(xiàn)天線分析、飛機(jī)、艦船等大型復(fù)雜裝備的電磁耦合及散射特性。在計(jì)算實(shí)際問題時(shí),用戶通常希望獲得某些關(guān)鍵點(diǎn)的電磁場(chǎng)時(shí)域波形,這需要在每個(gè)迭代步輸出采樣數(shù)據(jù)。

        我們使用的工作站包含1個(gè)Intel i7-3770四核處理器、8 GB內(nèi)存和1個(gè)500 GB SATA3硬盤,其上安裝Fedora18 Linux操作系統(tǒng),內(nèi)核版本號(hào)為3.6.10-4,編譯器版本為gcc-4.7.2。設(shè)定JEMS-TD程序的數(shù)據(jù)場(chǎng)規(guī)模為60×60×60,采樣點(diǎn)在三維數(shù)據(jù)場(chǎng)中均勻分布。其中,x方向和y方向最少部署1個(gè),最多部署8個(gè),z方向最少部署1個(gè),最多部署16個(gè)。采樣點(diǎn)數(shù)量從1擴(kuò)展到1 024。使用4進(jìn)程并行執(zhí)行350個(gè)迭代步,每次迭代過程中,每個(gè)采樣點(diǎn)輸出32 B數(shù)據(jù),總采樣數(shù)據(jù)量從11.2 KB擴(kuò)展到11.2 MB。聚集與非聚集輸出帶寬比較如圖4所示。

        Figure 4 Bandwidth comparison of the sampled data for JEMS-TD program圖4 JEMS-TD程序采樣數(shù)據(jù)輸出帶寬比較

        圖4中,buffer代表并行聚集輸出,direct代表傳統(tǒng)輸出方法。在采樣點(diǎn)數(shù)量逐漸增加過程中,并行聚集輸出帶寬比直接輸出帶寬平均高49倍。聚集緩存不僅減少了I/O次數(shù),也增加每次I/O數(shù)據(jù)量,這是并行聚集輸出方法提高性能的主要原因。

        我們使用的高性能計(jì)算機(jī)包含128個(gè)計(jì)算結(jié)點(diǎn),每個(gè)計(jì)算結(jié)點(diǎn)包含雙路12核Xeon 2680處理器和64 GB內(nèi)存??傆?jì)包含3 072處理器核,峰值計(jì)算性能約120 TFlops。網(wǎng)絡(luò)系統(tǒng)由Intel OMNI網(wǎng)絡(luò)組成,理論帶寬100 GB/s。并行文件系統(tǒng)包含6組I/O服務(wù)器,總存儲(chǔ)容量590 TB,峰值I/O帶寬可達(dá)8.3 GB/s。

        設(shè)定并行進(jìn)程數(shù)量從24到1 536,采樣點(diǎn)數(shù)量從128個(gè)增加到8 192個(gè)。程序運(yùn)行350步,每步采樣,每個(gè)采樣點(diǎn)輸出4個(gè)雙精度浮點(diǎn)數(shù),總計(jì)輸出1.4 MB~175 MB采樣數(shù)據(jù)。傳統(tǒng)的非聚集I/O方法將產(chǎn)生128~8 192個(gè)采樣文件,每個(gè)文件只有11.2 KB。聚集I/O方法設(shè)定每100步刷新采樣緩存,如果不發(fā)生負(fù)載平衡與重啟動(dòng)運(yùn)行,通信聚集數(shù)據(jù)后,16次HDF5調(diào)用存儲(chǔ)所有的采樣數(shù)據(jù)到一個(gè)文件中。通過弱可擴(kuò)展性對(duì)比采樣點(diǎn)數(shù)據(jù)的并行聚集I/O與直接輸出性能,如圖5所示。

        Figure 5 Bandwidth comparison of parallel writing sampled data圖5 并行輸出采樣數(shù)據(jù)帶寬比較

        圖5表明,24~1 536進(jìn)程的并行聚集輸出方法平均提高7.5倍I/O帶寬,最高可達(dá)15.3倍。機(jī)群系統(tǒng)網(wǎng)絡(luò)測(cè)試中發(fā)現(xiàn)384進(jìn)程通信存在性能奇點(diǎn)。由于網(wǎng)絡(luò)性能影響,對(duì)應(yīng)的并行聚集I/O方法加速效果受到限制。如果排除網(wǎng)絡(luò)通信的性能奇點(diǎn),那么并行聚集I/O方法的平均加速效果可以進(jìn)一步提高。

        6 性能分析

        通常,一次I/O操作的時(shí)間可分為元數(shù)據(jù)操作時(shí)間和數(shù)據(jù)操作時(shí)間兩部分。前者與文件數(shù)量相關(guān),文件數(shù)量越多,元數(shù)據(jù)操作需要的時(shí)間越長;后者與傳輸?shù)臄?shù)據(jù)規(guī)模成正比,在采樣數(shù)據(jù)I/O過程中,雖然每次讀寫數(shù)據(jù)量較小,但是由于采樣點(diǎn)文件的數(shù)量較多,每次I/O的元數(shù)據(jù)開銷較高,造成每次I/O過程中時(shí)間開銷較高。在應(yīng)用程序的執(zhí)行過程中,采樣數(shù)據(jù)的讀寫通常比較頻繁。上述因素是采樣數(shù)據(jù)I/O時(shí)間較長的主要原因。

        串行測(cè)試中,雖然采樣點(diǎn)文件數(shù)量少,但是較多的I/O調(diào)用、較小的數(shù)據(jù)塊導(dǎo)致非聚集輸出性能較低。使用緩存后,原始的小塊數(shù)據(jù)被合并,大量較小的I/O調(diào)用轉(zhuǎn)化為少量的大塊I/O調(diào)用,這是提高性能的主要原因。

        并行測(cè)試中,聚集緩存一方面減少采樣點(diǎn)文件數(shù)量,另一方面將大量較小的I/O調(diào)用轉(zhuǎn)化為少量的大塊I/O調(diào)用。對(duì)于每一個(gè)較小的采樣數(shù)據(jù),使用并行聚集I/O方法時(shí)首先被緩存,然后通信,聚集到輸出進(jìn)程,寫入到文件。這雖然增加了操作步驟,但是聚集緩存輸出不僅提高數(shù)據(jù)傳輸和數(shù)據(jù)I/O的粒度,還減少文件數(shù)量,降低文件系統(tǒng)元數(shù)據(jù)操作開銷。對(duì)于采樣數(shù)據(jù)這種對(duì)大量文件中的小塊數(shù)據(jù)頻繁I/O的場(chǎng)景,能夠提高性能。

        大規(guī)模并行計(jì)算應(yīng)用的進(jìn)程數(shù)量可以達(dá)到數(shù)萬以上,全應(yīng)用采樣數(shù)據(jù)的并行聚集時(shí)間開銷高,可以采用分組并行I/O的形式提高并行聚集I/O的擴(kuò)展性。在分組并行I/O中,數(shù)百至數(shù)千進(jìn)程分為一組,組內(nèi)聚集輸出,組間無共享信息,不需要同步,進(jìn)一步提高大規(guī)模并行應(yīng)用的采樣數(shù)據(jù)輸出效率。

        7 結(jié)束語

        與科學(xué)計(jì)算可視化數(shù)據(jù)和檢查點(diǎn)數(shù)據(jù)相比,采樣數(shù)據(jù)具有不同特征,它們的數(shù)據(jù)來源分散,每次采樣產(chǎn)生的數(shù)據(jù)量往往較小。一般的采樣數(shù)據(jù)讀寫方法不僅產(chǎn)生較多文件,還以小塊數(shù)據(jù)頻繁增量I/O模式為主。這些I/O特征不能在高性能計(jì)算機(jī)中發(fā)揮文件系統(tǒng)的性能。本文設(shè)計(jì)了采樣點(diǎn)數(shù)據(jù)的聚合并行I/O方法,并在JASMIN框架中實(shí)現(xiàn)。該方法首先使用采樣緩存合并采樣數(shù)據(jù),將小塊數(shù)據(jù)I/O改變?yōu)檩^大塊數(shù)據(jù)I/O;然后聚集輸出到文件,減少文件數(shù)量。在I/O過程中,我們控制緩存狀態(tài),以保障并行I/O過程中采樣數(shù)據(jù)的一致性。實(shí)際應(yīng)用表明,該方法可以高效率地支持科學(xué)計(jì)算應(yīng)用并行輸出數(shù)百上千采樣點(diǎn)數(shù)據(jù)。在串行平臺(tái)測(cè)試中,對(duì)于不同的采樣點(diǎn)數(shù)量,該方法平均提高I/O帶寬49倍;在并行平臺(tái)的測(cè)試表明,對(duì)于不同的進(jìn)程數(shù)量,該方法平均提高并行I/O帶寬7.5倍。

        猜你喜歡
        科學(xué)計(jì)算進(jìn)程數(shù)量
        高中物理科學(xué)計(jì)算工具的設(shè)計(jì)與實(shí)施研究
        玩具世界(2024年2期)2024-05-07 08:15:34
        《計(jì)算機(jī)程序設(shè)計(jì)》課程中科學(xué)計(jì)算思維能力的培養(yǎng)
        債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        統(tǒng)一數(shù)量再比較
        頭發(fā)的數(shù)量
        我國博物館數(shù)量達(dá)4510家
        社會(huì)進(jìn)程中的新聞學(xué)探尋
        我國高等教育改革進(jìn)程與反思
        Linux僵死進(jìn)程的產(chǎn)生與避免
        大學(xué)物理教學(xué)中培養(yǎng)科學(xué)計(jì)算能力的研究
        物理與工程(2013年3期)2013-03-11 16:04:49
        国产精品va无码一区二区| 国产98色在线 | 国产| 亚洲爆乳精品无码一区二区三区| 亚洲av美国av产亚洲av图片| 久久夜色精品国产| 射精情感曰妓女色视频| 国产精品玖玖玖在线资源| 少妇寂寞难耐被黑人中出| 久久久精品免费观看国产| 久久频精品99香蕉国产| 亚洲黄片av在线免费观看| 国产激情一区二区三区不卡av| 国产日本精品视频一区二区| 亚洲人成欧美中文字幕| 欧美极品jizzhd欧美| 国内精品久久久久久无码不卡| 麻豆AⅤ精品无码一区二区| 国内色精品视频在线网址| 有码视频一区二区三区| 亚洲av日韩一区二区| 777米奇色狠狠俺去啦| a级毛片无码免费真人| 日韩五十路| 日本女同视频一区二区三区 | 手机在线观看日韩不卡av| 国产精品久久久久久一区二区三区| 久久欧美与黑人双交男男| 99热门精品一区二区三区无码| 亚洲美女av一区二区| 精品极品视频在线观看| 成人欧美一区二区三区黑人| 亚洲欧美国产国产综合一区| 十八岁以下禁止观看黄下载链接| 成人在线免费视频亚洲| 久久国产精品国产精品久久| 亚洲av色在线播放一区| 亚洲自偷自拍另类第1页| 久久www色情成人免费观看| 一本大道久久东京热无码av| 韩国日本在线观看一区二区| 中文字字幕在线中文乱码解|