architecture of scalable operating systems multikernel
play

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


  1. Architecture of Scalable Operating Systems: Multikernel Rasmus Pfeiffer Friedrich-Alexander-Universit¨ at Erlangen-N¨ urnberg 6. Dezember 2016 1 / 19

  2. Table of Contents Shared Memory vs Message Passing Inter-Process Communication Multikernel Model Barrelfish 2 / 19

  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

  4. History Shared Memory and Message Passing are duals [3] In 1978 Lauer and Needhalm argued, that it depends on the hardware, if shared memory or message passing is faster. 4 / 19

  5. Current Situation Comparison of the cost of updating shared state using shared memory and message passing [1] 5 / 19

  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

  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

  8. URPC - Assumptions ◮ Client has other work to do ◮ The server has, or will have, a CPU core available. 8 / 19

  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

  10. Barrelfish structure 10 / 19

  11. CPU driver ◮ single threaded ◮ controls: APIC, MMU, etc ◮ shares no state with other cores ◮ specialized for CPU architecture 11 / 19

  12. Monitors ◮ processor-agnostic ◮ manages system-wide state 12 / 19

  13. Inter-Core Communication 13 / 19

  14. Process structure ◮ processes consist of dispatcher objects ◮ dispatcher objects are scheduled by CPU driver 14 / 19

  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

  16. Performance I - compute-bound workloads 16 / 19

  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

  18. Questions ANY QUESTIONS? 18 / 19

  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 on 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend