2

中国工程院院士郑纬民教授:从头研发先进的存储系统软件

 3 years ago
source link: http://www.dostor.com/p/76669.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
中国工程院院士郑纬民教授:从头研发先进的存储系统软件-存储在线
当前位置:存储在线 > 技术 > 正文

什么叫从头构建先进的存储软件?

从头开始做,就是都要自己做,而不是在开源软件上的基础上修改、包装。不是说开源软件不好,但这里更加强调要从头自己做起;第二,需要确保先进性,不是做一个比现有开源软件差的软件,而是要做得更好。

2021073014215617.png

中国工程院院士、清华大学计算机系教授郑纬民发表主题演讲:应鼓励从头研发先进的存储系统软件

现在是时候!其中大概有几个原因:

第一,现有很多设计是基于传统硬件的,如机械硬盘,其随机访问性能差、延迟高,外存带宽比内存带宽要差两个数量级别。过去很多系统软件都是基于硬盘做的。当今的主流是NVMe SSD闪存,其随机读/写性能和连续读/写是一样的,外存带宽与内存带宽只差一个数量级了,这就给我们带来机会,系统软件应该重写。

第二,原来写软件主要有两种语言:C和Java,两种语言的表达能力应该说不是太好,内存管理需要要手动进行。如今, C++、Rust,这两种新语言的表达能力更好,内存管理也做得更好,边缘优化也很好,这就为从头写先进存储软件创造了条件。

那么先进存储软件从哪里来呢?

相当一部分系统软件开始时是0到1,发源于少数软件天才,比如Linux是赫尔辛基大学的学生做的,Spark是美国Berkley分校的博士做的,开始时这些软件功能简单一点,慢慢的就由1变成100、1000。中国当前的问题是从0到1的例子太少,更多人做的工作是从100到1000,这也不是不好,但是中国更需要0到1。

中国能不能做0到1呢?特别针对存储,没有可能做0到1的事情?

在此,我举2两个例子来说明。

一是高性能分布式文件系统,它属于存储系统软件的范畴,被应用在深圳鹏城国家实验室的超级计算项目中,荣获IO500性能排行榜第一名。IO500测什么?测写入数据、再读出,创建、删除、写入文件、查找,非常复杂,例如小文件只有3901个字节,就是这么怪的数据让你测性能。因此IO500的冠军,意味着存储系统设计非常优秀。

英特尔的DAOS系统以及剑桥大学的Lustre文件系统都参加过该测试,美国象树岭国家实验室也参加过,长沙的天河、广州超算中心、阿贡实验室、Oracle等都参加过比赛。

初期我们也想基于国外原型系统做,后来发现开源软件问题很大,后来我们从头开始构建,用Rust语言,基于更通用、更稳定的库,其性能很好,其中就涉及到RDMA、NVMe SSD等新技术,并全面采用旁路技术,降低软件栈开销,最终用Rust语言写出了一个高性能分布式文件系统,并把IO500冲到了7043的分数,相比第二名就有2000分不到,最后测试的情况,我们达到36850分。

最后,我们得了6个冠军,因为10个节点一比,全系统一比,比带宽、比延迟,我们都拿了6个冠军。

第二个例子,基于NVMe SSD来做数据库系统,此前一代数据库是基于硬盘的,数据存在硬盘上,用内存作为缓存,MySQL,Oracle都是这样思路,但是其中只有6.8%的指令是业务需要的,也就是读、写数据库只有6.8%,剩下的都在做内存缓存管理。相比,内存数据库数据全都放在内存,但是内存不是持久性设备,断电数据就会丢失,因此为了保证持久性,要把日志、检查点数据放在硬盘中,造成了延迟增加,从10微秒增加到100毫秒。

有没有可能做一个NVMe SSD数据库,也就是基于闪存的数据库?答案是可以的,但不是简单地把内存、硬盘替换成闪存就可以的,要做一系列优化,有很多东西要做,我们做完以后觉得还是可以的。

基于以往的实践,不难得出三点以下体会:

1.从头构建先进的存储系统软件没有想象的那么难,因为SSD、RDMA、Rust给了我们重新做系统软件的机会;

2.外国大学生能做到,中国大学生也能做到。外国年轻人能做到的,中国年轻人也能做到;

3.关键是你要开始做,不要等着。

我们需要涌现一批没事就想写个系统的年轻人,要对写软件有兴趣,有了这个兴趣,你就行,就可以行。

我觉得我们国家的存储系统,应该说经过大家的努力,会越来越好。

 (以上基于2021年全球闪存峰会演讲整理,未经过本人审阅)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK