260 likes | 417 Views
Instrumentation and measurement. Jeffrey K.Hollingsworth Bart Miller. Introduction. What is Performance data ? 1-Gathering data to improve the next execution of the program 2-Guiding scheduling decisions 3-Adapting a computation while it is in execution. Introduction.
E N D
Instrumentation and measurement Jeffrey K.Hollingsworth Bart Miller
Introduction • What is Performance data? • 1-Gathering data to improve the next execution of the program • 2-Guiding scheduling decisions • 3-Adapting a computation while it is in execution
Introduction • Instrumentation?...Is the mechanism… • Measurements?...are the DATA… • Our discussion: • 1-instrumentation techniques • 2-different types of measurements and how they are used.
Instrumentation Techniques • Collecting of the raw data from a variety of sources : • Running programs • Operating systems • Processors • Net work intefaces
Program Instrumentation Techniques Manual [PICL]…………………automatic Binary rewriting Pablo ,ATExpert Source code PVM,MPI,IPS-2 Runtime library AE Compiler Dynamic instrumentation Object code Linker Quantity Paradyn Executable file Running program qpt, Atom
Processor Instrumentation Techniques • Hardware support • Includes : high resolution timers, internal details of processor FLOP counts floating point utilization • Special register OR memory mapped locations • Accurate clock
Processor Instrumentation Techniques • High resolution • Low latency • Multinode synchronization • Single multiprocessor provide hardware. • ??? Wide area systems …Tow alternative. • Use of communication network (NTP:variation between packet arivals)
Processor Instrumentation Techniques • NTP (hierarchy of time servers) • Periodically each node being synchronized by NTP will contact an NTP time server • USE an external time base .exp GPS • More features integrated more instrumentation importance • A weakness : use only in kernel mode • I/O systems & network interfaces MSRs (Mode Specific Registers) IN PENTUME IBM RP3 Passive monitoring
HARDWARE assist : • hardware base tracing monitors : • MultiKron • HYPERMON • Initiate event recording by making a request to the hardware controller
Network Instrumentation techniques • Divide into two major categories : • Passive : inserts measurement network components • Active : injecting new traffic into network Can gather additional information. Packet filter
RMON protocol defines SNMP • Management Information Base (MIB) variables • Gathering statistics about packet counts, A matrix of traffic , selected TCP & UDP ports • Internet Control Message Protocol (ICMP) Echo packets (Ping packets) • Exploit the time-to-live field in IP packet used by traceout utility . • Trace-rout packets gather information about adjacent nodes take to reach their target • ATM ,active monitoring via the operation and Management (OM) cells.
DATA storage representation • The form of the collected data. • Finite-size structures (counters, timers…) • Trace-streem • Counters : • Timers :be precise & and fast to access • CPU time and elapsed time (wall time)
Traces • The most general form of performance data is the trace. • Header Information (event type, timestamp, size) • & event type-dependent information • Size of the data collected can be problematic • PICL • The Pablo tracing system ,Self Describing Data Format (SDDF).
Resources • In this section we describe the different abstractions : • Software • Hardware • Network • Software abstraction
Program Components • Granularity of the information that is reported • Collecting data at Finer granularity increase the overhead • Procedures • Libraries • Loops • Dynamically adjust the granularity of information collected
Code in execution • A Key abstraction is the different threads of control • processes • Lightweight processes • User level processes • Lightweight processes & processes are kernel visible • Creating generic instrumentation based on user-level threads is difficult
Synchronization Objects • We describe 3 synchronization primitives • Messages • Barriers • Locks • Synchronization via message passing Due to Load imbalance • Message tags
Barrier : In both Message passing & shared memory parallel programs • Implemented by a user-level library or by message passing • Locks : not commonly used in distributed-memory systems because • The techniques to measure synchronization time due to locks implemented on top of message passing primitives are identical to those for message-passing routines.
Other software abstraction • Files • Transfers to and from disk storage • IN grid environment…? • I/O and message passing • Measure the performance of an application base on its data structure • Netzer and Shaprio
Hardware abstractions • Physical components • Processor : • Time spent executing instructions • The number of instruction executed • Time spent waiting for data from other processor
Memory : • Can be shared between different processors • Cache controllersornetwork interfaces • Expensive instrumentation , execution in every load & store operation • Disks :
Network abstraction • Varying levels of detailed information : “clouds of connectivity” Link and interface • Lowest level : every networking interface, Link, Switch, router • In Wide area distributed systems : • measure the amount of traffic carried by each protocol • Protocols provide a way to identify traffic by the source ,destination , and an application identifier called port .
Data analyses • Quantitative Performance : • Metrics : • PAG ( program activity graph ) Nodes : significant EVENTS in the program’s execution Arcs : ordering of the events within a process • Critical path • Logical zeroing • On-line critical path analysis, by “Piggybacking”