22-10-2003Mariusz Witek - L1-HLT Workshop1 STL limitations Simple measurements.

Slides:



Advertisements
Similar presentations
PROGRAMMING LANGUAGE (JAVA) UNIT 42 BY ROBERT BUTTERFIELD TELEPHONE Data Structures and Algorithms.
Advertisements

File Management.
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
1 Hash-Based Indexes Module 4, Lecture 3. 2 Introduction As for any index, 3 alternatives for data entries k* : – Data record with key value k – –Choice.
File Systems.
Arrays and ArrayLists Ananda Gunawardena. Introduction Array is a useful and powerful aggregate data structure presence in modern programming languages.
. Smart Pointers. Memory Management u One of the major issues in writing C/C++ code is managing dynamically allocated memory u Biggest question is how.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Tree-Structured Indexes Chapter 9.
Chapter 11: File System Implementation
Rossella Lau Lecture 5, DCO20105, Semester A, DCO Data structures and algorithms  Lecture 5: Deque Comparison of sequence containers  Deque.
Tree-Structured Indexes. Introduction v As for any index, 3 alternatives for data entries k* : À Data record with key value k Á Â v Choice is orthogonal.
1 Hash-Based Indexes Chapter Introduction  Hash-based indexes are best for equality selections. Cannot support range searches.  Static and dynamic.
File System Structure §File structure l Logical storage unit l Collection of related information §File system resides on secondary storage (disks). §File.
File System Implementation
1 Presenter: Chien-Chih Chen Proceedings of the 2002 workshop on Memory system performance.
1 B+ Trees. 2 Tree-Structured Indices v Tree-structured indexing techniques support both range searches and equality searches. v ISAM : static structure;
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Tree-Structured Indexes Chapter 9.
Tree-Structured Indexes. Range Searches ``Find all students with gpa > 3.0’’ –If data is in sorted file, do binary search to find first such student,
CS 241 Section Week #12 (04/22/10).
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D.
Managing Multi-Configuration Hardware via Dynamic Working Set Analysis By Ashutosh S.Dhodapkar and James E.Smith Presented by Kyriakos Yioutanis.
IT The Relational DBMS Section 06. Relational Database Theory Physical Database Design.
1 Physical Data Organization and Indexing Lecture 14.
Data Structures Winter What is a Data Structure? A data structure is a method of organizing data. The study of data structures is particularly important.
Data Structures Using C++ 2E
Chapter 5 Ordered List. Overview ● Linear collection of entries  All the entries are arranged in ascending or descending order of keys.
More on Linked List Algorithms. Linked List and Template Remember the implementation of a double linked list we learned before. Some of methods are shown.
The List Type Lecture 9 Hartmut Kaiser
PRESENTED BY: RAJKRISHNADEEPAK.VUYYURU SWAMYCHANDAN.DONDAPATI VINESHKUMARREDDY.LANKA RAJSEKHARTIRUMALA KANDURI ALAN.
Comp 245 Data Structures Linked Lists. An Array Based List Usually is statically allocated; may not use memory efficiently Direct access to data; faster.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
1 © 2009 Fiserv. All Rights Reserved. Optimizing APL Matrix Indexing for Application Programmers Eugene Ying Software Development Aug 8, 2011.
External Storage Primary Storage : Main Memory (RAM). Secondary Storage: Peripheral Devices –Disk Drives –Tape Drives Secondary storage is CHEAP. Secondary.
Pointers and Dynamic Memory Allocation Copyright Kip Irvine 2003, all rights reserved. Revised 10/28/2003.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Tree-Structured Indexes.
Dr. T. Doom 11.1 CEG 433/633 - Operating Systems I Chapter 11: File-System Implementation File structure –Logical storage unit –Collection of related information.
Silberschatz and Galvin  Operating System Concepts File-System Implementation File-System Structure Allocation Methods Free-Space Management.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 11: File System Implementation.
Navigation Timing Studies of the ATLAS High-Level Trigger Andrew Lowe Royal Holloway, University of London.
Lecture 40: Review Session #2 Reminders –Final exam, Thursday 3:10pm Sloan 150 –Course evaluation (Blue Course Evaluation) Access through.
Dynamic Array. An Array-Based Implementation - Summary Good things:  Fast, random access of elements  Very memory efficient, very little memory is required.
Standard Template Library The Standard Template Library was recently added to standard C++. –The STL contains generic template classes. –The STL permits.
Disk & File System Management Disk Allocation Free Space Management Directory Structure Naming Disk Scheduling Protection CSE 331 Operating Systems Design.
10.1 CSE Department MAITSandeep Tayal 10 :File-System Implementation File-System Structure Allocation Methods Free-Space Management Directory Implementation.
Dynamic Binding Implementation Object-Oriented Programming Spring
Cellular Automaton Method for Track Finding (HERA-B, LHCb, CBM) Ivan Kisel Kirchhoff-Institut für Physik, Uni-Heidelberg Second FutureDAQ Workshop, GSI.
11.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 11.5 Free-Space Management Bit vector (n blocks) … 012n-1 bit[i] =  1  block[i]
Data Structures and Algorithms Searching Algorithms M. B. Fayek CUFE 2006.
Introduction The STL is a complex piece of software engineering that uses some of C++'s most sophisticated features STL provides an incredible amount.
An Object-Oriented Approach to Programming Logic and Design Chapter 8 Advanced Array Concepts.
1 Chapter 12: Indexing and Hashing Indexing Indexing Basic Concepts Basic Concepts Ordered Indices Ordered Indices B+-Tree Index Files B+-Tree Index Files.
1 Tree-Structured Indexes Chapter Introduction  As for any index, 3 alternatives for data entries k* :  Data record with key value k   Choice.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 9: Arrays; Revision Session.
Operating Systems Lecture 9 Introduction to Paging Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of.
Unit VI.  C++ templates are a powerful mechanism for code reuse, as they enable the programmer to write code (classes as well as functions) that behaves.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Tree-Structured Indexes Chapter 10.
From C to C++ Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University.
Physics tables and multi-core J. Apostolakis. Motivation Limited reuse of memory in Multi-Processing – A forked process shares all pages of memory which.
1 The Standard Template Library The STL is a collection of Container classes These are class templates for containers. A container is an object that stores.
Data Structures and Algorithm Analysis Dr. Ken Cosh Linked Lists.
Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Author: Fridtjof Siebert, CASES 2000 Michael Sallas Object-Oriented Languages.
File-System Implementation
Virtual Memory - Part II
COP3530- Data Structures Advanced Lists
External Methods Chapter 15 (continued)
QuickBooks Payroll Support 1(800) QuickBooks Payroll Customer Service QuickBooks. To provide each possible payroll assistance and help users.
Chapter 11: Indexing and Hashing
Indexing 1.
Chapter 11: Indexing and Hashing
Presentation transcript:

Mariusz Witek - L1-HLT Workshop1 STL limitations Simple measurements

Mariusz Witek - L1-HLT Workshop2 STL overhead measurements Usually the difference between static and dynamic solution is negligible in off-line environment but.. In L1 environment the time budget is at the level of miliseconds (all timings in 1 GHz PIII) and STL have to be used with a bit of care. Typical data structure in L1 is an array of locations each containing 5-20 fields Try to measure the difference between STL and “static” solutions using simple example programs containing typical for L1 manipulation of data Measurement made many times, first 10 measurement skipped and outstanding timings rejected.

Mariusz Witek - L1-HLT Workshop3 What should be avoided? The main overhead is due to creation of objects like VELO clusters, 2D VELO tracks for each event (and deleting after end of each event processing). Also filling vector of object is not optimal wrt filling pointers (implies a copy of existing object). Typically dynamic/static = 0.3 ms /0.06 ms Creation of two dimensional STL tables is not optimal. Creation and filling dynamic/static = 0.2 ms / 0.02 ms Sorting of vector of objects means swapping objects in a vector. Sorting of pointers is obviously more optimal. Vector of 500 objects of 6 fields: std::sort objects/ std::sort pointers / customized sort = 0.4 ms/ 0.15 ms / 0.09 ms (sorting might be sensitive to cache memory configuration, may change with time)

Mariusz Witek - L1-HLT Workshop4 Summary Usually STL is satisfactory efficient with respect to static solutions in the L1 environment (creation and manipulation of 1 dim STL vectors) There are some exceptions when we go below the range of 1 ms for the typical L1 data structure (vector of 500 objects of 10 fields each). Static solution can significantly reduce the event initialization phase of an algorithm.