Dynamic Analysis And Profiling Of Multi Threaded Systems

Preview:

DESCRIPTION

operating system, advance operating systems, Dynamic Analysis And Profiling Of Multi Threaded Systems

Citation preview

Daniel G. Waddington, Presented by:- kashif-DAYOLockheed Martin, MSCCN-IIINilabja Roy andDouglas C. Schmidt

1

Understanding Multi-threaded System Behavior. Software construction is an inherently recursive

process.

A superficial understanding of behavior is often insufficient.

To build predictable and optimized large-scale multi-threaded systems, we need tools that can help to:

Improve understanding of software subsystems.

Alleviate the potential chaotic effects that may arise from their broader integration.

2

Multi-threaded programs result in inherently complex behavior because of:

The use of non-deterministic thread scheduling and pre-emption.

Control and data dependencies across threads. The time and space resources affected By: Thread priority, which determines the order in which

threads run. Processor affinity, which defines the processors that the

thread may run on. Execution state, which defines whether the thread is

ready, waiting, or stopped. Starvation time, which is caused by system delay during

peak load periods.

Cont….

3

Interleaving Caused by 1-Stage and 2-Stage Scheduling

•Switching execution context between multiple threads results in an execution “interleaving” for each processor in the system.

4

Approaches to Extracting Multi-threaded Behavioral Characteristics

1. Static an Analysis.

2. Dynamic Analysis.

5

Static Analysis It involves inspecting the underlying constituents of a

system without executing any program.

It requires some “model” of the system or implementation artifact that is directly correlated with expected behavior.

For example, analysis of program source code is considered a form of static analysis.

6

Dynamic Analysis It is also known as profiling.

Profiling is inspection of behavior of running system.

Active Profiling:-

Active profiling requires that the application and/or system being measured explicitly generate information about its execution.

Example:- A user of compiler-based probe insertion.

7

Cont…. Passive profiling:-

Relies on explicit inspection of control flow and execution state through an external entity, may require specialized hardware tracing.

Example:- A probe or modified runtime environment.

8

Cont…. Profiling collects precise and fine-grained behavioral

data from a running multi-threaded system.

Both static analysis and dynamic analysis have their pros and cons.

Advanced behavioral analysis solutions use a combination of them to provide a more complete picture of system behavior [Nimmer & Ernst, 2001;

Waddington, Amduka, DaCosta, Foster, & Sprinkle, 2006].

9

10

Recommended