Asynchronous Design Pattern for Many-Core and Cloud Operating Systems (Poster)

Bruno Santos, João Paulo Barraca, Rui L. Aguiar, "Asynchronous Design Pattern for Many-Core and Cloud Operating Systems (Poster)", Proc. 2012 European Network of Excellence on High Performance and Embedded Architecture and Compilation, Paris, Jan 2012
http://ria.ua.pt/handle/10773/7960

Tags: cloud, many-core, operating system

Abstract

One of the key aspects for many-core and cloud operating systems is message passing communication. The networking aspect of this mechanism requires a high degree of concurrency to handle communicating with thousands of cores simultaneously in an efficient and scalable manner. Non-blocking interfaces allows us to efficiently use a core and gives us concurrency without multiple threads, this also minimizes context switch.

We developed an asynchronous design pattern for operating systems written in C++. The framework uses only C++ language features (template metaprogramming), thus not requiring a custom compiler. The pattern provides a framework to develop and use asynchronous interfaces based on completion handlers. As the name implies, a completion handler is executed when the operation completes. The framework also provides queuing mechanism to serialize execution of handlers for synchronization purposes.

Information

Conference: 2012 European Network of Excellence on High Performance and Embedded Architecture and Compilation in Paris