distributed computer systems

Projects

News

Find our newest code, releases and documentation on Github!

The newest version includes a simple heuristic for parameter optimization.

A new ALPHA-version went online. Some bugs in the optimization algorithm had been crushed. Further calculating reverse backlog/delay bounds is much faster now. (29.05.13)

Follow us on Twitter to get news about coming updates. (04.06.13)

Find us (+ update project source code) on github.com!

What is it?

DISCO Lab is proud to present the first Stochastic Network Calculator. This library contains a number of classes written in Java(tm) which are useful for analysing communication networks via stochastic network calculus. This calculus allows stochastic bounds on network performance metrics such as maximum latency or backlog. For details about the used stochastic network calculus please see A First Course in Stochastic Network Calculus.

The goal of the stochastic network calculator is to calculate the above mentioned performance measures in an automated way in complex scenarios. Furthermore the stochastic network calculator aims at tracking and optimizing emerging parameters dynamically to give competitive bounds.

The stochastic network calculator is under construction and we present here the latest version of it. It contains the following features:

  • Constructing networks by defining nodes and their service (currently only constant rate service) and flows with corresponding arrivals (currently only a few arrival types available).
  • Manipulating nodes and flows for example altering the service/arrivals, adding or removing stochastic dependencies or whole nodes/flows.
  • Calculating sigma-rho-bounds for intermediate flows and leftover-service in a symbolic fashion.
  • Calculating performance bounds (backlog or delay), with control over the optimization parameters (granularity of theta-values and hoelder-parameters). Here the best bound for a given probability or a bound on the probability for a given bound can be computed.
  • The above calculations work in all feed-forward-networks and on some non-feed-forward-networks.
  • A working GUI, which makes parts of the SNC easily accessible:
    • Saving/loading networks
    • Creating/deleting nodes and flows
    • Calculate sigma-rho-bounds
    • Calculate performance bounds
    • Two tables give an overview over the nodes and flows of the network

GUI Screenshot

Stochastic Network Calculus Tool DiscoSNC

Future Development

Further development focuses on:

  • More elaborate analysis techniques, like better end-to-end analyses.
  • Better and faster optimization techniques of occuring parameters.
  • Increasing the quality of calculated performance bounds by using stricter (and more complex) theoretic results.
  • A GUI, which makes all parts of the SNC accessible.

More Information

For more information how the DISCO Stochastic Network Calculator works please refer the SNC-Manual.

Please Provide Feedback

For feedback, questions, etc. please contact Michael Beck.

Get Updated

You can follow us on Twitterto get news about coming updates.

System Requirements

To run and compile the alpha, you need at least J2SE 1.5 ("Java 5").

Download

The most up-to-date source code is available from our github project page.

We also offer an archive with the complete source code.

This is alpha grade software, unknown issues might occur.

Known Limitations

  • Only rudimentary end-to-end analysis.
  • No time-dependent bounds.
  • Only one kind of analysis ("Single Flow Analysis").

Known Issues

  • Due to changes in the optimization method the "bound-granularity"-spinner in the Calculate Reverse Bound-dialog has no effect.
  • Weird stuff may happen, if fields of dialogs (especially the Add Flow dialog) are filled with invalid values (e.g. entering a string, where a number is expected).

 

See also

CAFLOTRA, a calculus for networks with flow transformations, aims to extend the stochastic network calculus and thus deal with queueing networks subject to flow transformations, which occur when the flows’ data are altered inside the network. Flow transformations are in fact characteristic to many modern networked and distributed systems, e.g., a wireless sensor network processes the transported data, while delivering it to a sink node, for energy-efficiency purposes. This DFG-granted project comprises of three inter-connected parts. On the theoretical side, the project seeks to develop stochastic scaling elements, for modelling flow transformations in great generality, within the framework of the stochastic network calculus. On the application side, the project seeks to apply its theory to several real-world application scenarios in order to validate its usefulness as well as its accuracy. Furthermore, the project plans to deliver a corresponding software tool based on DISCO Deterministic Network Calculator and Stochastic Network Calculator in order to allow for an automated analysis and to make the theoretical results accessible to other performance analysts.

Stochastic Network Calculus and Flow Transformation

You can find the background and motivation in the paper On Expressing Networks with Flow Transformations in Convolution-Form PDF.

Project Staff

This is a cooperative project carried out by the following staffs from DISCO and T-Labs Berlin:

Contact

Please see the personal pages above for contact details.

A Tool for Deterministic Network Calculus

Deterministic network calculus is a methodology for worst-case modeling and analysis of communication networks. It enables to derive deterministic bounds on a server’s backlog as well as a flow’s end-to-end delay. Given a directed graph of servers (server graph) and the flows crossing these servers, the Disco Deterministic Network Calculator (DiscoDNC) automates the derivation of bounds.

We provide a Java implementation of the three most common network calculus analyses:

  • Total Flow Analysis (TFA)
    • This analysis derives server-local bounds for delay and backlog along the analyzed flow’s path.
    • The flow's end-to-end delay bound is computed by summing up the individual delays on its path.
  • Separated Flow Analysis (SFA) and Pay Multiplexing Only Once (PMOO) Analysis
    • These analyses derive the analyzed flow’s end-to-end delay bound as well as its end-to-end backlog bound (maximum amount of data in transit).
    • The bounds compete against each other, i.e., each analysis can outperform the other, depending on the network setting.
    • Flow delay bounds derived by the SFA or the PMOO Analysis are more accurate than the TFA bounds.
    • Server-local bounds are not derived by these analyses.

In version 2 of the DiscoDNC, we focussed on stability, performance and extensibility of the provided analyses.

If you encounter any problem or if you have questions, please contact Steffen Bondorf.

Contributors at DISCO
News and Info
  • From version 2.5.0 on, we are working under the networkcalculus.org umbrella. See you there!
  • Version 2.4.4 is released on Github. This is the last version of the v2.4 series.
    It's code will live on in a separate branch while we work on merging all the v2.5 improvements into master - Stay tuned :-)
  • 2.4.3 is on GitHub!
  • We have new releases in GitHub! find 2.4.1 and 2.4.2 here: https://github.com/NetCal/DiscoDNC/releases
  • We have a new webpage: discodnc.cs.uni-kl.de
    • Javadocs are now here: http://discodnc.cs.uni-kl.de/index.php/javadocs/
  • We are on GitHub! Find us here https://github.com/NetCal/DiscoDNC
  • DiscoDNC v2.4.0 is released. Visit our new home: discodnc.cs.uni-kl.de
  • The last planned beta for version 2.4.0b4 can be downloaded!
    • Attention, due to some technical problems, the download manager does not provide access to the source files.
      Please use the link below. Sorry for the inconvenience. (fixed)
    • Update: The download link below should work now. (fixed)
  • We present DiscoDNC v2.4.0 beta 1 beta 2 beta 3We plan to have a fourth beta before the final release of the DiscoDNC v2.4.0.
  • We are proud to announce the DiscoDNC v2.3.5
  • Version 2.3.4 delivers the flow prolongation code! For more information, please see
  • We are proud to announce the DiscoDNC v2.3.0 2.3.1 2.3.2 2.3.3
    • It is API incompatible to previous versions (2.2.x) but porting should be straight-forward.
    • Many fixes and improvements made their way into this version (see Changelog) and we highly recommend an upgrade.
  • Version 2.2.7 2.2.8 is available.
  • Steffen Bondorf's postdoc project "Integrated End-to-End Modeling and Analysis of Heterogeneous Distributed Systems with Real-time Constraints" will be funded by the Carl Zeiss foundation. Development of the DiscoDNC is part of it. Stay tuned for updates!
  • The MMB 2016 chnges are now available in the DiscoDNC version 2.2.6. See the changelog for further information.
  • We landed a deterministic network calculus paper at MMB 2016! Work to implement the improvement on cross-traffic burstiness is under way. Stay tuned.
  • We have a new web server and are planning to create a shiny home for the DiscoDNC.
    • The DiscoDNC JavaDocs already moved from 131.246.19.102/discodnc-doc/ to 131.246.19.107/javadocs-latest/ 
  • In our recent publication at ValueTools 2015, we presented the state-of-the-art approach to bound cross-traffic arrivals. It is already enabled by default in our DiscoDNC, you do not need to download a new version to gain from this paper's contribution.
  • If you have questions about the network model for the DiscoDNC, please check Section 2 of our ValueTools 2015 paper as well as the demo classes provided with the source code. Here's a small wrap-up:
    • The DiscoDNC does not use a specific modeling language, it's plain Java. You directly create a network object (a server graph) consisting of servers that possess a service curve, directed links connecting the servers, and flows that are shaped by an arrival curve at their entry to the network and then cross it on a specific path.
    • Next, you need to create an object of the analysis you want to run. Then, run it for the flow you want to analyze and read your results from the analysis object.
    • Curves are encoded as a list of linear segments that start in a coordinate and continue with a rate; an exclamation mark indicates that a segment is left-open.
 
General Information

 

Technical Details

The DiscoDNC provides an open-source implementation of deterministic network calculus analyses, containing classes for

  • piecewise-linear curves,
  • network configurations,
  • min-plus-algebraic operations,
  • simple network calculus operations and
  • network calculus analyses.

The code base is modularized along these lines such that we allow for the use of our toolbox as a stand-alone tool for worst-case analysis as well as a network calculus library for adoption and refinement. The source code has been licensed under the GNU Lesser General Public License (LGPL) version 2.1 to facilitate the integration of our code into interested projects.

The modularization enabled to decouple the arrival bounding process from the analysis of the designated flow of interest. Thus, when using the DiscoDNC as a tool, it is possible to freely combine the above mentioned analyses with alternative approaches to bound cross-traffic arrivals that either possess

  • the Pay Bursts Only Once property of SFA (PBOO-AB) or
  • the PMOO property (PMOO-AB).

We have also augmented our tool with an extensive, well-documented set of manually computed network calculus scenarios that are published under Creative Commons license. These tests provide insight in the algorithmic procedure of network calculus as implemented in our tool. For quality assurance we implemented these scenarios and test a multitude of alternative configurations of the DiscoDNC against them.

For more detailed information about the changes to version 1.1 please refer to the development of the DiscoDNC v2.0.0.

We have also started work on the JavaDocs for the DiscoDNC (still incomplete).

 

Downloads

Software
Documentation

 

Requirements

  

Previous Versions

  • The code of the network calculator version 1.0 -- developed by Frank Zdarsky -- is available as an all in one archive including all libraries necessary to run the calculator (download) or a plain version without the dependencies (download).
  • Version 1.0.1 is also available as an all in one or a plain version.
  • Version 1.1, the previous major release, can be found here. An archive containing some of the functional tests of version 2.0.0 backported to v1.1 is also available on that page.
  • The development leading to version 2.0 of our deterministic network calculus tool can be traced here and the referenced pre-release versions are available here.

 

Current

Past

For a complete list of past projects, see here. Other projects we were involved in are:

 

Subcategories

University of Kaiserslautern

Write your thesis with a disco advisor

We offer a variety of bachelor and master theses at any point in the academic year. Also check out some of our completed theses. Read more...

Go to top