麻省理工学院的研究人员开发了一种新的方法来管理计算机芯片上的内存
麻省理工学院的工程师发现了一种管理计算机芯片内存的新方法,它可以更有效地利用电路空间,并且与现有芯片设计更加一致。
一年前,麻省理工学院计算机科学与人工智能实验室的研究人员推出了一种根本上新的管理计算机芯片内存的方法,随着芯片继续包含越来越多的内核或处理单元,该方法将更有效地利用电路空间。在具有数百个内核的芯片中,研究人员的方案可以释放大约15%到25%的片上内存,从而实现更高效的计算。
但是,他们的方案假定了某种类型的计算行为,而实际上大多数现代芯片都不执行这种行为。上周,在国际并行架构和编译技术会议(他们第一次报告其方案的同一次会议)上,研究人员介绍了更新的版本,该版本与现有芯片设计更加一致,并且还有一些其他改进。
多核芯片带来的根本挑战是它们并行执行指令,而在传统的计算机程序中,指令是按顺序编写的。计算机科学家一直在致力于使计算机程序员更容易进行并行化的方法。
麻省理工学院研究人员计划的最初版本称为Tardis,实施了一个称为顺序一致性的标准。假设程序的不同部分包含指令ABC和XYZ的序列。当程序并行化时,A,B和C被分配给内核1;否则,内核将被分配给内核1。 X,Y和Z到核心2。
顺序一致性不会在分配给不同内核的指令的相对执行时间之间建立任何关系。它不保证核心2将完成其第一条指令X,然后再将核心1移至其第二条B。它甚至不能保证核心2将开始执行其第一条指令X-在核心1完成其最后一条指令之前。一个—C。它可以保证的是,在核心1上,A将在B之前执行,B将在C之前执行;在核心2上,X将在Y之前执行,Y在Z之前执行。
这篇新论文的第一作者是电气工程和计算机科学专业的研究生于香瑶。他的论文顾问和论文的共同作者,麻省理工学院电气工程与计算机科学系的Edwin Sibley Webster教授,Sirni Devadas,Algonquin区域高中的Honghong Ze Liu和Lexington高中的Ethan Zou也加入了他的行列。 ,他是通过麻省理工学院的数学,工程与科学研究计划(PRIMES)计划加入该项目的。
计划性疾病
但是在读写数据方面(像Tardis这样的内存管理方案所关注的唯一类型的操作),即使是这种相对适度的约束,大多数现代芯片也不执行。例如,Intel的标准芯片可能会将读/写指令ABC的顺序分配给内核,但让其以ACB的顺序执行。
放宽的一致性标准可使芯片运行得更快。于说:“假设内核执行写操作,而下一条指令是读操作。”“在顺序一致性下,我必须等待写入完成。如果我在高速缓存(核心存储常用数据的小型本地存储库)中找不到数据,则必须去管理数据所有权的中央位置。”
他继续说:“这可能需要在网络上发送很多消息。”“并且取决于其他核心是否正在保存数据,您可能需要联系该核心。但是下面的内容呢?该指令坐在那里,无法进行处理。如果您允许这种重新排序,那么在完成此写操作的同时,我可以阅读下一条指令。而且您可能有很多这样的指令,并且所有这些指令都可以执行。”
Tardis比现有的内存管理方案更有效地利用芯片空间,因为Tardis根据“逻辑时间”而不是时间来协调内核的内存操作。使用Tardis,共享存储库中的每个数据项都有自己的时间戳。每个内核还具有一个计数器,可以有效地对其执行的操作进行时间戳记。无需两个内核的计数器都同意,并且只要其他内核将其计算视为在较早时发生,则任何给定的内核都可以不断更新自从主存储器中更新后的数据。
分工
为了使Tardis能够适应更宽松的一致性标准,Yu和他的合著者只给了每个核心两个计数器,一个用于读取操作,一个用于写入操作。如果内核选择在之前的写操作完成之前执行读操作,则它只是给它一个较低的时间戳,并且芯片整体上都知道如何解释事件的顺序。
不同的芯片制造商具有不同的一致性规则,并且许多新论文都描述了如何在单个内核内以及内核之间协调计数器以实施这些规则。于说:“因为我们有时间戳,所以很容易支持不同的一致性模型。”“传统上,当您没有时间戳记时,则需要争论哪个事件在物理时间中首先发生,这有点棘手。”
对冲基金Two Sigma的副总裁兼高级研究员拉里·鲁道夫(Larry Rudolph)说:“新工作非常重要,因为它与当前英特尔芯片中最受欢迎的放松一致性模型直接相关。”计算技术来制定交易策略。Sun Microsystems和其他公司探索了许多不同的一致性模型,其中大多数现在已经破产。现在都是英特尔。因此,匹配当前英特尔芯片流行的一致性模型非常重要。
作为使用广泛的分布式计算系统的人,Rudolph相信Tardis的最大吸引力在于,它提供了一个统一的框架来管理核心级别,计算机网络级别以及两者之间的内存。他说:“今天,我们已经在微处理器中进行缓存,有了DRAM(动态随机存取存储器)模型,然后有了存储,该存储曾经是磁盘驱动器。”“因此,进行高速缓存访问和DRAM访问之间的时间大约是100,而进入磁盘的时间大约是10,000或更多。随着闪存[内存]和新的非易失性RAM的问世,整个层次结构将变得更好。真正令人兴奋的是,Tardis可能是一个跨越处理器,存储和分布式文件系统之间一致性的模型。”
论文(PDF):Tardis 2.0:松弛一致性模型的优化时间旅行相干性