1 Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis...
-
Upload
kristopher-beasley -
Category
Documents
-
view
214 -
download
0
Transcript of 1 Multi-Programming and Scheduling Design for Applications of Interactive Simulation Jean-Louis...
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
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
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
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]
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
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
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
8
Research directions and
achievements for 2005-2007
1. Scheduling2. Interfaces for coordination3. Adaptive algorithms4. Interactive applications
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 == | | … |
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]
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]
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
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
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
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
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
⎛
⎝ ⎜
⎞
⎠ ⎟
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
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
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
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.
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
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
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
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
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]
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 )
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]