Towards Jungle Computing with Ibis/Constellation Jason Maassen, Niels Drost Henri Bal, Frank Seinstra Department of Computer Science VU University, Amsterdam, The Netherlands
Introduction ●
HPC is entering many domains ● ●
●
Not just: physics / chemistry / climate modelling Also: semantic web / medical / multimedia analysis / neuroinformatics / remote sensing / astronomy / ...
HPC is becoming more complex ●
●
Not just large SMP or clusters, instead: ● Clusters of SMPs / Grids / Clouds / Supers / ... ● Heterogenous machines using GPU / Cell / FPGA “It‟s a jungle out there“
3DAPAS Workshop 2011
2
Example Domain Computational Astrophysics (amusecode.org)
Jungle Computing ●
Worst case computing ... as required by users ●
Arbitrary combination of distributed, hierarchical, and heterogenous computing
3DAPAS Workshop 2011
4
Many Task Computing According to Raicu, Foster, et al [SC‟08] “High-performance computations comprising multiple distinct activities, coupled via file system operations or message passing. Tasks may be small or large, uni-processor or multi-processor, compute-intensive or data-intensive. The set of tasks may be static or dynamic, homogeneous or heterogeneous, loosely coupled or tightly coupled. The aggregate number of tasks, quantity of computing, and volumes of data may be extremely large.” ●
Applications are dynamic and heterogeneous workflows / DAGs of activities
3DAPAS Workshop 2011
5
MTC in the Jungle ●
MTC has advantages for Jungle Computing ●
●
Many distinct activities ● Can be implemented independently using the tools and targeted to the HPC architecture, that best suit them Reduced programming complexity ● Complete applications are constructed using sequences and combinations of activities
3DAPAS Workshop 2011
6
Constellation ●
MTC system for Jungle Computing
●
Model based on: activities (tasks) executors (resources) contexts (matchmaking) events (communication)
3DAPAS Workshop 2011
7
Constellation Model Application ●
Application: set of activities ● ●
● ● ●
●
Distinct tasks Size and complexity may vary Targeted at specific HPC platform (Loosly) Coupled using events Often wrapper around existing code
Similar to workflow or DAG of tasks ●
Dynamic and unlimited in size
3DAPAS Workshop 2011
8
Constellation Model Hardware ●
Hardware: set of executors ● ● ●
●
Capable of running activities May represent anything from a single core to an entire cluster, a GPU, etc. May be application specific
Provides an application specific heterogeneous resource pool
3DAPAS Workshop 2011
9
Constellation Model Context ●
Both activities and executors are tagged with a context ●
●
●
●
Application defined label (+ rank) Used to defines relationship between activites and executors, e.g.: ● Data dependencies, hardware requirements, ...
May combine contexts Executors may have preference for label or rank
3DAPAS WorkShop 2011
10
Constellation Model Matchmaking ●
RTS performs load-balancing and match-making ● ●
●
●
Ensures activities are forwarded to a suitable executor Tries to keep all executors busy Uses context-aware work-stealing
RTS also performs event routing ●
Based on unique activity identifier
ComplexHPC Spring School 2011
11
Constellation API
3DAPAS Workshop 2011
12
Constellation API
3DAPAS Workshop 2011
13
DACH 2008 Data Challenge in conjunction with IEEE Cluster/Grid 2008 ●
Supernova detection ● ●
Analyse 1052 image pairs on 11 clusters (Intrigger) „Sequential‟ executable provided
3DAPAS Workshop 2011
14
DACH 2008 Problem ●
Main problems: ● ● ●
Data distribution Heterogeneity of work and hardware Load balancing
3DAPAS Workshop 2011
15
DACH 2008 Workflow ●
Winning approach in 2008: ● ●
●
Parallelize workflow to improve hardware utilization Create hierarchical master worker framework Scheduling heuristics using data location and size
3DAPAS Workshop 2011
16
Constellation Version Option 1: Monolythic ●
Wrap entire application in a single activity ●
●
Wrap each machine in one executor ●
●
3DAPAS Workshop 2011
One activity per image pair
Multiple cores per executor
Use context to influence order and placement of each of activities 17
Evaluation ● ●
Intrigger not available Instead we use DAS3+DAS4 ●
● ●
●
5+6 clusters in the Netherlands Mix of 2/4/8/12/48 core machines Various types of GPUs
Three Scenarios ● ● ●
Data locality (Executor granularity) Heterogeneous processing
3DAPAS Workshop 2011
18
Scenario 1 Data Locality ●
Data distributed over 4 clusters of DAS3 + DAS4
●
Use context to express data locality and preferred processing order ● ●
Adapt context to tune application No change in application
3DAPAS Workshop 2011
19
Scenario 1 Results Activity
Executor
Effect
“any”
“any”
Random order
“any”,50
“any”, biggest
Sorted by size
“VU3”,”VU4”,50
“VU3”, biggest
Local only Sorted by size
“VU3”,”VU4”, ”any”,50
“VU3”, “any”, biggest
Preference for local Fallback to any, Sorted by size
3DAPAS Workshop 2011
20
Constellation Version Option 2: Workflow
● ● ●
3DAPAS Workshop 2011
Wrap each stage in activity Wrap each core executor Use context to influence order and placement of each of the jobs 21
Scenario 3: Heterogeneous System ●
18 node GPU cluster ● ● ●
●
8 cores + 1 GPU per node Activity: single task Executor: 1 core (top) 1 core or GPU (bottom)
Replaced activity 7.2 with GPU version. ● ●
Label activities and executors accordingly Significant performance gain.
ComplexHPC Spring School 2011
22
Conclusions ● ● ●
We think Jungle Computing is a neccesity for some application areas. Constellation offers a suitable model (MTC) to create such applications. Initial experiments show that Constellation works well for a wide range of hardware configurations ● ● ●
Easy to reconfigure applications to match resources Allows integration of specialized accellerator codes Suitable basis for a Jungle Computing model
3DAPAS Workshop 2011
23
Future Work ●
Application development ● ●
●
●
AMUSE Remote Sensing Climate modelling
Platform improvements ● ●
● ●
Easier integration of existing codes Smart/automatic deployment/tuning of executors Improve data handling Better monitoring
3DAPAS Workshop 2011
24
Questions ?
[email protected] www.cs.vu.nl/ibis
3DAPAS Workshop 2011
25
Scenario 2 Executor Granularity ● ●
30 largest images only Single 48 core machine ● ●
●
No change in application for experiment (a-c) ●
●
Activity: entire application (a-c) single task (d) Executor: [n]-cores
Only change executor config.
Completely ported application in (d) ●
Significant performance gain!
3DAPAS Workshop 2011
26