10
Daniel G. Waddington, Presented by:- kashif-DAYO Lockheed Martin, MSCCN-III Nilabja Roy and Douglas C. Schmidt 1

Dynamic Analysis And Profiling Of Multi Threaded Systems

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

1

Page 2: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 3: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 4: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 5: Dynamic Analysis And Profiling Of Multi Threaded Systems

Approaches to Extracting Multi-threaded Behavioral Characteristics

1. Static an Analysis.

2. Dynamic Analysis.

5

Page 6: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 7: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 8: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 9: Dynamic Analysis And Profiling Of Multi Threaded Systems

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

Page 10: Dynamic Analysis And Profiling Of Multi Threaded Systems

10