Information Technology Reference
In-Depth Information
the mapping between thread representations
is inherently hard because in many cases the
mappings are not one-to-one and are even
adjusted dynamically.
a composition of behavior that can be more
readily analyzed by engineers. Abstraction
and collation of data is a key requirement in
deriving properties of synchronization that
exist in multithreaded systems.
Extraction of complex interactions—
Threads represent the fundamental unit
of execution in a software system and are
inherently interdependent. Their interac-
tions are facilitated through the sharing
of system re sources, such as memory, file,
and devices. Determining which resources
are the medium of thread interaction is
inherently hard because measuring events
on all of the resources in the system is not
feasible due to excessive instrumentation
overhead.
Research in the area of multithreaded software
profiling and analysis has made some inroads into
these challenges. In this chapter, we review the
state-of-the-art in tools and techniques, some of
which are commercial products and others that
are research prototypes, and discuss how they
try to address some of the challenges described
above.
compiler-baSed
inStrumentation techniqueS
Interpolation between raw events and
broader properties—Deriving the behav-
ior of a system requires more than simple
collection of event data. Raw event data
(i.e., data collected directly from low-level
execution activities) must be used to build
The most common approach to runtime profil-
ing is to modify the code that executes so it
explicitly generates trace information. A wide
Figure 2. Different points of code modification
Search WWH ::




Custom Search