19
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 Division Los Alamos National Laboratory Ideas that change the world

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

Embed Size (px)

Citation preview

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

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

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

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

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

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, …

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

I-SPAN’05 December 07, 2005

4

Process Scheduling for the Parallel Desktop

Chip Parallelism

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

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

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

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

……

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

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

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

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

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

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

Page 10: I-SPAN’05 December 07, 2005 1 Process Scheduling for the Parallel Desktop Designing Parallel Operating Systems using Modern Interconnects Process 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)

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

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)

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

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)

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

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)

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

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

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

I-SPAN’05 December 07, 2005

15

Process Scheduling for the Parallel Desktop

Unloaded system

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

I-SPAN’05 December 07, 2005

16

Process Scheduling for the Parallel Desktop

Loaded System

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

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

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

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.

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

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