Les leçons de BabarLes leçons de Babar
Stéphane PlaszczynskiLAL – CNRS/IN2P3
Inspiré par: A.M Lutz, J.N Albert, D. Boutigny
Journées Informatiques In2p3/Dapnia -Cargèse 23-28 Juillet 2001
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 2
Les leçons de BabarLes leçons de Babar
n BaBar: contraintes et choixn Objectivityn CC-in2p3 TIER A
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 3
1.Babar: les contraintes1.Babar: les contraintes
Volume des données• Babar = « usine à B » à SLAC
– 100 Hz(L3) X30 semaines– 2 108 evts physique/an– L = 3 1033 cm-2 s-1 atteinte très rapidement (fin 2000)
(4 mois BaBar≈ 5 ans LEP)
doublement attendu tous les ans2001 : >3 1033 cm-2 s-1 2002 : 6 1033 2004 : 1.5 1034
• Données réelles 2000 : 138 Tb (307 kB/evt) à SLACSimulation: 55 Tb (592 kB/evt)
– en principe 3-5 fois les données
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 4
Babar: les contraintesBabar: les contraintes
• Collaboration très large et dispersée
• USA-Canada-Europe 100 instituts 500physiciens
• 6 pays européens (France, Italie, GB, Allemagne,Russie, Norvège)
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 5
Les choixLes choix
• Tout C++ (possibilité de wrapping F77)• Outils commerciaux:
– Objectivity– Rogue-Wave (STL)
1ère exp HEP de grande envergure: peu/pas d’expérience +planning serré (pas vraiment de comparaisons)
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 6
C++C++
• Passage difficile des physiciens (« pourquoi? »)• Peu/pas de design OO
– Pas d’outil de conception (Rose…)– Manque de formation
• Utilisation de « gadgets » C++• Peu/pas de documentation• Peu/pas optimisation CPU• Problèmes de portabilité : compilateurs natifs (abandon
HP,AIX: Sun+Linux(+OSF)
dichotomie physiciens/ experts softJAVA?
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 7
Les choix de BaBar Les choix de BaBar (1)(1)
• Production des données
– données réelles : tout à slac• « prompt reconstruction » (~) en ligne (OPR)• actualisation en ligne des calibrations• filtrage en ligne
– données simulées : production répartie surcollaboration puis centralisées à slac• uniformisation ?• contrôle de qualité ?
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 8
Les choix de BaBar Les choix de BaBar (2)(2)
• Stockage des données
• Tout dans Objectivity (Objy)• structuration/éclatement des données (« clustering »)• accès hiérarchisé aux données par degré de détail
« Raw,Reco,(Mini),Micro,Tag »
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 9
Les choix de BaBarLes choix de BaBar (4)(4)
• distribution des données– Transferts minimaux (→ GB, Italie, Univ. US...):
• micro-DST ROOT seulement
– exception : cc-in2p3 « site miroir » de slac
– copie des micros (données+sim) sous Objy. 2000:18 Tb
– Les REC non disponibles à Lyon!
– Transferts massifs
à TIER A …
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 10
Les choix de BaBarLes choix de BaBar (5)(5)
• Distribution du code• CVS (packages/versions, package coordinators, commits publics)
• SoftRelTools (notion de releases et de « builds », outils etmakefiles standard)
« releases » fréquentes (1/quinzaine).ensemble complet des packages
(sources+lib+dependances) +bin→ 2.5 GB/release (Sun)
Compilation automatisée (+mails)• mises à jour bases de données
– «condition database » (calibrations, alignements)très important en 1999 (démarrage del ’expérience)
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 11
Les choix de BaBarLes choix de BaBar (6)(6)
– stratégies de communications• hypernews (centralisées à slac)• www (centralisé à slac)• audio-meetings
→ importance cruciale des réseaux
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 12
Du stockage a l’analyse desDu stockage a l’analyse desdonnéesdonnées
Donnees(xtc)
Objy
Skims (collections)
ROOT
Beta Analyse ntuples
OPR
Données
calibrations
utilisateur
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 13
SimulationSimulation
Donnees(xtc)
Objy
Skims (collections)ROOT
Beta Analyse ntuples
OPR
Donnees
calibrations
utilisateur
Geant 3(xdr)
Objy
Mix’r
Geant 4
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 14
Objectivity
Online Online Prompt Prompt RecoReco
Input
Pilot
RAW
CPU
Datamover
Datamover
Datamover
Locks
Journal
Metadata
0.5Tb
0.5Tb
0.5Tb
0.5Tb
0.5Tb
0.5Tb
0.5Tb
HPSS
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 15
OnlineOnline Prompt PromptReconstructionReconstruction
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 16
2.2.OjectivityOjectivity
• Technologie nouvelle dans la communauté• Démarrage tardif• Pas de réelles comparaisons• Produit commercial: impossibilité de toucher au
code source !– Produit inadapté a l’environnement (JNA)– Pas d’accord (DB)
⇒ beaucoup d’énergie investie pour plier le produitaux besoins de l’expérience
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 17
Accès aux donnéesAccès aux données
Mon jobfederation
Lock server
Objyserver(2Tb)
Objyserver(2Tb)
Objyserver(2Tb)
Objyserver(2Tb)
…
AMS AMS
AMS AMS
Socket Objy
journal
HPSS
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 18
Problèmes occasionnelsProblèmes occasionnels
• Crash d’un AMS• Crash lock server• Locks mal « enlevés »
La plupart de ces problèmes résolus (?)
• Gestion HPSS pour plusieurs utilisateurs accédantsau même AMS
• Fuites de mémoire Objy
⇒ Crashs imprédictibles des jobs…
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 19
DésillusionsDésillusions
• Abandon de plate-formes (Objy= compilateurs natifs)
• Abandon de l’unicité de la BD– Fédérations de reconstruction, analyse, simulation…– Pas de connexions entre fédérations (super-fédérations?)– Lourdeur des transferts de données (en amélioration)
• Abandon de la connexion entre sites• Pas de stockage de données utilisateurs
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 20
Base de donnéesBase de données vs vs..PersistancePersistance
• Deux concepts distincts– Base de données– Persistance
Base de données=– cohérence– clustering– Protections– Sécurité– Récupération d’erreurs …
Besoin de tout ça pour lire des données?
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 21
Conduit a….Conduit a….
• Taille des evts (optimisation possible)• Lenteur lors de l’analyse• Instabilités• Imports/exports massifs• Pas d’accès au code source: couches Babar (gros
investissement)
Quand même: ~100 Millions evts analyses en ~30h(avec filtrage utilisateur et peu d’autres utilisateurs)
Mais ~10% crashs…(chiffre officieux: varie entre 0 et 40% selon utilisateurs)
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 22
Un monde idéal?Un monde idéal?
• Stockage persistent des données: ROOT(?)• Book-keeeping : Oracle(?)• Calibrations en ligne (?)• Collections• Tags Objectivity
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 23
CC-In2p3:CC-In2p3: Tier Tier A A
• Structure d’analyse complète Objy + spécificitésrégionales:– Utilisation plus systématique de HPSS (tests en cours)– RFIO plutôt que NFS– BQS …
• 130 CPU disponibles pour Babar (Linux+SUN)• TierA:
– ouverture a toute la collaboration– Hébergement d’une partie complète (ie. une partie des
RAW) des données
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 24
ESnetSNV CHI
SLAC
Stanford
IN2P3
Internet 2
Star Tap
PHYnet
(Renater)
CERN
30-40 Mbps
155 Mbps
622 Mbps
Network Connectionbetween SLAC and IN2P3 (*)
Micro Data
Bulk Data
* From SCS Network Team
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 25
Exports/imports deExports/imports de donnees donnees
• Export base sur BdbDistTools and + perl• Import base Java: Jimport• Outil efficace de transfert parallèle: bbftp (G. Farrache).
Ligne 34 Mb/s
Ligne 155 Mb/s
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 26
Monitoring des ressourcesMonitoring des ressources
1 normalized CPU hour = 1 houron an IBM 3090S processor ~ 10'on a PIII 750 MHz
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 27
Hébergement des donnéesHébergement des données
• Actuellement: duplication x3 (22 streams)
S. Plaszczynski - Juillet 2001 Les leçons de BaBar 28
ConclusionsConclusions
• Babar peut (actuellement) reconstruire+analyser une grandemasse de données. Mais extrapolations: volume énorme aattendre (Pbytes)
• C++ OK (surtout pour la reconstruction): mais + formationdesign + documentation: l’architecture doit être laissée auxexperts!
• Utilisation d’Objectivity a coûté énormément d’efforts (dedernière minute) et causé plus de difficultés qu’elle n’en arésolues. Néanmoins satisfaisant pour les utilisateurs(actuellement) malgré des pbs de robustesse.
• Problème persistance à découpler de B.D: ⇒ comparaisons!• Cc-in2p3 en bonne forme pour suivre les flots de données et
d’utilisateurs