Multiprocessor Operating Systems CS 6410: Advanced Systems Kai Mast - - PowerPoint PPT Presentation

multiprocessor operating systems
SMART_READER_LITE
LIVE PREVIEW

Multiprocessor Operating Systems CS 6410: Advanced Systems Kai Mast - - PowerPoint PPT Presentation

Introduction Multikernel Tornado Conclusion Discussion Outlook References Multiprocessor Operating Systems CS 6410: Advanced Systems Kai Mast Department of Computer Science Cornell University September 4, 2014 Kai Mast


slide-1
SLIDE 1

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Multiprocessor Operating Systems

CS 6410: Advanced Systems Kai Mast

Department of Computer Science Cornell University

September 4, 2014

Kai Mast — Multiprocessor Operating Systems 1/47

slide-2
SLIDE 2

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Let us recall

Multiprocessor vs. Multicore

Figure: Multiprocessor [10] Figure: Multicore [10]

Kai Mast — Multiprocessor Operating Systems 2/47

slide-3
SLIDE 3

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Let us recall

Message Passing vs. Shared Memory

Shared Memory Threads/Processes access the same memory region Communication via changes in variables Often easier to implement Message Passing Threads/Processes don’t have shared memory Communication via messages/events Easier to distribute between different processors More robust than shared memory

Kai Mast — Multiprocessor Operating Systems 3/47

slide-4
SLIDE 4

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Let us recall

Miscellaneous

Cache Coherence Inter-Process Communication Remote-Procedure Call Preemptive vs. cooperative Multitasking Non-uniform memory access (NUMA)

Kai Mast — Multiprocessor Operating Systems 4/47

slide-5
SLIDE 5

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Current Systems are Diverse

Different Architectures (x86, ARM, ...) Different Scales (Desktop, Server, Embedded, Mobile ...) Different Processors (GPU, CPU, ASIC ...) Multiple Cores and/or Multiple Processors Multiple Operating Systems on a System (Firmware, Microkernels ...)

Kai Mast — Multiprocessor Operating Systems 5/47

slide-6
SLIDE 6

Introduction Multikernel Tornado Conclusion Discussion Outlook References

How about the Future?

Moore’s Law

(Source: Wikimedia Commons) Kai Mast — Multiprocessor Operating Systems 6/47

slide-7
SLIDE 7

Introduction Multikernel Tornado Conclusion Discussion Outlook References

How about the Future?

Single-Core doesn’t scale anymore

Figure: Possible power-consumption of a 10GHz chip [3]

Kai Mast — Multiprocessor Operating Systems 7/47

slide-8
SLIDE 8

Introduction Multikernel Tornado Conclusion Discussion Outlook References

How about the Future?

Rock’s Law

Manufacturing cost increases with amount of semiconductors Rock’s Law eventually collides with Moore’s Law One solution: Higher production quantity Another approach: Multiple mid-range processors instead

  • f one high-end processor

Kai Mast — Multiprocessor Operating Systems 8/47

slide-9
SLIDE 9

Introduction Multikernel Tornado Conclusion Discussion Outlook References

How about the Future?

But...

Multiprocessor Systems are reality today! Existing Operating System had to be adapted to support multiple cores Applications heavily rely on multi-threading (just think of the assignment...)

Kai Mast — Multiprocessor Operating Systems 9/47

slide-10
SLIDE 10

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Interconnects are evolving

Direct Wiring does not scale

On-chip networks are more efficient in terms of power-consumption and area [2].

Kai Mast — Multiprocessor Operating Systems 10/47

slide-11
SLIDE 11

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Interconnects are evolving

Many-Core Chips

Figure: 36-core Chip from MIT [4]

Kai Mast — Multiprocessor Operating Systems 11/47

slide-12
SLIDE 12

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Are Operating Systems ready for this?

In-Kernel Locking

n threads on n cores execute the following:

1 f = open ( ” filename ” ) ; 2 3 while

( true ) {

4

f2 = dup ( f ) ;

5

c l o s e ( f2 ) ;

6 } Kai Mast — Multiprocessor Operating Systems 12/47

slide-13
SLIDE 13

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Are Operating Systems ready for this?

In-Kernel Locking

Figure: Decreasing performance with increasing amount of Cores in Linux [8]

Kai Mast — Multiprocessor Operating Systems 13/47

slide-14
SLIDE 14

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Are Operating Systems ready for this?

OSes optimized for most common configuration(s) Evolutionary improvements towards scalability Some special applications are highly coupled to hardware configuration Can we abstract from hardware and gain performance?

Kai Mast — Multiprocessor Operating Systems 14/47

slide-15
SLIDE 15

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Multikernel and Tornado

Figure: Barrelfish/Mulitkernel [1] Figure: Tornado [6]

Kai Mast — Multiprocessor Operating Systems 15/47

slide-16
SLIDE 16

Introduction Multikernel Tornado Conclusion Discussion Outlook References

The Multikernel OS

The Paper

”The Multikernel: A new OS architecture for scalable multicore systems” Presented on SOSP in 2009

Kai Mast — Multiprocessor Operating Systems 16/47

slide-17
SLIDE 17

Introduction Multikernel Tornado Conclusion Discussion Outlook References

The Multikernel OS

Author Info

Andrew Baumann Was post-doc at ETH Zurich Now at Microsoft Research Several Projects focused around OS design Simon Peter Was post-doc at ETH Zurich Now at University of Washington Current Project: Arrakis[9] (a Barrelfish fork)

Kai Mast — Multiprocessor Operating Systems 17/47

slide-18
SLIDE 18

Introduction Multikernel Tornado Conclusion Discussion Outlook References

The Multikernel OS

The OS itself is a distributed system Actually, multiple operating systems Explicit communication between cores Abstract design to allow easier portability Note, that only the communication layer is abstracted

Kai Mast — Multiprocessor Operating Systems 18/47

slide-19
SLIDE 19

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Barrelfish

What is it?

Multikernel OS is just a concept Barrelfish is an example for an actual implementation Claims to have all the properties described before (scalable, modular, portable...) Let us evaluate and discuss later!

Kai Mast — Multiprocessor Operating Systems 19/47

slide-20
SLIDE 20

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Barrelfish

Overview

Figure: Structure of Barrelfish [1]

Kai Mast — Multiprocessor Operating Systems 20/47

slide-21
SLIDE 21

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Barrelfish

Component Summary

Application (Possibly) distributed over several kernels Monitor Generic (same for all cores) But still single threaded CPU driver Architecture/Hardware specific Single-threaded

Kai Mast — Multiprocessor Operating Systems 21/47

slide-22
SLIDE 22

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Barrelfish

Memory

Memory is still a shared and global resource Logic is handled by the monitor, not the CPU driver Pages of memory a mapped to specific monitors But virtual/shared memory pages are also possible

Kai Mast — Multiprocessor Operating Systems 22/47

slide-23
SLIDE 23

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Barrelfish

Performance Evaluation

Figure: Latency of Unmapping a Memory Page [1]

Kai Mast — Multiprocessor Operating Systems 23/47

slide-24
SLIDE 24

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Barrelfish

Performance Evaluation

Are the numbers meaningful? No complex applications were evaluated Only implemented on x86 OS doesn’t support any advanced features yet

Kai Mast — Multiprocessor Operating Systems 24/47

slide-25
SLIDE 25

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Is this an important paper?

Pros Proposes a new type of Operating Systems The concept could represent a paradigm-shift Such an approach would make OSes ”future proof” Cons No complex benchmarks exist yet Does not support systems that are distributed over the network

Kai Mast — Multiprocessor Operating Systems 25/47

slide-26
SLIDE 26

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Open Questions

Does it make sense to split monitor and CPU driver performance-wise? What would be a good communication model for Multikernels? How to support systems without a global shared memory?

Kai Mast — Multiprocessor Operating Systems 26/47

slide-27
SLIDE 27

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Other Multikernels

Invasive Computing

Figure: invasIC Architecture [7]

Kai Mast — Multiprocessor Operating Systems 27/47

slide-28
SLIDE 28

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Tornado

”Tornado: Maximizing Locality and Concurrency in a Shared Memory Multiprocessor Operating System” Presented on SOSP in 1999 Evaluated mostly on NUMAchine at UofToronto

Kai Mast — Multiprocessor Operating Systems 28/47

slide-29
SLIDE 29

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Tornado

Authors

Ben Gamsa Former Ph.D. student at University of Toronto Now working at Altera (unrelated to his research) Orran Krieger Former VMware employee Working IBM T.J. Watson Research Center at the time of publication Now leading the ”Center for Cloud Innovation” at Boston University

Kai Mast — Multiprocessor Operating Systems 29/47

slide-30
SLIDE 30

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Tornado

Overview

Core 1 Core 2 Application 1 Application 2 Clustered Object(s) Server Object(s) Kernel Server Object(s) Kernel

Kai Mast — Multiprocessor Operating Systems 30/47

slide-31
SLIDE 31

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Clustered Objects

Figure: Tornado [6]

Same problem as before: Some resources need to be shared Shared object can have more than one instance (or representative)

Kai Mast — Multiprocessor Operating Systems 31/47

slide-32
SLIDE 32

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Resolving Clustered Objects

User calls a function Has Reference? Call Object Miss Handler Object Unknown? Call Global Miss Handler Retrieve Reference Forward call to Rep Yes No Yes No

Kai Mast — Multiprocessor Operating Systems 32/47

slide-33
SLIDE 33

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Resolving Clustered Objects

Miss Handler

Figure: Miss Handling Table [6]

Kai Mast — Multiprocessor Operating Systems 33/47

slide-34
SLIDE 34

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Garbage Collection

Clustered Object Thread(s) Shared Memory temporary reference persistent reference might use Object must ensure that all references are gone before removal Fortunately, we know of all references because of the miss handler

Kai Mast — Multiprocessor Operating Systems 34/47

slide-35
SLIDE 35

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Inter-Process Communication

IPC is a core component of any modern OS Executing on local core is more effective (handoff scheduling) Cross-process call through local rep

Kai Mast — Multiprocessor Operating Systems 35/47

slide-36
SLIDE 36

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Both Papers in Numbers

Tornado Multikernel Authors 4 9 Year 1999 2009 Citations 182 497 Why does Multikernel seem to have a higher impact?

Kai Mast — Multiprocessor Operating Systems 36/47

slide-37
SLIDE 37

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Conclusion

Similarities Threat OS as network of (almost) independent cores As little globally shared data as possible However, both assume global shared memory Differences Tornado hides more from the user Barrelfish is built more modular Targeting different hardware (10 years difference)

Kai Mast — Multiprocessor Operating Systems 37/47

slide-38
SLIDE 38

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Discussion

Is the support for virtual memory a good idea? Should a modern OS expect the applications to do message passing? Is a hardware-neutral operating system realistic? Even with modularity, can one OS (architecture) cover all possible configurations? What about low-power embedded systems? Are the approaches really future-proof? What about systems that are distributed across the network?

Kai Mast — Multiprocessor Operating Systems 38/47

slide-39
SLIDE 39

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Exokernels

Yet Another Approach

Figure: ”End-to-End” Design of an Exokernel [5]

Kai Mast — Multiprocessor Operating Systems 39/47

slide-40
SLIDE 40

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Exokernels

Corey

Figure: A Webserver powered by the Corey OS [8]

Kai Mast — Multiprocessor Operating Systems 40/47

slide-41
SLIDE 41

Introduction Multikernel Tornado Conclusion Discussion Outlook References

Exokernels

Arrakis

Figure: Design of Arrakis (a Barrelfish fork) [8]

Kai Mast — Multiprocessor Operating Systems 41/47

slide-42
SLIDE 42

Introduction Multikernel Tornado Conclusion Discussion Outlook References

References 0

Slides

”Multiprocessors/Multicores” CS 6410 (Fall 2013) by Yue Gao ”Operating Systems in a Multicore World” CS 6410 (Fall 2012) by Colin Ponce

Kai Mast — Multiprocessor Operating Systems 42/47

slide-43
SLIDE 43

Introduction Multikernel Tornado Conclusion Discussion Outlook References

References I

Literature

[1] Andrew Baumann et al. “The Multikernel: A New OS Architecture for Scalable Multicore Systems”. In: Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles. SOSP ’09. Big Sky, Montana, USA: ACM, 2009, pp. 29–44. isbn: 978-1-60558-752-3. doi: 10.1145/1629575.1629579. url: http://doi.acm.org/10.1145/1629575.1629579. [2] Evgeny Bolotin et al. “Cost Considerations in Network

  • n Chip”. In: Integration-The VLSI Journal, special

issue on Network on Chip, Volume 38, Issue 38 (2004),

  • pp. 105–128.

Kai Mast — Multiprocessor Operating Systems 43/47

slide-44
SLIDE 44

Introduction Multikernel Tornado Conclusion Discussion Outlook References

References II

Literature

[3] Shekhar Borkar. “Thousand Core Chips: A Technology Perspective”. In: Proceedings of the 44th Annual Design Automation Conference. DAC ’07. San Diego, California: ACM, 2007, pp. 746–749. isbn: 978-1-59593-627-1. doi: 10.1145/1278480.1278667. url: http://doi.acm.org/10.1145/1278480.1278667. [4] B.K. Daya et al. “SCORPIO: A 36-core research chip demonstrating snoopy coherence on a scalable mesh NoC with in-network ordering”. In: Computer Architecture (ISCA), 2014 ACM/IEEE 41st International Symposium on. 2014, pp. 25–36. doi: 10.1109/ISCA.2014.6853232.

Kai Mast — Multiprocessor Operating Systems 44/47

slide-45
SLIDE 45

Introduction Multikernel Tornado Conclusion Discussion Outlook References

References III

Literature

[5] Dawson R. Engler, M. Frans Kaashoek, and James O’toole. “Exokernel: An Operating System Architecture for Application-Level Resource Management”. In: 1995, pp. 251–266. [6] Benjamin Gamsa and Benjamin Gamsa. “Tornado: Maximizing Locality and Concurrency in a Shared-Memory Multiprocessor Operating System”. In: In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI. 1999,

  • pp. 87–100.

Kai Mast — Multiprocessor Operating Systems 45/47

slide-46
SLIDE 46

Introduction Multikernel Tornado Conclusion Discussion Outlook References

References IV

Literature

[7] Jan Heisswolf et al. “The Invasive Network on Chip - A Multi-Objective Many-Core Communication Infrastructure”. In: Architecture of Computing Systems (ARCS), 2014 27th International Conference on. 2014,

  • pp. 1–8.

[8] Ong Mao et al. Corey: an operating system for many cores. [9] Simon Peter and Thomas Anderson. “Arrakis: A Case for the End of the Empire”. In: Presented as part of the 14th Workshop on Hot Topics in Operating Systems. Santa Ana Pueblo, NM: USENIX, 2013. url: https://www.usenix.org/conference/hotos13/arrakis- case-end-empire.

Kai Mast — Multiprocessor Operating Systems 46/47

slide-47
SLIDE 47

Introduction Multikernel Tornado Conclusion Discussion Outlook References

References V

Literature

[10] Understanding Parallel Hardware: Multiprocessors, Hyperthreading, Dual-Core, Multicore and FPGAs. url: http://www.ni.com/white-paper/6097/en/.

Kai Mast — Multiprocessor Operating Systems 47/47