The Performance of -Kernel Based Systems Hermann Hrtig Michael - - PowerPoint PPT Presentation

the performance of kernel based systems hermann h rtig
SMART_READER_LITE
LIVE PREVIEW

The Performance of -Kernel Based Systems Hermann Hrtig Michael - - PowerPoint PPT Presentation

The Performance of -Kernel Based Systems Hermann Hrtig Michael Hohmuth Jochen Liedtke Sebastian Schnberg Jean Wolter The Performance of -Kernel Based Systems p. Introduction -kernels have reputation for being too slow,


slide-1
SLIDE 1

The Performance of µ-Kernel Based Systems Hermann Härtig Michael Hohmuth Jochen Liedtke Sebastian Schönberg Jean Wolter

The Performance of µ-Kernel Based Systems – p.

slide-2
SLIDE 2

Introduction

µ-kernels have reputation for being too slow,

inflexible

can 2nd generation µ-kernel (L4) overcome

limitations?

Experiment: port Linux to run on L4 and

compare it to:

native Linux MkLinux (Linux on 1st gen Mach derived

µ-kernel)

The Performance of µ-Kernel Based Systems – p.

slide-3
SLIDE 3

Introduction

test speed of standard OS personality on top o

fast µ-kernel: Linux implemented on L4

test extensibility of system: pipe-based communication implemented

directly on µ-kernel

mapping-related OS extensions

implemented as user tasks

user-level real-time memory management

implemented

test if L4 abstractions independent of platform

The Performance of µ-Kernel Based Systems – p.

slide-4
SLIDE 4

L4 Essentials

built on threads and address spaces recursive construction of address spaces by

user-level servers

initial address space σ0 represents physical

memory

  • wner of address space can grant or map page

to another address space

all address spaces maintained by user-level

servers (pagers)

The Performance of µ-Kernel Based Systems – p.

slide-5
SLIDE 5

Linux on Top of L4 goals to keep porting effort low:

avoid structural changes to Linux don’t tune Linux to µ-kernel bonus: new versions of Linux easily adapted

system

The Performance of µ-Kernel Based Systems – p.

slide-6
SLIDE 6

L4Linux Design and Implementation

fully binary compliant with Linux/X86 restricted modifications to

architecture-dependent part of Linux

no Linux-specific modifications to L4 kernel single Linux server task Linux server requests memory from σ0, acts as

pager for user processes

The Performance of µ-Kernel Based Systems – p.

slide-7
SLIDE 7

L4Linux Design and Implementation

The Performance of µ-Kernel Based Systems – p.

slide-8
SLIDE 8

L4Linux Design and Implementation

L4 maps hardware interrupts to messages Linux top-half handlers implemented as

threads waiting for messages

The Performance of µ-Kernel Based Systems – p.

slide-9
SLIDE 9

L4Linux Design and Implementation 3 system call interfaces:

modified version of standard libc.so which

uses L4 IPC

modified version of standard libc.a which

uses L4 IPC

“trampoline” which emulates native

system-call trap (slower, but full binary compatibility)

The Performance of µ-Kernel Based Systems – p.

slide-10
SLIDE 10

L4Linux Design and Implementation

6500 new lines of code written 14 engineer-months to build L4Linux regularly use applications such as X Windows

Emacs, Netscape, X-Pilot

The Performance of µ-Kernel Based Systems – p. 10

slide-11
SLIDE 11

Compatibility Performance

What is penalty of using L4Linux instead of

native Linux?

Does performance of underlying µ-kernel

matter?

How much does co-location improve

performance?

microbenchmarks: analyze detailed behavior macrobenchmarks: measure overall system

performance

The Performance of µ-Kernel Based Systems – p. 11

slide-12
SLIDE 12

Microbenchmarks

measure system call overhead on shortest

system call (getpid())

The Performance of µ-Kernel Based Systems – p. 12

slide-13
SLIDE 13

Microbenchmarks

lmbench measures basic operations like system

calls, context switch, pipe operations, network

  • peration

The Performance of µ-Kernel Based Systems – p. 13

slide-14
SLIDE 14

Macrobenchmarks

measured time to recompile Linux server

The Performance of µ-Kernel Based Systems – p. 14

slide-15
SLIDE 15

Macrobenchmarks

AIM multiuser benchmark VII (measures

system performance under different loads)

The Performance of µ-Kernel Based Systems – p. 15

slide-16
SLIDE 16

Macrobenchmarks

The Performance of µ-Kernel Based Systems – p. 16

slide-17
SLIDE 17

Analysis

L4 comes close to performance of native Linu

even under high load (5%-10%)

performance of underlying µ-kernel matters co-location is not sufficient to overcome

performance deficiencies

The Performance of µ-Kernel Based Systems – p. 17