An Accelerator-centric OS Architecture for Omni-programmable Systems


Silberstein Mark


Frans Kaashoek
Future systems will be omni-programmable: alongside CPUs, GPUs, Security accelerators and FPGAs, they will execute user code near-storage, near-network, and near-memory. While breaking power and memory walls via hardware specialization and near data processing, emerging programmability wall becomes a key impediment for materializing the promised performance and power efficiency benefits of omni-programmable systems. I argue that the root cause of the programming complexity lies in todays CPU-centric operating system (OS) design which is no longer appropriate for omni-programmable systems.

In this talk I will describe the ongoing efforts in my lab to design an accelerator-centric OS called OmniX. OmniX extends
standard OS abstractions into accelerators, while maintaining a coherent view of the system among all the system processors. I will discuss our recent works in which we strive to systematically minimize or eliminate the dependence of OS services running in accelerators on the host CPU, achieving both high performance and ease of programming with accelerator-centric system design. I will show how the OmniX architecture has been successfully applied to GPUs, Intel Visual Compute Accelerator, FPGAs, Programmable NICs and Intel SGX, and how it can serve the basis of disaggregated systems.


Mark Silberstein is an Associate Professor at the Electrical Engineering department in the
Technion - Israel Institute of Technology where he is heading the Accelerated Computing Systems Lab.
His research is centered around OSes for compute and I/O accelerator architectures, which led to a series of publications in ISCA, ASPLOS, OSDI, PACT, Eurosys and USENIX ATC. He also works on practical ways to protect against side
channels, in particular in secure enclaves, after realizing how devastating they can be when his student discovered Foreshadow speculative execution bug in SGX. He is a regular contributor to the SIGARCH blog.