Information Technology Reference
In-Depth Information
As distributed systems, DRE systems require
capabilities to measure the quantity/quality of con-
nections and message transfer between separate
machines,
As real-time systems, DRE systems require
predictable and efficient control over end-to-end
system resources, such as memory, networks, and
processors, and
As embedded systems, DRE systems have
weight, cost, and power constraints that limit their
computing and memory resources.
Microscopic measurements of such DRE
systems often fail to provide a unified view of
system behavior, which makes it hard to assure
that the systems meet their functional and QoS
requirements.
New tools and techniques are needed, therefore,
to provide total-system measurement that provides
a unified view of system behavior. An example of
such a tool is Intel's VTune Performance Analyzer
(REF). This tool combines behavioral informa-
tion from the microprocessor (measuring on-chip
counters), the operating system (OS-level context
switching etc.) and the application (application-
level function profiling) to provide an effective
approach to application tuning.
concluding remarKS
This chapter reviewed four approaches to analyz-
ing the behavior of software systems via dynamic
analysis: compiler-based instrumentation, oper-
ating system and middleware profiling, virtual
machine profiling and hardware-based profiling.
We highlighted the advantages and disadvantages
of each approach with respect to measuring the
performance of multithreaded and SMP systems,
and demonstrated how these approaches can be
applied in practice.
Table 7 summarizes our assessment of the util-
ity of each approach with respect to key problems
that arise in developing large-scale, multithreaded
systems. The number of dots in each category
indicates how effective the approach is for mea-
suring the corresponding characteristics (defined
previously in Table 2).
The results in Table 7 show that dynamic profil-
Table 7. Summary of dynamic profiling capabilities
Compiler-based
Instrumentation
Operating System
& Middleware
Proiling
Virtual Machine
Proiling
Hardware-based
Proiling
Synchronization overhead




Task latency & jitter




Task execution quanta



Unsafe memory access


Processor migration


Priority inversion


Deadlock and livelock
Effective parallelism
Worst-case execution time
 : Well suited to analysis of property
 : Able to partially analyze property or is typically difficult to engineer
 : Approach can be used to collect relevant data, but requires additional processing/analysis capability
No dots: Unable to analyze property effectively
 
Search WWH ::




Custom Search