Component Infrastructure of CQoS and Its Application in Scientific Computations Li Li 1, Boyana Norris 1, Lois Curfman McInnes 1, Kevin Huck 2, Joseph.

Slides:



Advertisements
Similar presentations
Design of Experiments Lecture I
Advertisements

Interface Contract Enforcement for Improvement of Computational Quality of Services (CQoS) for Scientific Components Li Li 1, Tamara L. Dahlgren 2, Lois.
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
Effective Coordination of Multiple Intelligent Agents for Command and Control The Robotics Institute Carnegie Mellon University PI: Katia Sycara
Project 4 U-Pick – A Project of Your Own Design Proposal Due: April 14 th (earlier ok) Project Due: April 25 th.
CPSC 695 Future of GIS Marina L. Gavrilova. The future of GIS.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Compositional Development of Parallel Programs Nasim Mahmood, Guosheng Deng, and James C. Browne.
Nick Trebon, Alan Morris, Jaideep Ray, Sameer Shende, Allen Malony {ntrebon, amorris, Department of.
1 BrainWave Biosolutions Limited Accelerating Life Science Research through Technology.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
Module 3: Business Information Systems
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Challenges in Performance Evaluation and Improvement of Scientific Codes Boyana Norris Argonne National Laboratory Ivana.
Loads Balanced with CQoS Nicole Lemaster, Damian Rouson, Jaideep Ray Sandia National Laboratories Sponsor: DOE CCA Meeting – January 22, 2009.
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
STRATEGIES INVOLVED IN REMOTE COMPUTATION
An Automated Component-Based Performance Experiment and Modeling Environment Van Bui, Boyana Norris, Lois Curfman McInnes, and Li Li Argonne National Laboratory,
Unit 2: Engineering Design Process
CCA Forum Fall Meeting October CCA Common Component Architecture Update on TASCS Component Technology Initiatives CCA Fall Meeting October.
Alok 1Northwestern University Access Patterns, Metadata, and Performance Alok Choudhary and Wei-Keng Liao Department of ECE,
High-Performance Component- Based Scientific Software Engineering Boyana Norris Argonne National Laboratory CSDMS Meeting:
An Effective Dynamic Scheduling Runtime and Tuning System for Heterogeneous Multi and Many-Core Desktop Platforms Authous: Al’ecio P. D. Binotto, Carlos.
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation,
CQoS Update Li Li, Boyana Norris, Lois Curfman McInnes Argonne National Laboratory Kevin Huck University of Oregon.
RUP Implementation and Testing
` Tangible Interaction with the R Software Environment Using the Meuse Dataset Rachel Bradford, Landon Rogge, Dr. Brygg Ullmer, Dr. Christopher White `
An Integration Framework for Sensor Networks and Data Stream Management Systems.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
Victor Eijkhout and Erika Fuentes, ICL, University of Tennessee SuperComputing 2003 A Proposed Standard for Numerical Metadata.
Managed by UT-Battelle for the Department of Energy 1 Integrated Catalogue (ICAT) Auto Update System Presented by Jessica Feng Research Alliance in Math.
A Component Infrastructure for Performance and Power Modeling of Parallel Scientific Applications Boyana Norris Argonne National Laboratory Van Bui, Lois.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Overview of Recent MCMD Developments Jarek Nieplocha CCA Forum Meeting San Francisco.
Plans and Opportunities Involving Beam Dynamics Components ComPASS SAP Project and Phase I and II Doe SBIR Boyana Norris (ANL) In collaboration with Stefan.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
Building an Electron Cloud Simulation using Bocca, Synergia2, TxPhysics and Tau Performance Tools Phase I Doe SBIR Stefan Muszala, PI DOE Grant No DE-FG02-08ER85152.
SAP Participants: Douglas Dechow, Tech-X Corporation Lois Curfman McInnes, Boyana Norris, ANL Physics Collaborators: James Amundson, Panagiotis Spentzouris,
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
Service - Oriented Middleware for Distributed Data Mining on the Grid ,劉妘鑏 Antonio C., Domenico T., and Paolo T. Journal of Parallel and Distributed.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
The Volcano Optimizer Generator Extensibility and Efficient Search.
VLDB 2006, Seoul1 Indexing For Function Approximation Biswanath Panda Mirek Riedewald, Stephen B. Pope, Johannes Gehrke, L. Paul Chew Cornell University.
PerfExplorer Component for Performance Data Analysis Kevin Huck – University of Oregon Boyana Norris – Argonne National Lab Li Li – Argonne National Lab.
PRESENTAION TOPIC : DSS Development Presented TO: Sir Ahmad Tisman Pasha Presented BY : Uzma Noreen Roll # BSIT (6 th ) Department.
Enabling Self-management of Component-based High-performance Scientific Applications Hua (Maria) Liu and Manish Parashar The Applied Software Systems Laboratory.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Computational Science & Engineering meeting national needs Steven F. Ashby SIAG-CSE Chair March 24, 2003.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Shangkar Mayanglambam, Allen D. Malony, Matthew J. Sottile Computer and Information Science Department Performance.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN CCA Status, Code Walkthroughs, and Demonstrations.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN This work has been sponsored by the Mathematics,
Quality of Service for Numerical Components Lori Freitag Diachin, Paul Hovland, Kate Keahey, Lois McInnes, Boyana Norris, Padma Raghavan.
Michael J. Voss and Rudolf Eigenmann PPoPP, ‘01 (Presented by Kanad Sinha)
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
VIEWS b.ppt-1 Managing Intelligent Decision Support Networks in Biosurveillance PHIN 2008, Session G1, August 27, 2008 Mohammad Hashemian, MS, Zaruhi.
Enabling Adaptive Algorithms through Component-Based Software Engineering Boyana Norris Argonne National Laboratory RWTH.
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Boyana Norris Argonne National Laboratory Ivana Veljkovic
Allen D. Malony, Sameer Shende
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Research Challenges of Autonomic Computing
GENERAL VIEW OF KRATOS MULTIPHYSICS
Analysis models and design models
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
Presentation transcript:

Component Infrastructure of CQoS and Its Application in Scientific Computations Li Li 1, Boyana Norris 1, Lois Curfman McInnes 1, Kevin Huck 2, Joseph Kenny 3, Meng-Shiou Wu 4 1 Argonne National Laboratory, Argonne, IL. 2 University of Oregon 3 Sandia National Laboratories, California 4 Ames Laboratory CCA meeting Jan. 2009

2 Outline Motivation CQoS introduction Database component design Application examples Ongoing and future work

3 Overall Goals Automate the configuration and runtime adaptation of high- performance component applications, through the so called Computational Quality of Service (CQoS) infrastructure –Instrumentation of component interfaces –Performance data gathering –Performance analysis –Adaptive algorithm support Motivating application examples –Quantum Chemistry challenges: How, during runtime, can we make the best choices for reliability, accuracy, and performance of interoperable QC components? When several QC components provide the same functionality, what criteria should be employed to select one implementation for a particular application instance and computational environment? How do we incorporate the most appropriate externally developed components? (e.g., which algorithms to employ from numerical optimization components?)

4 Motivating Application Examples (cont.) Overall simulation times for nonlinear (time-dependent) PDE-based models often depend to a large extent on the robustness and efficiency of sparse linear solvers –Properties of linear system change during runtime –No single method is best because of the complexity of long-running applications Efficient parallel structured adaptive mesh refinement (SAMR) applications depend on load-balancing algorithms –Computational resources are dynamically concentrated to areas in need of a high accuracy –Application and computer state change at runtime –Dynamic resource allocation requires the workload partitioning algorithm be selected at runtime according to state change

5 Outline Motivation CQoS introduction Database component design Application examples Ongoing and future work

6 CQoS Analysis Infrastructure Performance monitoring, problem/solution characterization, and performance model building Performance Databases (historical & runtime) Interactive Analysis and Model Building Substitution Assertion Database Substitution Assertion Database Scientist can analyze data interactively Scientist can provide decisions on substitution and reparameterization Instrumented Component Application Cases Instrumented Component Application Cases CQoS Control Infrastructure Interpretation and execution of control laws to modify an application’s behavior Control System (parameter changes and component substitution) Control System (parameter changes and component substitution) CQoS-Enabled Component Application CQoS-Enabled Component Application Component A Component B Component C Component Substitution Set Component Substitution Set

7 Database Needs for the Scientific Application Adaptation Performance analysis of candidate solver/algorithm –Large number of performance runs –Store, manage, and search performance data Store and manage hardware, compiler, and application metadata –Information essential to algorithm selection, e.g., system configurations, problem properties, application states Optimal algorithm determination –Input data (or problem features) –Algorithmic parameters –Performance models (or hints)

8 Database Needs for Scientific Application Adaptation (cont.) Database use cases: –Store historical performance data and application meta- data –Facilitate offline performance analysis –Match the current application state against historical data through DB queries during runtime –Search for optimal algorithm w.r.t. current application state –Retrieve settings associated with the optimal algorithm so we can apply it immediately to the application during runtime

9 Outline Motivation CQoS introduction Database component design Application examples Ongoing and future work

10 CQoS Database Component Design Designed C++ and SIDL interfaces for CQoS database management Implemented prototype database management components –Description and software: S_database_components_version_ S_database_components_version_0.0.0 –Based on PerfDMF performance data format and PERI metadata formats –Comparator interface and corresponding component for searching and matching parameter sets

11 CQoS Database Component Design Adaptive Heuristic Adaptive Heuristic Perf. Comparator Perf. data: compare/match Perf. Database Perf. data: query/store … : component : component connection Fig.1. Connect database and comparator components to adaptive heuristics component. There can be multiple database and comparator components that deal with different data types. Metadata: query/store Metadata: compare/match Meta-Comparator Meta-Database

Use DB interfaces in 2D driven-cavity /* instantiate parameter 1 */ ierr = ComputeQuantity(matrix,"icmk","splits",&res,&flg); CHKERRQ(ierr); MatrixProperty param1("splits", "matrix_meta", res.i); /* instantiate parameter 2 */ ierr = ComputeQuantity(matrix,"structure","nnzeros",&res,&flg); CHKERRQ(ierr); MatrixProperty param2("nnzeros", "matrix_meta", res.i); /**** Store matrix property set into database. ***/ int myRank; ierr = MPI_Comm_rank(PETSC_COMM_WORLD, &myRank); CHKERRQ(ierr); if (myRank == 0){ int localID; int trialID; string conninfo("dbname = perfdb"); /* Generate a runtime database manager. It connects to a PostgreSQL database through DB interfaces. */ RunTimeRecord *R = RunTimeRecord::instance(); R->Connect2DB(conninfo); trialID = R->getTrialID(); localID = R->getCurEvtID(cflStr); /* instantiate a parameter set */ PropertySet aSet; /* add parameter 1 and 2 into the set */ aSet.addAParameter(&param1); aSet.addAParameter(&param2); /* store the parameter set into database, */ R->loadParameterSet(trialID, localID, aSet); }

13 CQoS Performance and Metadata Performance (general) –Historical performance data from different instances of the same application or related applications: Obtained through source instrumentation, e.g., TAU (U. Oregon) Binary instrumentation, e.g., HPCToolkit (Rice U.) Ideally, for each application execution, the metadata should provide enough information to be able to reproduce a particular application instance. Examples: –Input data (reduced representations) E.g., molecule characteristics,matrix properties –Algorithmic parameters E.g., convergence level, maximum number of iterations –System parameters Compilers, hardware –Domain-specific Provided by scientist/algorithm developer

14 Outline Motivation CCA and CQoS introduction Database component design Application examples Ongoing and future work

15 1 J. Steensland and J. Ray, "A Partitioner-Centric Model for SAMR Partitioning Trade-Off Optimization : Part I," International Journal of High Performance Computing Applications, 2005, 19(4): Example: CQoS in Quantum Chemistry Initial focus: parallel application configuration of QC applications so that these can run effectively on various high-performance machines –Eliminate guesswork or trial-and-error configuration Future work: more sophisticated analysis to configure algorithmic parameters for particular molecular targets, calculation approaches, and hardware environments

Interactions of the Quantum Chemistry Components With the Database and Comparator CQoS Components

CQoS/QC Component Wiring

18 CQoS Component Usage in Quantum Chemistry CQoS database usage –Application metadata Molecule characteristics: atom types, topology, moments of inertia Algorithm parameters: tunable parameters, convergence level –System parameters Compilers Machine info, e.g., number of nodes, threads per node, network –Historical performance data Execution times, etc. Obtained through source instrumentation, e.g., TAU Can guide configuration of related new simulations CQoS comparator components –Compare sets of parameters within the performance database –Quantum chemistry applications can match the current application state against historical data through database queries during runtime. –Use metadata to guide parameter selection and application configuration Match molecule similarity, basis set similarity, electronic correlation approach, etc.

19 Ongoing and Future Work (Incomplete List) Integration of ongoing efforts in –Performance tools: common interfaces and data representation (leverage PerfExplorer, TAU performance interfaces, PERI tools, and other efforts) Support training experiment design –To perform an empirical search for selecting the optimal solver components/parameters Incorporate more offline performance analysis capabilities (machine learning, statistical analysis, etc.) Apply to more problem domains, implementing extensions as necessary

20 Acknowledgements to Collaborators TAU Performance Tools group, University of Oregon Victor Eijkhout, the University of Texas at Austin CCA Forum members Funding: –Department of Energy (DOE) Mathematical, Information, and Computational Science (MICS) program –DOE Scientific Discovery through Advanced Computing (SciDAC) program –National Science Foundation

interface DB extends gov.cca.Port{ bool connect(); bool disconnect(); bool isClosed(); void setConnectionInfo(in string info); string getConnectioninfo(); int executeQuery(in string commd, out Outcome res); void storeParameter(in int trialID, in int iterNo, in Parameter aParam); // store a parameter into DB void storeParameterSet(in int trialID, in int iterNo, in ParameterSet aParamSet); // store a set of parameter into DB void getParameter(in int trialID, int iterNo, inout Parameter aParam); // retrieve parameter value void getParameterSet(in int trialID, int iterNo, inout ParameterSet aParamSet);// retrieve parameter set value int getMatchingTrialsBetween(in ParameterSet lower, in ParameterSet upper, out Outcome trialIDs); // retrieve trials from database, whose parameter set value is within [lower, upper] int getMatchingTrials(in ParameterSet lower, in vector e psilons, out Outcome trialIDs);// retrieve trials from database, whose parameter set value is within [lower-epsilons, lower+epsilons] } interface Comparator extends gov.cca.Port { /* Comparison operations between parameter sets */ void setLHS(in ParameterSet lefthand); void setRHS(in ParameterSet righthand); ParameterSet getLHS(); ParameterSet getRHS(); int getDimension(); Parameter getLHSParameterAt(in string paraName); Parameter getRHSParameterAt(in string paraName); void setToleranceAt(in string name, in double epsilon); double getToleranceAt(in string name); void setRelationAt(in string name, in int aRelation); int getRelationAt(in string name); bool doCompare(); } Main Database Component Interfaces

22 Database Component Usage – Example 1: 2D Driven Cavity Flow 1 1 T. S. Coffey, C.T. Kelley, and D.E. Keyes. Pseudo-transient continuation and differential algebraic equations. SIAM J. Sci. Comp, 25:553–569, Linear solver: GMRES(30), vary only fill level of ILU preconditioner Adaptive heuristic based on: –Matrix properties (which change during runtime) computed with Anamod (Eijkhout,

23 How are the Database Components Used? During runtime, the driver (e.g., linear solver proxy component) evaluates important matrix properties, and matches the properties to historical data in MetaDB through PropertyComparator interfaces. Linear solver performance data is retrieved and compared given the current matrix properties. This is accomplished by the PerfComparator component. The linear solver parameters resulting in the best performance, in this case fill level of ILU preconditioner, is returned back to the driver. The driver adapts accordingly to continue execution.