北卡罗来纳州立大学的计算机工程研究人员开发了新的软件和硬件设计,可以限制编程错误,并提高使用非易失性存储器(NVM)技术的设备的系统性能。
“目前,计算机的操作是依赖于动态随机存取存储器(DRAM)。”北卡罗来纳州立大学电气和计算机工程副教授James Tuck(他是这项工作的两篇论文的合著者)说。“下一代计算机系统可能会在操作和数据存储方面依赖新兴的NVM技术。我们在这里的工作重点是解决从DRAM计算模式转变为NVM所固有的一些编程和性能挑战。”NC州立大学电气和计算机工程教授、论文合著者Yan Solihin说。
NVM系统面临的一个挑战是,在对内存块进行更改之前,确定如何记录或保存内存块。这些日志允许用户在系统出现故障时重置内存,从而损坏正在修改的内存。
目前,登录NVM系统需要程序员在程序中加入额外的代码,这会降低性能,并增加写入内存的操作数量。如果过于频繁地重写,内存可靠性就会受到影响。为了解决这个问题,研究人员开发了一个名为Proteus的系统,该系统包括一个软件模型和补充硬件。由于NVM计算机目前主要是理论上的,研究人员在详细的模拟器中将Proteus的性能与其他技术进行了比较。其他技术写入内存的次数是Proteus的两到六倍,这意味着Proteus更善于保持内存的长期可靠性。Solihin说:“与现有技术相比,Proteus能够在写入内存方面几乎免费记录内存。”Proteus在运行速度方面也比其他技术表现得更好,尽管那里的优势更为温和——比现有的最佳技术提高了9%到11%。
NVM系统的第二个挑战与系统如何给数据一个地址以便检索有关。出于安全和其他原因,一些程序要求更改这些地址,但这可能会使编程复杂化,并降低NVM系统的性能。为了解决这个问题,研究人员开发了一种硬件驱动的技术,该技术可以有效地为数据创建永久地址,但允许程序根据需要为这些地址提供假名。塔克说:“编程仍然需要考虑硬件,但它允许程序员使用他们习惯的虚拟内存方法。在模拟中,我们的方法比以前的技术至少快1.5倍。”关于这两种新技术的论文将在10月14日至18日于马萨诸塞州波士顿举行的年度IEEE/ACM微体系结构国际研讨会上发表。
DOI:10.1145/3123939.3124539
发表:IEEE/ACM年度微体系结构国际研讨会,10月14日至18日,马萨诸塞州波士顿。