内存,磁盘,CPU:35年如何改变了权衡

2020-11-23 04:49:00

本文(用于磁盘访问的内存交易的5分钟规则和用于CPU时间的内存交易的5字节规则)研究了1980年代初/中期大型铁数据库系统的内存和磁盘空间的经济性,并得出结论:磁盘空间(然后每千字节大约花费20,000美元)和(易失性)内存(每千字节大约5美元)之间的权衡取舍有利于拥有足够的内存来保持您需要每五分钟访问一次的数据。

然后,它比较了计算能力的成本(估计每MIPS成本约为50,000美元)和内存–例如,如果压缩数据以节省内存空间,则您将不得不使用额外的计算能力来访问数据。在这里,折衷计算为每条指令每秒大约5个字节的内存。

现在,该论文明确排除了将此类比较应用于PC的理由–理由是系统设计选项的灵活性有限,并且存在不同的经济性。但是我们不会那么谨慎。

那么,今天的权衡是什么?好吧,让我们考虑一下2TB SSD磁盘的情况。这些成本大约为500英镑(大概是500美元左右),我们假设要采用RAID 5安排–因此,实际上我们需要4个“每个磁盘磁盘”,成本为每千字节0.1便士(7或8)数量级小于35年前)。

内存–为简单起见,我们要说128GB的DRAM的价格为1000英镑(高估了,但对于这种计算来说还不错)。这意味着内存的成本约为每KB 1p-因此,尽管两种介质的成本均下降了,但对于永久性存储而言,成本却下降了很多。这种计算的经济性现在已经改变了-这是关于磁盘的成本何时超过了内存,而不是相反。

为了进行计算,我们需要查看访问时间。我们假设我们可以在100微秒内访问(读取)SSD上的4KB页面,因此每秒可以处理10,000次此类读取。 4 KB的内存花费4p,而4KB的SSD花费0.4p,因此,要使该项目保留在内存中更便宜,我们大约需要每1/10秒访问一次。

另外,我们可以认为这意味着我们的缓存或虚拟内存方案应针对每0.1秒访问一次的页面。

当然会有很大的性能损失– SSD比磁盘快得多,但比易失性内存慢得多。

如上所述,早在1985年,估计计算能力的成本约为每百万百万指令每秒(MIPS)50,000美元。如今,单核设计已基本过时,因此很难为MIPS付出代价–好的并行软件可以从一组3GHz内核中驱动更好的性能,而比希望单核的5GHz猝发速度能为您带来好处。但是,正如我们在此处估算的那样,我们将选择3000 MIPS的价格为500英镑,因此单条MIPS的价格为6英镑(再次大幅下降,但与存储或内存的价格不一样),以及每秒一条指令的成本(同样)约0.001便士。

这表明每秒一条指令的成本和一个内存字节的成本大致相当–这使平衡趋向于数据压缩(例如,也许通过在字节中使用位标志而不是例如多个布尔值) ,尽管数量不多。