Unifying Synchronization and Events in a Multicore Operating System

Gerd Zellweger · Repository for Publications and Research Data (ETH Zurich) · 2012

Effective coordination and synchronization between processes remains a challenge that becomes even more important with the rise of multicore hardware.This thesis introduces Octopus, a coordination service for the Barrelfish operating system.Octopus addresses the problem of coordination between concurrent processes or activities in Barrelfish.The Octopus design is influenced by ideas from distributed computing.We show that these ideas are transferrable to operating systems.We used a declarative, logic programming engine to implement parts of the Octopus service and evaluate the benefits and drawbacks of this approach.In a case study, we used Octopus to write a service that is responsible for device management and bootstrapping the OS as well as a replacement for the Barrelfish name server.Our experience with Octopus has shown that it simplifies programming services that require complex coordination patterns by a great deal, while at the same time offering a flexible API for a programmer to solve a wide range of coordination and synchronization problems.i

Read the paper · More papers on PaperTik