1.写在前面
在上一篇博客中,我们介绍了SCM的产生及其所具有一些特点,并初步展望了它在实际中可能存在的应用场景和巨大潜力。
SCM(Storage-class Memory),它具有大容量、非易失、可字节寻址、存取速度快(几乎与DRAM相当)的突出优势,这使得SCM取代磁盘disk及固态硬盘SSD成为了可能。甚至在不远的将来,当SCM的存取性能超越DRAM,它还可以彻底改变现有的存储器体系结构。
然而,在目前这一阶段,我们更多地还是考虑DRAM/SCM混合内存架构。将DRAM彻底替换掉将是一个渐变的漫长的过程,因为现有的操作系统的很多设计机制是将内存特性考虑进去的,不能一口气吃个胖子。于此类似地,许多应用是面向块的(block-oriented),及将磁盘IO作为主要考量内容融入软件设计中,所以要用SCM替换DISK也是一个不小的挑战,这就需要软件设计者充分利用SCM的存取特点及优势来重新设计byte-oriented的软件。
2.内存计算与大数据
现如今,内存计算是计算机领域一个非常热门的研究方向。不仅学术界如此,工业界更是如此。
一篇2015年的TKDE顶级期刊论文survey高屋建瓴地介绍了时下热门的大数据内存计算(和管理技术)
比如在分布式计算方面,基于MapReduce框架实现的开源Hadoop平台就是面向磁盘的,每算完一轮数据就要传中间结果给HDFS(Hadoop Distributed File System),需要大量的磁盘IO,这就造成了Hadoop在进行分布式大数据处理时的性能瓶颈。而Spark则通过将全部数据放入内存中计算,中间结果也保存在内存中极大地提高了系统性能。尤其是在进行迭代式数据处理时,Spark比Hadoop要快几乎一百倍。
在Database存储与恢复方面,传统的数据库系统操作都是磁盘中进行的,而现在许多研究者开始试图将Database放入