SSD

SSD

如果说云的出现是一种商业模式的变化的话,驱动这个商业革命的推手就是最近十年硬件的快速更新。比起CPU,存储和网络设备的进化速度更加迅速。最近五年,SSD的价格(包括PCIe接口)的成本持续下降,批量采购的话已经几乎达到和HDD接近的价格。

Average Contract Price for PC-Client

SSD的普及,对于存储软件厂商的影响是深远的。

其一,是极大地缓解了IO瓶颈。对于数据库厂商来说,可以将更多的精力花在其他事情,而不是优化存储引擎上。最近两年发生了一些更大的变化,NVMe正在成为主流,我们很早就在Intel Optane进行实验和投资,类似这样的非易失内存的技术,正在模糊内存和存储的界限,但是同时对开发者带来挑战也是存在的。举一个简单的例子,对于Optane这类的非易失内存,如果你希望能够完全利用它的性能优势,最好使用类似PMDK这类基于Page cache BypassSDK针对你的程序进行开发,这类SDK的核心思想是将NVM设备真正地当做内存使用。如果仅仅将Optane挂载成本地磁盘使用,其实很大程度上的瓶颈不一定出现在硬件本身的IO上。

下面这张图很有意思,来自Intel对于Optane的测试,我们可以看见在中间那一列,Storage with Optane SSD,随机读取的硬件延迟已经接近操作系统和文件系统带来的延迟,甚至Linux VFS本身会变成CPU瓶颈。其实背后的原因也很简单,过去由于VFS本身在CPU上的开销(比如锁)相比过去的IO来说太小了,但是现在这些新硬件本身的IO延迟已经低到让文件系统本身开销的比例不容忽视了。

Intel 对于 Optane 的测试

其二,这个变化影响了操作系统和文件系统本身。例如针对Persistent Memory设计新的文件系统,其中来自UCSDNVSL实验室(Non-Volatile Systems Laboratory)NovaFS就是一个很好的例子。简单来说是大量使用了无锁数据结构,减低CPU开销,NovaFS的代码量很小很好读,有兴趣可以看看。另外IntelPersistent Memory编程模型有很好的一篇文章,感兴趣的话可以从这里开始了解这些新变化。

上一页
下一页