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

Document type: Journal Articles
Article type: Original article
Peer reviewed: Yes
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
Journal: International Journal of Computers and Their Applications
Year: 2009
Volume: 16
Issue: 1
Pagination: 59-68
ISSN: 1076-5204
Organization: Blekinge Institute of Technology
Department: School of Computing (Sektionen för datavetenskap och kommunikation)
School of Computing S-371 79 Karlskrona
+46 455 38 50 00
http://www.bth.se/com
Language: English
Abstract: The ongoing transition from uniprocessor to multi-core 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.
Subject: Computer Science\Computersystems
Computer Science\General
Keywords: Multiprocessor, operating system, kernel, cluster, porting, implementation experiences
Edit