1 / 19

Designing Parallel Operating Systems using Modern Interconnects

Designing Parallel Operating Systems using Modern Interconnects. Process Scheduling for the Parallel Desktop. Eitan Frachtenberg Los Alamos National Laboratory 07 December 2005. Computer and Computational Sciences Division Los Alamos National Laboratory. Ideas that change the world.

malana
Download Presentation

Designing Parallel Operating Systems using Modern Interconnects

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. Designing Parallel Operating Systems using Modern Interconnects Process Scheduling for the Parallel Desktop Eitan Frachtenberg Los Alamos National Laboratory 07 December 2005 Computer and Computational Sciences Division Los Alamos National Laboratory Ideas that change the world

  2. Problem Outline • Commodity processors are becoming increasingly parallel • Demanding software will necessarily follow suit and be written for parallelism • Parallel programs and complex workloads will require specialized OS support • Focus on schduling • Case studies and lessons learned from the HPC world

  3. Hardware Trends • Moore’s law cannot continue forever • Annual single-core performance growth down from 50%-60% to 15% • Power and efficiency considerations • More efficient to have multiple, slower threads • Resulting in an alphabet soup of technologies • CMP, SMT, SMP, HT, …

  4. Chip Parallelism

  5. Software Trends • Development of commodity parallel software stifled • No incentives (single-core performance growth) • Difficult to develop parallel code • However, with parallel commodity hardware, parallel code will be the only way to extract additional performance • Software makers traditionally vied to exploit additional performance and hardware advances • Parallel paradigm  Object Oriented paradigm? • Modularity, responsiveness, resource overlapping

  6. Commodity Parallel Software • Engineering • Games • Complex desktop/database searches • Content creation, smart video processing • Science • Finance • User interfaces • Multitasking • …

  7. Challenges for the OS • Scheduling in commodity OSs based on 30-year old principles. In particular, little support for parallel applications and workloads beyond mere resource allocation. • Already small SMPs and SMTs expose many difficulties. • As the degree of parallelism in the underlying hardware will increase, so will the scheduling requirements. • Commodity schedulers are challenged at all levels of parallel abstraction: • Thread • SMP / CMP • Cluster

  8. Parallel Scheduling • Parallel scheduling is a complex and active field of research with supercomputers and clusters. • Many algorithms and implementations exist to deal with the main challenge: synchronization. • However, parallel scheduling techniques are not directly applicable to desktops: • Interactive programs, responsiveness demands • Mixed, heterogeneous workloads

  9. Scheduling Examples • We devised a simple synthetic benchmark to demonstrate parallelism effects: • Various contemporary parallel desktops • Parallel programs: BSP-style compute and synch • Serial programs (“stressors”) only compute • All programs launched together, experiment ends when parallel programs finish • Two schedulers: default Linux and Gang Scheduling

  10. HP (Compaq) ES40 4-way Alpha (Linux 2.4)

  11. HP (Compaq) ES45 4-way Alpha (Linux 2.6)

  12. IBM / Intel 4-way Pentium III (Linux 2.6)

  13. Xeon SMP 4-way Xeon MP with HT (Linux 2.6)

  14. Interactive Processes • Scenario: foreground interactive process (e.g., video playback) interrupted by batch background process (e.g., virus scan or download client) • Even when computing resources are adequate for all processes, mis-scheduling the interactive process causes unnecessary interruptions

  15. Unloaded system

  16. Loaded System

  17. Scheduler Challenges Summary • Processes competing over the same resources suffer when coscheduled • Collaborating processes suffer when not coscheduled • Interactive processes require specially-timed scheduling The challenge: identifying and servicing conflicting scheduling requirements

  18. Conclusions • Commodity computers and their workloads continue to evolve, and we seem to be heading for an era of ubiquitous parallel computing • Complex architectures and workloads pose a new challenge to commodity schedulers, that remained largely unchanged in the last 30 years • To face this rising complexity, schedulers will also have to adapt, potentially with more sophisticated heuristics.

  19. Future Work We are developing scheduling solutions for the parallel desktop based on the following principles: • Classification: Identify the scheduling requirements of processes by monitoring OS activity • Cooperation: Coschedule collaborating processes • Separation: Schedule apart interfering processes • Adaptivity and automatic tuning: Dynamically try out different combinations and choose the best

More Related