Path Analysis Module

Compositional Performance Analysis Algorithms for Path Latencies

Copyright (C) 2007-2017 Jonas Diemer, Philip Axer, Johannes Schlatow
TU Braunschweig, Germany
All rights reserved.
See LICENSE file for copyright and license details.
Authors:
  • Jonas Diemer
  • Philip Axer
  • Johannes Schlatow

Description

This module contains methods for the ananlysis of path latencies. It should be imported in scripts that do the analysis.

pycpa.path_analysis.cause_effect_chain(chain, task_results, details=None, semantics='data-age')[source]

computes the data age of the given cause effect chain :param chain: model.EffectChain :param task_results: dict of analysis.TaskResult

pycpa.path_analysis.cause_effect_chain_data_age(chain, task_results, details=None)[source]

computes the data age of the given cause effect chain :param chain: model.EffectChain :param task_results: dict of analysis.TaskResult

pycpa.path_analysis.cause_effect_chain_reaction_time(chain, task_results, details=None)[source]

computes the data age of the given cause effect chain :param chain: model.EffectChain :param task_results: dict of analysis.TaskResult

pycpa.path_analysis.end_to_end_latency(path, task_results, n=1, task_overhead=0, path_overhead=0, **kwargs)[source]

Computes the worst-/best-case e2e latency for n tokens to pass the path. The constant path.overhead is added to the best- and worst-case latencies.

Parameters:
  • path (model.Path) – the path
  • n (integer) – amount of events
  • task_overhead (integer) – A constant task_overhead is added once per task to both min and max latency
  • path_overhead (integer) – A constant path_overhead is added once per path to both min and max latency
Return type:

tuple (best-case latency, worst-case latency)

pycpa.path_analysis.end_to_end_latency_classic(path, task_results, n=1, injection_rate='max', **kwargs)[source]

Computes the worst-/best-case end-to-end latency Assumes that all tasks in the system have successfully been analyzed. Assumes that events enter the path at maximum/minumum rate. The end-to-end latency is the sum of the individual task’s worst-case response times.

This corresponds to Definition 7.3 in [Richter2005].

Parameters:
  • path (model.Path) – the path
  • n (integer) – amount of events
  • injection_rate (string 'max' or 'min') – assumed injection rate is maximum or minimum
Return type:

tuple (best case latency, worst case latency)

pycpa.path_analysis.end_to_end_latency_improved(path, task_results, n=1, e_0=0, **kwargs)[source]

Performs the path analysis presented in [Schliecker2009recursive], which improves results compared to end_to_end_latency() for n>1 and bursty event models. lat(n)