Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Adrian Schüpbach is active.

Publication


Featured researches published by Adrian Schüpbach.


symposium on operating systems principles | 2009

The multikernel: a new OS architecture for scalable multicore systems

Andrew Baumann; Paul Barham; Pierre-Evariste Dagand; Tim Harris; Rebecca Isaacs; Simon Peter; Timothy Roscoe; Adrian Schüpbach; Akhilesh Singhania

Commodity computer systems contain more and more processor cores and exhibit increasingly diverse architectural tradeoffs, including memory hierarchies, interconnects, instruction sets and variants, and IO configurations. Previous high-performance computing systems have scaled in specific cases, but the dynamic nature of modern client and server workloads, coupled with the impossibility of statically optimizing an OS for all workloads and hardware variants pose serious challenges for operating system structures. We argue that the challenge of future multicore hardware is best met by embracing the networked nature of the machine, rethinking OS architecture using ideas from distributed systems. We investigate a new OS structure, the multikernel, that treats the machine as a network of independent cores, assumes no inter-core sharing at the lowest level, and moves traditional OS functionality to a distributed system of processes that communicate via message-passing. We have implemented a multikernel OS to show that the approach is promising, and we describe how traditional scalability problems for operating systems (such as memory management) can be effectively recast using messages and can exploit insights from distributed systems and networking. An evaluation of our prototype on multicore systems shows that, even on present-day machines, the performance of a multikernel is comparable with a conventional OS, and can scale better to support future hardware.


architectural support for programming languages and operating systems | 2011

A declarative language approach to device configuration

Adrian Schüpbach; Andrew Baumann; Timothy Roscoe; Simon Peter

C remains the language of choice for hardware programming (device drivers, bus configuration, etc.): it is fast, allows low-level access, and is trusted by OS developers. However, the algorithms required to configure and reconfigure hardware devices and interconnects are becoming more complex and diverse, with the added burden of legacy support, quirks, and hardware bugs to work around. Even programming PCI bridges in a modern PC is a surprisingly complex problem, and is getting worse as new functionality such as hotplug appears. Existing approaches use relatively simple algorithms, hard-coded in C and closely coupled with low-level register access code, generally leading to suboptimal configurations. We investigate the merits and drawbacks of a new approach: separating hardware configuration logic (algorithms to determine configuration parameter values) from mechanism (programming device registers). The latter we keep in C, and the former we encode in a declarative programming language with constraint-satisfaction extensions. As a test case, we have implemented full PCI configuration, resource allocation, and interrupt assignment in the Barrelfish research operating system, using a concise expression of efficient algorithms in constraint logic programming. We show that the approach is tractable, and can successfully configure a wide range of PCs with competitive runtime cost. Moreover, it requires about half the code of the C-based approach in Linux while offering considerably more functionality. Additionally it easily accommodates adaptations such as hotplug, fixed regions, and quirks.


asia pacific workshop on systems | 2012

Unifying synchronization and events in a multicore OS

Gerd Zellweger; Adrian Schüpbach; Timothy Roscoe

In this paper, we argue that an operating system structured as a distributed system needs a coordination and a name service to make OS services work correctly. While a distributed structure allows applying algorithms from the distributed field, it also suffers from similar problems like synchronization, naming, distributed locking and coordination of service instances. Octopus, our solution to this problem in the context of a real OS, provides an easy-to-use, high-level, uniform coordination service with events at reasonable performance. Based on this service, we describe three real use cases: device management, OS service registry and boot-up coordination.


ACM Transactions on Computer Systems | 2012

A Declarative Language Approach to Device Configuration

Adrian Schüpbach; Andrew Baumann; Timothy Roscoe; Simon Peter

C remains the language of choice for hardware programming (device drivers, bus configuration, etc.): it is fast, allows low-level access, and is trusted by OS developers. However, the algorithms required to configure and reconfigure hardware devices and interconnects are becoming more complex and diverse, with the added burden of legacy support, “quirks,” and hardware bugs to work around. Even programming PCI bridges in a modern PC is a surprisingly complex problem, and is getting worse as new functionality such as hotplug appears. Existing approaches use relatively simple algorithms, hard-coded in C and closely coupled with low-level register access code, generally leading to suboptimal configurations. We investigate the merits and drawbacks of a new approach: separating hardware configuration logic (algorithms to determine configuration parameter values) from mechanism (programming device registers). The latter we keep in C, and the former we encode in a declarative programming language with constraint-satisfaction extensions. As a test case, we have implemented full PCI configuration, resource allocation, and interrupt assignment in the Barrelfish research operating system, using a concise expression of efficient algorithms in constraint logic programming. We show that the approach is tractable, and can successfully configure a wide range of PCs with competitive runtime cost. Moreover, it requires about half the code of the C-based approach in Linux while offering considerably more functionality. Additionally it easily accommodates adaptations such as hotplug, fixed regions, and “quirks.”


Archive | 2008

Embracing diversity in the Barrelfish manycore operating system

Adrian Schüpbach; Simon Peter; Andrew Baumann; Timothy Roscoe; Paul Barham; Tim Harris; Rebecca Isaacs


workshop on hot topics in operating systems | 2009

Your computer is already a distributed system. why isn't your OS?

Andrew Baumann; Simon Peter; Adrian Schüpbach; Akhilesh Singhania; Timothy Roscoe; Paul Barham; Rebecca Isaacs


usenix conference on hot topics in parallelism | 2010

Design principles for end-to-end multicore schedulers

Simon Peter; Adrian Schüpbach; Paul Barham; Andrew Baumann; Rebecca Isaacs; Tim Harris; Timothy Roscoe


acm ifip usenix international conference on middleware | 2009

Rhizoma: a runtime for self-deploying, self-managing overlays

Qin Yin; Adrian Schüpbach; Justin Cappos; Andrew Baumann; Timothy Roscoe


MARC Symposium | 2011

Early experience with the Barrelfish OS and the Single-Chip Cloud Computer.

Simon Peter; Adrian Schüpbach; Dominik Menzi; Timothy Roscoe


conference on innovative data systems research | 2013

COD: Database / Operating System Co-Design

Jana Giceva; Tudor-Ioan Salomie; Adrian Schüpbach; Gustavo Alonso; Timothy Roscoe

Collaboration


Dive into the Adrian Schüpbach's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Simon Peter

University of Washington

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Paul Barham

University of Cambridge

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Pierre-Evariste Dagand

École normale supérieure de Cachan

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge