魏 征 黎斐南 邢 晶 霍志剛 孫凝暉
(*中國科學院大學 北京 100089)(**計算機體系結構國家重點實驗室 北京 100089)(***中國科學院計算技術研究所 北京 100089)
存儲設備在過去很長一段時間都被視為高延遲的慢速設備,隨著新材料和設備的研制,存儲設備的性能有了很大改善,I/O延遲大大下降。然而目前的大部分軟硬件的設計還是建立在慢速設備的假設上,這種設計無法充分發揮新式存儲設備的性能,因而仍存在讀寫延遲高的問題。
機械硬盤(hard disk drive, HDD)[1]作為主要的廉價存儲設備,從最初的3.75 MB到現在的14 TB,HDD的容量增加了373萬倍。但是,HDD的訪問延遲從600 ms下降到了2 ms,只減少到了原來的1/300。HDD數據存儲在盤片上,受機械結構的限制,碟片的旋轉速度不能無限提高。HDD的平均延遲基本都是毫秒級的。固態硬盤(solid state drive, SSD)使用集成電路作為存儲介質,受益于半導體工藝的發展,延遲可以達到微秒的量級[2]?,F在的NVMe SSD可以達到幾十微秒的延遲。基于3D XPoint材料的存儲設備擁有更低的延遲,填補了SSD和內存之間的差距,其延遲達到微秒級[2]。
傳統的跨節點數據通路中,數據傳輸都要經過內存。數據一開始在遠程主機的內存中,中央處理器(central processing unit, CPU)設置網絡接口控制器(network interface controller, NIC)的直接存儲器訪問(direct memory access, DMA),由DMA把數據發送到網絡上。本地的NIC從網絡收到數據,數據經過DMA的搬運,保存到內存中。然后CPU再控制存儲設備的DMA,把數據寫入本地的存儲設備。隨著存儲技術的發展,存儲設備的延遲已經從原來的毫秒級變為了現在的微秒級,數據在數據通路上延遲在整個傳輸延遲中的占比會大大增加,原來的傳輸路徑可能會導致額外的傳輸開銷?!?br>