CCA Forum Summer Meeting1 27 July 20061 CCA Common Component Architecture The SciDAC Center for Technology for Advanced Scientific Component Software(TASCS)

Slides:



Advertisements
Similar presentations
Request Management Mirror-. A random three day sample of Incidents revealed that about 86% of the registered Incidents were legitimate Requests Many other.
Advertisements

Requirements Specification and Management
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Chapter 2 – Software Processes
Alternate Software Development Methodologies
- 1 - Component Based Development R&D SDM Theo Schouten.
Development Processes and Product Planning
Center for Component Technology for Terascale Simulation Software (aka Common Component Architecture) (aka CCA) Rob Armstrong & the CCA Working Group Sandia.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
Managing Software Quality
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
CCA Forum Fall Meeting October CCA Common Component Architecture Update on TASCS Component Technology Initiatives CCA Fall Meeting October.
Chapter 2 The process Process, Methods, and Tools
CCA Forum Autumn Meeting15 October 2006 CCA Common Component Architecture Component Technology Initiatives How can we exploit the component environment.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
NE II NOAA Environmental Software Infrastructure and Interoperability Program Cecelia DeLuca Sylvia Murphy V. Balaji GO-ESSP August 13, 2009 Germany NE.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
CoG Kit Overview Gregor von Laszewski Keith Jackson.
Information Systems Technology Ross Malaga "Part III - Building and Managing Information Systems" III 11 Copyright © 2005 Prentice Hall, Inc MANAGING.
Software Requirements Engineering CSE 305 Lecture-2.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
Software Engineering Management Lecture 1 The Software Process.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
Results of the HPC in Europe Taskforce (HET) e-IRG Workshop Kimmo Koski CSC – The Finnish IT Center for Science April 19 th, 2007.
2003 Annual NSDL PI Survey A Collaborative Formative Evaluation.
Systems Development MBAA 609 R. Nakatsu. Overview of Today’s Lecture Why do IT projects succeed and fail? Two philosophies of systems development –Systems.
Overview of Recent MCMD Developments Jarek Nieplocha CCA Forum Meeting San Francisco.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
LIGO-G M Planning and Implementation Strategy for Advanced LIGO Gary Sanders LSC Meeting Hanford, August 14, 2001.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
Scott Kohn with Tammy Dahlgren, Tom Epperly, and Gary Kumfert Center for Applied Scientific Computing Lawrence Livermore National Laboratory October 2,
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Scalable Systems Software for Terascale Computer Centers Coordinator: Al Geist Participating Organizations ORNL ANL LBNL.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
CCA Forum Summer Meeting1 27 July CCA Common Component Architecture CCA at SC06 David E. Bernholdt ORNL
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
An Introduction to Software Engineering (Chapter 1 from the textbook)
11 CCA Common Component Architecture CCA Forum Fall 2008 Meeting21-22 October 2008 Upcoming SciDAC Reviews David E. Bernholdt TASCS Lead PI.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Software Project Management
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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,
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
Building PetaScale Applications and Tools on the TeraGrid Workshop December 11-12, 2007 Scott Lathrop and Sergiu Sanielevici.
Software Design and Development Development Methodoligies Computing Science.
MANAGEMENT INFORMATION SYSTEM
Chapter 1- Introduction
Chapter 1- Introduction
IS442 Information Systems Engineering
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Web Services Interoperability Organization
Chapter 8 Software Evolution.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
2003 Annual NSDL PI Survey A Collaborative Formative Evaluation
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

CCA Forum Summer Meeting1 27 July CCA Common Component Architecture The SciDAC Center for Technology for Advanced Scientific Component Software(TASCS) InstitutionInstitutional Lead PIInstitutionInstitutional Lead PI ANLLois McInnesPNNLJarek Nieplocha Binghamton UMadhu GovnidarajuSNLRob Armstrong Indiana URandy BramleyTech-XSveta Shasharina LANLCraig RasmussenU MarylandAlan Sussman LLNLGary KumfertU UtahSteve Parker ORNLJim Kohl Lead PI: David Bernholdt Oak Ridge National Lab, General contact point (PIs and technical leads):

CCA Forum Summer Meeting227 July 2006 CCA Common Component Architecture TASCS Overview CCTTSS enabled us to bring the CCA from the idea stage to the prototype stage –Core ideas well-developed –Useful implementations, but not polished –Numerous users, but not “standard” TASCS will bring the CCA from prototype to production for general computational science users –Strong emphasis on robustness of tools –Strong emphasis on usability of components and component environment –Strong emphasis on development of an ecosystem (component toolkit) around CCA –Research activities focus on how to exploit componentness to provide more value for software developers –Continue outreach and support activities

CCA Forum Summer Meeting327 July 2006 CCA Common Component Architecture Current Status Proposal was submitted on 3 March 2006 –Thanks to everyone who contributed to the development and writing of the proposal! Reviewed well Fred Johnson requested a revised budget and scope of work in early June –Funding is likely Nothing is official until DOE (Ray Orbach) makes the announcements –Had been expected “any day now” –Latest news: late September

CCA Forum Summer Meeting427 July 2006 CCA Common Component Architecture TASCS Project Focus Areas Organized around four main focus areas: Component Technology Initiatives –Lois McInnes, ANL CCA Environment –Gary Kumfert, LLNL CCA Toolkit –Rob Armstrong, SNL User Outreach and Application Support –David Bernholdt, ORNL

CCA Forum Summer Meeting527 July 2006 CCA Common Component Architecture Organized around four main focus areas: Component Technology Initiatives –Lois McInnes, ANL CCA Environment –Gary Kumfert, LLNL CCA Toolkit –Rob Armstrong, SNL User Outreach and Application Support –David Bernholdt, ORNL TASCS Project Focus Areas

CCA Forum Summer Meeting627 July 2006 CCA Common Component Architecture Component Technology Initiatives How can we exploit the component environment to provide computational scientists with better ways to develop their software? Computational Quality of Service –Lois McInnes, ANL Software Quality and Verification –Tammy Dahlgren, LLNL Support for Emerging HPC Hardware and Software Paradigms –Jarek Nieplocha, PNNL

CCA Forum Summer Meeting727 July 2006 CCA Common Component Architecture CTI: Computational Quality of Service Adaptation of running component applications in response to changing conditions –Performance, accuracy, mathematical consistency, reliability, etc. –Adapt by changing components on the fly Planned activities –Develop common software infrastructure for adaptation Analysis (when to change), control (what to change) –Test with various applications Many possibilities, depending on funding (still largely unknown) –Strong connection to Software Quality initiative

CCA Forum Summer Meeting827 July 2006 CCA Common Component Architecture CTI: Software Quality and Verification Extend component interface definitions with semantic annotations which can be verified/enforced at composition or run time (contracts) –Developers provide “executable documentation” about correct use –Users protected against improper usage due to code error, unforeseen circumstances, etc. –Can facilitate verification that the code is actually doing what it was intended to do Planned activities –Emphasize annotations needed to support CQoS work –Method invocation sequencing constraints –Implement and demonstrate annotations in selected Toolkit components

CCA Forum Summer Meeting927 July 2006 CCA Common Component Architecture CTI: Support for Emerging HPC Hardware and Software Paradigms Investigate how component environments can be used to enhance the user’s experience programming for new and emerging high-end systems –Leadership Class, DOE petaflop systems at ORNL and ANL(?), NSF petaflop systems, HPCS systems, etc. Two key trends apparent –Massive levels of parallelism ( concurrent threads) –Heterogeneous processor environments FPGAs, scalar+vector+threaded, co-processors, etc. Planned activities –Develop and implement management for progress groups and (multi-level) MCMD parallelism –Develop techniques to support asynchronous interactions of components representing co-processors/accelerators with those running on the traditional processors –Applications in quantum chemistry and comp. biology

CCA Forum Summer Meeting1027 July 2006 CCA Common Component Architecture Organized around four main focus areas: Component Technology Initiatives –Lois McInnes, ANL CCA Environment –Gary Kumfert, LLNL CCA Toolkit –Rob Armstrong, SNL User Outreach and Application Support –David Bernholdt, ORNL TASCS Project Focus Areas

CCA Forum Summer Meeting1127 July 2006 CCA Common Component Architecture CCA Environment Supporting and improving the foundation of the CCA environment Core Tool Support and Maintenance –Ben Allan, SNL Enhancements –Tom Epperly, LLNL Usability –Craig Rasmussen, LANL

CCA Forum Summer Meeting1227 July 2006 CCA Common Component Architecture Env: Core Tool Support and Maintenance Keeping the core software tools running in the face of change –Computer hardware, operating systems, compilers and other environmental concerns Planned activities –Porting to hew hardware (especially high-end) –Updating for changes in surrounding software environment –Provide “help desk” support for core tools –Develop and deploy conformance test for CCA specification –Reference and developer documentation for core tools

CCA Forum Summer Meeting1327 July 2006 CCA Common Component Architecture Env: Enhancements Extending the CCA environment (specification, core tools) with additional features/capabilities required by customers and other activities in TASCS Planned activities –CCA spec additions i.e. EventService, MPIService, CommandLineService –Interoperability between Kepler workflow environment and CCA (collaboration with SDM) –SIDL/Babel enhancements F2003 support (collaboration w/ Tech-X SBIR) Struct support Typemaps (in the SWIG sense, not the CCA sense)

CCA Forum Summer Meeting1427 July 2006 CCA Common Component Architecture Env: Usability Making HPC component technology more accessible to users Planned activities –CCA Lite Tiered approach to CCA Limited language interop in exchange for simpler C- based environment Tools to facilitate upgrade of Lite cmpts to full CCA –Component Debugging and Testing Document tools & techniques for multilanguage debugging Testing harnesses (i.e. unit testing, port monitors)

CCA Forum Summer Meeting1527 July 2006 CCA Common Component Architecture TASCS Project Focus Areas Organized around four main focus areas: Component Technology Initiatives –Lois McInnes, ANL CCA Environment –Gary Kumfert, LLNL CCA Toolkit –Rob Armstrong, SNL User Outreach and Application Support –David Bernholdt, ORNL

CCA Forum Summer Meeting1627 July 2006 CCA Common Component Architecture Making it easier to create components, and making available a suite of real, useful components Planned activities –Development Tools and CCA Base Installation “Standard” structure and scaffolding for components and collections of components (derived from tutorial) Commandline and (Eclipse) IDE tools to facilitate creating components –CCA Component Collection Linear and nonlinear solver components; Structured and unstructured mesh data models; General purpose utility components; Parallel coupling components –Community interface development –CCA Component Repository CCA Toolkit

CCA Forum Summer Meeting1727 July 2006 CCA Common Component Architecture TASCS Project Focus Areas Organized around four main focus areas: Component Technology Initiatives –Lois McInnes, ANL CCA Environment –Gary Kumfert, LLNL CCA Toolkit –Rob Armstrong, SNL User Outreach and Application Support –David Bernholdt, ORNL

CCA Forum Summer Meeting1827 July 2006 CCA Common Component Architecture User Outreach and Application Support Broaden awareness and adoption of component technology and the CCA Planned activities –Application support –User outreach and support Tutorials, coding camps, etc –Community outreach

CCA Forum Summer Meeting1927 July 2006 CCA Common Component Architecture Changes from Proposal to Final Budget Expected award is ~69% of request Generally scale back deliverables to match –Drop selected deliverables (mostly later or more speculative) –Stretch out schedule of remaining deliverables –Some specific changes, highlighted in following slides Important reminder: –Deliverables are things we’ve promised we’ll do for the money we’re getting –If we can’t do them, we need to have a good explanation, and present an equally “valuable” alternative –But dropping something as a deliverable doesn’t prohibit us from working on it! As long as we can satisfy the deliverables we did promise

CCA Forum Summer Meeting2027 July 2006 CCA Common Component Architecture Changes in Component Technology Initiatives Computational Quality of Service –Fewer external collaborators, reduced breadth of topics Parallel Coupling Infrastructure –Strongly dependent on external proposals –Concern about what could be delivered, given TASCS reductions and external uncertainties –Eliminate PCI as an initiative, shift PCI effort into Toolkit Emphasize development of coupling-related components Software Quality and Verification –Drop more speculative aspects –Increase focus on connections with CQoS Support for Emerging HPC… –Eliminate fault-tolerance related activities

CCA Forum Summer Meeting2127 July 2006 CCA Common Component Architecture Changes in Other Focus Areas Environment –Core Tools and Usability (including CCA Lite) suffered less than other elements –Enhancements will focus more narrowly on the needs of the DOE user base Drop Babel Matlab binding Retain CCA-Kepler interoperability work (in collaboration with SDM), but drop others (ESMF, VTK, Cactus) Toolkit –Suffered less than other elements –Some PCI-related deliverables (and effort) added This is not the PCI initiative reincarnated! Outreach –Less “walkup” support

CCA Forum Summer Meeting2227 July 2006 CCA Common Component Architecture TASCS Requires a Different Approach In CCTTSS, we were strongly curiosity-driven Our work in CCTTSS has allowed us to map out a path forward to make CCA part of the standard toolbox of computational science TASCS is a building phase for CCA – the roadmap (proposal) shows us what need to build, we just have to make it happen! –More emphasis on delivering specifications, code (components), documentation, etc. in smaller chunks and at shorter intervals than in the past Much important research, but more focused – we already have a pretty good idea where we need to go in many areas

CCA Forum Summer Meeting2327 July 2006 CCA Common Component Architecture Thinking Ahead: After TASCS Just as with CCTTSS, TASCS serves two purposes –Continued R&D on HPC components –Putting CCA in the best position to carry on after the end of the project My working assumption is that after 10 years of continuous funding (2011+), another large-scale 3-5 year CCA proposal is unlikely to succeed –More likely that smaller spin-off proposals will succeed Therefore, TASCS needs to… –Insure that we have a robust, well-tested, easily maintained, and “self-sustaining” set of core tools to allow spin-offs to focus on research topics –Insure that we have a strong impact on users so that they demand continued support for CCA

CCA Forum Summer Meeting2427 July 2006 CCA Common Component Architecture Time to Get Started! More detailed kick-off discussions next –These discussions meant to be organizational, not technical –Should spur follow-on technical discussions afterwards Can’t afford to wait until next quarter to get started –We have a lot of important work ahead of us! Will begin presenting brief updates on TASCS at the quarterly CCA Forum meetings –More awareness of ongoing activities, not just things that are ready for separate talks, papers, etc. –Encourage involvement in/leverage of activities across project and outside