SEARCH

SEARCH BY CITATION

Abstract

Virtualized cloud computing provides lower costs, easier system management and lower energy consumption. However high performance tasks are ill-suited for traditional clouds since commodity operating systems and hypervisors add cascading jitter to computation, slowing applications to a crawl. This paper presents an overview of NIX, an operating system for manycore central processing units (CPUs) which addresses the challenges of running high performance applications on commodity cloud systems. NIX features a heterogeneous CPU model and uses a shared address space. NIX has been influenced by our work on Blue Gene and more traditional clusters. NIX partitions cores by function: timesharing cores (TCs); application cores (ACs); and kernel cores (KCs). One or more TCs run traditional applications. KCs are optional, running kernel functions on demand. ACs are also optional, devoted to running an application with no interrupts; not even clock interrupts. Unlike traditional kernels, functions are not static: the number of TCs, KCs, and ACs can change as needed. Also unlike traditional systems, applications can communicate by sending messages to the TC kernel, instead of system call traps. These messages are “active” taking advantage of the shared-memory nature of manycore CPUs to pass pointers to data and code to coordinate cores. © 2012 Alcatel-Lucent.