I-SPAN’05 December 07, 2005 1 Process Scheduling for the Parallel Desktop Designing Parallel Operating Systems using Modern Interconnects Process Scheduling.
Post on 29-Dec-2015
213 Views
Preview:
Transcript
I-SPAN’05 December 07, 2005
1
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 DivisionLos Alamos National Laboratory
Ideas that change the world
I-SPAN’05 December 07, 2005
2
Process Scheduling for the Parallel Desktop
Problem Outline
Commodity processors are becoming increasingly Commodity processors are becoming increasingly parallelparallel
Demanding software will necessarily follow suit and Demanding software will necessarily follow suit and be written for parallelismbe written for parallelism
Parallel programs and complex workloads will Parallel programs and complex workloads will require specialized OS supportrequire specialized OS support
Focus on schdulingFocus on schduling
Case studies and lessons learned from the HPC Case studies and lessons learned from the HPC worldworld
I-SPAN’05 December 07, 2005
3
Process Scheduling for the Parallel Desktop
Hardware Trends
Moore’s law cannot continue foreverMoore’s law cannot continue forever
Annual single-core performance growth down from Annual single-core performance growth down from 50%-60% to 15%50%-60% to 15%
Power and efficiency considerationsPower and efficiency considerations
More efficient to have multiple, slower threadsMore efficient to have multiple, slower threads
Resulting in an alphabet soup of technologiesResulting in an alphabet soup of technologies
CMP, SMT, SMP, HT, …CMP, SMT, SMP, HT, …
I-SPAN’05 December 07, 2005
4
Process Scheduling for the Parallel Desktop
Chip Parallelism
I-SPAN’05 December 07, 2005
5
Process Scheduling for the Parallel Desktop
Software Trends
Development of commodity parallel software stifledDevelopment of commodity parallel software stifled
No incentives (single-core performance growth)No incentives (single-core performance growth)
Difficult to develop parallel codeDifficult to develop parallel code
However, with parallel commodity hardware, parallel However, with parallel commodity hardware, parallel code will be the only way to extract additional code will be the only way to extract additional performanceperformance
Software makers traditionally vied to exploit Software makers traditionally vied to exploit additional performance and hardware advancesadditional performance and hardware advances
Parallel paradigm Parallel paradigm Object Oriented paradigm? Object Oriented paradigm?
Modularity, responsiveness, resource overlappingModularity, responsiveness, resource overlapping
I-SPAN’05 December 07, 2005
6
Process Scheduling for the Parallel Desktop
Commodity Parallel Software
EngineeringEngineering
GamesGames
Complex desktop/database searchesComplex desktop/database searches
Content creation, smart video processingContent creation, smart video processing
ScienceScience
FinanceFinance
User interfacesUser interfaces
MultitaskingMultitasking
……
I-SPAN’05 December 07, 2005
7
Process Scheduling for the Parallel Desktop
Challenges for the OS
Scheduling in commodity OSs based on 30-year old Scheduling in commodity OSs based on 30-year old principles. In particular, little support for parallel applications principles. In particular, little support for parallel applications and workloads beyond mere resource allocation.and workloads beyond mere resource allocation.
Already small SMPs and SMTs expose many difficulties.Already small SMPs and SMTs expose many difficulties.
As the degree of parallelism in the underlying hardware will As the degree of parallelism in the underlying hardware will increase, so will the scheduling requirements.increase, so will the scheduling requirements.
Commodity schedulers are challenged at all levels of parallel Commodity schedulers are challenged at all levels of parallel abstraction:abstraction:
ThreadThread
SMP / CMPSMP / CMP
ClusterCluster
I-SPAN’05 December 07, 2005
8
Process Scheduling for the Parallel Desktop
Parallel Scheduling
Parallel scheduling is a complex and active field of Parallel scheduling is a complex and active field of research with supercomputers and clusters.research with supercomputers and clusters.
Many algorithms and implementations exist to deal Many algorithms and implementations exist to deal with the main challenge: synchronization.with the main challenge: synchronization.
However, parallel scheduling techniques are not However, parallel scheduling techniques are not directly applicable to desktops:directly applicable to desktops:
Interactive programs, responsiveness demandsInteractive programs, responsiveness demands
Mixed, heterogeneous workloadsMixed, heterogeneous workloads
I-SPAN’05 December 07, 2005
9
Process Scheduling for the Parallel Desktop
Scheduling Examples
We devised a simple synthetic benchmark to We devised a simple synthetic benchmark to demonstrate parallelism effects:demonstrate parallelism effects:
Various contemporary parallel desktopsVarious contemporary parallel desktops
Parallel programs: BSP-style compute and synchParallel programs: BSP-style compute and synch
Serial programs (“stressors”) only computeSerial programs (“stressors”) only compute
All programs launched together, experiment ends All programs launched together, experiment ends when parallel programs finishwhen parallel programs finish
Two schedulers: default Linux and Gang SchedulingTwo schedulers: default Linux and Gang Scheduling
I-SPAN’05 December 07, 2005
10
Process Scheduling for the Parallel Desktop
HP (Compaq) ES40
4-way Alpha (Linux 2.4)4-way Alpha (Linux 2.4)
I-SPAN’05 December 07, 2005
11
Process Scheduling for the Parallel Desktop
HP (Compaq) ES45
4-way Alpha (Linux 2.6)4-way Alpha (Linux 2.6)
I-SPAN’05 December 07, 2005
12
Process Scheduling for the Parallel Desktop
IBM / Intel
4-way Pentium III (Linux 2.6)4-way Pentium III (Linux 2.6)
I-SPAN’05 December 07, 2005
13
Process Scheduling for the Parallel Desktop
Xeon SMP
4-way Xeon MP with HT (Linux 2.6)4-way Xeon MP with HT (Linux 2.6)
I-SPAN’05 December 07, 2005
14
Process Scheduling for the Parallel Desktop
Interactive Processes
Scenario: foreground interactive process (e.g., Scenario: foreground interactive process (e.g., video playback) interrupted by batch background video playback) interrupted by batch background process (e.g., virus scan or download client)process (e.g., virus scan or download client)
Even when computing resources are adequate for Even when computing resources are adequate for all processes, mis-scheduling the interactive all processes, mis-scheduling the interactive process causes unnecessary interruptionsprocess causes unnecessary interruptions
I-SPAN’05 December 07, 2005
15
Process Scheduling for the Parallel Desktop
Unloaded system
I-SPAN’05 December 07, 2005
16
Process Scheduling for the Parallel Desktop
Loaded System
I-SPAN’05 December 07, 2005
17
Process Scheduling for the Parallel Desktop
Scheduler Challenges Summary
Processes competing over the same resources Processes competing over the same resources suffer when coscheduledsuffer when coscheduled
Collaborating processes suffer when Collaborating processes suffer when notnot coscheduledcoscheduled
Interactive processes require specially-timed Interactive processes require specially-timed schedulingscheduling
The challengeThe challenge: identifying and servicing conflicting : identifying and servicing conflicting scheduling requirementsscheduling requirements
I-SPAN’05 December 07, 2005
18
Process Scheduling for the Parallel Desktop
Conclusions
Commodity computers and their workloads continue Commodity computers and their workloads continue to evolve, and we seem to be heading for an era of to evolve, and we seem to be heading for an era of ubiquitous parallel computingubiquitous parallel computing
Complex architectures and workloads pose a new Complex architectures and workloads pose a new challenge to commodity schedulers, that remained challenge to commodity schedulers, that remained largely unchanged in the last 30 yearslargely unchanged in the last 30 years
To face this rising complexity, schedulers will also To face this rising complexity, schedulers will also have to adapt, potentially with more sophisticated have to adapt, potentially with more sophisticated heuristics.heuristics.
I-SPAN’05 December 07, 2005
19
Process Scheduling for the Parallel Desktop
Future Work
We are developing scheduling solutions for the We are developing scheduling solutions for the parallel desktop based on the following principles:parallel desktop based on the following principles:
ClassificationClassification: Identify the scheduling requirements : Identify the scheduling requirements of processes by monitoring OS activityof processes by monitoring OS activity
CooperationCooperation: Coschedule collaborating processes: Coschedule collaborating processes
SeparationSeparation: Schedule apart interfering processes: Schedule apart interfering processes
Adaptivity and automatic tuningAdaptivity and automatic tuning: Dynamically try : Dynamically try out different combinations and choose the bestout different combinations and choose the best
top related