數據特性和硬件特征是高效數據管理的兩個關鍵因素.一方面,隨著大數據時代的到來,數據管理系統需要支持越來越海量、高速、多樣的數據.各種新的數據管理技術紛紛涌現,不僅包括對傳統的關系型數據庫系統的擴展,而且包括多種新型的大數據系統,例如NoSQL系統、NewSQL系統等.數據的種類不僅有傳統的關系型數據,而且有圖類型、JSON樹狀數據等多種非傳統數據類型.另一方面,計算機系統的硬件正在經歷著深遠的變化.更大容量的主存、NVM技術等正改變著存儲系統的面貌.GPU、FPGA、專用加速硬件正逐漸由專用領域走向通用計算,對數據的運算和管理發揮著越來越重要的影響.因此,如何把這兩者相結合,利用新型的存儲和計算硬件高效地支持數據管理的需求成為一個重要的學術課題.許多基本問題還有待探索,包括系統架構、數據存儲、索引、查詢處理、能源效率等.
鑒于此,《計算機研究與發展》出版“面向新型硬件的數據管理”專題,側重面向新硬件的數據庫技術、面向新硬件的大數據系統、軟硬件協同設計(Co-Design)的數據處理等方面,探討面向新型硬件的數據管理基礎理論研究及其應用,討論該領域內最新的突破性進展,交流新的學術思想和新方法,展望未來的發展趨勢.本專題包含7篇文章,內容涵蓋面向新型非易失存儲NVM的數據管理和面向新型加速硬件的數據管理兩大方面,并反映了國內學術領域和產業界在面向新型硬件的數據管理方面的主要工作.
在大數據運算系統中,許多大規模運算分析要求數據在不同階段以不同的順序或劃分方式分布在大數據系統的運算節點上,這是由Shuffle操作實現的.為了容錯和避免重復計算,Shuffle操作常常把數據持久化到外存文件系統中,因而IO就成為影響Shuffle性能的重要因素,尤其對于以Spark為代表的內存大數據運算系統更是如此.NVM具有讀寫速度快、非易失、高密度等優點,為解決Shuffle操作的IO性能問題提供了新的契機.潘鋒烽等作者在論文“NV-Shuffle:基于非易失內存的Shuffle機制”中,提出一種基于 NVM的Shuffle優化策略NV-Shuffle,采用了NVM主存進行Shuffle數據的存儲與管理,從而避免了外存文件系統的開銷.實驗表明NV-Shuffie可有效降低Shuffle-heavy負載在Spark上的執行時間.
當運算節點的主存是由DRAM和NVM共同構成的異質內存時,除了可以利用NVM來避免IO開銷,還需研究如何在內存大數據運算系統中合理布局數據到異質內存這個關鍵問題.王晨曦等作者在論文“面向大數據處理的基于Spark的異質內存編程框架”中,系統地分析了Spark應用的訪存特征和其對OpenJDK的內存使用特點,提出了一套數據在異質內存布局的框架,通過簡單調用的接口,可以將數據合理布局在NVM和DRAM之中.詳細的實驗分析表明由少量DRAM和大量NVM組成的異質內存可以達到與相同容量DRAM內存相近的性能,從而能夠有效地利用NVM來滿足更大規模內存大數據處理的需求.
為了滿足數據管理、大數據計算對新型主存系統的需求,必須考慮不同種類存儲器件的特性,設計高能效的存儲架構.劉珂等作者在論文“基于高性能SOC FPGA陣列的NVM驗證架構設計與驗證”中,提出一種基于高性能SOC FPGA陣列的NVM驗證架構,利用多層次FPGA結構擴展連接多片NVM,并在此基礎上設計了主從式NVM控制器,不僅可以測試協同工作的同類型多片NVM,也可以驗證混合NVM的存儲方案.
在面向新型加速硬件的數據管理方面,GPU能夠提供大規模線程的并行環境、高吞吐的內存和緩沖訪問機制,因此基于GPU的大規模圖數據處理算法和系統日益成為研究熱點.但是,單個GPU的訪存空間容量限制了圖數據的規模.張珩等作者在論文“基于Multi-GPU平臺的大規模圖數據處理”中提出了一個基于多GPU平臺的支持高效、可擴展的大規模圖數據處理系統GFlow.GFlow提出了適用于多GPU的圖數據切分策略和雙展滑動窗口算法,合理布局圖的屬性數據、圖結構數據和迭代計算的中間結果,從SSD存儲至GPU設備動態地加載數據分塊,從而有效地支持GPU對大規模圖的計算.實驗表明GFlow在多GPU平臺下相比其他外存圖處理系統有明顯的性能優勢.
傳統的硬件加速器(GPU,FPGA等)和計算機主存是相互分離的,因此數據在主存和加速器之間的移動常常成為影響性能的重要因素.靠近數據的處理技術(near-data processing)和3D堆疊DRAM等新技術使硬件加速器可能集成到DRAM中,從而大大降低數據移動的代價.其中一個關鍵設計問題是如何合理地在CPU和加速器之間劃分加速任務,以簡化加速器,使其可以滿足3D堆疊DRAM對面積、功耗和散熱等的嚴格限制.吳林陽等作者在論文“CPU和DRAM加速任務劃分方法:大數據處理中Hash Joins的加速實例”中,以數據管理系統中的核心算法Hash Joins為實例,討論CPU和內存端加速任務的劃分,設計了一個包含內存端定制加速器和處理器端SIMD加速單元的混合加速系統,對于數據移動成本低的階段采用處理器端SIMD加速,而對于數據移動代價高的階段采用內存端加速.實驗表明與英特爾的 Haswell處理器和Xeon Phi相比,混合加速系統取得了大幅度的能效提升.
在本專題出版的7篇論文中,上述5篇論文來自學術界,反映了國內學術界在面向新型硬件的數據管理方面的最新研究成果,2篇論文來自產業界,分別來自華為公司和阿里巴巴公司的數據庫系統團隊,體現了產業界對數據管理系統中應用新型硬件的關注.
硬件事務內存HTM已經被x86等主流系統所廣泛支持.HTM可以確保原子性(Atomicity)、一致性(Consistency)和隔離性(Isolation),而NVM可以確保持久性(Durability),因此兩者結合有可能高效地支持事務處理ACID的要求.然而,HTM所能支持的數據量受限于硬件的固有容量,難以滿足數據庫事務處理的需求.華為公司的Hillel Avni和王鵬在論文“面向數據庫的持久化事務內存”中,研究了如何擴展HTM并結合NVM以支持數據庫ACID事務,提出了一種通過HTM進行ACID事務處理的軟硬件解決方案PHTM(persistent HTM).為了消除PHTM的局限性,作者提出了一種持久化混合事務內存,允許PHTM事務與支持任意大小的純軟件事務并發執行.此外,又進一步提出了一種分離事務的執行算法,專門優化了關系型數據庫事務,解決了事務數據量超過PHTM的容量限制的問題.
阿里巴巴公司的張鐵贏等作者在“X-DB:軟硬一體的新型數據庫系統”論文中,介紹了阿里巴巴數據庫系統團隊新近研發的X-DB系統.X-DB的設計是基于阿里巴巴大規模業務的需求,充分地利用了新硬件的特性,圍繞存儲、網絡、多核、并行和異構計算進行了軟硬一體的協同設計.作者介紹了X-DB的系統架構和存儲引擎、內存索引、并發控制等功能模塊,并重點說明了面向FPGA,NVM等新硬件的軟硬一體設計.
本專題征文發出后得到了廣大研究人員的積極響應.我們感謝廣大作者對本專題的大力支持!感謝審稿專家對本專題投稿及時認真的審閱和詳細中肯的意見和建議!特別感謝《計算機研究與發展》編委會和編輯部,感謝他們支持面向新型硬件的數據管理這一前沿技術專題,為本期專題的編輯和出版付出了辛勤的工作!