designing parallel operating systems using modern interconnects

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

Upload: malana

Post on 16-Mar-2016

42 views

Category:

Documents


2 download

DESCRIPTION

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. - PowerPoint PPT Presentation

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 FrachtenbergLos 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 parallelparallelDemanding software will necessarily follow suit and Demanding software will necessarily follow suit and be written for parallelismbe written for parallelismParallel programs and complex workloads will Parallel programs and complex workloads will require specialized OS supportrequire specialized OS support

Focus on schdulingFocus on schdulingCase 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 foreverAnnual 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 considerationsMore efficient to have multiple, slower threadsMore efficient to have multiple, slower threads

Resulting in an alphabet soup of technologiesResulting in an alphabet soup of technologiesCMP, 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 stifledNo 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 performanceperformanceSoftware makers traditionally vied to exploit Software makers traditionally vied to exploit additional performance and hardware advancesadditional performance and hardware advancesParallel 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

EngineeringEngineeringGamesGamesComplex desktop/database searchesComplex desktop/database searchesContent creation, smart video processingContent creation, smart video processingScienceScienceFinanceFinanceUser interfacesUser interfacesMultitaskingMultitasking……

I-SPAN’05 December 07, 2005

7

Process Scheduling for the Parallel Desktop

Challenges for the OSScheduling 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:

ThreadThreadSMP / CMPSMP / CMPClusterCluster

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 demandsMixed, 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 desktopsParallel programs: BSP-style compute and synchParallel programs: BSP-style compute and synchSerial programs (“stressors”) only computeSerial programs (“stressors”) only computeAll programs launched together, experiment ends All programs launched together, experiment ends when parallel programs finishwhen parallel programs finishTwo 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 coscheduledCollaborating processes suffer when Collaborating processes suffer when notnot coscheduledcoscheduledInteractive 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 computingComplex 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 yearsTo 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 activityCooperationCooperation: Coschedule collaborating processes: Coschedule collaborating processesSeparationSeparation: Schedule apart interfering processes: Schedule apart interfering processesAdaptivity and automatic tuningAdaptivity and automatic tuning: Dynamically try : Dynamically try out different combinations and choose the bestout different combinations and choose the best