1 / 21

S(o)OS in a Nutshell

S(o)OS in a Nutshell. Towards the Large-Scale OS. Structure of this presentation. Content. Background / Introduction: current problems of OS and HPC / tightly coupled systems The basic idea behind S(o)OS a quick overview over the main concepts Project structure & management approach.

Download Presentation

S(o)OS in a Nutshell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. S(o)OS in a Nutshell Towards the Large-Scale OS

  2. Structure of this presentation Content • Background / Introduction: current problems of OS and HPC / tightly coupled systems • The basic idea behind S(o)OS a quick overview over the main concepts • Project structure & management approach Presenter

  3. issues for large scale systems Background

  4. Brief overview over current HPC Trends Presenter • We face systems with • hundred of thousands of cores • Heterogeneous cores • Accelerators attached using wide range of technologies • Myriad of connection options • Hypertransport/Quickpath • PCIExpress • Gigabit Ethernet • Infiniband • Lot of vendor specific connectivity • This systems cannot easily be programmed • The potential cannot be exploited • Current approaches are working on the symptoms (PGAS, CUDA, OpenCL, etc.)

  5. Current Operating Systems Issues • Focus on homogeneous resource infrastructures • Scale well wrt. processes but not wrt. processing units • Are essentially centralistic => bottleneck, OS jitter ... • Future environments will be • large-scale, • heterogeneous and • potentially widely distributed  Current OS architectures can not deal with this Presenter

  6. Current Operating Systems Communication Proc. Unit Operating System Cache Proc. Unit Assign Process Procedure Call Context Switch Memory Access Cross Core Comm. Load Process Process Load Assign Process Procedure Call Context Switch Memory Access Cache Proc. Unit Cross Core Comm. Load Process Process Load  Massive communication and management overhead Presenter

  7. Distributed Programming Issues Presenter • Require a lot of knowledge about • The resource infrastructure • The relationship between algorithm and data • The potential distribution of the algorithms and • Its connectivity / communication • Etc. • Large scale tightly coupled systems will become a common good • Programming models must become more efficient and manageable

  8. Revising OS Architectures Towards S(o)OS

  9. General Concept • Distribute operating system and code across resource infrastructure • Rearrange running code and operating system according to • Availability of resources • Requirements of code • Linkage between data Presenter

  10. Overall Concept Presenter

  11. PU MU ALU Control Memory Control In / Out In / Out Data Bus Real Von Neumann Memory ALU Control In / Out Data Bus Presenter

  12. The OS Monster Presenter

  13. Obstacles Limited cache size Communication is costly Resource environment is dynamic or changes between executions Data consistency Code consistency Presenter

  14. Basic Principles 1 File Management Scheduler Job Mgr Memory HAL I/O Presenter • Distributed, Self-Managed Microkernels • Following the SOA / Grid principle OS functionalities are separate “services” • “Code is where the data is” • Dynamic composition of elements according to code segment requirements

  15. Basic Principles 2 OS Modules Procedure Calls etc. Code Segments Self-referencing Presenter • Runtime Code Behaviour Analysis • Identify code parts with strong relationships • Primary and secondary data-sets • OS relation • Distribute segments according to requirements and availability • Annotate memory with analysis results

  16. “Hacking” Applications f:0.5 f:0.9 OS1 OS2 P1.B1 w:0.8 w:0.3 f:0.2 P2.B1 w:0.9 w:0.5 f:0.3 f:0.8 P1.B2 P1.B1 P1.B2 w:0.9 w:0.7 w:0.3 w:0.6 D.B1 D.B2 P2.B1 Annotated Virtual Memory

  17. Basic Principles 3 Virtual process space Exec Env Exec Env Presenter • Distributed Execution Model • Whole code can be distributed, not just threads • Execution context may move between cores • Distribution may vary with infrastructure • Essential distribution information is maintained with code • Reduce communication overhead

  18. Project Goals New OS architectures / paradigms New approaches and algorithms to deal with future distributed execution systems Proof-of-concept implementation of distributed execution support tools Presenter

  19. Notes on Project Structure Managing S(o)OS

  20. Work Packages Two main strands: • Design Strand Development of algorithms, architectures, reference implementations • WP2: looks at the development from a hardware perspective • WP3: examines (communication) protocols • WP4: deals with distributed execution models • Integration & Testing Strand Aligns the models, performs integrated, application related tests • WP5: OS model • WP6: Application Presenter

  21. Participants • HLRS, University of Stuttgart • Instituto de TelecomunicaçõesAveiro • RETIS Lab, Sant'Anna School of Advanced Studies • CTIT, UniversiteitTwente • Ecole Polytechnique Fédérale de Lausanne • European Microsoft Innovation Centre Presenter

More Related