Use of variable size array to model the
Use of variable size array to model the Atlas raw data Simona Rolli - TUFTS University R. D. Schaffer - LAL/Orsay Martin Schaller - CERN/Innsbruck Andrea Salvadori - CERN CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 1
Introduction • • The current ATLAS event data model has been developed for raw data only. The classes providing access to the raw data (through an identifiers-based method) are the following: PEvent PNode 3 Detector. Element • PEvent. Obj. Vector PNode 2 PEvt. Obj PNode 1 Digit implemented as Varray each channel response is organized in digits contained by an object representing the detector element which produced it. CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 2
Logical Identifiers Hierarchical Identifiers are used to identify sensitive detector elements and read-out channels: – the Identifiers are structured according to the logical structure of the detector: end-cap barrel Pixel wafer end-cap wafer_id eta rings layers rings phi sectors pixel_id phi wafer_id = “barrel / layer 1 / ring 3 / phi sector 5” pixel_id = wafer_id + “eta 19 / phi 33” CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 3
Logical Identifiers (2) Identifiers provide a means of mapping detector-related information across domains or data stores: event raw data <-> detector description event raw data <-> calibration/alignment They also provide a means of selecting the information of interest: we have introduced a Range class for Identifier ranges: Range(id 1, id 2) Pixel wafer id 2 id 1 eta phi CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 4
The Original Model A generalized model ( modeled after the original model) assumes a further node -PNode 4 ( collection of events) -and the following fan out: 300 Pnode 3, 10 PNode 2, 100 Pnode 1, 50 PDigit • • Server and Local/Remote client: 2*Sun Ultra. Sparc. II 399 MHz, 512 MB RAM - Hitachy RAID ( 25 MB/sec) Remote Server : SUN Ultra. Sparc II, 270 MHz, 192 MB RAM, Elite 23 drives - 9 MB/sec. CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 5
The Modified Model The Digit class has been moved to be attached to PNode 2 (PEvt. Obj), through VArrays, while the association-based mechanism of navigation is implemented through arrays of references. CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 6
The New Model • The Pdigit class has been moved to be attached to PNode 2 (PEvt. Obj), through a variable size arrays Seg. VArray - • The relationship between PNode 3/PNode 4 and PNode 3/PNode 2 is through Objy 1 -to-many associations. CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 7
Seg. VArray The class Seg. VArray is an extension of the oo. VArray class ( same interface) : it contains a oo. VArray of SVArray. Segments, each containing an oo. VArray of the objects to be stored. The advantages are that if only some objects are to be read in, only the segments are read that contains these objects ( oo. VArray are always fetched as a whole). If a segment of a Seg. VArray fits onto a page a Seg. VArray can span several pages without the storage overhead of half page for large objects. Of course there might be poor performances if all the objects are read from the Seg. VArray ( further level of indirection) - partially overcome with the use of Iterators. CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 8
Results CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 9
Conclusions • Performances improve when only a few digits are accessed by the application ( true for local access, for remote access -AMS- there is a further constraint from the internal page caching mechanism in Objectivity/DB) • Well in the budget requesting at least 1 MB/sec per a standard reconstruction application. • The model has been implemented in the real code and we are in the process of testing it with a large volume of data. • Further studies needed in order to optimize the use of these type of arrays. CHEP, Padova, 02 -1000 Simona Rolli - TUFTS 10
- Slides: 10