專利名稱:串行軟件的響應(yīng)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種串行軟件的響應(yīng)方法和系統(tǒng)。
背景技術(shù):
硬件系統(tǒng)在新技術(shù)的推動下進(jìn)行著快速演進(jìn),表現(xiàn)出更好的性能、更低的價格,如傳統(tǒng)CPU從單核向多核直至眾核發(fā)展。隨著多核體系結(jié)構(gòu)處理器的普及,應(yīng)用軟件多進(jìn)/線程并行處理方式將逐漸成為主流。硬件發(fā)展的最終目的是推動應(yīng)用軟件的表現(xiàn),進(jìn)而推進(jìn)整個計(jì)算系統(tǒng)的性能。但隨著計(jì)算設(shè)備體系結(jié)構(gòu)的多樣化,多核化,軟件系統(tǒng)僅僅依靠硬件的更新從而獲得性能提升的方式已經(jīng)不符合現(xiàn)有硬件的發(fā)展趨勢,例如傳統(tǒng)的單線程串行程序在多核計(jì)算設(shè)備下不能表現(xiàn)出更好的性能。因此軟件系統(tǒng)必須摒棄原有繼續(xù)享用免費(fèi)午餐的方式,不能僅僅依靠硬件性能的發(fā)展,而應(yīng)該同時針對硬件系統(tǒng)的發(fā)展進(jìn)行軟件系統(tǒng)的再次開發(fā)和更新。這也是目前計(jì)算架構(gòu)下我們遇到的最大挑戰(zhàn),而軟件系統(tǒng)的再次開發(fā)和改造則顯得極為必要。為了提高現(xiàn)有軟件系統(tǒng)在新計(jì)算設(shè)備架構(gòu)下的性能表現(xiàn),針對軟件系統(tǒng)進(jìn)行再開發(fā)具有很強(qiáng)的現(xiàn)實(shí)意義。目前國內(nèi)外針對CPU多核體系結(jié)構(gòu)的應(yīng)用開發(fā)在CPU多核發(fā)展之初就如火如荼地展開了,并陸續(xù)開發(fā)或改造出相當(dāng)數(shù)量的應(yīng)用,但是現(xiàn)有技術(shù)中并沒有針對傳統(tǒng)單線程串行軟件的并行化改造方案。因此如何實(shí)現(xiàn)串行軟件的并行化處理是本發(fā)明要解決的問題。
發(fā)明內(nèi)容
本發(fā)明提供一種串行軟件的響應(yīng)方法和系統(tǒng),要解決的技術(shù)問題是如何實(shí)現(xiàn)串行軟件的并行化處理為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案一種串行軟件的響應(yīng)方法,應(yīng)用在多核CPU的系統(tǒng)中,所述串行軟件包括相互獨(dú)立的讀線程、寫線程和計(jì)算線程,其中讀線程與計(jì)算線程共享第一緩存,寫線程與所述計(jì)算線程共享第二緩存,其中在執(zhí)行多組讀寫操作時,在讀線程將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作;在計(jì)算線程檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,得到的處理結(jié)果存入第二緩存;在寫線程檢測到第二緩存寫入數(shù)據(jù)后,寫線程將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間。優(yōu)選的,所述方法還具有如下特點(diǎn)所述方法還包括當(dāng)?shù)谝痪彺嬷写鎯Φ娜蝿?wù)為多個時,多個計(jì)算線程依照次序從第一緩存中讀取任務(wù)。
一種串行軟件的響應(yīng)裝置,應(yīng)用在多核CPU的系統(tǒng)中,所述串行軟件包括相互獨(dú)立的讀線程模塊、寫線程模塊和計(jì)算線程模塊,其中讀線程模塊與計(jì)算線程模塊共享第一緩存,寫線程模塊與所述計(jì)算線程模塊共享第二緩存,其中所述讀線程模塊,用于在執(zhí)行多組讀寫操作時,將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作;計(jì)算線程模塊,用于在檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,得到的處理結(jié)果存入第二緩存;寫線程模塊,用于在檢測到第二緩存寫入數(shù)據(jù)后,將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間。優(yōu)選的,所述方法還具有如下特點(diǎn)所述系統(tǒng)還包括調(diào)度模塊,用于當(dāng)?shù)谝痪彺嬷写鎯Φ娜蝿?wù)為多個時,控制多個計(jì)算線程模塊依照次序從第一緩存中讀取任務(wù)。本發(fā)明提供的實(shí)施例,通過實(shí)現(xiàn)單一功能的線程來實(shí)現(xiàn),因此,在執(zhí)行多組讀寫操作時,實(shí)現(xiàn)了并行化處理,且通過共享緩存空間,觸發(fā)下一個線程進(jìn)行處理,便于不同功能的線程間的操作銜接。
圖1為本發(fā)明提供的串行軟件的響應(yīng)方法實(shí)施例的流程示意圖;圖2為本發(fā)明方法實(shí)施例與現(xiàn)有技術(shù)的對比示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。圖1為本發(fā)明提供的串行軟件的響應(yīng)方法實(shí)施例的流程示意圖。圖1所示方法實(shí)施例,應(yīng)用在多核CPU的設(shè)備中,包括相互獨(dú)立的讀線程、寫線程和計(jì)算線程,其中讀線程與計(jì)算線程共享第一緩存,寫線程與所述計(jì)算線程共享第二緩存,其中步驟101、在執(zhí)行多組讀寫操作時,在讀線程將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作;步驟102、在計(jì)算線程檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,理得到的處理結(jié)果存入第二緩存;步驟103、在寫線程檢測到第二緩存寫入數(shù)據(jù)后,寫線程將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間。需要說明的是,本方法實(shí)施例,通過實(shí)現(xiàn)單一功能的線程來實(shí)現(xiàn),因此,在執(zhí)行多組讀寫操作時,實(shí)現(xiàn)了并行化處理,且通過共享緩存空間,觸發(fā)下一個線程進(jìn)行處理,便于不同功能的線程間的操作銜接。圖2為本發(fā)明方法實(shí)施例與現(xiàn)有技術(shù)的對比示意圖。在圖2中,第一個為現(xiàn)有技術(shù)中串行處理所需的時間,即T0TAL_1 = N*(READ_T+COMPUTE_T+WRITE_T);
第二個為本發(fā)明實(shí)施例中并行處理所需的時間,即T0TAL_2 = N*READ_T+COMPUTE_T+(N-1)*(WRITE_T-READ_T)+WRITE_T ;其中,N為讀寫操作的組數(shù),一組讀寫操作包括讀、計(jì)算和寫。由此可以看出,讀數(shù)據(jù)、計(jì)算以及寫數(shù)據(jù)進(jìn)行異步操作,在時間上互相掩蓋,出現(xiàn)重疊,最大限度地縮短軟件運(yùn)行時間,顯著提高硬件資源利用率,提高計(jì)算效率和整體性倉泛。可選的,當(dāng)?shù)谝痪彺嬷写鎯Φ娜蝿?wù)為多個時,多個計(jì)算線程依照次序從第一緩存中讀取任務(wù)。通過對任務(wù)的調(diào)用可以對充分發(fā)揮性能,實(shí)現(xiàn)最優(yōu)使用。為提高該串行軟件在多核CPU系統(tǒng)上的并行處理效率,達(dá)到資源利用最大化,需要實(shí)現(xiàn)各進(jìn)程/線程負(fù)責(zé)均衡最優(yōu)化,如果多核CPU系統(tǒng)包括多個節(jié)點(diǎn),則負(fù)載均衡分為節(jié)點(diǎn)間負(fù)載均衡和節(jié)點(diǎn)內(nèi)負(fù)載均衡,而負(fù)載均衡的原則是能者多勞,即將負(fù)載超過閾值的節(jié)點(diǎn)上的任務(wù)遷移到負(fù)載低于閾值的節(jié)點(diǎn),其中該閾值的選擇可以根據(jù)個人經(jīng)驗(yàn)進(jìn)行設(shè)置。其中,負(fù)載均衡通常有兩種方式I、靜態(tài)負(fù)載均衡,適用于數(shù)據(jù)并行,且運(yùn)算量與數(shù)據(jù)規(guī)模呈穩(wěn)定的關(guān)系,這種方式實(shí)現(xiàn)簡單,但是系統(tǒng)適應(yīng)性差。2、動態(tài)負(fù)載均衡,適用于任務(wù)并行,或者運(yùn)算量無法事先預(yù)測的情形,這種方式實(shí)現(xiàn)起來相對復(fù)雜,但是非常高效,系統(tǒng)適應(yīng)性好,軟件健壯性高。在軟件并行化后,軟件的熱點(diǎn)部分,即核心計(jì)算,都由相應(yīng)的進(jìn)程/線程函數(shù)執(zhí)行。因此,進(jìn)程/線程的優(yōu)化,成為軟件性能進(jìn)一步提升的關(guān)鍵。進(jìn)程/線程函數(shù)優(yōu)化的主要內(nèi)容有,即在軟件開發(fā)過程中對其進(jìn)行優(yōu)化I、核心算法邏輯優(yōu)化與并行優(yōu)化、IO優(yōu)化、熱點(diǎn)代碼優(yōu)化相結(jié)合,相輔相成。微數(shù)學(xué)模型優(yōu)化,化繁瑣變換為直接計(jì)算。計(jì)算過程精簡,減少中間變量。2、IO 優(yōu)化I)宏觀IO優(yōu)化盡量實(shí)現(xiàn)讀、計(jì)算、寫異步并行,互相掩蓋?;S機(jī)、零散小數(shù)據(jù)讀寫為連續(xù)、大塊數(shù)據(jù)讀寫。 2)微觀IO優(yōu)化(體現(xiàn)于核心算法的優(yōu)化)內(nèi)存管理優(yōu)化減小內(nèi)存使用量使內(nèi)存集中分配、釋放,減小內(nèi)存分配、釋放次數(shù)數(shù)據(jù)結(jié)構(gòu)優(yōu)化,提高訪存效率,如將矩陣行優(yōu)先存儲訪問,可以提高矩陣的訪問效率。3、Cache優(yōu)化充分利用數(shù)據(jù)局部性,平衡任務(wù)粒度與cache容量的矛盾。4、變量優(yōu)化常量復(fù)用,中間數(shù)據(jù)精簡,最大限度減少冗余計(jì)算、冗余變量等開銷。5、尋址優(yōu)化使用臨時指針,減少多級尋址次數(shù)6、數(shù)據(jù)函數(shù)庫優(yōu)化
I)選擇不同的快速數(shù)學(xué)庫mkl/fftw等。2)數(shù)學(xué)函數(shù)的不同精度版本。如X(d),X函數(shù)的雙精度版本,如cos/exp/log等;Xf, X函數(shù)的單精度版本,如cosf/expf/logf等。7、指令優(yōu)化DSIMD指令集優(yōu)化,即向量指令優(yōu)化2)預(yù)編譯指令#pragma ivdep/simd3)編譯選項(xiàng)-xSSE3/4. la/4. 2a-vec-report34)控制向量化精度-fp-model strict/precise/double/fast/source 等當(dāng)然,為提高自動向量化率,對代碼作必要調(diào)整,循環(huán)拆分、循環(huán)融合、循環(huán)調(diào)序,復(fù)雜表達(dá)式拆解,統(tǒng)一操作數(shù)精度,查看編譯日志,了解相應(yīng)循環(huán)是否向量化或未能向量化原因。8、編譯器優(yōu)化I)自動優(yōu)化選項(xiàng)-03,-fp-model fast 等2)各種優(yōu)化手段都依賴編譯器支持。如自動向量化選項(xiàng),向量化編譯報告,高性能數(shù)學(xué)庫鏈接選項(xiàng)等。9、性能與精度的平衡性能與精度是互相矛盾的,程序員根據(jù)實(shí)際需求,進(jìn)行取舍。10、并行庫的選擇目前,比較主流的并行庫有MPI/OpenMP/pthread等。不同并行庫的開發(fā)周期比較MPI/pthread > OpenMP不同并行庫的靈活性比較MPI/pthread > OpenMP不同并行庫的系統(tǒng)適應(yīng)性比較MPI既適用于多節(jié)點(diǎn)間分布式內(nèi)存并行,也適用于節(jié)點(diǎn)內(nèi)共享內(nèi)存并行,進(jìn)行間通信開銷較大。OpenMP/pthread只能用于共享內(nèi)存并行,線程間通信直接、高效。程序員綜合并行方案,性能目標(biāo),軟件開發(fā)周期等因素,選擇最合適的并行庫。性能優(yōu)化方案實(shí)施與迭代調(diào)優(yōu)實(shí)施既定的性能優(yōu)化方案并迭代調(diào)優(yōu)上文對軟件開發(fā)過程進(jìn)行了描述,為了縮短軟件開發(fā)流程,可以在進(jìn)行軟件開發(fā)前,執(zhí)行如下操作I、軟件運(yùn)行特征分析分析軟件運(yùn)行特征,定位軟件性能瓶頸應(yīng)用軟件運(yùn)行特征分析,精準(zhǔn)定位軟件的性能瓶頸,可以使優(yōu)化工作有的放矢,大大提高優(yōu)化的效率。應(yīng)用軟件運(yùn)行特征分析的原則包括1)系統(tǒng)與局部分析結(jié)合,即軟件整體框架與軟件局部模塊分析都很重要,互為補(bǔ)充,綜合全面地掌握應(yīng)用軟件的運(yùn)行特征;2)定性與定量分析并重,在優(yōu)化開發(fā)周期有限的條件下,定性分析為工程師指明工作方向,專注于軟件的主要瓶頸,而定量分析界定了性能提升的理論極限;3)工具采樣與代碼分析結(jié)合,軟件運(yùn)行特征分析過程中,工具采樣分析與代碼分析兩種手段互為補(bǔ)充、互為指導(dǎo)工具采樣分析,可以幫助程序員快速定位程序熱點(diǎn),而代碼分析,為程序熱點(diǎn)找到理論依據(jù),從而使熱點(diǎn)與代碼映射起來;4)軟件運(yùn)行特征分析工具,具有高效全面、數(shù)據(jù)完備直觀等特點(diǎn),在整個性能優(yōu)化過程中都能發(fā)揮極大作用;5)軟件運(yùn)行特征分析工具,可以采集應(yīng)用軟件運(yùn)行過程中的CPU利用率、內(nèi)存特征、磁盤特征、網(wǎng)絡(luò)特征、指令CPI等信息,其中軟件熱點(diǎn)分析工具,可以采集應(yīng)用軟件運(yùn)行時各函數(shù)CPU使用率及其百分比、分析線程時序、分析程序并發(fā)度、檢查軟件內(nèi)存和線程缺陷等;6、宏觀與微觀分析結(jié)合,應(yīng)用軟件的運(yùn)行特征分析,既有高層次的宏觀分析,也有底層的微觀分析,宏觀呈現(xiàn)現(xiàn)象,微觀揭示原理,宏觀分析指明優(yōu)化方向,微觀分析指導(dǎo)優(yōu)化的手段。2、性能優(yōu)化方案制定制定綜合、全面的性能優(yōu)化方案I)優(yōu)化方案的總體思想高效利用系統(tǒng)資源,包括多核計(jì)算資源、內(nèi)存資源、磁盤資源、網(wǎng)絡(luò)資源等。2)優(yōu)化層次、效率、開發(fā)周期的關(guān)系,包括優(yōu)化層次與優(yōu)化效率的關(guān)系物理模型>數(shù)學(xué)模型>算法模型 優(yōu)化層次與優(yōu)化周期的關(guān)系物理模型<數(shù)學(xué)模型<算法模型3、并行模型設(shè)計(jì)I)并行算法設(shè)計(jì)優(yōu)異的并行算法,是性能優(yōu)化的前提條件和基礎(chǔ)。深入分析數(shù)據(jù)依賴關(guān)系,充分挖掘算法的并行性,必要時,對現(xiàn)有算法進(jìn)行并行性改造,從而最大限度減少數(shù)據(jù)依賴和交換,提高算法的并行度,并行度越高,并行可擴(kuò)展性越好。2)選擇合適的并行粒度(層次)定義高層次(外層循環(huán))并行為粗粒度并行,低層次(內(nèi)層循環(huán))并行為細(xì)粒度并行。并行粒度的選擇非常關(guān)鍵,主要考慮以下因素第一點(diǎn),算法的并行性與并行的可擴(kuò)展性,S卩不同的并行粒度,數(shù)據(jù)依賴關(guān)系不同,導(dǎo)致并行度也不同,制定并行方案時,要充分挖掘算法的并行性,必要時,對現(xiàn)有算法進(jìn)行并行性改造,從而最大限度減少數(shù)據(jù)依賴和交換,提高算法的并行度,并行度越高,并行可擴(kuò)展性越好。第二點(diǎn),并行效率一線程調(diào)度開銷,即并行粒度越小,線程調(diào)度越頻繁,開銷越大第三點(diǎn),兼顧負(fù)載均衡性和線程通信開銷選擇合適的并行粒度,包括不同的并行粒度,用于線程通信的鎖、隊(duì)列開銷不同;不同并行粒度,可能引入不同的線程間數(shù)據(jù)依賴關(guān)系,從而導(dǎo)致線程同步或等待3)內(nèi)存容量——空間換時間并行化引入多緩沖,增加內(nèi)存需求不同并行粒度,引入不同緩存需求4)負(fù)載均衡并行粒度不同,可能負(fù)載均衡效果的差異,滿足IO與計(jì)算異步并行的需求,并行層級必須達(dá)到一定高度,才方便實(shí)現(xiàn)讀、寫功能線程,進(jìn)而與計(jì)算線程實(shí)現(xiàn)異步并行。5)平衡性能與開發(fā)周期的矛盾,即優(yōu)化層次越高,開發(fā)周期越長總結(jié)來說,并行粒度影響并行庫的選擇,并行庫的選擇,很大程度上取決于并行粒度,多節(jié)點(diǎn)分布式內(nèi)存并行方案,需要多進(jìn)程并行,這樣就需要選擇MPI并行,節(jié)點(diǎn)內(nèi)共享式內(nèi)存并行方案,多線程并行效率更高,如果并行粒度低且并行邏輯較簡單,OpenMP基本可以滿足要求,并且開發(fā)周期短,如果并行粒度較高或并行邏輯復(fù)雜,Pthread是不錯的選擇。本發(fā)明提供的串行軟件的響應(yīng)裝置,應(yīng)用在多核CPU的系統(tǒng)中,所述串行軟件包括相互獨(dú)立的讀線程模塊、寫線程模塊和計(jì)算線程模塊,其中讀線程模塊與計(jì)算線程模塊共享第一緩存,寫線程模塊與所述計(jì)算線程模塊共享第二緩存,其中所述讀線程模塊,用于在執(zhí)行多組讀寫操作時,將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作;計(jì)算線程模塊,用于在檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,得到的處理結(jié)果存入第二緩存;寫線程模塊,用于在檢測到第二緩存寫入數(shù)據(jù)后,將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間??蛇x的,所述系統(tǒng)還包括調(diào)度模塊,用于當(dāng)?shù)谝痪彺嬷写鎯Φ娜蝿?wù)為多個時,控制多個計(jì)算線程模塊依照次序從第一緩存中讀取任務(wù)。本發(fā)明實(shí)施例提供的裝置實(shí)施例,通過實(shí)現(xiàn)單一功能的線程來實(shí)現(xiàn),因此,在執(zhí)行多組讀寫操作時,實(shí)現(xiàn)了并行化處理,且通過共享緩存空間,觸發(fā)下一個線程進(jìn)行處理,便于不同功能的線程間的操作銜接。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求所述的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.ー種串行軟件的響應(yīng)方法,其特征在于,應(yīng)用在多核CPU的系統(tǒng)中,所述串行軟件包括相互獨(dú)立的讀線程、寫線程和計(jì)算線程,其中讀線程與計(jì)算線程共享第一緩存,寫線程與所述計(jì)算線程共享第二緩存,其中 在執(zhí)行多組讀寫操作時,在讀線程將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作; 在計(jì)算線程檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,得到的處理結(jié)果存入第二緩存; 在寫線程檢測到第二緩存寫入數(shù)據(jù)后,寫線程將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括 當(dāng)?shù)谝痪彺嬷写鎯Φ娜蝿?wù)為多個時,多個計(jì)算線程依照次序從第一緩存中讀取任務(wù)。
3.—種串行軟件的響應(yīng)裝置,其特征在于,應(yīng)用在多核CPU的系統(tǒng)中,所述串行軟件包括相互獨(dú)立的讀線程模塊、寫線程模塊和計(jì)算線程模塊,其中讀線程模塊與計(jì)算線程模塊共享第一緩存,寫線程模塊與所述計(jì)算線程模塊共享第二緩存,其中 所述讀線程模塊,用于在執(zhí)行多組讀寫操作時,將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作; 計(jì)算線程模塊,用于在檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,得到的處理結(jié)果存入第二緩存; 寫線程模塊,用于在檢測到第二緩存寫入數(shù)據(jù)后,將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 調(diào)度模塊,用于當(dāng)?shù)谝痪彺嬷写鎯Φ娜蝿?wù)為多個時,控制多個計(jì)算線程模塊依照次序從第一緩存中讀取任務(wù)。
全文摘要
本發(fā)明提供一種串行軟件的響應(yīng)方法和系統(tǒng)。所述方法,包括,應(yīng)用在多核CPU的系統(tǒng)中,所述串行軟件包括相互獨(dú)立的讀線程、寫線程和計(jì)算線程,其中讀線程與計(jì)算線程共享第一緩存,寫線程與所述計(jì)算線程共享第二緩存,其中在執(zhí)行多組讀寫操作時,在讀線程將讀操作得到的數(shù)據(jù)緩存到第一緩存后,執(zhí)行下一組讀寫操作;在計(jì)算線程檢測到第一緩存寫入數(shù)據(jù)后,采用第一緩存內(nèi)的數(shù)據(jù)進(jìn)行處理,得到的處理結(jié)果存入第二緩存;在寫線程檢測到第二緩存寫入數(shù)據(jù)后,寫線程將第二緩存內(nèi)的數(shù)據(jù)存入存儲空間。
文檔編號G06F9/38GK102981805SQ20121043460
公開日2013年3月20日 申請日期2012年11月2日 優(yōu)先權(quán)日2012年11月2日
發(fā)明者吳慶, 張清 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司