首页> 外文期刊>ACM transactions on computer systems >The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
【24h】

The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors

机译:可扩展的交换规则:为多核处理器设计可扩展的软件

获取原文
获取原文并翻译 | 示例
           

摘要

What opportunities for multicore scalability are latent in software interfaces, such as system call APIs? Can scalability challenges and opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions, we introduce the scalable commutativity rule: whenever interface operations commute, they can be implemented in a way that scales. This rule is useful throughout the development process for scalable multicore software, from the interface design through implementation, testing, and evaluation. This article formalizes the scalable commutativity rule. This requires defining a novel form of commutativity, SIM commutativity, that lets the rule apply even to complex and highly stateful software interfaces. We also introduce a suite of software development tools based on the rule. Our Commuter tool accepts high-level interface models, generates tests of interface operations that commute and hence could scale, and uses these tests to systematically evaluate the scalability of implementations. We apply Commuter to a model of 18 POSIX file and virtual memory system operations. Using the resulting 26,238 scalability tests, Commuter highlights Linux kernel problems previously observed to limit application scalability and identifies previously unknown bottlenecks that may be triggered by future workloads or hardware. Finally, we apply the scalable commutativity rule and Commuter to the design and implementation sv6, a new POSK-like operating system. sv6's novel file and virtual memory system designs enable it to scale for 99% of the tests generated by Commuter. These results translate to linear scalability on an 80-core x86 machine for applications built on sv6's commutative operations.
机译:软件接口(例如系统调用API)中潜在的多核可扩展性机会是什么?能否仅通过考虑接口规范就可以在任何实现存在之前就确定可扩展性挑战和机遇?为了回答这些问题,我们引入了可扩展的交换规则:只要接口操作上下班,就可以以可扩展的方式实现它们。从接口设计到实施,测试和评估,此规则在可伸缩多核软件的整个开发过程中都非常有用。本文形式化了可伸缩交换规则。这要求定义一种新颖的可交换性形式,即SIM可交换性,该规则甚至可以适用于复杂且状态高的软件接口。我们还介绍了基于规则的一套软件开发工具。我们的Commuter工具接受高级接口模型,生成可转换并因此可扩展的接口操作测试,并使用这些测试来系统地评估实现的可伸缩性。我们将Commuter应用于18个POSIX文件和虚拟内存系统操作的模型。使用由此产生的26,238个可伸缩性测试,Commuter突出显示了以前观察到的Linux内核问题,这些问题限制了应用程序的可伸缩性,并确定了可能由将来的工作负载或硬件触发的未知瓶颈。最后,我们将可伸缩的交换规则和通勤器应用于设计和实现sv6(一种类似于POSK的新操作系统)。 sv6新颖的文件和虚拟内存系统设计使其能够扩展到Commuter生成的99%的测试。这些结果可为基于sv6交换操作构建的应用程序转换为80核x86机器上的线性可伸缩性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号