Performance and Implementation Complexity in Multiprocessor Operating System Kernels

Document type: Licentiates
Full text:
Author(s): Simon Kågström
Title: Performance and Implementation Complexity in Multiprocessor Operating System Kernels
Translated title: Prestanda och implementationskomplexitet för operativsystemskärnor
Series: Blekinge Institute of Technology Licentiate Dissertation Series
Year: 2005
Issue: 15
Pagination: 122
ISBN: 91-7295-074-9
ISSN: 1650-2140
Publisher: Blekinge Institute of Technology
City: Ronneby
Organization: Blekinge Institute of Technology
Department: School of Engineering - Dept. of Systems and Software Engineering (Sektionen för teknik – avd. för programvarusystem)
School of Engineering S- 372 25 Ronneby
+46 455 38 50 00
Authors e-mail:
Language: English
Abstract: The increasing use of multiprocessor computers require operating system adaptations to take advantage of the computing power. However, porting an operating system kernel to run on a multiprocessor can be very difficult because of a large code base, concurrency issues when dealing with multiple threads of execution, and limited tool support for development. Likewise, it can be difficult to obtain good performance from a ported operating system without sufficient parallelism in the operating system kernel.

This thesis examines the tradeoff between performance and implementation complexity in multiprocessor operating system ports and is based on four papers. The first paper is a survey of existing multiprocessor implementation approaches and focuses on the tradeoff between performance and implementation effort. The second paper describes experiences from performing a traditional lock-based multiprocessor port while the third paper presents an alternative porting approach which aims to minimize implementation complexity. The fourth paper, finally, presents a tool for efficient instrumentation of programs, which can be used during the development of large software systems such as operating system kernels.

The main contribution of this thesis is an in-depth investigation into the techniques used when porting operating systems to multiprocessors, focusing on implementation complexity and performance. The traditional approach used in the second paper required longer development time than expected, and the alternative approach in the third paper can therefore be preferable in some cases. The need for efficient tools is also illustrated in the fourth paper.
Summary in Swedish: Denna licentiatavhandling analyserar olika tekniker som kan användas vid portering av en operativsystemskärna till en multiprocessordator. Implementationsteknikerna har olika karaktäristik vad gäller prestanda och implementationskomplexitet, vilket genomlyses i avhandlingen.
Subject: Computer Science\Computersystems
Computer Science\Distributed Computing
Keywords: Operativsystem, multiprocessorer, implementationskomplexitet
URN: urn:nbn:se:bth-00285