Persistence Technology and I/O Framework Evolution Planning David Malon Argonne National Laboratory 18 July 2011.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
System Development Life Cycle (SDLC)
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
COM vs. CORBA.
Chapter 13 Review Questions
Test-Driven Development and Refactoring CPSC 315 – Programming Studio.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES Feasibility Study on a Common Analysis Framework for ATLAS & CMS.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
THE OBJECT-ORIENTED DESIGN WORKFLOW Interfaces & Subsystems.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
IMSE Week 18 White Box or Structural Testing Reading:Sommerville (4th edition) ch 22 orPressman (4th edition) ch 16.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
Lecture Nine Database Planning, Design, and Administration
Course Instructor: Aisha Azeem
Introduction to Computer Technology
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Requirements for DSML 2.0. Summary RFC 2251 fidelity Represent existing directory protocols with new transport syntax Backwards compatibility with DSML.
Argonne National Laboratory ATLAS Core Database Software U.S. ATLAS Collaboration Meeting New York 22 July 1999 David Malon
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Conditional & Joint Probability A brief digression back to joint probability: i.e. both events O and H occur Again, we can express joint probability in.
REVIEW OF NA61 SOFTWRE UPGRADE PROPOSAL. Mandate The NA61 experiment is contemplating to rewrite its fortran software in modern technology and are requesting.
An Introduction to Software Architecture
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
EVALUATING PAPERS KMS quality- Impact on Competitive Advantage Proceedings of the 41 st Hawaii International Conference on System Sciences
Software cost estimation Predicting the resources required for a software development process 1.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
HIT Policy Committee NHIN Workgroup Recommendations Phase 2 David Lansky, Chair Pacific Business Group on Health Danny Weitzner, Co-Chair Department of.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Distributed Database Systems Overview
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
An RTAG View of Event Collections, and Early Implementations David Malon ATLAS Database Group LHC Persistence Workshop 5 June 2002.
Some Thoughts about Hits, Geometry etc Rob Kutschke, Hans Wenzel Fermilab March 13, 2007.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
I/O Infrastructure Support and Development David Malon ATLAS Software Technical Interchange Meeting 9 November 2015.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Grid Technology CERN IT Department CH-1211 Geneva 23 Switzerland t DBCF GT Upcoming Features and Roadmap Ricardo Rocha ( on behalf of the.
IEEE MEDIA INDEPENDENT HANDOVER DCN: draft_invariants Title: Invariants in Proposed Drafts Date Submitted:
LCG – AA review 1 Simulation LCG/AA review Sept 2006.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Lecture VIII: Software Architecture
Basic Concepts and Definitions
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
Summary of persistence discussions with LHCb and LCG/IT POOL team David Malon Argonne National Laboratory Joint ATLAS, LHCb, LCG/IT meeting.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
44222: Information Systems Development
Next-Generation Navigational Infrastructure and the ATLAS Event Store Abstract: The ATLAS event store employs a persistence framework with extensive navigational.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
David Adams ATLAS ADA: ATLAS Distributed Analysis David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
I/O and Metadata Jack Cranshaw Argonne National Laboratory November 9, ATLAS Core Software TIM.
Computer Architecture Organization and Architecture
POOL Based CMS Framework Bill Tanenbaum US-CMS/Fermilab 04/June/2003.
Mini-Workshop on multi-core joint project Peter van Gemmeren (ANL) I/O challenges for HEP applications on multi-core processors An ATLAS Perspective.
Multi Process I/O Peter Van Gemmeren (Argonne National Laboratory (US))
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Kernel Design & Implementation
SOFTWARE DESIGN AND ARCHITECTURE
Designing Scalable Architectures
Presentation transcript:

Persistence Technology and I/O Framework Evolution Planning David Malon Argonne National Laboratory 18 July 2011

Introduction  ATLAS has been informally reviewing its I/O and persistence architecture –And design and implementation and deployment and performance and …  Motivated by many factors: –Improving performance across a variety of storage and access platforms, data products, and use cases –Support for increasingly-many-core architectures –Refactoring to make implementations cleaner, more consistent, and more maintainable –Feature wish lists that did not make it into production before current LHC running – … –But also by longer-term planning, particularly in the context of the computing side of ATLAS upgrade planning  One part of this process is reconsideration of our strategy regarding persistence technologies and interfaces thereto  POOL is an essential element of that strategy today 18 July 2011 David Malon

ATLAS and POOL  Several issues related to the future of POOL and of common persistence strategies were discussed at a joint meeting with LHCb and IT representatives last December  LHCb has since “officially” decided to drop POOL, as was discussed at that meeting  More important, therefore, that we decide upon a strategy with respect to POOL in particular  Spectrum of options –ranging from simply incorporating those parts of POOL that we care about into the ATLAS code base … –through taking a serious look at developments in LHCb/Gaudi persistence that we are not using … –to availing ourselves of the opportunity to address known architectural shortcomings and to do something more ambitious  Doing nothing is probably not a long-term option –And probably not a good idea anyway 18 July 2011 David Malon

Evolutionary, or revolutionary, or ?  Should we begin by moving POOL code into the ATLAS code base, and building it from there rather than externally? –What does this mean, and what is required to accomplish this? In packaging/repackaging, in time, in effort, … –There are alternatives: e.g., we could instead aim to re-implement the portions of POOL that we care about, and not move any POOL code directly at all… –Or use Gaudi/LHCb equivalents, if available, or …  Should we do this as a prudent evolutionary strategy even if our eventual strategy is more ambitious? –And backward compatibility, or at least the ability to read old data, is essential  What about more direct use of ROOT? –And remember technology independence? 18 July 2011 David Malon

ATLAS and LHCb/Gaudi persistence capabilities  At last December’s meeting, we talked about what we are and are not using from POOL –And what LHCb is and is not using  Peter will say more about our use of POOL  My impressions from last time: –While we need to examine more closely what LHCb is doing, and while we will definitely learn from this, I am not optimistic that we will directly reuse much of that code –Probably no shared conversion services, for example –Certain proposed extensions to I/O framework and persistence technology will likely be ATLAS initiatives, not common projects But this could change in the context of control framework initiatives to support multicore processing –And there will certainly be common interest in certain ROOT improvements and potential optimizations Meeting on Thursday with ROOT developers and some CMS people 18 July 2011 David Malon

This week  POOL plan in particular  Strategy regarding missing features –Example: What would we do differently to support AthenaMP?  Time frame 18 July 2011 David Malon

Observations and impressions (which may be mistaken)  Advantages and disadvantages to moving POOL code into ATLAS code base  Not much IT effort put into POOL, but do we lose this source of effort entirely if we incorporate the code into ATLAS software? –Yes, but probably we should do it anyway –Advice/consulting from code authors (Markus Frank, LHCb) might still be extremely helpful for awhile  No experiment seems yet to have an I/O and persistence architecture that extends much beyond the conversion service layer –ATLAS may be the only experiment thinking much about this (Is this overstatement close to true? Maybe not now that people are thinking about components and services in support of multicore processing)  No other experiment seems to be thinking much about other persistence technologies –At least for event data 18 July 2011 David Malon

An architecture for I/O and persistence  Independence of persistence technology is important—increasingly so as we explore alternative storage technologies  Gaudi/Athena architecture doesn’t care whether we are writing to a file or a database or a UNIX pipe or …, but in practice this means that …  Current architecture (outstream, persistence service, conversion service) essentially ends at the conversion service: no real architecture beyond this –ATLAS adds explicit persistent state representation  Some implications, even today: –Resource sharing, concurrency control, multi-stream transaction contexts are not addressed or addressable in the current architecture Affects even objectives as conceptually “simple” as writing TAGs and AOD into the same file –Today, technology control, communication, and optimization are handled by methods to pass opaque “hints” to the underlying technology This is not an architecture –Similar implications for input  Exploitation of emerging computing and storage platforms will require an explicit architecture for I/O and persistence control 31 March 2011 David Malon ATLAS Upgrade Week, Oxford, UK

Possible steps in a work plan?  Move POOL code into ATLAS code base; build as part of ATLAS builds, rather than from LHCCMT releases –Primum non nocere –Ensure that we can write/read using ATLAS code that may really just be POOL repackaged –Rename as necessary  This would be the foundation for further evolutionary work –What needs to be added to address unmet requirements? –What can be dropped? (Unused, unneeded features? Unnecessary layers?)  In parallel, take a closer look at Gaudi/LHCb persistence –What if anything can we use out of the box, versus what can we learn from, but not use directly?  In parallel: assemble our functional upgrade requirements –For shared context, for support of I/O from parallel workers in AthenaMP, etc. –Assess both what is necessary and what is feasible in the appropriate time frame (Phase 0 shutdown for some functionality, earlier(?) for some multicore extensions? If we agree, can we put a timeline (and names!) on some of these steps? 18 July 2011 David Malon