270 likes | 393 Views
M ulti-Pr o gramming and Scheduling Design for A pplications of I nteractive S imulation Jean-Louis Roch & al. http://moais.imag.fr. Louvre, Musée de l’Homme Sculpture (Tête) Artist : Anonyme Origin: Rapa Nui [Easter Island] Date : between the XIst and the XVth century
E N D
Multi-Programming and Scheduling Design for Applications of Interactive SimulationJean-Louis Roch & al. http://moais.imag.fr 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
Staff and Skills • 1/1/2005 : Creation of MOAIS team • 1/1/2006 : Creation of INRIA team-project MOAIS • 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
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
Evolution of parallel programming • Parallelism everywhere • Distributed, Heterogeneous MPSoC Grids Cluster SMP multi-core GPU MPI OpenMP Cuda [NVidia] MapReduce [Google] TBB [Intel] …SPIRIT Cilk++ [CilkArts] Fortress[Sun]
input output MOAIS objective • End-to-end parallel programming solutionsfor high-performance interactive computing with provable performances optimization computational steering, VR embedded • Performance is multi-objective QAP/Nugent on Grid’5000 [PRISM, GSCOP, DOLPHIN] Streaming on MPSoCs [ST] INRIA Grimage platform [MOAIS, PERCEPTION, EVASION]
Approach • 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
Research Directions 4. Interactivity 3. Adaptive algorithms 2. Interfaces for coordination Performance 1. Scheduling Overview Interactive application Adaptive control of execution M O A I S model: abstract representation algorithm: scheduling, fault tolerance Architecture
Research directions and achievements for 2005-2007 • Scheduling • Interfaces for coordination • Adaptive algorithms • Interactive applications
Task == | | … | 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]
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]
For moldable tasks: yields a bi-approximation with arbitrary ratio between Cmax and Minsum [WEA05] 1. Scheduling • 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 • Generic -relaxation scheme [Shmoys&al.]: To include a smart algorithm inside a recursive doubling • (eg. for Makespan) (eg. for Minsum) t 16 0 2 4 8
Model: abstract representation Algorithm: scheduling, fault tolerance, ... Performance 2. Interfaces for coordination • 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
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 } ; Local stack runtime Distributed nestedmacrodataflow graph
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 standardfor process engineering computations [IFP] Cluster implementation of compliant runtime RSI/Indiss-RT
communication Overheads redundancy synchronization 3. Adaptive algorithms Objective: To design&analyze algorithms that may obliviously adapt their execution under the control of the scheduling Parallel algo. P=100 Parallel algo. P=+∞ Sequential algorithm Parallel algo. P=2
3. Adaptive algorithms • heterogeneous resources, variable speeds: oblivious algorithms.=> work-stealing to self-tune granularity • But: work Wpincreases when depth Dpdecreases : • multi-objective problem • Adaptive coupling of algorithms [Europar’06, PASCO’07, PDP’08] • Relaxation sequential / work-stealing
Bridge = AWS scheduling Film-grain application (streaming) Ex: HD-TV Noise reduction 3. Adaptive algorithms • Cache&processor oblivious stream computations [ PDP’07] • AWS: adaptive work-stealing for MPSoCs • Use case: HDTV on MPSoCs [ST Microelectronics film grain tech.] MPSoC Application description potential parallelism [AWS api] Architecture description [SPIRIT / IP-XACT Simulator] • Near optimal experimental results [PDP08]
3. Adaptive algorithms • Adaptive 3D-vision [VR’07] • Realtime constraint : 30 frames per sec • Adaptive heterogeneous coupling with Kaapi: CPU+GPU [EGPV’07] 1 .. 16 CPUs
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
4. Interactivity • Middleware dedicated to interactive applications • Distributed components, moldable • Parallel code coupling • Static coarse grain mapping High resolution HDTV player [CPUs + GPUs]
MPSoC Grids Cluster SMP multi-core GPU Summary of 2005-2007 Multi-objective Adaptive Performance • Applications are time-consuming but essential to validate scientific approach AWS
Some facts • Publications • Contracts (k€) • Softwares: • Kaapi, FlowVR, Taktuk, AWS • 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…) • Industry partners: STM, IFP, CEA, Bull, C-S, DCN, .. • 2 ARC, 5 ANRs • 1 pole MINALOGIC • 2 Europe, 1 Ass. team
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] • Dec. 2006: special Jury prize • Nov. 2007: 1st prize • Nqueens(23) in 2107s with 3654 cores
Research directions 2008-2012[1/3] To push the interactions to large scale • Heterogeneous computing • Complex memory hierarchy • Provable performances vs adversary • Game theory
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]
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 )
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.” SIGGRAPH’07 [MOAIS - PERCEPTION - EVASION]