Quantitative Analysis J. Scott Hawker/R. Kuehl p. 1 R I T - - PowerPoint PPT Presentation

quantitative analysis
SMART_READER_LITE
LIVE PREVIEW

Quantitative Analysis J. Scott Hawker/R. Kuehl p. 1 R I T - - PowerPoint PPT Presentation

Quantitative Analysis J. Scott Hawker/R. Kuehl p. 1 R I T Software Engineering Tactics and Quantitative Analysis Selecting architectural patterns and tactics is largely qualitative decision making Need to evaluate design decisions and


slide-1
SLIDE 1
  • J. Scott Hawker/R. Kuehl
  • p. 1

R I T

Software Engineering

Quantitative Analysis

slide-2
SLIDE 2
  • J. Scott Hawker/R. Kuehl
  • p. 2

R I T

Software Engineering

Tactics and Quantitative Analysis

 Selecting architectural patterns and tactics is largely qualitative decision making  Need to evaluate design decisions and cross QA tradeoffs  Qualitative analysis – checklists, thought experiments

 Informal discussion – requirements covered, what can go wrong?

 Evaluation can benefit from quantitative analysis  A more rigorous reasoning framework

slide-3
SLIDE 3
  • J. Scott Hawker/R. Kuehl
  • p. 3

R I T

Software Engineering

Quantitative Analysis Guidance

 Need a measurable quantitative characterization

  • f the quality attribute of concern

 Derived from QA scenarios:

 Stimulus, environment, response, response measure

 Data sources - observations, experiments, modeling, or back-of-the-envelope estimates Examples:  Availability – compute steady state availability  Performance – throughput, latency, utilization

mean time to failure mean time to failure + mean time to repair

α =

slide-4
SLIDE 4
  • J. Scott Hawker/R. Kuehl
  • p. 4

R I T

Software Engineering

Queuing Network Analysis

 Model the computer system as a network of queues associated with service centers

 Servers  Networks  Process components

 Evaluate performance based on relatively simple equations derived from queuing theory

 10-30% accuracy

slide-5
SLIDE 5
  • J. Scott Hawker/R. Kuehl
  • p. 5

R I T

Software Engineering

 Estimate or measure the request arrival rate () and the service rate (service time per request, )  Solving simple equations yields performance measures:

 Service center utilization (% busy)  Residence time – average time spent at the service center (queuing + service); ~perceived response time  Queue length  Throughput – rate requests pass through the service center

 Run “what if” experiments by varying  and   Tool: http://jmt.sourceforge.net/

Queuing Network Analysis

Arriving request Queue Service center i Departing completed request

. . .

Quantitative System Performance, Lazowska, et al Queue Service center j

slide-6
SLIDE 6
  • J. Scott Hawker/R. Kuehl
  • p. 6

R I T

Software Engineering

Queuing Network Example

slide-7
SLIDE 7
  • J. Scott Hawker/R. Kuehl
  • p. 7

R I T

Software Engineering

Queuing Network Analysis

Sample Equations

slide-8
SLIDE 8
  • J. Scott Hawker/R. Kuehl
  • p. 8

R I T

Software Engineering

Another Analysis Example:

Concurrent Pipelines

 Problem - real-time latency requirements for generated outputs  The selected pattern - multiple processes arranged as concurrent pipelines

 Pipe and filter: a sequence of processes produces a final output by transforming a data stream  Concurrent pipelines: multiple streams co-located

  • n a single processor
  • Real-time requirements on production of final
  • utputs

 Stimulus - periodic or sporadic arrival of messages  Response - worst-case latency associated with processing a message

slide-9
SLIDE 9
  • J. Scott Hawker/R. Kuehl
  • p. 9

R I T

Software Engineering

Architectural Pattern

Example Topology

FIFO

slide-10
SLIDE 10
  • J. Scott Hawker/R. Kuehl
  • p. 10

R I T

Software Engineering

Performance Architectural Paramaters

 Topology: pipelines  Preemption policy: priority-based preemption  Execution time for each process associated with processing each input: Ci  Prioritization strategy: sequence of priorities in the pipeline  Process scheduling discipline: fixed priority

slide-11
SLIDE 11
  • J. Scott Hawker/R. Kuehl
  • p. 11

R I T

Software Engineering

Analysis

 Relate architecture pattern and tactic decisions to stimulus/response behavior  Analysis focus – effects of process prioritization strategy on end-to-end latency?  Concurrent pipeline formal analysis:

 Computationally predict the end-to-end worst- case latency

 Informal qualitative analysis heuristics

 Identify possible concurrent pipeline design issues based on experience

slide-12
SLIDE 12
  • J. Scott Hawker/R. Kuehl
  • p. 12

R I T

Software Engineering

Formal Analysis Summary

 Compute the worst-case latency for an input message using the i-th pipeline  Analysis:  Incremental processing of inputs  Each process step has a fixed computational time  Each process step executed by a different process with its own fixed priority  Latency of a message traversing i-th pipeline depends

  • n preemptive effect of the other pipelines

 Effective priority of a pipeline is strongly related to the lowest priority of all processes in the pipeline

slide-13
SLIDE 13
  • J. Scott Hawker/R. Kuehl
  • p. 13

R I T

Software Engineering

Latency Analysis

 Worst-case latency for an input message using the i-th pipeline consisting of processes Pi1, Pi2, …, Pim  Incremental processing of inputs  Each increment can be made by a different process, each executing at its own fixed priority  Latency of a message traversing i-th pipeline depends on preemptive effect of the other pipelines

  • Determine lowest priority process in the i-th pipeline, LowPi
  • H = {pipelines that have all of their processes with priority

greater than LowPi }

  • HL = { pipelines that start with processes of priority greater than

LowPi but eventually drop below LowPi }

  • LH = { pipelines that start with processes of priority lower than

LowPi but eventually rise above LowPi }

“Fixed Priority Scheduling of Periodic Tasks with Varying Execution Priority” , Klein, et al, IEEE Real Time Systems Symposium, 1991

slide-14
SLIDE 14
  • J. Scott Hawker/R. Kuehl
  • p. 14

R I T

Software Engineering

Latency Analysis (continued)

 Calculate worst-case latency for the i-th pipeline by iteratively applying the following until it stabilizes

 Note sensitivity of pipeline’s latency to the priority

  • f the lowest priority process in the pipeline under

study (LowPi), since it determines H, HL and LH

 Effective priority of a pipeline is strongly related to the lowest priority of all processes in the pipeline

slide-15
SLIDE 15
  • J. Scott Hawker/R. Kuehl
  • p. 15

R I T

Software Engineering

Qualitative Analysis and Design Heuristics

 Given awareness of latency performance sensitivity to prioritization strategy, ask

 How does choice of priority assignment impact latency?  Is there another prioritization strategy to reduce latency?  Can the architecture design accommodate reprioritization?  Is the effect of reallocating functionality to process easily understood?  Assign higher priorities for shorter deadlines?  Focus on job with longest completion time, not just first job?