The Design and Implementation of Multiprocessor Support for an Industrial Operating System Kernel

Document type: Researchreports
Full text:
Author(s): Simon Kågström, Håkan Grahn, Lars Lundberg
Title: The Design and Implementation of Multiprocessor Support for an Industrial Operating System Kernel
Translated title: Design och implementation av multiprocessorstöd för en industriell operativsystemskärna
Series: Research Report
Year: 2005
Issue: 6
ISSN: 1103-1581
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
http://www.tek.bth.se/
Authors e-mail: ska@bth.se, hgr@bth.se, llu@bth.se
Language: English
Abstract: The ongoing transition from uniprocessor to multiprocessor computers requires support from the operating system kernel. Although many general-purpose multiprocessor operating systems exist, there is a large number of specialized operating systems which require porting in order to work on multiprocessors. In this paper we describe the multiprocessor port of a cluster operating system kernel from a producer of industrial systems. Our initial implementation uses a giant locking scheme that serializes kernel execution. We also employed a method in which CPU-local variables are placed in a special section mapped to per-CPU physical memory pages. The giant lock and CPU-local section allowed us to implement an initial working version with only minor changes to the original code, although the giant lock and kernel-bound applications limit the performance of our multiprocessor port. Finally, we also discuss experiences from the implementation.
Summary in Swedish: Övergången från singelprocessorsystem till multiprocessorer kräver operativsystemsstöd. I denna rapport beskriver vi designen och implementationen av multiprocessorstödet för en industriell operativsystemskärna. Vi har använt ett jättelås för att skydda kärnan från samtidig åtkomst, vilket tillät oss att implementera stödet utan omfattande källkodsändringar till priset av sämre prestanda. I rapporten diskuterar vi också erfarenheter från implementeringen.
Subject: Computer Science\Computersystems
Computer Science\Distributed Computing
Keywords: Multiprocessor computers, operating systems
Note: A short version of the paper was first published at RTCSA'05.
URN: urn:nbn:se:bth-00274
Edit