Download PDF: lic.pdf
The licentitate presentation can also be downloaded.
Download PDF for printing (6 pages per page): lic-pres.handout.6pgs.pdf
Download PDF for viewing online: lic-pres.pdf.
Download PDF with the manuscript: lic-pres.notes.6pgs.pdf
These are the publications which will be included in the licentiate thesis. For a list of publications, see my homepage.
Simon Kågström, Håkan Grahn and Lars Lundberg. Scalability vs. Development Effort for Multiprocessor Operating System Kernels. Submitted for publication.
Abstract
With multiprocessors becoming increasingly common, many operating systems have to be adapted to work with the multiprocessor systems. In this paper, we present a categorization of porting methods for multiprocessor operating systems. We also perform a case study of the evolution of multiprocessor support for the Linux kernel, both in terms of performance and implementation complexity.
Simon Kågström, Håkan Grahn, Lars Lundberg. The Design and Implementation of Multiprocessor Support for an Industrial Operating System Kernel. Submitted for publication.
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.
Note: This is an extended version of the paper Experiences from Implementing Multiprocessor Support for an Industrial Operating System Kernel, published at RTCSA'05.
Simon Kågström, Lars Lundberg and Håkan Grahn. The Application Kernel Approach - a Novel Approach for Adding SMP Support to Uniprocessor Operating Systems. Submitted for publication.
Abstract
The current trend of using multiprocessor computers for server applications require operating system adaptations to take advantage of the more powerful hardware. However, modifying large bodies of software is very costly and time-consuming, and the cost of porting an operating system to a multiprocessor might not be motivated by the potential performance benefits. In this paper we present a novel method, the application kernel approach, for adaption of an existing uniprocessor kernel to SMP hardware. Our approach considers the existing kernel as a ``black box'', to which no or small changes are made. Instead, the original kernel runs OS-services unmodified on one processor whereas the other processors execute applications on top of a small custom kernel. We have implemented the application kernel for the Linux operating system, which illustrates that the approach can be realized with fairly small resources. We also present an evaluation of the performance and complexity of the approach, where we show that it is possible to get good performance while at the same time keeping the implementation complexity low with our approach.
Note: This is an extended version of A novel method for adding multiprocessor support to a large and complex uniprocessor kernel., published at IPDPS'04. The source code and binaries of the application kernel can be donwloaded on the application kernel page.
Simon Kågström, Håkan Grahn and Lars Lundberg. Automatic Low Overhead Program Instrumentation with the LOPI framework. Proceedings of the 9th Workshop on Interaction between Compilers and Computer Architectures, San Francisco, CA, USA, February 13 2005.
Abstract
Program instrumentation is an important technique for a different tasks such as performance measurements, debugging, and coverage analysis. Instrumentation, however, poses two important requirements to be useful: it must be easy to apply and it should perturb the application as little as possible. In this paper, we present the LOPI framework which provides a simple means to automatically instrument binary files with low perturbation. An evaluation of the LOPI framework with detailed measurements of seven SPEC CPU2000 benchmarks show that the it gives lower perturbation in terms of instructions executed and cache behavior than Dyninst. For example, a LOPI instrumented application executes on average 36% more instructions, while a Dyninst instrumented application executes 49% more instructions for a common performance-oriented instrumentation, than the uninstrumented application.
You can reach me at the following addresses:
| E-mail: | ska@bth.se |
| Phone: | +46-457-385875 |
| Cell-phone: | +46-709-263844 |