软件对存储性能的影响

作者 吴忠杰

 

存储系统的核心是软件,在磁盘存储时代,存储系统软件设计的好坏似乎对性能的影响并不是很大,很多存储软件的设计并不会去考虑计算机的体系架构,也不用去关心操作系统调度、内存拷贝等因素带来的性能影响。对于磁盘存储,事情的确是这样的,原因在于磁盘的性能远远低于CPU处理和访存性能。磁盘存储的性能瓶颈点就在于磁盘本身,因此过多的体系结构级别、竞争资源同步的优化,不会对存储性能带来显著优化。

 
 

在很久以前做过这方面的实践,当时觉得临界区的资源竞争会对IO性能造成影响,因此,对我们做的一套存储虚拟化系统进行锁资源优化。将全局锁细粒度化,将写锁拆分成读写锁。但是,最终的优化效果微乎其微,[……]

阅读全文

PCIe SSD背后的史诗7

作者 石璟鑫

 

总结篇

 

测试和分析都完成了,相信你也有自己的一些看法了。这里我概括一下我对这些硬盘的看法:

 

Intel DC S3500/S3700系列:”Kights of the Old Republic”

 

它们不愧对”旧共和国武士””的称号,因为从2012年S3700发布开始,它们的性能特别是延迟性能,在sata盘中基本遇不到敌手。经历了一代又一代,见证了闪存制程的3代更新、3D NAND和TLC的崛起、sata到PCI-e的更迭、AHCI到NVMe的普及,虽然它们早已不在性能王座上,但是它们仍然在时刻提醒着后来者:不要以为你是PCI-e接口就能怎么样。

 

Sandis[……]

阅读全文

PCIe SSD背后的史诗6

作者 石璟鑫

 

怎样评价SSD性能?

 

有了各个项目的测试数据和实际应用中的表现,我们就可以试着总结一下规律:究竟应该用何种方式评价一块SSD的性能?

 

先从应用本身说起。对于一个大型软件,其大致可以分为引擎、数据库、插件、可执行程序4个部分。对于一个游戏,厂商往往会将各部分打包。所以说,我们看到的属性是这样的:

 

 

这样大大减少了文件数量,也增加了文件的连续性。如果不打包的话,其数据库,包括模型、贴图、script等文件会相当多。下图只是单独一个XML数据库中的文件。

 

 

如果把星球大战:帝国战争中所有包都解开,我们可以看到,文件的数量相当多,达到接近7千个。

 

[……]

阅读全文

PCIe SSD背后的史诗5

作者 石璟鑫

 

测试

 

注意事项:

 

首先,还是那个老生常谈的问题:什么是性能?

 

相当多的小白都是闭着眼跑分,懂的稍微多点的知道要看跑分里的”4K性能”。这是一个非常大众化的误区。问题何在?其实这种粗暴的方式问题相当多,我列举其中几个比较明显的:

 

1.一致性问题:一般跑分会给出红色框子里的峰值性能,而实际使用中你可能会经常体验到蓝色框子内的最低值。而由于应用程序本身和等待其他硬件的延迟使得平均值和最大值往往是过剩的,真正影响体验的往往是低性能的那段。对于桌面与工作站应用,”不慢不卡”比”最快能跑多快”更加重要。

 

 

2.延迟:ASSSD这种爆发跑分软件给出的延迟非常不准[……]

阅读全文

PCIe SSD背后的史诗3

作者 石璟鑫

 

被AHCI拖后腿的原生PCIe SSD

 

早在2012年,美光就已经发布了一款叫做P320h的原生PCI-e SSD。由于其使用了SLC颗粒,其价格到现在仍然非常高昂。然而不是每一个应用环境都需要那么高的耐久度。为了照顾写入密集以外的应用,提供更容易接受的价格,美光在次年发布了相同主控的采用eMLC颗粒的P420m PCI-e SSD。

 

 

P420m仍然采用了PCI-e 2.0 x8接口。比较值得注意的细节就是,所有BGA封装的NAND Flash闪存与DRAM缓存颗粒均使用树脂固定以降低虚焊的可能。上一次看到这么用心的设计已经是X25-E上了。。。

 

[……]

阅读全文