As chips have moved from homogeneous single core systems to much more complex, heterogeneous multi-core systems, the ability to create both uniform and efficient operating system services has begun to diminish. The importance of these services suggests that these primitives should no longer be virtual, but rather physical services built into modern computing devices. In this paper we outline some of the challenges involved in building traditional OS services in heterogeneous computing systems. We present a hardware-based solution that provides basic OS primitives to heterogeneous systems that are both efficient and uniformly accessible to heterogeneous compute elements. A prototype system utilizing a hardware-based microkernel is demonstrated that allows programmers to target systems with ISA-level heterogeneity using a familiar, uniform multithreaded programming model.
Published in:
Field-Programmable Custom Computing Machines (FCCM), 2010 18th IEEE Annual International Symposium on
Date of Conference: 2-4 May 2010