I-SPAN’05 December 07, 2005 1 Process Scheduling for the Parallel Desktop Designing Parallel Operating Systems using Modern Interconnects Process Scheduling.

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

Multi-core processors. 2 Processor development till 2004 Out-of-order Instruction scheduling Out-of-order Instruction scheduling.
Technology Drivers Traditional HPC application drivers – OS noise, resource monitoring and management, memory footprint – Complexity of resources to be.
The Interaction of Simultaneous Multithreading processors and the Memory Hierarchy: some early observations James Bulpin Computer Laboratory University.
Lecture 6: Multicore Systems
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Exploiting Unbalanced Thread Scheduling for Energy and Performance on a CMP of SMT Processors Matt DeVuyst Rakesh Kumar Dean Tullsen.
CS 345 Computer System Overview
Dr. Alexandra Fedorova August 2007 Introduction to Systems Research at SFU.
March 18, 2008SSE Meeting 1 Mary Hall Dept. of Computer Science and Information Sciences Institute Multicore Chips and Parallel Programming.
July Terry Jones, Integrated Computing & Communications Dept Fast-OS.
MD240 - Management Information Systems Sept. 13, 2005 Computing Hardware – Moore's Law, Hardware Markets, and Computing Evolution.
Lock vs. Lock-Free memory Fahad Alduraibi, Aws Ahmad, and Eman Elrifaei.
Introduction What is Parallel Algorithms? Why Parallel Algorithms? Evolution and Convergence of Parallel Algorithms Fundamental Design Issues.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Experience with K42, an open- source, Linux-compatible, scalable operation-system kernel IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005 J. Appovoo 、 M. Auslander.
SyNAR: Systems Networking and Architecture Group Symbiotic Jobscheduling for a Simultaneous Multithreading Processor Presenter: Alexandra Fedorova Simon.
By- Jaideep Moses, Ravi Iyer , Ramesh Illikkal and
Single-Chip Multi-Processors (CMP) PRADEEP DANDAMUDI 1 ELEC , Fall 08.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
The Operating System. Operating Systems (F) What you need to know about –operating system as a program; –directory/folder.
Synchronization and Scheduling in Multiprocessor Operating Systems
© 2009 Mathew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
What is Concurrent Programming? Maram Bani Younes.
Operating Systems Should Manage Accelerators Sankaralingam Panneerselvam Michael M. Swift Computer Sciences Department University of Wisconsin, Madison,
Operational computing environment at EARS Jure Jerman Meteorological Office Environmental Agency of Slovenia (EARS)
COLLABORATIVE EXECUTION ENVIRONMENT FOR HETEROGENEOUS PARALLEL SYSTEMS Aleksandar Ili´c, Leonel Sousa 2010 IEEE International Symposium on Parallel & Distributed.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
CLUSTER COMPUTING STIMI K.O. ROLL NO:53 MCA B-5. INTRODUCTION  A computer cluster is a group of tightly coupled computers that work together closely.
Multi-core architectures. Single-core computer Single-core CPU chip.
Multi-Core Architectures
1 Process Scheduling in Multiprocessor and Multithreaded Systems Matt Davis CS5354/7/2003.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
DOE PI Meeting at BNL 1 Lightweight High-performance I/O for Data-intensive Computing Jun Wang Computer Architecture and Storage System Laboratory (CASS)
Headline in Arial Bold 30pt HPC User Forum, April 2008 John Hesterberg HPC OS Directions and Requirements.
ICS-FORTH 25-Nov Infrastructure for Scalable Services Are we Ready Yet? Angelos Bilas Institute of Computer Science (ICS) Foundation.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
Multi-core processors. 2 Processor development till 2004 Out-of-order Instruction scheduling Out-of-order Instruction scheduling.
Programmability Hiroshi Nakashima Thomas Sterling.
Shouqing Hao Institute of Computing Technology, Chinese Academy of Sciences Processes Scheduling on Heterogeneous Multi-core Architecture.
The Multikernel: A New OS Architecture for Scalable Multicore Systems By (last names): Baumann, Barham, Dagand, Harris, Isaacs, Peter, Roscoe, Schupbach,
Background Computer System Architectures Computer System Software.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Processor Level Parallelism 2. How We Got Here Developments in PC CPUs.
Fast Transmission to Remote Cooperative Groups: A New Key Management Paradigm.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Feeding Parallel Machines – Any Silver Bullets? Novica Nosović ETF Sarajevo 8th Workshop “Software Engineering Education and Reverse Engineering” Durres,
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Chen Jin (HT016952H) Zhao Xu Ying (HT016907B)
Welcome: Intel Multicore Research Conference
Evolution of Operating Systems
Operating System 2 Overview
CLUSTER COMPUTING Presented By, Navaneeth.C.Mouly 1AY05IS037
Operating System Concepts
Hyperthreading Technology
Computer Architecture
Jason Neih and Monica.S.Lam
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Operating System 2 Overview
Multithreaded Programming
Software Acceleration in Hybrid Systems Xiaoqiao (XQ) Meng IBM T. J
Department of Computer Science University of California, Santa Barbara
Operating System 2 Overview
Operating System Overview
Presentation transcript:

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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, …

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop Chip Parallelism

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop Commodity Parallel SoftwareEngineeringGames Complex desktop/database searches Content creation, smart video processing ScienceFinance User interfaces Multitasking…

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop HP (Compaq) ES40 4-way Alpha (Linux 2.4)

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop HP (Compaq) ES45 4-way Alpha (Linux 2.6)

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop IBM / Intel 4-way Pentium III (Linux 2.6)

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop Xeon SMP 4-way Xeon MP with HT (Linux 2.6)

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop Unloaded system

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop Loaded System

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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.

I-SPAN’05 December 07, Process Scheduling for the Parallel Desktop 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