新技术可以使芯片携带成千上万的核心

麻省理工学院的研究人员已经推出了三十多年来的第一个基本上的缓存一致性方法,这是一个可以帮助携带成千上万的核心的内存管理方案。

在现代,多核芯片,每个核心或处理器 - 都有自己的小内存缓存,在那里它存储经常使用的数据。但芯片还有一个更大的共享缓存,所有内核都可以访问。

如果一个核心尝试更新共享缓存中的数据,则需要知道相同数据的其他内核。因此,共享缓存会保留一个目录,其中核心具有哪些数据的副本。

该目录占用了一大块内存:在64核芯片中,它可能是共享缓存的12%。并且该百分比只会随着核心计数而增加。设想的芯片具有128,256甚至1,000个核心需要更有效地保持高速缓存的一致性方式。

在10月份的平行架构和汇编技术国际会议上,麻省理工学院研究人员推出了三十多年来的第一个基本上新的缓存一致性的新方法。与现有技术一样,目录的内存分配与核心数量的直接比例增加,具有新方法,它根据核心数的对数而增加。

在128核芯片中,这意味着新技术只需要三分之一的内存作为其前任。在不久的将来,Intel设置为释放72核高性能芯片,这是一个不仅仅是假设的优势。但随着256核心芯片,节省空间升高至80%,芯片1,000芯片,96%。

当多个核心只是阅读存储在同一位置的数据时,没有问题。仅当其中一个核心需要更新共享数据时才出现冲突。使用目录系统,芯片查找哪些核心正在处理该数据并发送消息,使其无效地使其本地存储的副本。

“目录保证,当写入发生时,没有存在的数据副本,”电气工程和计算机科学的麻省理工学院研究生,新纸上的第一作者,襄约宇说。“在此写入后,不会读取到以前的版本。所以在物理时间顺序中的所有先前读取后,此写入是排序的。“

时间旅行

yu和他的论文顾问 - Srini Devadas,MIT电气工程系和计算机科学系的埃德文塞维地区教授 - 实现了分布式计算的物理时间顺序并不重要,只要他们的逻辑时序保留。也就是说,核心A可以继续在核心B自以来覆盖以来的数据上运作,只要该系统的其余部分将核心A处理具有前面的核心B的工作。

yu和devadas的方法的聪明才智在找到一种简单有效的强制性逻辑时间排序的方法。“我们所做的就是我们只是为每个操作分配时间戳,我们确保所有操作都遵循该时间戳顺序,”余说。

与yu和devadas的系统一起,每个核心都有自己的计数器,并且内存中的每个数据项也有一个相关的计数器。当程序启动时,所有计数器都设置为零。当核心读取一条数据时,它会提出“租约”,这意味着它会增加数据项的柜台,例如,它会增加。只要核心内部计数器不超过10,其数据副本有效。(特定数字并不重要;重要的是它们的相对价值。)

但是,当核心需要覆盖数据时,它需要它的“所有权”。其他核心可以继续在其本地存储的数据副本上工作,但如果他们想延长他们的租约,它们必须与数据项的所有者协调。正在进行写作的核心将其内部计数器递增到高于数据项计数器的最后一个值的值。

例如,例如,核心A到D都读取了相同的数据,将其内部计数器设置为1并将数据的计数器递增到10。核心E需要覆盖数据,因此它需要其所有权并将其内部计数器设置为11。它的内部计数器现在将其指定为在稍后的逻辑时间操作而不是其他内核:他们回到1,它在11点之前。及时跳跃的想法是给系统的名称 - Tardis,之后英国科幻英雄博士博士博士。

现在,如果核心试图在数据上取出新的租约,它将发现它由Core E拥有,它发送消息。Core E将数据写回共享缓存,核心A读取它,将其内部计数器递增到11或更高。

未开发的潜力

除了在内存中保存空间之外,TARDIS还消除了将无效消息广播到共享数据项的所有内核的需求。在大型多核芯片中,Yu说,这可能导致性能改进。“我们没有看到这些实验中的性能收益,”余说。“但这可能取决于基准” - 宇和德拉多斯测试了Tardis的行业标准程序。“它们高度优化,所以也许他们已经删除了这个瓶颈,”余说。

“还有其他人看过这种租赁的思想,”英特尔实验室的主要工程师克里斯托弗·休斯表示,但至少我的知识,他们往往使用物理时间。你会向某人发出租约,然后,'OK,是的,你可以用这个数据来说,说,100个周期,我保证没有其他人在那个时间里触摸它。但是你有点覆盖你的表现,因为如果别人之后立即想要改变数据,那么他们必须在他们这样做之前等待100个周期。虽然这里,没问题,你可以推进时钟。这是我所知,从未以前从未完成过的事情。这是一个真正整洁的关键主意。“

然而,Hughes表示,芯片设计师的自然是保守的。“几乎所有大规模的商业系统都基于基于目录的协议,”他说。“我们不会弄乱他们,因为在改变实施时,它很容易犯错误。”

但是,“他们的计划的部分优势是,它在概念上的概念上比当前的[目录]的方案有点简单,”他补充道。“这些家伙所做的另一件事不仅提出了这个想法,而且他们有一个单独的论文实际上证明了其正确性。这对这个领域中的人们来说非常重要。“

纸:Tardis:分布式共享内存的时间旅行相干性算法

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。