陳 超,顧青峰
(中國氣象局氣象發(fā)展與規(guī)劃院,北京 100081)
氣象數(shù)據(jù)是一種典型的科學(xué)大數(shù)據(jù),而且基于氣象觀測數(shù)據(jù)的天氣預(yù)報與大眾生活息息相關(guān),影響非常廣泛。在氣象大數(shù)據(jù)中,最大規(guī)模的一類數(shù)據(jù)是模式數(shù)據(jù)。模式數(shù)據(jù)是由氣象專用高性能計算機根據(jù)最新的天氣實況數(shù)據(jù),通過物理方程計算產(chǎn)生,其內(nèi)容包含了我國和地球上各個經(jīng)緯度、不同海拔上的多種預(yù)測的物理量(例如溫度、濕度、風(fēng)向、風(fēng)速等),而且每個物理量都包括未來不同時間點的預(yù)測值(如未來3 h,6 h,9 h和72 h等)。根據(jù)國家氣象中心(中央氣象臺)的統(tǒng)計,氣象數(shù)據(jù)中約有70%的數(shù)據(jù)為模式數(shù)據(jù)[1]。
氣象模式數(shù)據(jù)規(guī)模大,不僅每天高性能計算機會多次將計算模式數(shù)據(jù)導(dǎo)入氣象數(shù)據(jù)管理系統(tǒng),而且預(yù)報員要頻繁地通過模式數(shù)據(jù)進行各種查詢,用于生成正式的數(shù)值預(yù)報、集合預(yù)報等。因此,氣象模式數(shù)據(jù)同時面臨海量數(shù)據(jù)規(guī)模、大量寫入和大量查詢的挑戰(zhàn)。傳統(tǒng)的氣象數(shù)據(jù)管理系統(tǒng)一般采用關(guān)系數(shù)據(jù)庫存儲數(shù)據(jù)的文件存儲位置、分布式文件系統(tǒng)存儲具體模式數(shù)據(jù)的形式。用戶訪問這類系統(tǒng)時,一方面需要經(jīng)過多個系統(tǒng)訪問,訪問延遲較大;另一方面文件系統(tǒng)處理復(fù)雜數(shù)據(jù)查詢的能力很差,需要提取大量數(shù)據(jù)到應(yīng)用系統(tǒng)中,也會造成很大的訪問延遲,不利于確保天氣預(yù)報的實時性。
但是,氣象模式數(shù)據(jù)也存在一個顯著的訪問特征,即對延遲敏感的天氣預(yù)報工作需要經(jīng)常訪問最新的模式數(shù)據(jù),而大量的歷史模式數(shù)據(jù)主要是氣候變化分析等延遲不敏感的應(yīng)用訪問。因此,基于氣象模式數(shù)據(jù)的特征,本文設(shè)計了一種基于最新的快速非易失內(nèi)存NVM(Non-Volatile Memory)[2,3]的混合內(nèi)存高速氣象數(shù)據(jù)管理系統(tǒng),充分利用NVM和傳統(tǒng)隨機訪問內(nèi)存DRAM(Dynamic Random Access Memory)的硬件特征,基于混合內(nèi)存支持對實時性要求較高的天氣預(yù)報查詢;非最新的模式數(shù)據(jù)在負載低谷期逐漸導(dǎo)入基于固態(tài)硬盤或磁盤的大容量、低成本氣象數(shù)據(jù)管理系統(tǒng)中。實驗結(jié)果表明,本文設(shè)計和研發(fā)的基于NVM混合內(nèi)存的高速氣象數(shù)據(jù)管理系統(tǒng)比基于純內(nèi)存的數(shù)據(jù)管理系統(tǒng),性能增幅為114.2%,而且相對于內(nèi)存數(shù)據(jù)管理系統(tǒng)具有存儲密度更高、成本更低的優(yōu)勢,能夠很好地滿足對容量和訪問速度要求都非常高的天氣預(yù)報業(yè)務(wù)。
傳統(tǒng)的高速數(shù)據(jù)管理系統(tǒng)一般都基于隨機訪問內(nèi)存DRAM構(gòu)建。DRAM訪問速度快,但是,不能保證數(shù)據(jù)的持久化,即斷電時數(shù)據(jù)會丟失。因此內(nèi)存數(shù)據(jù)管理系統(tǒng)同時需要部署持久化存儲介質(zhì)(例如基于閃存的固態(tài)硬盤或磁盤)來存儲寫前日志W(wǎng)AL(Write-Ahead Logging),這樣即使斷電,也可以從持久化設(shè)備中恢復(fù)原始數(shù)據(jù)。但是,由于固態(tài)硬盤和磁盤等持久化設(shè)備的訪問速度比DRAM慢幾個數(shù)量級,因此日志部分往往是內(nèi)存數(shù)據(jù)管理系統(tǒng)的性能瓶頸,明顯影響了整個數(shù)據(jù)管理系統(tǒng)的性能。
非易失內(nèi)存NVM是近年來涌現(xiàn)的一種新型存儲介質(zhì),最大的特點是具備接近DRAM的訪問速度,同時具備持久化存儲能力,其訪問速度、存儲密度、成本都介于內(nèi)存和外存之間,是一種全新的存儲形態(tài),為計算機系統(tǒng)帶來很多新的發(fā)展機會。2019年4月,Intel正式推出了雙列直插式內(nèi)存DIMM(Dual-Inline-Memory-Modules)接口的NVM產(chǎn)品,即Optane Persistent Memory[4],目前已有很多實際應(yīng)用。對于數(shù)據(jù)管理系統(tǒng)來說,NVM一方面可以利用更高的存儲密度和更低的成本來大幅擴展DRAM的存儲空間;另一方面可以利用其持久化存儲的能力替代傳統(tǒng)外存的日志存儲功能,構(gòu)建更高速的數(shù)據(jù)管理系統(tǒng)。
但是,NVM相對于DRAM、磁盤等傳統(tǒng)存儲介質(zhì),同時也具備一些更加復(fù)雜的硬件特征,需要軟件訪問盡可能與硬件特征相匹配,才能充分發(fā)揮NVM的硬件優(yōu)勢[5]。NVM的這些硬件特征主要包括:
(1) 讀寫不平衡,NVM的寫性能,尤其是隨機寫帶寬明顯小于其他訪問模式的,如表1[5]所示;NVM的連續(xù)訪問模式和隨機訪問模式之間的性能差距較大,且比DRAM和固態(tài)硬盤SSD(Solid State Drive)的要更大。
(2) NVM的訪問延遲和帶寬相對于DRAM的仍然有明顯的差距,因此在系統(tǒng)中用好DRAM緩存仍然對整體性能非常重要。
(3) NVM對小于256 B的訪問會將其放大為256 B,從而造成性能下降。
(4) NVM的性能對訪問的并行度非常敏感:單條NVM讀操作最優(yōu)并行度一般為4個線程;寫操作如果使用ntstore匯編指令,最佳并行度為1,如果使用clwb指令則最優(yōu)并行度為2。
Table 1 Main performance indicators of DRAM, NVM and SSD表1 DRAM、NVM和SSD的主要性能指標(biāo)
近幾年來關(guān)于NVM的研究工作主要包括基于NVM的新型索引技術(shù)[6-10]、基于NVM的日志方法[11,12]和基于NVM的存儲數(shù)據(jù)組織[13,14]等,這些都是對模塊和方法的研究,還缺少完整的數(shù)據(jù)管理系統(tǒng)設(shè)計。
模式數(shù)據(jù)是非常重要的一種氣象數(shù)據(jù)。模式數(shù)據(jù)生成和使用的主要過程如圖1所示。首先,氣象系統(tǒng)部署了大量的地面、高空、衛(wèi)星氣象傳感器,這些傳感器一般間隔數(shù)秒會采集、記錄和發(fā)送一次氣象狀態(tài)信息,這些信息通過各種類型的網(wǎng)絡(luò)匯聚到氣象大數(shù)據(jù)管理系統(tǒng)中。然后,氣象高性能計算機根據(jù)預(yù)設(shè)的物理方程和傳感器發(fā)來的最新天氣狀態(tài)信息進行計算,生成模式數(shù)據(jù),一般每天進行2~4次或更多次計算,每次計算都會更新模式數(shù)據(jù)。目前主流的氣象模式有多種,一般高性能計算會根據(jù)模式同時生成多種模式數(shù)據(jù),并存儲在氣象模式數(shù)據(jù)管理系統(tǒng)中。
Figure 1 Schematic diagram of generation, management,and use of model data圖1 模式數(shù)據(jù)的產(chǎn)生、管理和使用示意圖
如圖2所示,在進行模式數(shù)據(jù)計算時,首先按照經(jīng)緯度將空間劃分為一些固定大小的網(wǎng)格(例如邊長為幾十公里),每個網(wǎng)格是一個基本的氣象單元,每次模式數(shù)據(jù)計算一般都會對每個氣象網(wǎng)格產(chǎn)生大約1 000個物理量(包括氣溫、濕度、風(fēng)向、風(fēng)速等),每個物理量包括未來不同時間段的預(yù)測結(jié)果(例如未來3 h,6 h,9 h,24 h和72 h等),一般以3 h為間隔,從當(dāng)前時刻一直計算到未來240 h或更長時間。每個氣象網(wǎng)格的數(shù)據(jù)量大約在MB級。然后每個典型海拔都需要計算這樣一個氣象網(wǎng)格平面的模式數(shù)據(jù),以供預(yù)報員查詢和生成最終的天氣預(yù)報使用。網(wǎng)格越小,天氣預(yù)報的精度越高,但是對高性能計算和氣象數(shù)據(jù)管理系統(tǒng)的要求就越高。隨著技術(shù)的進步,天氣預(yù)報的精度在逐漸提高,目前空間分辨率主要是25 km,預(yù)計未來5年可以達到12.5 km。
Figure 2 Schematic diagram of weather model data圖2 氣象模式數(shù)據(jù)示意圖
對于天氣預(yù)報業(yè)務(wù),預(yù)報員會對模式數(shù)據(jù)進行多種查詢,比如多種模式數(shù)據(jù)的比對(例如我國氣象結(jié)構(gòu)產(chǎn)生的模式數(shù)據(jù)與歐洲氣象中心的模式數(shù)據(jù)的對比)、查詢一定經(jīng)緯度范圍的網(wǎng)格平面數(shù)據(jù)(例如未來幾小時內(nèi)一個省的地面溫度)及查詢某個網(wǎng)格的時間序列數(shù)據(jù)(例如一個特定地點未來幾個時間段內(nèi)的溫度變化情況)等等。天氣預(yù)報業(yè)務(wù)一般主要關(guān)注最新的模式數(shù)據(jù),因此比較適合部署一個高速的小規(guī)模數(shù)據(jù)管理系統(tǒng)進行管理,以滿足最新模式數(shù)據(jù)的不斷寫入和實時查詢需求。氣候變化研究等業(yè)務(wù)關(guān)注的是大規(guī)模歷史數(shù)據(jù)查詢,一般對實時性的要求遠比天氣預(yù)報的要低,因此比較適合基于固態(tài)硬盤或磁盤等大容量、低成本的存儲介質(zhì)來構(gòu)建大數(shù)據(jù)管理系統(tǒng)。2個子系統(tǒng)可以配合,最新的模式數(shù)據(jù)周期性轉(zhuǎn)移到大數(shù)據(jù)管理系統(tǒng)中。
NVM的高性能、高存儲密度適合于拓展傳統(tǒng)內(nèi)存數(shù)據(jù)管理系統(tǒng)的存儲規(guī)模,并提升持久化日志部分的性能,構(gòu)建高速氣象數(shù)據(jù)管理系統(tǒng)。因此,本文主要聚焦基于NVM的軟硬件協(xié)同高速氣象數(shù)據(jù)管理系統(tǒng)的設(shè)計。
由于NVM的硬件特征比較復(fù)雜多樣,因此基于NVM的系統(tǒng)設(shè)計比傳統(tǒng)基于DRAM、磁盤、固態(tài)硬盤的設(shè)計要復(fù)雜很多,必須進行深入的軟硬件協(xié)同設(shè)計,才能充分發(fā)揮NVM的性能優(yōu)勢,同時又盡可能規(guī)避其缺點。如表2所示,首先針對NVM的幾條關(guān)鍵硬件特征,推導(dǎo)出NVM數(shù)據(jù)管理系統(tǒng)的設(shè)計要點。
Table 2 Correspondence between NVM hardware characteristics and system design表2 NVM硬件特征與系統(tǒng)設(shè)計的對應(yīng)關(guān)系
基于NVM混合內(nèi)存的數(shù)據(jù)管理系統(tǒng)NVMDB(NVM Database)的架構(gòu)如圖3所示。索引、日志緩沖區(qū)放置于DRAM中用于性能加速。數(shù)據(jù)元組(每條記錄為一個元組Tuple)放置于DRAM和NVM中,這部分NVM不需要保證數(shù)據(jù)的持久性(即不需要通過ntstore、clwb等匯編指令從CPU緩存刷出數(shù)據(jù)到NVM控制器中),相當(dāng)于DRAM空間的擴展空間,增加了NVMDB可以管理的數(shù)據(jù)規(guī)模。這種情況下,NVM的平均性能比保障持久化的情況性能要更好。同時,保證持久化的NVM中部分用來存儲WAL日志,并定期從WAL轉(zhuǎn)到檢查點(Checkpoint)中,用于減小WAL的空間。由于檢查點中的數(shù)據(jù)有組織,可以通過索引直接訪問,因此,當(dāng)數(shù)據(jù)進入檢查點后,可以從非持久化的“數(shù)據(jù)元組”中清理,避免數(shù)據(jù)重復(fù)導(dǎo)致的空間浪費。NVMDB的具體模塊設(shè)計將在下面幾個小節(jié)中詳細介紹。
Figure 3 Data management system (NVMDB) architecture diagram圖3 NVM數(shù)據(jù)管理系統(tǒng)(NVMDB)架構(gòu)圖
NVM的存儲密度遠高于DRAM的,而且未來還有很好的增長空間,因此NVM可以有效擴展DRAM空間。而且在內(nèi)存數(shù)據(jù)管理系統(tǒng)中,NVM擴展DRAM空間時不需要進行持久化保障,即不需要在寫入操作(如store指令)后立刻調(diào)用fence指令來保障指令完成順序,也不需要調(diào)用clflush或clwb指令來強制CPU緩存寫回NVM,這樣寫操作的性能更高。隨著后續(xù)CPU緩存的數(shù)據(jù)淘汰,NVM上的數(shù)據(jù)自然會逐漸達到持久化狀態(tài)。
目前Intel研發(fā)的Optane NVM設(shè)備具有memory、app-direct和block-device 3種工作模式。Memory模式下NVM不保證數(shù)據(jù)的持久化,而且DRAM會被自動配置為NVM的硬件緩存,因此DRAM空間在系統(tǒng)中也“消失”,無法直接操作DRAM了。App-direct模式指用戶可以直接細粒度操作NVM空間,例如使用Intel的持久化內(nèi)存編程庫PMDK(Persistent Memory Development Kit)[15],可以進行讀、寫、持久化等操作。Block-device模式是把NVM當(dāng)作和固態(tài)硬盤一樣的塊設(shè)備,采用標(biāo)準(zhǔn)的塊設(shè)備接口進行訪問,這種模式性能損失較大,本文不做考慮。本文設(shè)計的NVMDB采用app-direct模式對NVM空間進行管理,更為靈活高效,也避免了DRAM空間的浪費。
在NVMDB中,由DRAM和NVM構(gòu)成的混合內(nèi)存按照圖4所示的方式進行管理。DRAM和NVM都映射到虛擬內(nèi)存空間,用戶進程基于PMDK接口進行訪問。具體來說,通過固定大小的頁面(Page)進行空間的分配和回收,其中DRAM對應(yīng)的頁面為熱頁HP(Hot Page),NVM空間對應(yīng)的頁面為NVM頁NP(NVM Page)。其中HP主要用于放置元組、索引和寫緩存;NP主要用于放置元組、檢查點數(shù)據(jù)和WAL數(shù)據(jù)。
Figure 4 Hybrid memory space management圖4 混合內(nèi)存空間管理
由于DRAM的性能要優(yōu)于NVM的,除了索引與寫緩存固定使用HP外,NVMDB的數(shù)據(jù)放置策略為優(yōu)先使用HP放置元組。在4.3節(jié)將詳細介紹日志清理過程中對DRAM元組的釋放,釋放出HP空閑空間,用于存儲最新寫入的元組數(shù)據(jù)。因此,NVMDB可以充分利用DRAM資源提升性能。NVMDB的垃圾回收策略是以頁面為單位,后臺優(yōu)先選擇垃圾數(shù)據(jù)比例高的頁面進行回收。
NVMDB中的事務(wù)處理采用組提交方式,事務(wù)預(yù)提交之后,最新的數(shù)據(jù)在DRAM寫緩沖區(qū),等待后臺的“日志寫”線程寫入NVM進行持久化之后,才算提交成功。多個并行的事務(wù)處理線程會先把日志數(shù)據(jù)寫到每個線程自己本地的DRAM緩沖區(qū),事務(wù)預(yù)提交之后集中寫入全局DRAM緩沖區(qū),多個“日志寫”后臺線程會將數(shù)據(jù)從全局DRAM緩沖區(qū)寫入到NVM的日志空間中。“日志寫”后臺線程的數(shù)量設(shè)置為NVM硬件的最佳寫并行度(一般每個CPU配備6個線程)。
為了防止WAL空間過大,NVMDB的后臺日志清理進程會定期將WAL中的數(shù)據(jù)轉(zhuǎn)入檢查點。具體轉(zhuǎn)換時先分析每條WAL日志,找到對應(yīng)的元組數(shù)據(jù);如果元組數(shù)據(jù)在NVM空間,則不用進行額外操作,因為日志清理過程會延遲進行,NVMDB的NVM空間會有周期性的Cache刷回操作以保證數(shù)據(jù)的持久化,在進行日志清理時,NVM元組空間中的數(shù)據(jù)已經(jīng)保證了持久化;如果元組數(shù)據(jù)在DRAM空間,會寫入NVM空間并進行持久化,形成檢查點數(shù)據(jù)。整個過程如圖4所示。
NVMDB的數(shù)據(jù)恢復(fù)主要包括WAL日志處理和索引恢復(fù)2個部分:
(1) 在節(jié)點崩潰或系統(tǒng)重啟時,DRAM中的數(shù)據(jù)會全部丟失,包括DRAM中存儲的元組數(shù)據(jù);而NVM中的元組數(shù)據(jù)由于無法保證能從CPU緩存中刷回到NVM中,因此這部分數(shù)據(jù)需要與DRAM的進行相同的處理,即全部丟棄。只有保障持久化存儲的NVM中的檢查點和WAL日志不會丟失。在恢復(fù)過程中需要將WAL日志按照標(biāo)準(zhǔn)流程進行處理,包括分析、重做和撤銷3個階段,恢復(fù)DRAM和NVM元組數(shù)據(jù)部分的數(shù)據(jù)。由于系統(tǒng)會周期性進行日志清理,本文將數(shù)據(jù)轉(zhuǎn)移到NVM的檢查點中,因此WAL日志的數(shù)量一般不多,恢復(fù)速度較快。在處理WAL恢復(fù)元組數(shù)據(jù)的同時,也恢復(fù)了相應(yīng)數(shù)據(jù)對應(yīng)的索引。
(2) 對于索引來說,除了WAL日志中包括的合法數(shù)據(jù)外,NVM檢查點中的數(shù)據(jù)也需要與索引關(guān)聯(lián),以便后續(xù)查找。因此,恢復(fù)索引的過程還需要掃描整個檢查點中的數(shù)據(jù)。為了加快索引恢復(fù)速度,對NVM檢查的訪問采取并行讀取的方式。
本節(jié)對本文所設(shè)計與研發(fā)的基于NVM混合的數(shù)據(jù)管理系統(tǒng)NVMDB與經(jīng)典的內(nèi)存數(shù)據(jù)管理系統(tǒng)MMDB(Main Memory Database)進行實驗比較。MMDB的元組數(shù)據(jù)都存儲于DRAM中,按照持久化日志存儲介質(zhì)的不同,分為MMDB-SSD(采用固態(tài)硬盤作為持久化設(shè)備)和MMDB-NVM(采用NVM作為持久化設(shè)備)2種。其中,MMDB-SSD是目前普遍采用的方案,MMDB-NVM與本文設(shè)計的NVMDB采用同樣的NVM硬件進行持久化。NVMDB的元組數(shù)據(jù)也大部分存儲于NVM中,數(shù)據(jù)存儲規(guī)模遠大于MMDB-SSD和MMDB-NVM的。
本文實驗采用標(biāo)準(zhǔn)的TPC-C測試基準(zhǔn)[16]。TPC-C測試基準(zhǔn)是國際事務(wù)處理性能委員會TPC(Transaction Processing Council)組織制定的數(shù)據(jù)庫聯(lián)機事務(wù)處理OLTP(Online Transactional Processing)系統(tǒng)性能的權(quán)威測試基準(zhǔn),非常具有代表性,受到廣泛認可。TPC-C中有5種類型的事務(wù),每種事務(wù)有規(guī)定的比例。TPC-C采用數(shù)據(jù)管理系統(tǒng)在單位時間(如每秒鐘或每分鐘)內(nèi)能夠完成的事務(wù)數(shù)來反映系統(tǒng)性能。
實驗使用的服務(wù)器配備了2個Intel?Xeon?Gold 5220 CPU @ 2.20 GHz CPU,每個CPU有18個物理核心,49.5 MB的三級高速緩存,每個CPU上都配置了6條32 GB的DRAM和6條128 GB的Optane DCPMM。實驗平臺的操作系統(tǒng)內(nèi)核版本是Linux 5.11.0。
圖5給出了不同并行線程數(shù)的幾個系統(tǒng)的每秒平均事務(wù)數(shù)TPS(Transactions Per Second)對比。從圖5可以明顯看出,在并行線程數(shù)較低時,由于遠遠沒有達到NVM的最佳并行度,NVM相對于SSD性能優(yōu)勢并不明顯,3個系統(tǒng)的TPS非常接近;當(dāng)并行線程數(shù)達到16時,NVM的性能相對于SSD的開始逐漸明顯,因此MMDB-NVM的性能明顯優(yōu)于MMDB-SSD的,二者此時使用的軟件完全相同,只是日志設(shè)備不同;NVMDB的性能還略低于MMDB-NVM的,主要的原因是NVMDB采用NVM拓展了DRAM的元組數(shù)據(jù)存儲空間,擴大了數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)規(guī)模,NVM存儲的性能低于DRAM的,雖然NVMDB的日志部分性能要優(yōu)于MMDB-NVM的,整體的性能還是略低;最后當(dāng)并行度達到64以后,由于并行度與NVM的硬件特征更為匹配,雖然NVMDB的數(shù)據(jù)存儲規(guī)模大于MMDB的,但其性能也明顯優(yōu)于MMDB-SSD和MMDB-NVM的。
Figure 5 Performance comparison between NVMDB and existing MMDBs圖5 NVMDB與已有MMDB方案的性能對比
圖6的2條折線分別表示NVMDB相對于MMDB-SSD和MMDB-NVM的性能提升百分比。在線程數(shù)為64時,NVMDB的性能增幅分別約為300%和114.2%,加速效果非常顯著。
Figure 6 Performance improvement percentage of NVMDB compared with existing MMDBs圖6 NVMDB相對于已有MMDB方案的性能提升百分比
目前Intel推出的Optane NVM具有多種使用模式,其中易失性的memory模式看起來非常適合存儲元組數(shù)據(jù),拓展DRAM的存儲空間。Memory模式下,為了加速NVM訪問,控制器會隱藏DRAM空間,將其作為NVM的緩存來加速。而本文所實現(xiàn)的NVMDB采用了app-direct模式,由軟件層來管理DRAM和NVM空間,這樣系統(tǒng)中仍然可以使用DRAM空間,空間使用效率更高。
為了評價NVMDB與memory模式的性能差異,本文基于NVMDB構(gòu)建了一個變種:一部分NVM采用memory模式配置,用于存儲元組數(shù)據(jù);另一部分NVM仍然采用原方案存儲WAL日志和檢查點(標(biāo)記為Volatile NVM)。同時,為了更全面地展示效果,NVMDB同時也與純DRAM存儲元組數(shù)據(jù)的方案(DRAM-Only)進行比較;且實驗中的數(shù)據(jù)規(guī)模在DRAM容量之內(nèi)。
3個方案的TPS情況如圖7所示。在并行線程數(shù)較低(例如1~4線程)時,3個方案的性能差異很小;在線程數(shù)增加到16~64時,Volatile NVM方案的性能增長不大,遠遠落后于另外2個方案的,主要原因可能是目前Optane NVM的memory模式還不成熟,還無法充分發(fā)揮高并發(fā)時NVM的性能優(yōu)勢。當(dāng)線程數(shù)達到16~64時,NVMDB的性能略低于DRAM-Only的,但是性能差距不大,尤其是在高并發(fā)(例如64線程)時;考慮到NVMDB相對于DRAM-Only在存儲空間和成本方面的優(yōu)勢,NVMDB的性能表現(xiàn)已經(jīng)不錯了。圖8展示了NVMDB相對于這2種方案的性能提升百分比。從圖8可以更直觀地看到上述規(guī)律,NVMDB相對于Volatile NVM的性能優(yōu)勢非常明顯,而與DRAM-Only的性能差異非常小。
Figure 7 Performance comparison of NVMDB versus memory-mode and pure DRAM圖7 NVMDB與memory模式 和純DRAM元組方案的性能對比
Figure 8 Performance improvement percentage of NVMDB over memory-mode and pure DRAM圖8 NVMDB相對于memory模式 和純DRAM元組方案的性能提升百分比
本文提出了兩級氣象數(shù)據(jù)管理系統(tǒng)框架,其中基于NVM混合內(nèi)存的高速數(shù)據(jù)管理系統(tǒng)相對于傳統(tǒng)內(nèi)存數(shù)據(jù)管理系統(tǒng),具有更好的性能、更大的存儲規(guī)模和更低的單位數(shù)據(jù)容量成本,可以更好地滿足天氣預(yù)報和氣候變化分析等氣象業(yè)務(wù)與研究的需求。本文設(shè)計和研發(fā)的高速數(shù)據(jù)管理系統(tǒng)NVMDB在系統(tǒng)架構(gòu)、模塊和策略設(shè)計上充分考慮到DRAM和NVM 2種內(nèi)存的硬件特征,采用軟硬件協(xié)同設(shè)計方法,在混合內(nèi)存空間管理、并行日志寫入等方面顯著拓展存儲規(guī)模并提升了性能。相對于經(jīng)典的內(nèi)存數(shù)據(jù)庫系統(tǒng),NVMDB具有非常明顯的性能、空間和成本優(yōu)勢,具有很好的推廣應(yīng)用價值。