3/24/2003CHEP'03, La Jolla, USA Object Database for Constants: The common CLEO Online and Offline solution Hubert Schwarthoff Cornell University With N. Adam, S. Lee Cornell University, USA
3/24/2003CHEP'03, La Jolla, USA1 Contents CLEO III / CLEO-c CLEO software: The Constants database The Constants system redesign Experiences
3/24/2003CHEP'03, La Jolla, USA2 Introduction CLEO III until 2003: Y(2,3,4,5S), etc Crystal E.M. calorimeter Tracking drift chamber Muon chambers RICH SVX CESR-c: Charm factory superconducting wigglers Low energy: 11 GeV → 3 GeV Luminosity > cm -2 s -1 Spring 2003: CLEO-c detector SVX → ZD 30M DD, 1.5M D s D s, 1B J/Ψ
3/24/2003CHEP'03, La Jolla, USA3 The CLEO III detector
3/24/2003CHEP'03, La Jolla, USA4 CLEO computing Online computing ~300k channels Readout: 30 Motorola PowerPC (VxWorks, VME) 17 VME crates, 12 FASTBUS Standard Ethernet – TCP/IP Data rate < 9MB/s through EventBuilder < 100 Hz Storage on AIT tape robot Offline computing C.Jones:”Reconstruction and analysis on demand” Thu 1:50pm Category 7
3/24/2003CHEP'03, La Jolla, USA5 Software system C, C++, Java, on VxWorks 5.3 (Online) solaris 2.8 Windows 2000 (GUI, Online) osf 4.0, linux RH Offline, no database server Online database (Objectivity 7) Alarms, RunStatistics, Constants, … via CORBA server CORBA: VisiBroker 5, Mico (osf, linux) Online: One system does it all Readout, SlowControl, monitoring, database, RunControl, …
3/24/2003CHEP'03, La Jolla, USA6 CLEO III constants database User writes bdl file: Build system auto-generates client and server C++ and java code. Common for Online and Offline code systems Name: RICHChannel { UInt32 ChannelAddress UInt16 Crate SelectBy UInt16 Threshold UInt16 Pedestal } Constants OfflineOnline
3/24/2003CHEP'03, La Jolla, USA7 Online and Offline Offline management: User submits constants as ASCII file (no user write access) Management system installs constants, with safeguards. One system for Detector configuration Detector calibration Detector diagnostics Data reconstruction Data analysis Monte Carlo All the above use the same C++ interface for constants access.
3/24/2003CHEP'03, La Jolla, USA8 Database operation Need several DBs: Designate Online database as master All of CLEO computing needs access to constants → Need mirror databases for processing Update regularly and automatically (special application) Prevent interference with Online operation Allow easy handling (documentation, troubleshooting)
3/24/2003CHEP'03, La Jolla, USA9 Redesign - why Original system had been invented with wrong requirements: Usage as one constants object, but data is stored as many objects (1 per line, up to lines). Example: RICHChannel constants object: Version: 1784, Created 11/03/ :32:22 ChannelAddressThresh Crate Pedestal Inefficient and not utilized, wastes space. DB Version: /03/ :32:
3/24/2003CHEP'03, La Jolla, USA10 Search is often linear (data is not organized). - Inefficient, eats CPU. Address space limited: Can only have ~ 32k versions of one type. - We have already reached this limit. ~200 types were combined to 13 groups, but that was too cumbersome to manage Redesign - why?
3/24/2003CHEP'03, La Jolla, USA11 The new system Rewrite of all database code. Store one constants version as one db object (e.g. put all lines in one object). Example: RICHChannel constants object: Version: 1784, Created 11/03/ :32:22 ChannelAddressThresh Crate Pedestal DB Version: /03/ :32: …
3/24/2003CHEP'03, La Jolla, USA12 The new system Organize data according to usage. Separate constants versions from usage information. Completely avoid linear searches - use management structures: indexed lists, hash maps. CORBA → change database system without touching other software.
3/24/2003CHEP'03, La Jolla, USA13 New system: performance Time to load 1 constants object from database (CORBA): > 5 times faster N.Adam (1 entry = 10 min interval) Old New
3/24/2003CHEP'03, La Jolla, USA14 Experiences Objectivity/DB LHC and BABAR abandon their large databases. Support? Commercial = black box See D.Riley: “Dynamic management of CLEO III event data”, Tue 5:30pm Category 8 VisiBroker (CORBA) No osf (use mico, only singlethreaded) Version 4 unstable (both solaris and VxWorks) Linux: Difficult with commercial software
3/24/2003CHEP'03, La Jolla, USA15 Future plans CLEO-c will start operation Jul Offline constants system will manage all types independently (summer 2003) → Much easier management, more flexibility Upgrade VxWorks CORBA version System will be challenged with higher data rates (300 Hz) for J/Ψ data