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

TitleM3: A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores
Publication TypeConference Paper
Year of Publication2016
AuthorsAsmussen, Nils, Völp, Marcus, Nöthen, Benedikt, Härtig, Hermann, Fettweis, Gerhard
Conference NameProceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4091-5
Keywordsaccelerators, capabilities, composability, heterogeneous architectures, linux operating systems security, Metrics, on-chip networks, Operating systems, pubcrawl, Resiliency
Abstract

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.

URLhttp://doi.acm.org/10.1145/2872362.2872371
DOI10.1145/2872362.2872371
Citation Keyasmussen_m3:_2016