330 likes | 482 Views
Cactus in GrADS. Dave Angulo, Ian Foster Matei Ripeanu, Michael Russell Distributed Systems Laboratory The University of Chicago With: Gabrielle Allen, Thomas Dramlitsch, Ed Seidel, John Shalf, Thomas Radke. Presentation Outline. Cactus Overview Architecture Applications
E N D
Cactus in GrADS Dave Angulo, Ian Foster Matei Ripeanu, Michael Russell Distributed Systems Laboratory The University of Chicago With: Gabrielle Allen, Thomas Dramlitsch, Ed Seidel, John Shalf, Thomas Radke
Presentation Outline • Cactus Overview • Architecture • Applications • Cactus and Grid computing • Metacomputing, Worms, … • Proposed Cactus-GrADS project • The “Cactus-G worm” • Tequila thorn and architecture • Issues
What is Cactus? Cactus is a freely available, modular, portable and manageable environment for collaboratively developing parallel, high-performance multidimensional simulations • Originally developed for astrophysics, but nothing about it is astrophysics-specific
Cactus Applications Example output from Numerical Relativity Simulations
Cactus Architecture • Codes are constructed by linking a small core (flesh) with selected modules (thorns) • Custom linking/configuration tools • Core provides basic management services • A wide variety of thorns are supported • Numerical methods • Grids and domain decompositions • Visualization and steering • Etc.
Cactus Architecture Cactus Thorns Computational Toolkit Toolkit Toolkit Flesh Make Configure CST Operating Systems Irix SuperUX Linux Unicos HP-UX Solaris OSF NT AIX
Cactus Applications • A Cactus “application” is just another thorn, “linked” with other tool thorns • Numerous Astrophysics applications • E.g., Calculate Schwartzchild Event Horizons for colliding black holes • Potential candidates for GrADS work • Elliptical Solver, BenchADM • Both use 3-D grid abstract topology
Building an executable Cactus Source Configuration Thorns • Compiler options • Tool options • MPI options • HDF5 options Flesh IOBasic IOASCII WaveToy LDAP Worm … Cactus Model (cont.)
Parameter File • Specify which thorns to activate • Specify global parameters • Specify restricted parameters • Specify private parameters Running Cactus
Parallelism in Cactus • Distributed memory model: each thorn is passed a section of the global grid • The parallel driver (implemented in a thorn) can use whatever method it likes to decompose the grid across processors and exchange ghost zone information - each thorn is presented with a standard interface, independent of the driver • Standard driver distributed with Cactus (PUGH) is for a parallel unigrid and uses MPI for the communication layer • PUGH can do custom processor decomposition and static load balancing • AMR driver also provided
Cactus and Grid Computing:General Observations • Reasons to work with Cactus • Rich structure, computationally intensive, numerous opportunities for Grid computing • Talented and motivated developer/user community • Issues • At core, relatively simple structure • Cactus system is relatively complex • User community is relatively small
Cactus-G: Possible Opportunities • “Metacomputing”: use heterogeneous systems as source of low-cost cycles • Departmental pool or multi-site system • Dynamic resource selection, e.g. • “Cheapest” resources to achieve interactivity • “Fastest” resource for best turnaround • “Best” resolution to meet turnaround goal • Spawn independent tasks: e.g., analysis • Migration to “better” resource for all above
Cactus-G: Common Building Blocks • Resource selection based on resource and application characterizations • Implementation and management of distributed output • (De)centralized logging, accounting for resource usage, parameter selection, etc. • Fault discovery, recovery, tolerance • Code/executable management and creation • Next-generation Cactus that increases flexibility with respect to parameter selection
Proposed Cactus-G Challenge Problem: Cactus-G Worm • Migrate to “faster/cheaper/bigger” system • When system identified by resource discovery • When resource requirements change • Why? • Tests much of the machinery required for Cactus-G (source code mgmt, discovery, …) • Places substantial demands on GrADS • Good potential to show real benefit • Migration approach simplifies infrastructure demands (MPI-2 support not required)
(0) Possible user input (5) Cactus startup (4) Migration request (7) Read checkpoint (3) Write checkpoint (6) Load code (1) Adapt. request (2) Resource request Store models, etc. Query (1’) Resource notification Cactus-G WormBasic Architecture and Operation Application Manager Compute resource … Compute resource Appln & other thorns Cactus “flesh” “Tequila” Thorn Storage resource … GrADS Resource Selector Storage resource Code repository … Grid Information Service Code repository
Tequila Thorn Functions • Initiates adaptation on application request or on notification of new resources • Can include user input (e.g., HTTP thorn) • Requests resources from external entity • GIS or ResourceSelector • Checkpoints application • Contacts Application Manager to request restart on new resources • AppManager has security, robustness advantages vs. direct restart
Cactus-G Worm: Approach • Uniproc Tequila thorn that speaks to GIS, adapts periodically [done: Cactus group] • Tequila thorn that speaks to UCSD Resource Selector [current focus] • Integrate accurate performance models • Support multiprocessor execution • Detailed evaluation • Add adaptation triggers: e.g., contract violation, new regime, user input
Tequila Thorn + ResourceSelector • ResourceSelector must be set up as service • Tequila thorn sends request for new bag of resources • ResourceSelector responds with the new bag
Current Status • Tequila thorn prototype developed that speaks to ResourceSelector • Dummy ResourceSelector that returns a static bag of resources • Demonstrated Cactus+Tequila operating • Performance model developed • Expected by May: multiprocessor support, ResourceSelector interface, real performance model
Open Issues • Should we move more management logic into Application Manager? • How does Contract Monitor fit into architecture? • How does PPS fit into architecture? • How does COP and Aplication Launcher fit into architecture (Cactus has its own launcher and compiles its own code)? • How does Pablo fit into architecture (Which thorns are monitored, is flesh monitored)?
Request and Response • The Request to the ResourceSelector will be stored in the InformationService • Only the pointer to the data in the IS will be passed to the ResourceSelector • The Response from the ResourceSelector will also be stored in the IS • Only the pointer to the data in the IS will be passed back.
Resource Selector Information Service Cactus Tequila Thorn Tequila communication overview
Grads Communi- cation library Toolkit Cactus Architecture in GrADS Cactus Thorns Computational Toolkit Toolkit Flesh Make Configure CST Operating Systems Irix SuperUX Linux Unicos HP-UX Solaris OSF NT AIX
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 1 • Event sent to Tequila thorn requesting restart
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 2 • Tequila store AART in IS
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 3 • Tequila sends request to ResourceSelector passing pointer to data in IS
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 4 • ResourceSelector retrieves AART from IS
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 5 • ResourceSelector stores bag of resources (in AART) in IS
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 6 • ResourceSelector responds to Tequila passing pointer to data in IS
Resource Selector Cactus Tqeuila Thorn Information Service Communication Details step 7 • Tequila retrieves AART with new bag of resources from IS
Requirements • Using the IS for communication adds overhead. • Why do this? • GrADS requirement 1: do some things (e.g. compile) at one time and have the results stored in a persistent storage area. Pick these stored results up later and complete other phases.
Sample Tequila Scenario • User asks to run an ADM simulation 400x400x400 for 1000 timesteps in 10s. • Resource selector contacted to obtain virtual machines • Best virtual machine selected based on performance model. • AM starts Cactus on that virtual machine (and monitors execution Contracts?) • User (or application manager) decides that computation advances too slow and decides to search for a better virtual machine • AM finds a better machine, commands the Cactus run to Checkpoint, transfers files and restart Cactus