Multikernel: A New OS Architecture for Scalable Multicore Systems

the multikernel a new os architecture n.w
1 / 23
Embed
Share

Explore the innovative Multikernel OS architecture designed for scalable multicore systems to address rising core counts, hardware diversity, and inter-core communication challenges. The design principles focus on explicit inter-core communication, hardware-neutral structure, and messaging transport mechanisms, enabling networking optimizations and resource management on heterogeneous cores.

  • Multikernel
  • OS architecture
  • Scalable systems
  • Hardware diversity
  • Inter-core communication

Uploaded on | 2 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. The Multikernel: A new OS architecture for scalable multicore systems (2009) Andrew Baumann, Paul Barhamy, Pierre-Evariste Dagandz, Tim Harrisy, Rebecca Isaacsy, Simon Peter, Timothy Roscoe, Adrian Schu pbach, and Akhilesh Singhania Presented by Jibin Yuan EECS 582 F16 1

  2. Background Hardware Core counts is rising Heterogeneous and hardware diversity EECS 582 F16 2

  3. Background Hardware Diversity Core I3 AMD A6-6310 Core I7-3960X EECS 582 F16 3

  4. Background Heterogeneous Cores EECS 582 F16 4

  5. Background Hardware Core counts is rising Heterogeneous and hardware diversity Each generation of hardware requires many optimization efforts EECS 582 F16 5

  6. Background Interconnection Single shared interconnection has been replaced by message-passing hardware Cache coherence becomes increasingly expensive Messages are getting easier EECS 582 F16 6

  7. Background Share memory vs Message passing EECS 582 F16 7

  8. Design Principles Explicit inter-core communication Hardware-neutral OS structure Replicated state instead of shared EECS 582 F16 8

  9. Explicit Inter-core Communication All inter-core communication is performed using explicit messages Allows the OS to deploy networking optimizations Provides isolation and resource management on heterogeneous cores Support split-phase operations Naturally modular EECS 582 F16 9

  10. Hardware Neutral Separate the OS as much as possible from the hardware Messaging transport mechanism and Interface to hardware Easy to deploying and upgrade Isolate the distributed communication algorithms Enable to binding of both the protocol implementation and message transport EECS 582 F16 10

  11. Replicated State No shared memory leads to replicate state across cores Increasing system scalability by reducing load Data shared between cores that do not support the same page table format EECS 582 F16 11

  12. Implementation Goal: Comparable performance Evidence of salability Extensive without refactoring Exploit the message-passing Exploit the modularity of the OS EECS 582 F16 12

  13. Barrelfish System Structure CPU driver: each core as a privileged-mode Monitor: single-core, user-space processes and schedulable EECS 582 F16 13

  14. Barrelfish Process Structure Collection of dispatcher objects Dispatchers are scheduled by the local CPU driver. Dispatcher runs a user-level thread scheduler Implements a threads package similar to standard POSIX threads EECS 582 F16 14

  15. Barrelfish Inter-core Communication Communication through messages Uses cache-coherent memory currently User-level remote procedure call between cores EECS 582 F16 15

  16. Barrelfish Memory Management Capability system All memory management is performed explicitly through system calls CPU driver is responsible for checking the correctness of operations VM management is performed by user-level code EECS 582 F16 16

  17. Barrelfish Shared Address Space Share virtual address space by replicating hardware page tables Share capability supported by monitors Thread managed by thread scheduler EECS 582 F16 17

  18. Barrelfish Knowledge and Policy Engine System knowledge base (SKB): Maintains knowledge of underlying hardware Allows the system to optimize the device drivers and etc. EECS 582 F16 18

  19. About Barrelfish One way to implement a multikernel model Not optimal to separate CPU driver and monitor Proving ground for experimenting with multikernel system EECS 582 F16 19

  20. Evaluation TLB Shootdown Messaging performance Compute-bound workloads IO workloads EECS 582 F16 20

  21. Evaluation TLB Shootdown Linux and Windows: use IPIs for shootdown fast but disruptive Barrelfish: uses messages takes advantage of known hardware platforms Figure: Unmap latency on 8x4-core AMD EECS 582 F16 21

  22. Summary Hardware diversity Goal and implementation of Barrelfish Evaluation EECS 582 F16 22

  23. Discussion Can multi-kernel be a rack- or datacenter-scale OS? What is OS structure widely used in the multicores in the market? Characteristics of monolithic, microkernel, exokernel, multikernel EECS 582 F16 23

Related


More Related Content