通过强大的新内存压缩系统推动电话和计算机性能
Umass Amherst研究人员开发出强大的新内存压实系统:介绍“网格”,“存储内存插件”以提升手机和计算机性能。
类似Web浏览器或智能手机应用程序的应用程序通常使用大量内存。为了解决这个问题,由Massachusetts Amherst大学计算机科学教授Emery Berger联合主导的研究组开发了一个系统,他们称之为可以自动降低此类内存需求的网格。Berger今天在Cppcon,科罗拉多州Aurora的C ++会议上展示了这项工作。
信息和计算机科学学院(CICS)的伯杰和同事期望网格对计算世界进行了大量影响,从移动应用程序到数据中心,因为之前没有人能够在写入的应用程序中紧凑在广泛使用的语言上运行,如C,C ++或Objective C,用于iOS应用的语言。
随着作者解释的,用C样语言编写的程序可能会遭受严重的记忆碎片,其中记忆被分解,就像一个糟糕的俄罗斯板,所以之间有许多空隙。“这就是记忆如何浪费,”他指出了。“想象一下你可以随时停止并重新组织它的方块板 - 这将使游戏更容易,因为你总是可以挤出空的空间。但是你不能在C中这样做,就像你不能在方圆中做到这一点一样。“
MESH通过利用几乎所有现代计算机支持的“虚拟内存”的硬件功能有效地挤压了这些间隙。“诀窍是找到可以交错的块的内存,就像互锁齿轮网格一样,”伯杰解释说。当Mesh找到这些块时,它可以通过将两个块与一个组合到一个块中回收来自其中一个块的内存。“此网格化过程有效,因为我们只改变”物理“记忆中的东西。从程序的角度来看,它只能看到“虚拟”记忆,没有任何改变。这是强大的,因为我们可以自动为任何应用程序执行此操作。“
该团队报告说,迄今为止的结果非常有前途;例如,使用网格自动将Firefox Web浏览器的内存需求减少16%。对于Redis,Mesh的流行开源数据结构服务器将近40%降低内存需求。
CICS网队团队包括Emery Berger教授,内存管理专家,他们设计了Mac OS X MacGregor教授Andrew McGregor教授,算法设计和分析的专家,以及博士候选者Bobby权力和David Tench。权力是一名第四年博士候选人,他们也是条纹的基础设施工程师,Tench是一名专门从事随机算法的第五年博士候选者。
在“灾难性碎片”长期被视为不可避免的领域,他们的软件是向前迈出的重大步骤,这位作者指出。“这是每个人都认为不可能的事情,”麦格雷格诺说明。“在伊梅尔有他的关键洞察力之后,理论上我们能够在理论上分析它并设计一个有效的算法来实现这个想法。反对近50年的传统智慧,这很棒的是,我们现在有解决这个重要问题,不仅在理论上有效,而且是实际的。“
今年早些时候,Berger在凤凰城的ACM Sigplan编程语言设计和实施会议(Pldi'19)上提出了技术细节。为了回复本文,微软编程器和杰出工程师Miguel de Icaza推文是一种“真正鼓舞人心的工作,受到深深的影响。一个完全发展的美丽思想。对这个行业的贡献是多么令人惊叹的。“