High Performance Computing on the Grid: Is It for You? With a Discussion of Help on the Way (the GrADS Project) Ken Kennedy Center for High Performance.

Slides:



Advertisements
Similar presentations
-Grids and the OptIPuter Software Architecture Andrew A. Chien Director, Center for Networked Systems SAIC Chair Professor, Computer Science and Engineering.
Advertisements

ASCR Data Science Centers Infrastructure Demonstration S. Canon, N. Desai, M. Ernst, K. Kleese-Van Dam, G. Shipman, B. Tierney.
A Dynamic World, what can Grids do for Multi-Core computing? Daniel Goodman, Anne Trefethen and Douglas Creager
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Optimus: A Dynamic Rewriting Framework for Data-Parallel Execution Plans Qifa Ke, Michael Isard, Yuan Yu Microsoft Research Silicon Valley EuroSys 2013.
Resource Management of Grid Computing
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
Distributed components
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
Problem-Solving Environments: The Next Level in Software Integration David W. Walker Cardiff University.
Workload Management Workpackage Massimo Sgaravatto INFN Padova.
Telescoping Languages: A Compiler Strategy for Implementation of High-Level Domain-Specific Programming Systems Ken Kennedy Rice University.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
AppLeS, NWS and the IPG Fran Berman UCSD and NPACI Rich Wolski UCSD, U. Tenn. and NPACI This presentation will probably involve audience discussion, which.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Milos Kobliha Alejandro Cimadevilla Luis de Alba Parallel Computing Seminar GROUP 12.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Workload Management Massimo Sgaravatto INFN Padova.
Cactus-G: Experiments with a Grid-Enabled Computational Framework Dave Angulo, Ian Foster Chuang Liu, Matei Ripeanu, Michael Russell Distributed Systems.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
CONDOR DAGMan and Pegasus Selim Kalayci Florida International University 07/28/2009 Note: Slides are compiled from various TeraGrid Documentations.
LIGO-G E ITR 2003 DMT Sub-Project John G. Zweizig LIGO/Caltech Argonne, May 10, 2004.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
Center for Research on Multicore Computing (CRMC) Overview Ken Kennedy Rice University
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Hungarian Supercomputing GRID
GrADS Program Preparation System: Issues and Ideas Keith Cooper, Ken Kennedy, John Mellor-Crummey, Linda Torczon Center for High-Performance Software Rice.
The Grid is a complex, distributed and heterogeneous execution environment. Running applications requires the knowledge of many grid services: users need.
The MicroGrid: A Scientific Tool for Modeling Grids Andrew A. Chien SAIC Chair Professor Department of Computer Science and Engineering University of California,
ARGONNE  CHICAGO Ian Foster Discussion Points l Maintaining the right balance between research and development l Maintaining focus vs. accepting broader.
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado.
Grid Workload Management & Condor Massimo Sgaravatto INFN Padova.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
TMC BioGrid A GCC Consortium Ken Kennedy Center for High Performance Software Research (HiPerSoft) Rice University
Chapter 4 Realtime Widely Distributed Instrumention System.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
LIGO-G9900XX-00-M ITR 2003 DMT Sub-Project John G. Zweizig LIGO/Caltech.
Development Timelines Ken Kennedy Andrew Chien Keith Cooper Ian Foster John Mellor-Curmmey Dan Reed.
The Globus Project: A Status Report Ian Foster Carl Kesselman
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Virtual Data Grid Architecture Ewa Deelman, Ian Foster, Carl Kesselman, Miron Livny.
MAPLD Reconfigurable Computing Birds-of-a-Feather Programming Tools Jeffrey S. Vetter M. C. Smith, P. C. Roth O. O. Storaasli, S. R. Alam
1 Grid-Aware Numerical Libraries To enable the use of the Grid as a seamless computing environment.
Perspectives on Grid Technology Ian Foster Argonne National Laboratory The University of Chicago.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Software Support for High Performance Problem Solving on the Grid An Overview of the GrADS Project Sponsored by NSF NGS Ken Kennedy Center for High Performance.
Superscheduling and Resource Brokering Sven Groot ( )
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
What is SAM-Grid? Job Handling Data Handling Monitoring and Information.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Nanco: a large HPC cluster for RBNI (Russell Berrie Nanotechnology Institute) Anne Weill – Zrahia Technion,Computer Center October 2008.
Evolution of the GrADS Software Architecture and Lessons Learned Fran Berman UCSD CSE and SDSC/NPACI.
Telescoping Languages A Framework for Generating High- Performance Problem-Solving Systems Ken Kennedy Center for High Performance Software Rice University.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
7. Grid Computing Systems and Resource Management
GraDS MacroGrid Carl Kesselman USC/Information Sciences Institute.
Grid Activities in CMS Asad Samar (Caltech) PPDG meeting, Argonne July 13-14, 2000.
Scheduling Strategies for Mapping Application Workflows Onto the Grid A. Mandal, K. Kennedy, C. Koelbel, G. Marin, J. Mellor- Crummey, B. Liu, L. Johnsson.
VGrADS Programming Tools Research: Vision and Overview Ken Kennedy Center for High Performance Software Rice University
VGrADS and GridSolve Asim YarKhan Jack Dongarra, Zhiao Shi, Fengguang Song Innovative Computing Laboratory University of Tennessee VGrADS Workshop – September.
The Virtual Grid Application Development Software (VGrADS) Project Overview Ken Kennedy Center for High Performance Software Rice University
Chuang Liu, Lingyun Yang, Dave Angulo, Ian Foster
Center for High Performance Software
Grid Computing.
Abstract Machine Layer Research in VGrADS
Presentation transcript:

High Performance Computing on the Grid: Is It for You? With a Discussion of Help on the Way (the GrADS Project) Ken Kennedy Center for High Performance Software Rice University

GrADS Principal Investigators Francine Berman, UCSD Andrew Chien, UCSD Keith Cooper, Rice Jack Dongarra, Tennessee Ian Foster, Chicago Dennis Gannon, Indiana Lennart Johnsson, Houston Ken Kennedy, Rice Carl Kesselman, USC ISI John Mellor-Crummey, Rice Dan Reed, UIUC Linda Torczon, Rice Rich Wolski, UCSB

GrADS Contributors Dave Angulo, Chicago Henri Casanova, UCSD Holly Dail, UCSD Anshu Dasgupta, Rice Sridhar Gullapalli, USC ISI Charles Koelbel, Rice Anirban Mandal, Rice Gabriel Marin, Rice Mark Mazina, Rice Celso Mendes, UIUC Otto Sievert, UCSD Martin Swany, UCSB Satish Vadhiyar, Tennessee Shannon Whitmore, UIUC Asim Yarkan, Tennessee

National Distributed Problem Solving Database Supercomputer Database Supercomputer

Today: Globus Developed by Ian Foster and Carl Kesselman —Grew from the I-Way (SC-95) Basic services for distributed computing —Resource discovery and information services —User authentication and access control —Job initiation —Communication services (Nexus and MPI) Applications are programmed by hand —Many applications —User responsible for resource mapping and all communication –Existing users acknowledge how hard this is

Today: Condor Support for matching application requirements to resources —User and resource provider write ClassAD specifications —System matches ClassADs for applications with ClassADs for resources –Selects the “best” match based on a user-specified priority —Can extend to Grid via Globus (Condor-G) What is missing? —User must handle application mapping tasks —No dynamic resource selection —No checkpoint/migration (resource re-selection) —Performance matching is straightforward –Priorities coded into ClassADs

Today: DAGMan Support for scheduling jobs connected by partial orders —Overall application represented by a DAG –Vertices are jobs with file input and output –Edges are dependencies requiring a file transfer —Scheduling of individual jobs by Condor-G –Whenever a job has all its inputs computed, standard matchmaking is used to handle scheduling What is missing? —No support for co-scheduling –MPI jobs cannot be handled –Pipelined communication not exploited —No use of performance models to match jobs to resources —No iterative schedule

Applications that Work on the Grid Parameter sweep applications —Master server plus many satellite computations –No communication, reliability handed via replication Workflow applications —Many different applications that pass data using files —Use Condor’s DAGMan to handle scheduling –File staging is an issue Grid services applications —Functions invoked on the Grid via remote procedure call –Functionality fixed to specific resources –Fixed functionality required (database or telescope)

Future Applications Multidisciplinary applications —Example: Aeroelasticity –Fluid flow and structures on different clusters, with optimization in control Large-granularity MPI programs —Load matching is the main issue Program with mixture of computation and fixed resources —Computation with database access –Example: sequencing matching (FASTA and Smith-Waterman) Scripts for a function machine —Functions replicated at various grid locations —Scripts in Matlab or other high-level language

GrADS Vision Build a National Problem-Solving System on the Grid —Transparent to the user, who sees a problem-solving system Software Support for Application Development on Grids —Goal: Design and build programming systems for the Grid that broaden the community of users who can develop and run applications in this complex environment Challenges: —Presenting a high-level application development interface –If programming is hard, the Grid will not not reach its potential —Designing and constructing applications for adaptability —Late mapping of applications to Grid resources —Monitoring and control of performance –When should the application be interrupted and remapped?

GrADS Strategy Goal: Reduce work of preparing an application for Grid execution —Provide generic versions of key components currently built in to applications –E.g., scheduling, application launch, performance monitoring Key Issue: What is in the application and what is in the system? —GrADS: Application = configurable object program –Code, mapper, and performance modeler

GrADSoft Architecture Whole- Program Compiler Libraries Binder Real-time Performance Monitor Performance Problem Resource Negotiator Scheduler Grid Runtime System Source Appli- cation Config- urable Object Program Software Components Performance Feedback Negotiation

Configurable Object Program Goal: Provide minimum needed to automate resource selection and program launch Code —Today: MPI program —Tomorrow: more general representations Mapper —Defines required resources and affinities to specialized resources —Given a set of resources, maps computation to those resources –“Optimal” performance, given all requirements met Performance Model —Given a set of resources and mapping, estimates performance —Serves as objective function for Resource Negotiator/Scheduler

GrADSoft Architecture Execution Environment Whole- Program Compiler Libraries Binder Real-time Performance Monitor Performance Problem Resource Negotiator Scheduler Grid Runtime System Source Appli- cation Config- urable Object Program Software Components Performance Feedback Negotiation

Execution Cycle Configurable Object Program is presented —Space of feasible resources must be defined —Mapping strategy and performance model provided Resource Negotiator solicits acceptable resource collections —Performance model is used to evaluate each —Best match is selected and contracted for Execution begins —Binder tailors program to resources –Carries out final mapping according to mapping strategy –Inserts sensors and actuators for performance monitoring Contract monitoring is performed continuously during execution —Soft violation detection based on fuzzy logic

Configurable Application GrADS Program Execution System Grid Resources And Services Application Manager (one per app) Launch Binder Mapping Sensor Insertion Contract Monitor Scheduler/ Resource Negotiator GrADS Information Repository Perf Model Mapper

GrADSoft Architecture Program Preparation System Whole- Program Compiler Libraries Binder Real-time Performance Monitor Performance Problem Resource Negotiator Scheduler Grid Runtime System Source Appli- cation Config- urable Object Program Software Components Performance Feedback Negotiation

Program Preparation Tools Goal: provide tools to support the construction of Grid-ready applications (in the GrADS framework) Performance modeling —Challenge: synthesis and integration of performance models –Combine expert knowledge, trial execution, and scaled projections —Focus on binary analysis, derivation of scaling factors Mapping —Construction of mappers from parallel programs –Mapping of task graphs to resources (graph clustering) —Integration of mappers and performance modelers from components High-level programming interfaces —Problem-solving systems: integration of components

Generation of Mappers Start from parallel program —Typically written using a communication library (e.g. MPI) —Can be composed from library components Construct a task graph —Vertices represent tasks —Edges represent data sharing –Read-read: undirected edges –Read-write in any order: directed edges (dependences) –Weights represent volume of communication —Identify oportunities for pipelining Use a clustering algorithm to match tasks to resources —One option: global weighted fusion

Constructing Scalable, Portable Models Construct Application Signatures Measure static characteristics Measure dynamic characteristics for multiple executions —computation —memory access locality —message frequency and size Determine sensitivity of aggregate dynamic characteristics to —data size —processor count —machine characteristics Build the model via integration

PSEs for the Grid Strategy: Program the Grid in a scripting language —Matlab or some other high-level language —Components professionally developed for Grid usage –Include mappers and performance estimators Compiler tasks: —Build mapper and performance estimator for whole application from those for individual components —Take advantage of opportunities to optimize sequences of component invocations into a single one –For example, exploit opportunities for pipelining Execution system task: —Find opportunities to run components on machines where they have been preinstalled and optimized

Testbeds Goal: —Provide vehicle for experimentation with the dynamic components of the GrADS software framework MacroGrid (Carl Kesselman) —Collection of processors running Globus and GrADS framework –Consistent software environment —At all 9 GrADS sites (but 3 are really useful) –Availability listed on web page —Permits experimentation with real applications MicroGrid (Andrew Chien) —Cluster of processors (currently Compaq Alphas and x86 clusters) —Runs standard Grid software (Globus, Nexus, GrADS middleware) —Permits simulation of varying loads and configurations –Stress GrADS components (Performance modeling and control)

Research Strategy Applications Studies —Prototype a series of applications using components of envisioned execution system –ScaLAPACK and Cactus demonstration projects Move from Hand Development to Automated System —Identify key components that can be isolated and built into a Grid execution system –e.g., prototype reconfiguration system —Use experience to elaborate design of software support systems Experiment —Use testbeds to evaluate results and refine design

Progress Report Testbeds Working Preliminary Application Studies Complete —ScaLAPACK and Cactus —GrADS functionality built in

OPUS, TORC, CYPHER Matrix Size Time (seconds) 5 OPUS 8 OPUS 8 OPUS, 6 CYPHER 8 OPUS, 2 TORC, 6 CYPHER 6 OPUS, 5 CYPHER 2 OPUS, 4 TORC, 6 CYPHER 8 OPUS, 4 TORC, 4 CYPHER OPUSOPUS, CYPHER ScaLAPACK Across 3 Clusters

Largest Problem Solved Matrix of size 30,000 —7.2 GB for the data —32 processors to choose from at UIUC and UT –Not all machines have 512 MBs, some little as 128 MBs —PM chose 17 processors in 2 clusters from UT —Computation took 84 minutes –3.6 Gflop/s total –210 Mflop/s per processor –ScaLAPACK on a cluster of 17 processors would get about 50% of peak –Processors are 500 MHz or 500 Mflop/s peak –For this Grid computation 20% less than ScaLAPACK

PDSYEVX – Timing Breakdown

Cactus Gig-E 100MB/sec SDSC IBM SP 1024 procs 5x12x17 =1020 NCSA Origin Array x12x(4+2+2) =480 OC-12 line (But only 2.5MB/sec) Solved equations for gravitational waves (real code) —Tightly coupled, communications required through derivatives —Must communicate 30MB/step between machines —Time step takes 1.6 sec Used 10 ghost zones along direction of machines: communicate every 10 steps Compression/decompression on all data passed in this direction Achieved 70-80% scaling, ~200GF (only 14% scaling without tricks) Gordon Bell Award Winner at SC’2001

Progress Report Testbeds Working Application Studies Complete —ScaLAPACK and Cactus —GrADS functionality built in Prototype Execution System Complete —All components of Execution System (except rescheduling/migration) —Six applications working in new framework —Demonstrations at SC02 –ScaLAPACK, FASTA, Cactus, GrADSAT –In NPACI, NCSA, Argonne, Tennessee, Rice Booths —Currently adding in rescheduling capability Prototype Program Preparation Tools Under Development —Black-box performance model construction preliminary experiments —Prototype mapper generator complete –Generated Grid version of HPF appplication Tomcatv

SC02 Demo Applications ScaLAPACK —LU decomposition of large matrices Cactus —Solver for gravitational wave equations —Collaboration with Ed Seidel’s GridLAB FASTA —Biological sequence matching on distributed databases Smith-Waterman —Another sequence matching application using a strong algorithm Tomcatv —Vectorized mesh generation written in HPF Satisfiability —An NP-complete problem useful in circuit design and verification

Summary Goal: —Design and build programming systems for the Grid that broaden the community of users who can develop and run applications in this complex environment Strategy: —Build an execution environment that automates the most difficult tasks –Maps applications to available resources –Manages adapting to varying loads and changing resources —Automate the process of producing Grid-ready programs –generate performance models and mapping strategies semi- automatically —Construct programs using high-level domain-specific programming interfaces

Resources GrADS Web Site — —Contains: –Planning reports –Technical reports –Links to papers

High Level Programming Rationale —programming is hard, and getting harder with new platforms —professional programmers are in short supply —high performance will continue to be important Strategy: Make the End User a Programmer —professional programmers develop components —users integrate components using: –problem-solving environments (PSEs) based on scripting languages (possibly graphical)  examples: Visual Basic, Tcl/Tk, AVS, Khoros Achieving High Performance —translate scripts and components to common intermediate language —optimize the resulting program using whole-program compilation

Whole-Program Compilation Component Library Component Library User Library User Library Script Intermediate Code Intermediate Code Global Optimizer Global Optimizer Code Generator Code Generator Translator Problem: long compilation times, even for short scripts! Problem: expert knowledge on specialization lost

Telescoping Languages L 1 Class Library L 1 Class Library Script Translator Script Translator Optimized Application Optimized Application Vendor Compiler Vendor Compiler Generator Compiler Generator Could run for hours L 1 Compiler understands library calls as primitives

Telescoping Languages: Advantages Compile times can be reasonable —More compilation time can be spent on libraries —Script compilations can be fast –Components reused from scripts may be included in libraries High-level optimizations can be included —Based on specifications of the library designer –Properties often cannot be determined by compilers –Properties may be hidden after low-level code generation User retains substantive control over language performance —Mature code can be built into a library and incorporated into language Reliability can be improved —Specialization by compilation framework, not user

Applications Matlab Compiler —Automatically generated from LAPACK or ScaLAPACK Matlab SP* —Based on signal processing library Optimizing Component Integration System —DOE Common Component Architecture — High component invocation costs Generator for ARPACK —Avoid recoding developer version by hand System for Analysis of Cancer Experiments* —Based on S+ (collaboration with M.D. Anderson Cancer Center) Flexible Data Distributions in HPF —Data distribution == collection of interfaces that meet specs Generator for Grid Computations* —GrADS: automatic generation of NetSolve