Architecture of Scalable Operating Systems: Multikernel Rasmus - - PowerPoint PPT Presentation

architecture of scalable operating systems multikernel
SMART_READER_LITE
LIVE PREVIEW

Architecture of Scalable Operating Systems: Multikernel Rasmus - - PowerPoint PPT Presentation

Architecture of Scalable Operating Systems: Multikernel Rasmus Pfeiffer Friedrich-Alexander-Universit at Erlangen-N urnberg 6. Dezember 2016 1 / 19 Table of Contents Shared Memory vs Message Passing Inter-Process Communication


slide-1
SLIDE 1

Architecture of Scalable Operating Systems: Multikernel

Rasmus Pfeiffer

Friedrich-Alexander-Universit¨ at Erlangen-N¨ urnberg

  • 6. Dezember 2016

1 / 19

slide-2
SLIDE 2

Table of Contents

Shared Memory vs Message Passing Inter-Process Communication Multikernel Model Barrelfish

2 / 19

slide-3
SLIDE 3

Description

Shared Memory uses data structures at well known places in memory to communicate between CPU cores. Message Passing uses explicit messages to communicate between CPU cores.

3 / 19

slide-4
SLIDE 4

History

Shared Memory and Message Passing are duals [3] In 1978 Lauer and Needhalm argued, that it depends

  • n the hardware, if shared memory or message

passing is faster.

4 / 19

slide-5
SLIDE 5

Current Situation

Comparison of the cost of updating shared state using shared memory and message passing [1]

5 / 19

slide-6
SLIDE 6

Kernel-Based IPC

Kernel-based inter-process communication (IPC) is limited by the cost of invoking the kernel and reallocating a processor from one address space to another [2].

6 / 19

slide-7
SLIDE 7

User-Space Remote Procedure Call (URPC)

◮ Messages are sent directly between address spaces. ◮ Unnecessary processor reallocation between address spaces is

eliminated.

◮ When processor reallocation is needed, the overhead is

reduced.

7 / 19

slide-8
SLIDE 8

URPC - Assumptions

◮ Client has other work to do ◮ The server has, or will have, a CPU core available.

8 / 19

slide-9
SLIDE 9

Multikernel Model

  • 1. Make all inter-core communication explicit.
  • 2. Make OS structure Hardware-neutral.
  • 3. View state as replicated instead of shared.

9 / 19

slide-10
SLIDE 10

Barrelfish structure

10 / 19

slide-11
SLIDE 11

CPU driver

◮ single threaded ◮ controls: APIC, MMU, etc ◮ shares no state with other cores ◮ specialized for CPU architecture

11 / 19

slide-12
SLIDE 12

Monitors

◮ processor-agnostic ◮ manages system-wide state

12 / 19

slide-13
SLIDE 13

Inter-Core Communication

13 / 19

slide-14
SLIDE 14

Process structure

◮ processes consist of dispatcher objects ◮ dispatcher objects are scheduled by CPU driver

14 / 19

slide-15
SLIDE 15

Memory Management

Memory management is performed explicit in user level:

  • 1. acquire memory for page table
  • 2. insert page table in root page table
  • 3. acquire more memory and insert in page table

15 / 19

slide-16
SLIDE 16

Performance I - compute-bound workloads

16 / 19

slide-17
SLIDE 17

Performance II - IO workloads

Webserver:

◮ static content

◮ Linux: 8924 requests per second ◮ Barrelfish: 18697 requests per second

◮ dynamic content

◮ 3417 requests per second 17 / 19

slide-18
SLIDE 18

Questions

ANY QUESTIONS?

18 / 19

slide-19
SLIDE 19

References

  • A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs,
  • S. Peter, T. Roscoe, A. Sch¨

upbach, and A. Singhania. The multikernel: a new os architecture for scalable multicore

  • systems. In Proceedings of the ACM SIGOPS 22nd symposium
  • n Operating systems principles, pages 29–44. ACM, 2009.
  • B. N. Bershad, T. E. Anderson, E. D. Lazowska, and H. M.
  • Levy. User-level interprocess communication for shared

memory multiprocessors. ACM Transactions on Computer Systems (TOCS), 9(2):175–198, 1991.

  • H. C. Lauer and R. M. Needham. On the duality of operating

system structures. ACM SIGOPS Operating Systems Review, 13(2):3–19, 1979.

19 / 19