Cosh: clear OS data sharing in an incoherent world

Andrew Baumann, Chris Hawblitzel, Kornilios Kourtis, Tim Harris, Timothy Roscoe · 2015

This paper tackles the problem of providing familiar OS abstractions for I/O (such as pipes, network sockets, and a shared file system) to applications on heterogeneous cores including accelerators, co-processors, and offload en-gines. We aim to isolate the implementation of these facil-ities from the details of a platform’s memory architecture, which is likely to include a combination of cache-coherent shared memory, non-cache-coherent shared memory, and non-shared memory, all in the same system. We propose coherence-oblivious sharing (Cosh), a new OS abstraction that provides inter-process sharing with clear semantics on such diverse hardware. We have im-plemented a prototype of Cosh for the Barrelfish multi-kernel. We describe how to build common OS functional-ity using Cosh, and evaluate its performance on a hetero-geneous system consisting of commodity cache-coherent CPUs and prototype Intel many-core co-processors. 1

Read the paper · More papers on PaperTik