1Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems A Roadmap for Sustainable Ecosystems of CSE Software Roscoe.

Slides:



Advertisements
Similar presentations
Inference without the Engine!. What is EZ-Xpert 3.0? EZ-Xpert is a Rapid Application Development (RAD) environment for creating fast and accurate rule-based.
Advertisements

Automation and Drives WinAC – the SIMATIC S7 in your PC News Q1/2004.
Goal: Delight customer with frequent high-quality production releases. Scaled Agile Release Strategy Presented By: James Carpenter.
Page 1 APP + Trilinos Integration Status, Opportunities, and Challenges Roscoe A. Bartlett Department of Optimization.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
Presented by Suzy Tichenor Director, Industrial Partnerships Program Computing and Computational Sciences Directorate Oak Ridge National Laboratory DOE.
Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University 1 Pittsburgh, PA Dennis Smith, David Carney and Ed Morris DEAS.
1 Cyberinfrastructure Framework for 21st Century Science & Engineering (CF21) IRNC Kick-Off Workshop July 13,
Tribal Build, Integrate, and Test System Roscoe A. Bartlett Computational Engineering and Energy Sciences Group, Oak Ridge National.
PRIMO AT THE ROYAL LIBRARY OF DENMARK Integrated search – Google of the library? Helsinki, October
We all know the world is changing… Upgrades may break apps We need sufficient time to test Our key software vendors need time to test & issue statements.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Overview of the TriBITS Lifecycle Model First Workshop on Maintainable Software Practices in e-Science (SoftwarePractice12) October 9, 2012 Dr. Roscoe.
TriBITS Lifecycle Model : Version 1.0 Dr. Roscoe A. Bartlett, Ph.D. CASL Vertical Reactor Integration Software Engineering Lead Trilinos Software Engineering.
Trilinos Coding and Documentation Guidelines Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration Lead Computer Science and Mathematics.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
TriBITS Lifecycle Model and Agile Technical Practices for Trilinos? Trilinos Spring Developers Meeting May 22, 2012 Roscoe A. Bartlett CASL Vertical Reactor.
Overview of Git Workflows for CSE Software Trilinos Spring Developers Meeting May 13, 2015 Roscoe A. Bartlett Oak Ridge National Lab Computational Eng.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
Available via NuGet independently, major revisions infrequent and with minimal breaking changes, sole dependency for each MAML library. Contains HTTP,
Assumptions These instructions are intended for Project Data Integrators, Project Automation Specialists and Discipline Application Specialists There were.
Some Agile Best Technical Practices for the Development of Research-Based CSE Software Roscoe A. Bartlett ORNL Computer Science and Mathematics Div CASL.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
Git Workflow Building Blocks for Improved VERA Development, Integration, and Deployments Roscoe A. Bartlett Physics Integration Infrastructure Team Lead.
Page 1 Trilinos Software Engineering Technologies and Integration Numerical Algorithm Interoperability and Vertical Integration –Abstract Numerical Algorithms.
Page 1 Embedded Sensitivities and Optimization From Research to Applications Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Page 1 Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part II, Integration Issues) Roscoe A. Bartlett.
Page 1 Trilinos Release Improvement Issues Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Trilinos.
Available via NuGet independently, major revisions infrequent and with minimal breaking changes, sole dependency for each MAML library. Contains HTTP,
GEONS Ground Support System Java 7, JavaFX and the NetBeans Platform supporting NASA Missions Operations.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Adaptable Consistency Control for Distributed File Systems Simon Cuce Monash University Dept. of Computer Science and Software.
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
Generalization and externalization of the Trilinos package- based system Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration.
Aleph Version Maintenance. Version Maintenance Requirements for Aleph Stability Control Minimum changes for user Systematic patch application.
Software United Overview What it is and how it works Alexey Vasyukov Consultant / VDEL
Page 1 Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
1Managed by UT-Battelle for the U.S. Department of Energy TriBITS Software Engineering Processes for the CASL Innovation Hub Roscoe A. Bartlett, Ph.D.
Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps.
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
Page 1 CMake Trilinos? Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Esteban J. Guillen Department.
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Trilinos Framework: Next Steps Thursday November 9, :45-9:30 a.m. Jim Willenbring Mike Phenow.
Page 1 Integration Strategies for Computational Science & Engineering Software Roscoe A. Bartlett Department of Optimization.
1Managed by UT-Battelle for the U.S. Department of Energy TriBITS TriBITS Foundations and Updates Roscoe A. Bartlett, Ph.D.
(1) Introduction to Robocode Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
Joint Information Systems Committee 09/03/2016 | | Slide 1 Toolkit and Demonstrator Calls Section Title Tish Roberts JISC programme Manager.
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
MAY 18, 2016 BARRY SMITH MATHEMATICS AND COMPUTER SCIENCE DIVISION ARGONNE NATIONAL LABORATORY WEBINAR SERIES: COLLABORATION AMONG THE IDEAS SCIENTIFIC.
CSE403 Software Engineering Autumn 2001 Gary Kimura Lecture #2 October 3, 2001.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
C Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part I) Roscoe A. Bartlett
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
OpenSAF Developer Days 2008 OpenSAF Release Management Session 15-07
Pipeline Execution Environment
Building a Continuous Integration Pipeline using VSTS
Trilinos Software Engineering Technologies and Integration
P Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Executable Specifications
IT Management Services Infrastructure Services
Presentation transcript:

1Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems A Roadmap for Sustainable Ecosystems of CSE Software Roscoe A. Bartlett, Ph.D. Oak Ridge National Laboratory Trilinos Software Engineering and Integration Lead CASL VERA Software Engineering Lead Computational Science and Engineering Software Sustainability and Productivity Challenges (CSESSP) Workshop Rockville, MD October , 2015

2Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems Overview of CSE Software Ecosystems: Sophisticated cutting-edge algorithms implemented by PhD experts from different fields Packages independently implemented, maintained, and released by different organizations and institutions Many packages constantly developed over many decades and changes to programming models, computer architectures, etc. Many APPs (i.e. customers) need access to the latest versions of some packages (e.g. driving research). Overview of CSE Software Ecosystem Challenges App2 App1 App3 App4 AB CD EF Example: Small ecosystem of packages and applications Motivating/example ecosystems: Trilinos: 68 native pkgs, 90 upstream TPLs (third party libraries), many critical downstream pkgs/apps CASL VERA: 18 repositories integrated with almost CI, 10 upstream TPLs => TPLs #1 portability issue! SNL SIERRA: Uses 30+ upstream pkgs/TPLs (including Trilinos, PETSc, etc.) IDEAS xSDK: Trilinos, PETSc, SuperLU, HYPRE (and several upstream TPLs) and BER app codes Challenges to Sustainable Ecosystems of CSE Software: 1.Lifecycle and software quality of individual packages: Is a package by itself ready to be used by customers and participate in an ecosystem? 2.Sustainability of software packages: Is a package sustainable over long lifecycle? 3.Maintaining compatibility of packages in the ecosystem: Can the compatibility of interdependent packages be maintained over decades and satisfy customer needs? 4.Building a compatible set of packages for a given application from source: Can a compatible set of interdependent packages be effectively deployed to customers?

3Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems Roadmap for Sustainable CSE Software Ecosystems App2 App1 App3 App4 AB CD EF 1.Lifecycle and software quality of individual packages: Is a package by itself ready to be used by customers and participate in an ecosystem? – Lean/Agile lifecycle for CSE software: Exploratory (EX) => Research Stable (RS) => Production Growth (PG) => Production Maintenance (PM) Existing software grandfathered in using Legacy Software Change Algorithm 2.Sustainability of software packages: Is a package sustainable over long lifecycle? – Self-Sustaining Software: open-source license, strong automated tests, clean design/code, minimal controlled internal and external dependencies (stopping at standards) 3.Maintaining compatibility of packages in the ecosystem: Can the compatibility of interdependent packages be maintained over decades and satisfy customer needs? – Continuous Integration (CI) => e.g. Trilinos packages, Google online apps (5K+ developers) – Almost Continuous Integration (ACI) => e.g. INL MOOSE, CASL VERA, SIERRA/Trilinos, … – Punctuated Releases => Semantic Versioning Standard X.Y.Z, sets of backward compatible releases (i.e. fixed X, increment Y), buildable against multiple versions of upstream packages 4.Building a compatible set of packages for a given application from source: Can a compatible set of interdependent packages be effectively deployed to customers? – Build & Install wrappers around heterogeneous build systems (CMake, autotools, raw makefiles, etc.) => e.g. CMake ExternalProject, Spack, PETSc --download-xxx, CASL VERA TPLs – Uniform build system for all packages: => e.g. SNL SIERRA (replaced native build process with new bjam files for 30+ TPLs), TriBITS/CMake (Trilinos, CASL VERA (Trilinos, SCALE/Exnihilo, COBRA-TF, MPACT, …)), Google online apps (2K+ projects)

4Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems Example: Maintaining Compatibility and Deploying Packages Over Many Released Versions App2 App1 App3 App4 AB CD EF Release Set 1: A1, B1, C1, D1, E1, F1 Release Set 2: => All release against A1! A2 B2: A1 C2: B1(A1), A1 D2: B1(A1) E2: C1(B1(A1), A1), A1 F2: E1(C1(B1 (A1), A1), A1), D1(B1 (A1), C1(B1 (A1), A1), A1 Release Set 3: => Can’t all use A2! A3 B3: A2 C3: B2(A1), A2 => A1 D3: B2(A1) E3: C2(B1(A1), A1), A2 => A1 F3: E2(C1(B1(A1), A1), A1), D2(B1(A1), C2(B1(A1), A1), A2 => B2, A1 Assumptions: Start out all compatible packages, version 1.0 New releases on same cadence (e.g. every quarter/year, etc.) Upgrade to most current allowed version of upstream packages No coordination/staging between package developers or releases Package ‘A’ breaks backward compatibility with each release, all other packages maintain backward compatibility Release Set 4: => Most stuck with A1 or A2! A4 B4: A3 C4: B3(A2), A3 => A2 D4: B3(A2) E4: C3(B2(A1), A1), A3 => A1 F4: E3(C2(B1(A1), A1), A1), D3(B2(A1)), C3(B2(A1), A1), A3 => B2, A1 Release Set 5: => Five versions of A in use! A5 B5: A4 C5: B4(A3), A4 => A3 D5: B4(A3) E5: C4(B3(A2, A2), A4 => A2 F5: E4(C3(B2(A1), A1), A1), D4(B3(A2)), C4(B3(A2), A2), A4 => D3, C3, B2, A1 Developers for Package A have to support current and 4 prior releases! Some downstream customers stuck with very old versions of some packages!