When slower is faster: On heterogeneous multicores for reliable systems

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Breaking up the OS in many small components is attractive from a dependability point of view. If one of the components crashes or needs an update, we can replace it on the fly without taking down the system. The question is how to achieve this without sacrificing performance and without wasting resources unnecessarily. In this paper, we show that heterogeneous multicore architectures allow us to run OS code efficiently by executing each of the OS components on the most suitable core. Thus, components that require high single-thread performance run on (expensive) high-performance cores, while components that are less performance critical run on wimpy cores. Moreover, as current trends suggest that there will be no shortage of cores, we can give each component its own dedicated core when performance is of the essence, and consolidate multiple functions on a single core (saving power and resources) when performance is less critical for these components. Using frequency scaling to emulate different x86 cores, we evaluate our design on the most demanding subsystem of our operating system-the network stack. We show that less is sometimes more and that we can deliver better throughput with slower and, likely, less power hungry cores. For instance, we support network processing at close to 10 Gbps (the maximum speed of our NIC), while using an average of just 60% of the core speeds. Moreover, even if we scale all the cores of the network stack down to as little as 200 MHz, we still achieve 1.8 Gbps, which may be enough for many applications.

Original languageEnglish
Title of host publicationUSENIX ATC 2013: Proceedings of the 2013 USENIX Annual Technical Conference
Place of PublicationBerkeley, CA
PublisherUSENIX Association
Pages255-266
Number of pages12
ISBN (Electronic)9781931971010
DOIs
Publication statusPublished - Jun 2013
Event2013 USENIX Annual Technical Conference, USENIX ATC 2013 - San Jose, United States
Duration: 26 Jun 201328 Jun 2013

Conference

Conference2013 USENIX Annual Technical Conference, USENIX ATC 2013
Country/TerritoryUnited States
CitySan Jose
Period26/06/1328/06/13

Funding

This work has been supported by the ERC Advanced Grant 227874 and EU FP7 SysSec project. We would like to thank Valentin Priescu for implementing the frequency scaling driver. Likewise, we would like to thank Dirk Vogt for implementing the IXGBE driver for MINIX 3.

Fingerprint

Dive into the research topics of 'When slower is faster: On heterogeneous multicores for reliable systems'. Together they form a unique fingerprint.

Cite this