Title: LHC-B Computing
1LHC-B Computing
- Computing Tasks
- Computing Model
- Software Strategy
- Objectives
- Technology
- People
- Project Plan for LHC-B Computing
- Project organization
- Development phases and major milestones
2LHC-B Computing Group
- Pavel Binko
- Olivier Callot
- Lola Camacho
- Marco Cattaneo
- Jean-Pierre Dufey
- Yuri Ermoline
- Markus Frank
- Frank Harris
- John Harvey
- Eric van Herwijnen
- Irakli Mandjavidze
- Pere Mato
- Hans Muller
- Andreu Pacheco
- Florence Ranjard
- Wolfgang Tejessy
- Andrei Tsaregorodtsev
3Introduction
- New software for a new experiment
- intense use of software in triggering (Levels
1,2, and 3) - many orders of magnitude more data and CPU power
- Need better quality Control
- better designs, better control procedures, more
manpower intensive - Resources scarce
- improve efficiency - use engineering practices
and modern technologies - strategy must encourage all members of
collaboration to participate - Need experienced people
- LHC-B staff active in current experiments - big
advantage - Need to close culture gap
- Long lead times
- Important to have a well-defined strategy and
investment in project management and planning
4Software StrategyObjectives
- Reuse
- put effort into building high quality components
- become economic by extracting more use out of
components - Architecture-driven approach
- identify basic building blocks - 3 levels
patterns, components, frameworks - reuse spans across application domains
- event display, geometry DB, data storage models,
controls, GUI - Common Infrastructure
- standardise on a set of working principles,
process, development environment - minimise diversity of hardware and software
- Commercial software
- Licensing model to minimise cost and ensure
collaboration-wide availability - Evolution
- development and maintenance span 20 years
- plan for changes in needs and technology
5Software StrategyTechnology
- Why Object Technologies (OTs) ?
- Evolved from sound principles of software
engineering - Young staff with some training in computing
familiar with OTs - Technical prerequisites are in place
- development environments (languages etc.), ODBMS,
communication standards, frameworks - Widespread use and support by computing industry
- Adoption by HEP collaborations (BaBar, STAR,
LHC,) - Object modeling leads naturally to reusability
- encapsulation, design patterns, component-ware,
frameworks
6Software StrategyTechnology - Languages
7Software StrategyTechnology - Distributed
Computing
OMG
Application Objects
Common Facilities
Object Services
- Different standards
- CORBA, IDL (OMG - ODMG)
- DCOM, OLE (Microsoft)
- Javabeans / RMI (Javasoft)
8Current LHC components
9Manpower - Profiles
- Architects
- experienced in design of large software systems,
familiar with standards. - deliver architectural design documents and
frameworks - Software Engineers
- develop basic building blocks , apply quality
control - require formal training in software engineering
practices - deliver reference documents and user guides
- Software Toolsmiths
- select and maintain software tools used to build
our software - install software tools and give support to
programmers in their use - manage the codebase and production processing on
real and simulated data keeping track of all LHCB
datasets - Application Programmers
- must be familiar with software development
environment and follow quality procedures when
appropriate - trained in use of supported languages, design
methods and tools
10Migration Strategy
- Harvest knowledge in legacy systems - dump legacy
thinking - LHC-B has limited software production activity
now - this will change - Longer we delay the more difficult it will be to
make the transition - Hands-on experience best way to learn
- Need a framework equipped with basic tools before
people can start - Intensive training can start once this framework
is ready - Need mentors and knowledge transfer between staff
- Technology still evolving and must be tracked -
choices at appropriate times - Benefit from support groups - news services,
library, seminars, in-house training, support for
engineering tools, joint projects
11Other issues addressed in report
- Software development process
- Documentation
- Collaborative Computing
- Training
12Organization of Computing Projects
Steering Group
planning
architecture
coordination
budget
ON-LINE
OFF-LINE
Analysis
Computing
Recon-
DAQ
DCS
OPS
Simul- ation
SEG
Facilities
struction
Event
Level 2
Control
Framework
Framework
DCS
Computing
Builder
Level 3
room
Tools
Tools
LHC
Model
SDE
Interfaces
Prompt
Production
Safety
CPU farms
CASE
Crates
Full
Desktop
Code
DAQware
Storage
management
Network
Quality
Control
Re-usable Components
Event Display
Document.
Frameworks
Data Quality
Training
CORBA,DCOM
Bookkeeping
Licenses
OS
Data management (DBMS)
Controls
Event Storage (HPSS)
GEANT4
Graphical User Interfaces
CLHEP
Histograms
13Links to Sub-detector Groups
Application Project (e.g. DAQ)
RICH Computing Team
- Project Leader
- Vertex
- RICH
- Inner Tracker
- Outer Tracker
- ECAL
- HCAL
- MUON
- Trigger L0
- Trigger L1
- Trigger L2/L3
14Development Phases
- Identify phases by boundaries which correspond to
major decisions - Plan for technology change
- Move to OTs which will have major impact
- FORTRAN to C
- Important to prototype
- gain experience
- study behaviour and performance
- After prototype phase take final decisions on
technology - Boundary of prototype and production phase should
have less major impact - design review, C to JAVA?
15Software Planning for Transition Phase (1)
16Software Planning for Transition Phase (2)
17Global Software Planning Showing Main Development
Phases
18Global Planning For DAQ System
19Summary
- Immediate challenge is a change of software
paradigm - Plan to make transition as painless as possible
- Relatively good position since we start later and
have less investment in legacy code - We have a kernel of experienced people - to be
complemented by outside help - Long term strategy involves a prototyping
(learning) phase and a production phase - Organise all computing as one project
- minimise barriers between on-line and off-line
- maximise reuse of software components
20Software StrategyArchitecture-driven development
- Patterns
- well engineered systems are full of patterns
- means of leveraging expertise of experienced
architects - provide a common vocabulary and understanding for
design principles - Components
- systems constructed out of re-usable tested
components, with known characteristics and
well-defined interfaces - take longer to build, cost is higher
- often can be commercially obtained
- Frameworks
- set of pre-fabricated building blocks used,
extended or customised for a particular
application. - half code in a typical application dedicated to
routine operations, that can be built once and
canned for reuseframeworks give high level of
reuse - e.g. framework that provides histogramming,
statistical analysis, visualisation can be used
for interactive analysis, data quality
monitoring, .