CLAs Reconstruction and Analysis

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Database System Concepts and Architecture
COM vs. CORBA.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Distributed components
Chapter 3 Software Two major types of software
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
CHAPTER FIVE Enterprise Architectures. Enterprise Architecture (Introduction) An enterprise-wide plan for managing and implementing corporate data assets.
DISTRIBUTED COMPUTING
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
CLAs Reconstruction and Analysis Physics Data Processing with SOA based Framework Vardan Gyurjyan on behalf of Clas12 software group.
DCE (distributed computing environment) DCE (distributed computing environment)
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Thomas Jefferson National Accelerator Facility Page 1 Clas12 Reconstruction and Analysis Framework V. Gyurjyan S. Mancilla.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
V Gyurjyan, D Abbott, J Carbonneau, G Gilfoyle, D Heddle, G Heyes, S Paul, C Timmer, D Weygand V. Gyurjyan JLAB data acquisition and analysis group.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
Computer Organization and Architecture Lecture 1 : Introduction
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Enterprise Architectures
CS 325: Software Engineering
Clouds , Grids and Clusters
Design Components are Code Components
CSCI-235 Micro-Computer Applications
GWE Core Grid Wizard Enterprise (
SOFTWARE DESIGN AND ARCHITECTURE
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
Software Design and Architecture
Distribution and components
Part 3 Design What does design mean in different fields?
Overview Introduction General Register Organization Stack Organization
CHAPTER 3 Architectures for Distributed Systems
Introduction to J2EE Architecture
Hadoop Clusters Tess Fulkerson.
#01 Client/Server Computing
Enterprise Application Architecture
Software Testing and Maintenance Designing for Change
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Design and Maintenance of Web Applications in J2EE
Inventory of Distributed Computing Concepts and Web services
Parallel and Multiprocessor Architectures – Shared Memory
Chapter 17: Database System Architectures
Component-Based Software Engineering
Mobile Agents.
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Service Oriented Architecture (SOA)
Constructing a system with multiple computers or processors
Software models - Software Architecture Design Patterns
What is Concurrent Programming?
Chapter 7 –Implementation Issues
Design Components are Code Components
Multithreaded Programming
Distributed Systems through Web Services
Chapter 2: Operating-System Structures
Outline Chapter 2 (cont) OS Design OS structure
Architectures of distributed systems
Clas Reconstruction and Analyses framework
Physics data processing with SOA
Introduction to SOA and Web Services
Use of GEANT4 in CMS The OSCAR Project
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 2: Operating-System Structures
Design.
#01 Client/Server Computing
Software Testing and Maintenance Designing for Change
Presentation transcript:

CLAs Reconstruction and Analysis Physics Data Processing with SOA based Framework Vardan Gyurjyan on behalf of Clas12 software group

Outline Problem statement SOA based framework as a solution Current status of the ClaRA project Future plans Conclusion A problem statement is a nothing but a concise and precise description of the nature, scope, causes, severity and the effect or impact of a problem. Thus a problem statement is the specific description of a problem which is essential to understand it properly. V. Gyurjyan April 24, 2019

Computing power V. Gyurjyan April 24, 2019 Network Integration Node/Rack Integration CMOS Technology Single Chip Integration V. Gyurjyan April 24, 2019

Integration IBM Blue Gene 72 Racks 1PF/s Rack 32 Mode Cards 13.9 TF/s 32 Computer Cards 435 GF/s Computer Card 1Chip 13.6GF/s Chip 4 Cores V. Gyurjyan April 24, 2019

Network Evolution 2003 – CAT6 10Gbps 2007 – CAT7 100Gbps V. Gyurjyan Network Capacity 2x / 7 months User Traffic 2x / 12months Router Capacity 2.2x / 18months Moore’s Law 2x / 18 months CAT4 10Mbps 10base-T CAT5 100Mbps 100base-T CAT5e 1Gbps 1000base-T 2003 – CAT6 10Gbps 2007 – CAT7 100Gbps V. Gyurjyan April 24, 2019

High Performance Computing Trends Exponential growth in processor performance (coming to an end) Power cost = System cost: invention required Growth in level of parallelism (near term solution) V. Gyurjyan April 24, 2019

IBM Approach – Path to Petascale Multiple modest cores on a single chip rather than one high- performance processor Watts/FLOP will not improve much from future technologies. Linux environment and MPI (standard messaging interface) V. Gyurjyan April 24, 2019

"The Network is the Computer." John Gage V. Gyurjyan April 24, 2019

Specifics of the Offline Software Lifetime of the software >= lifetime of the experiment. Collaborative nature of the development. Coexistence of parallel running applications for the single experiment. Unprecedented scale and complexity of the physics computing environment Physics computing environment must keep up with fast growing computing technologies Large worldwide user base. V. Gyurjyan April 24, 2019

PDP (Physics Data Processing) Application Conventional vs PDP (Physics Data Processing) Application Conventional vs. parallel/distributed V. Gyurjyan April 24, 2019

Running Conventional Software Application Copy checkout Configure Compile Fix errors no yes Give up ok Run Complain no yes Modified? V. Gyurjyan April 24, 2019

Programming Errors Compile time Program does not compile. Compiler reports a “best guess” of the problem Undeclared variables or functions Missing semicolon or brace Typos Missing files or libraries Type ambiguities Run time Executable crashes or has unexpected behavior May not appear for all conditions or all data sets Uninitialized variables Memory errors Numeric errors Type errors in print statements Closing a NULL file pointer Accessing a NULL pointer Variables out of scope V. Gyurjyan April 24, 2019

Challenges of the Conventional Approach Difficult to organize and coordinate activities Difficult to maintain Inevitable fragmentation of the software Poor scalability Computing skills are required to use physics data processing applications V. Gyurjyan April 24, 2019

ABC C B CLAS 6 CLAS 12 A+B << C A B A C: requires a few or no programming skills V. Gyurjyan April 24, 2019

One way to eat an elephant A bite at a time V. Gyurjyan April 24, 2019

Where we start? Each bite is a clear, simple, single purpose application, developed by group B member. Group A, with a tight collaboration with group B and C shall control and manage the process, never loosing maniacal focus on a big picture (elephant). Define a piece of a big problem Understand the problem Distill the problem to its essence solution Test V. Gyurjyan April 24, 2019

“Things should be made as simple as possible, but not simpler “Things should be made as simple as possible, but not simpler.” Albert Einstein V. Gyurjyan April 24, 2019

Language and Architecture Evolution Structured and Procedural programming Object Oriented programming Assembly Language Service Oriented programming V. Gyurjyan April 24, 2019

SOA SOA promotes the goal of separating service users from the service implementation. Style of building reliable systems that deliver functionality as services Loose coupling between interacting services Directories and addressing mechanisms are at the center of SOA. Complex Program Arbitrary format Arbitrary format Service Standard format Standard format Specialized, simple V. Gyurjyan April 24, 2019

Attributes of Services Well defined, easy-to-use, somewhat standardized interface Self-contained with no visible dependencies to other services (almost) Always available but idle until requests come Location transparency Easily accessible and usable readily, no “integration” required New services can be offered by combining existing services Quantifiable quality of service V. Gyurjyan April 24, 2019

Service Interface Standard message based Highly Polymorphic Intent is enough Implementation can be changed in ways that do not break all the service consumers V. Gyurjyan April 24, 2019

Service Orientation is scalable End users can consume and combine a lot of services since they don’t have to know or “learn” how the services are made. Service providers (A+B) can offer their services to a lot more consumers by optimizing The user interface Access Implementations V. Gyurjyan April 24, 2019

“On Demand” Physics Data Processing Use software as you need Much lower setup time, forget about Installation Implementation Training Maintenance Scalable and effective usage of resources Parallelism (CPU, Storage, Bandwidth…) V. Gyurjyan April 24, 2019

What is ClaRA? Framework that Implements SOA. Service development environment. Toolbox of generic physics data processing services. Network distributed platform. The “Glue”, binding together services into an algorithmic data analysis application. V. Gyurjyan April 24, 2019

Design criteria Framework service shall be simple to use and easy to learn. Framework service should be customizable to be able to adapt to the different data processing tasks. Framework shall provide context sensitive help and assistance, with many real world physics data processing application examples. Framework shall provide ready to use services, encapsulating essential functionalities of the physics data processing system. Services shall be reusable and easily replaceable. Physics data processing application design and implementation shall require a few or no programming skills. Neither specific computing environment, nor compiling shall be necessary to build and run physics data processing application. Framework shall provide graphical environment for physics data processing application development. Frameworks platform shall be network distributed, and shall have temporal continuity. The new system shall provide World Wide Web access to the services for remote configuration and execution of the data processing applications. The necessary security considerations must be addressed. V. Gyurjyan April 24, 2019

Data and Algorithm Framework advocates clear separation between: a) data and algorithm b) transient and persistent data Methods in the data object will be limited to manipulations of the internal data members only. Algorithm will process one type of data and generate data objects of a different type. Algorithm Data Data V. Gyurjyan April 24, 2019

Persistent and Transient Data Physics algorithm objects should not use data objects directly in the persistent storage. Transient data storage as a means of communication between physics algorithms. Two different optimization criteria for applications using persistent and transient data. Being independent from the persistent storage technology. V. Gyurjyan April 24, 2019

Data Object categories Event Detector Statistical V. Gyurjyan April 24, 2019

ClaRA Platform CMSG SOAP Users Service Container node-1 Front-End Container Normative Service Service Container node-1 Service Container node-2 Service Container node-3 Service Container node-N WWW Web Service 1 Web Service 2 Web Service 3 Web Service N cMsg SOAP SOAP SCC SCC SOAP cMsg SOAP CMSG SOAP Users V. Gyurjyan April 24, 2019

Current Status ClaRA cMsg Platform Thin Clients Geometry Service Magnetic Field Map Service GEMC Service Tracking Service bCNU Service Event Data Service ClaRA cMsg Platform Thin Clients ClaRA WebServices Platform WWW Probability Service Matrices Service Geometry Service Math Service Stat Service V. Gyurjyan April 24, 2019

Examples EVIO event producer and EVIO event consumer services (C++). data producer and data consumer services. C examples use cMsg payload (ASCII). C++ geometry service client example Java geometry service client example Web services JSP clients V. Gyurjyan April 24, 2019

Tracking composite application Transient data Space-point maker Coarse track finder Cluster Analyzer Ambiguity solver Track fitter Histogram builder Persistent data ClaRA cMsg Platform Thin Clients V. Gyurjyan April 24, 2019

Tracking application service decomposition Supervisor start retrieve SpacePointFormation EvtData TransientEvtData record start CoarseTrackFinder DetectorData retrieve Raw Data SeadMaker Space Points VertexFinder StatData record ClusterAnalyzer Track candidates retrieve start AmbiguitySolver TransientStatData record Resolved Tracks start retrieve TrackFitter TransientDetData Final Tracks TrackScoring Transient Storage Tracking State machine V. Gyurjyan April 24, 2019

Performance measurements V. Gyurjyan April 24, 2019