Message passing and scheduling in Osprey

14 April 2013

New Image

Future systems for multi-core architectures will have to be highly parallelizable to utilize hardware and will have to avoid sharing to achieve good performance. Consequently, novel operating system designs gradually move towards an asynchronous message-based communication and decentralized scheduling. In this paper we describe a scalable and efficient message passing and scheduling architecture which provides main communication and synchronization instruments for the Osprey operating system. The architecture supports blocking and non-blocking communication, allows user-level threads, processes, kernel tasks, and cores to be suspended, supports address space transitions, and provides real-time scheduling.