Download presentation
Presentation is loading. Please wait.
1
CLAs Reconstruction and Analysis
Physics Data Processing with SOA based Framework Vardan Gyurjyan on behalf of Clas12 software group
2
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
3
Computing power V. Gyurjyan April 24, 2019 Network Integration
Node/Rack Integration CMOS Technology Single Chip Integration V. Gyurjyan April 24, 2019
4
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
5
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 – CAT7 100Gbps V. Gyurjyan April 24, 2019
6
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
7
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
8
"The Network is the Computer."
John Gage V. Gyurjyan April 24, 2019
9
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
10
PDP (Physics Data Processing) Application Conventional vs
PDP (Physics Data Processing) Application Conventional vs. parallel/distributed V. Gyurjyan April 24, 2019
11
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
12
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
13
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
14
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
15
One way to eat an elephant
A bite at a time V. Gyurjyan April 24, 2019
16
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
17
“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
18
Language and Architecture Evolution
Structured and Procedural programming Object Oriented programming Assembly Language Service Oriented programming V. Gyurjyan April 24, 2019
19
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
20
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
21
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
22
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
23
“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
24
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
25
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
26
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
27
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
28
Data Object categories
Event Detector Statistical V. Gyurjyan April 24, 2019
29
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
30
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
31
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
32
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
33
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
34
Performance measurements
V. Gyurjyan April 24, 2019
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.