Publication

Systems Group Master's Thesis, no. ETH Zürich; Department of Computer Science, August 2009
Supervised by: Prof. Timothy Roscoe
The future manycore architectures present serious challenges to operating system designers. The traditional operating system designs can no longer manage the capabilities and power of the diverse heterogeneous cores with complex memory hierarchies, interconnects resembling networks, and distributed I/O configurations. The Barrelfish multikernel operating system addresses these issues by treating hardware as a distributed system. Co-operation in such an environment is achieved by message passing. We borrow similar design ideas in this thesis and present a distributed USB hot plugging infrastructure for a multikernel Barrelfish operating system. We have divided the USB system into three primary modules with different responsibilities: Host controller driver, USB manager and client drivers. This modular design provides necessary isolation and flexibility required in manycore systems. It also provides freedom to schedule and, if required, migrate any module independently among the cores depending upon the system workload and the application requirements. These modules communicate by explicit message passing but a few frequently updated and performance critical data structures are shared using shared memory mechanism. In this thesis, we try to design, implement and evaluate this system on top of message services and abstractions provided by the Barrelfish operating system.
@mastersthesis{abc,
	abstract = {The future manycore architectures present serious challenges to operating system
designers. The traditional operating system designs can no longer manage
the capabilities and power of the diverse heterogeneous cores with complex
memory hierarchies, interconnects resembling networks, and distributed I/O
configurations. The Barrelfish multikernel operating system addresses these issues
by treating hardware as a distributed system. Co-operation in such an
environment is achieved by message passing. We borrow similar design ideas
in this thesis and present a distributed USB hot plugging infrastructure for a
multikernel Barrelfish operating system. We have divided the USB system into
three primary modules with different responsibilities: Host controller driver,
USB manager and client drivers. This modular design provides necessary isolation
and flexibility required in manycore systems. It also provides freedom to
schedule and, if required, migrate any module independently among the cores
depending upon the system workload and the application requirements. These
modules communicate by explicit message passing but a few frequently updated
and performance critical data structures are shared using shared memory mechanism.
In this thesis, we try to design, implement and evaluate this system on
top of message services and abstractions provided by the Barrelfish operating
system.},
	author = {Animesh Trivedi},
	school = {ETH Z{\"u}rich},
	title = {Hotplug in a Multikernel Operating System},
	year = {2009}
}