1 Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis...

27
1 http://moais.imag.fr Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme Sculpture (Tête) Artist : Anonyme Origin: Rapa Nui [Easter Island] Date : between the XIst and the XVth century Dimensions : 1,70 m high EVALUATION SEMINAR -RESEARCH THEME Num B "Grids and high-performance computing" March 27-28, 2008

Transcript of 1 Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis...

Page 1: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

1

http://moais.imag.fr

Multi-Programming and Scheduling Design for Applications of Interactive Simulation

Jean-Louis Roch & al.

Louvre, Musée de l’Homme Sculpture (Tête)Artist : AnonymeOrigin: Rapa Nui [Easter Island]Date : between the XIst and the XVth centuryDimensions : 1,70 m high

EVALUATION SEMINAR -RESEARCH THEME Num B"Grids and high-performance computing"

March 27-28, 2008

Page 2: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

2

Staff and Skills

Vincent Danjean [MdC UJF, 9/2005] Pierre-François Dutot [MdC UPMF, 9/2006] Thierry Gautier [CR INRIA] Guillaume Huard [MdC UJF] Grégory Mounié [MdC INPG] Bruno Raffin [CR INRIA] Jean-Louis Roch [MdC INPG] Denis Trystram [Prof INPG] Frédéric Wagner [MdC INPG, 9/2006]

Alfredo Goldman [USP Sao Paulo]

20 PhD students, 1 engineer

Parallel algorithms & programming

Scheduling Interactive applications

1/1/2005 : Creation of MOAIS team 1/1/2006 : Creation of INRIA team-project MOAIS

Page 3: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

3

Former members

13 PhDs defended in 2005-2007 Now: 2 at INRIA : Alcove, Cepage

7 in university : Reims, IKI Iran, Luxembourg, Vannes, Damascus, Warsaw, Colima 1 in Postdoc : Iowa SU

1 Start-up co-founder : 4DViews 2 in industry : IFP, Amadeus

2 postdocs Now: Univ. Paris 6, Petrobraz

A long term visit: Axel Krings, Idaho State Univ

3 engineers Now: INRIA/PARIS, industry

Page 4: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

4

Evolution of parallel programming

Parallelism everywhere Distributed, Heterogeneous

Grids

Cluster SMP

GPU

MPSoC

MapReduce [Google]

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

multi-core

TBB [Intel]

Fortress [Sun]

Cuda [NVidia]

…SPIRIT

MPI OpenMP

Cilk++ [CilkArts]

Page 5: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

5

End-to-end parallel programming solutionsfor high-performance interactive computing with provable performances

optimization computational steering, VR embedded

Performance is multi-objective

output

QAP/Nugent on Grid’5000 [PRISM, GSCOP, DOLPHIN] INRIA Grimage platform

[MOAIS, PERCEPTION, EVASION]

Streaming on MPSoCs [ST]

input

MOAIS objective

Page 6: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

6

To mutually adapt application and scheduling. Proactive/static to the platform : the devices evolve gradually Online/dynamic to the execution context : data and resources Tolerant to data variations, failures, other appli. perturbation,…

From algorithms to applications Scheduling and parallel programming schemes Programming interfaces and tools Target applications : batch scheduling, combinatorial

optimization, computational steering, stream encoding

Approach

Page 7: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

7

Overview

Architecture

Interactive application

Per

form

ance

Adaptive controlof execution

model: abstract representation

algorithm: scheduling, fault tolerance

MOAIS

4. Interactivity 

3. Adaptive         algorithms

2. Interfaces for     coordination

1. Scheduling  

Research Directions

Page 8: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

8

Research directions and

achievements for 2005-2007

1. Scheduling2. Interfaces for coordination3. Adaptive algorithms4. Interactive applications

Page 9: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

9

1. Scheduling Objective 1: modeling of scheduling problems for adaptive applications

Adaptable parallelism degree for efficient coarse grain scheduling Parallel task models: moldable tasks, divisible load

Some results: Comparisons and coupling models: [IJ FCS 06 ]

Off-line: improvement of performance ratio : - 3/2-approximation [SIAM J.Comp 07] instead of 2 [Turek&al] by strip-packing- (3+5) for moldable tasks on a grid of clusters [Europar’06]

On-line: decrease of control overhead : « work-first principle » [Cilk] - Extension to general distributed data-flow computations [ICTTA’06, ICCS’07]

...Task == | | … |

Page 10: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

10

1. Scheduling Objective 2: Design of multi-objective scheduling with performance guarantees.

Simultaneous approximation for each objective

Relaxation: - Makespan/Minsum [WEA05]; - Work/Depth[Pasco07]

Approximated solutions of Pareto optimal solutions:- Makespan/Reliability[SPAA07]- Makespan/Memory [IPDPS08]

Page 11: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

11

Objective 2: Design of multi-objective scheduling with performance guarantees.

Simultaneous approximation for each objective

Example : Makespan / Average completion time for job scheduling Minimize the makespan : system/administrator point of view Minimize the average completion time(wiCi): user point of view

t0 2 4 8 16

1. Scheduling

Generic -relaxation scheme [Shmoys&al.]: To include a smart algorithm inside a recursive doubling

(eg. for Makespan) (eg. for Minsum)

For moldable tasks: yields a

bi-approximation with arbitrary ratio between Cmax and Minsum [WEA05]

Page 12: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

12

Objective: provably efficient control at runtime of the coupling of components with various synchronizations constraints.

Kaapi: middleware for large scale distributed executions with performance guarantees

Application

middleware

Distributed architecture

Model: abstract representationModel: abstract representation

Algorithm: scheduling, fault tolerance, ...

Algorithm: scheduling, fault tolerance, ... P

erf

orm

ance

2. Interfaces for coordination

Page 13: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

13

2. Interfaces for coordination

Kaapi model: distributed macro dataflow graph

Provable performances: - efficient local serialization “work-first principle”, zero-copy [J. CLSS’07, ICCS07]]

- Scheduling:• coarse-grain graph partitioning + ``work-stealing’

- Fault-tolerance protocols, from scheduling properties• coordinated protocol [ICTTA’06] + original TIC protocol [EIT05, TDSC08]

Positioning : Multi-processors/multi-core architectures: Intel TBB, CilkArts, Swarm Grid / global platforms: Tolerate failure and falsification: Satin (FT)

1 struct sum { 2 void operator()(Shared_r < int > a, 3 Shared_r < int > b, 4 Shared_w < int > r ) 5 { r.write(a.read() + b.read()); } 6 } ; 7 8 struct fib { 9 void operator()(int n, Shared_w<int> r) 10 { if (n <2) r.write( n ); 11 else 12 { int r1, r2; 13 Fork< fib >() ( n-1, r1 ) ; 14 Fork< fib >() ( n-2, r2 ) ; 15 Fork< sum >() ( r1, r2, r ) ; 16 } 17 } 18 } ;

runtimeLocal stack

Distributed nestedmacrodataflow graph

Page 14: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

14

2. Kaapi: Support and transfert

Quadratic assignment [ANR CHOC] Finite element computations [ANR DISCOGRID] Cryptographic S-Box selection [ANR SAFESCALE] Probabilistic inference engine [ProBayes]

Distributed implementation of CAPE-Open standard for process engineering computations [IFP]

Cluster implementation of compliant runtime RSI/Indiss-RT

Page 15: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

15

...

Sequentialalgorithm

Parallel algo. P=2

redundancyOverheads

synchronization

communication

Objective: To design&analyze algorithms that may obliviously adapt their execution under the control of the scheduling

Parallelalgo. P=100

Parallelalgo. P=+∞

3. Adaptive algorithms

Page 16: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

16

3. Adaptive algorithms

heterogeneous resources, variable speeds: oblivious algorithms.=> work-stealing to self-tune granularity

-

But: work Wp increases when depth Dp decreases : multi-objective problem Adaptive coupling of algorithms [Europar’06, PASCO’07, PDP’08]

- Relaxation sequential / work-stealing

Tp ≤ W p

p.Π ave

+ ODp

Π ave

⎝ ⎜

⎠ ⎟

Page 17: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

17

Cache&processor oblivious stream computations [ PDP’07] AWS: adaptive work-stealing for MPSoCs

Use case: HDTV on MPSoCs [ST Microelectronics film grain tech.]

MPSoC

Architecture description[SPIRIT / IP-XACT Simulator]

Application description potential parallelism

[AWS api]

Bridge =

AWSscheduling

 Film-grainapplication(streaming)

Ex: HD-TVNoise reduction

Near optimal experimental results [PDP08]

3. Adaptive algorithms

Page 18: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

18

Adaptive 3D-vision [VR’07] Realtime constraint : 30 frames per sec

Adaptive heterogeneous coupling with Kaapi: CPU+GPU [EGPV’07]

3. Adaptive algorithms

1 .. 16 CPUs

Page 19: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

19

4. Interactivity Motivation: parallelism for interactive applications

Challenging application: multi-cameras, multi-cpus, multi-GPUs, multi-display

Grimage platform [2005…]

Positioning: other platforms: - [Blue-C, ETH Zurich, 2005 …],[Tele-Immersion@UCBerkeley 2005]

Specificity: collaboration with EVASION(realtime physics simulation) PERCEPTION (computer vision)

-- 20 dual-core-- 15 cameras-- 16 projectors

Page 20: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

20

Middleware dedicated to interactive applications Distributed components, moldable Parallel code coupling

Static coarse grain mapping High resolution HDTV player

[CPUs + GPUs]

4. Interactivity

QuickTime™ et undécompresseur

sont requis pour visionner cette image.

Page 21: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

21

Grids

Cluster SMP

GPU

MPSoC

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

multi-core

Summary of 2005-2007

AWS

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Multi-objective Adaptive Performance Applications are time-consuming but essential to validate scientific approach

Page 22: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

22

Some facts Publications

Contracts (k€)

Softwares: Kaapi, FlowVR, Taktuk, AWS

0

5

10

15

20

25

2005 2006 2007

JournalBook/Chap.Int. ConfPhDOthers (Nat.)

• 127 in 3 year , 19 rank #1

- 17 Int. Journal (SIAM J.Comp, IEEE TC, TPDS, TDSC, EJOR, FOCS, …) - 59 Int. Conf (SPAA, IPDPS, CCGrid

VR, VIS, Europar, ICCS, Siggraph…)

0

100

200

300

400

500

600

700

800

2005 2006 2007

ARC INRIAANR Nat.EuropeIndustryScholarshipsTotal

• Industry partners: STM, IFP, CEA, Bull, C-S, DCN, ..• 2 ARC, 5 ANRs• 1 pole MINALOGIC• 2 Europe, 1 Ass. team

Page 23: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

23

Highlights 1st prize Plugtest 2007 Nqueens challenge

SIGGRAPH 2007 Emerging Technologies Demo (~4000 visitors)

Valorization: parallel 3D modeling in start-up 4DViews co-funded by former PhD C Menier [joined MOAIS/PERCEPTION]

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Dec. 2006: special Jury prizeNov. 2007: 1st prize

• Nqueens(23) in 2107s with 3654 cores

Page 24: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

24

Research directions 2008-2012[1/3]

To push the interactions to large scale

Heterogeneous computing- Complex memory hierarchy

Provable performances vs adversary- Game theory

Page 25: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

25

Research directions 2008-2012[2/3]

Scheduling : multi-objective Large systems, many users, various objectives : equity / fairness Extra global objective to non-cooperative strategies

Runtime for HPC on demand Monitoring and control: testbed for processors with changing speed Work-stealing based runtime extended to complex memory hierarchy Dependable computing on global computing platforms [ADT ALLADIN]

Page 26: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

26

Research directions [3/3]

Adaptive algorithms- Large data sets, out-of-core issues - Framework / high level library

High performance interactive computing- Application monitoring and control- Interactive resolution of complex problem (scheduling)

- Grimage: explore new 3D interactions [PERCEPTION]• Parallelism for adaptive interactive performance

- Kaapi partitioning+work-stealing to balance load between heterogeneous resources (CPUs / GPUs )

Page 27: 1  Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis Roch & al. Louvre, Musée de l’Homme.

27

Summary

“To provide parallel programming schemes, interfaces and tools for high performance interactive computing that enable to achieve provable performances on distributed parallel architectures, from multi-processors system-on-chip to lightweight grids and global computing platforms.”

QuickTime™ et undécompresseur

sont requis pour visionner cette image.

SIGGRAPH’07 [MOAIS - PERCEPTION - EVASION]