M3: A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores

M3: A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores
复制标题

DOI:
10.1145/2872362.2872371
复制
发表时间:
2016-03
期刊:
Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
N. Asmussen;M. Völp;Benedikt Noethen;Hermann Härtig;G. Fettweis
N. Asmussen;M. Völp;Benedikt Noethen;Hermann Härtig;G. Fettweis
中科院分区:
其他
文献类型:
--
作者:
N. Asmussen;M. Völp;Benedikt Noethen;Hermann Härtig;G. Fettweis

文献摘要

被引文献

相似文献

在过去的十年中,可用核心的数量增加,异质性增加。在这项工作中,我们询问一个问题,如果这些趋势继续并导致可用但核心,或者是否迫使人们对系统的设计方式进行基本重新思考,是否仍然可以使用这些趋势并导致目前的操作系统(OS)的设计(OS)仍然适当。我们认为:1。将异质性隐藏在常见硬件接口后面,在很大程度上,OS中的内核和加速器的控制和协调是2。模式,内存管理单元,...),允许在任意内核上运行不信任的代码,3。通过芯片网络上的协议提供OS服务,而不是通过系统调用,使它们也可以使用任意类型的内核。总而言之,这将加速器变成一流的公民,并为所有核心提供一个单一且方便的编程环境,而无需信任任何应用程序。在本文中,我们介绍了芯片级的网络隔离,介绍了基于微孔的OS,M3和常见硬件接口的设计,并评估了与Linux相比我们原型的性能。在不使用加速器的情况下,M3在某些应用程序级别的基准测试中优于Linux,这有点令人惊讶。
In the last decade, the number of available cores increased and heterogeneity grew. In this work, we ask the question whether the design of the current operating systems (OSes) is still appropriate if these trends continue and lead to abundantly available but heterogeneous cores, or whether it forces a fundamental rethinking of how systems are designed. We argue that: 1. hiding heterogeneity behind a common hardware interface unifies, to a large extent, the control and coordination of cores and accelerators in the OS, 2. isolating at the network-on-chip rather than with processor features (like privileged mode, memory management unit, ...), allows running untrusted code on arbitrary cores, and 3. providing OS services via protocols over the network-on-chip, instead of via system calls, makes them accessible to arbitrary types of cores as well. In summary, this turns accelerators into first-class citizens and enables a single and convenient programming environment for all cores without the need to trust any application. In this paper, we introduce network-on-chip-level isolation, present the design of our microkernel-based OS, M3, and the common hardware interface, and evaluate the performance of our prototype in comparison to Linux. A bit surprising, without using accelerators, M3 outperforms Linux in some application-level benchmarks by more than a factor of five.