DISCO Network Calculator v1.1
This version is no longer maintained or supported.
Please use The Disco Deterministic Network Calculator v2.
The core of this library is the class "Curve" which represents piecewise-linear curves and provides min-plus-algebraic operations on these. Based on these operations, the class "NetworkAnalyser" allows to determine bounds on output, delay, and backlog using various approaches (see also technical report):
- Charny delay and backlog bounds
- Total Flow Analysis (TFA)
- Separated Flow Analysis (SFA)
- Pay Multiplexing Only Once (PMOO) Analysis
For some of these approaches the library offers the choice between FIFO and blind multiplexing assumptions. Furthermore, it supports the use of maximum service curves.
Finally, the library contains some useful methods for converting network graphs to server model graphs, an implementation of the Turn Prohibition algorithm for creating feed-forward networks from general network topologies, and a simple class for graphically viewing piecewise-linear curves.
Important instruction for use
Flows exiting the actual network at the same server need to share a common explicit sink node. Otherwise the TFA triggers a residual service curve computation for the flow of interest at this last hop before the explicit sink, i.e., the flow of interest is separated from the all other flows (like in the SFA), instead of handling those flows in total (TFA’s actual aggregate handling of flows). This behavious not only differs from the TFA procedure, it can also lead to a loss of tightness.
- Version 1.1 brings changes in the core calculation algorithms, which are now a bit more efficient and suited for bigger problem sizes.
To run and compile version 1.1, you need at least J2SE 1.5 ("Java 5"). To use the precompiled libraries, earlier versions of the JRE may be sufficient, but the source code uses features introduced with version 1.5.
The sources are given as a Netbeans 6 project.
We offer two packages. One is an archive including the compiled library and all dependencies, the other is an archive with the complete source code. For development, you need to get both packages, and set up your environment so that all external libraries are in the classpath.
- DISCO Network Calculator 1.1
- DISCO Network Calculator 1.1 (source)
- DISCO Network Calculator 1.1 (source + functional tests)
GraphML Export Filter for BRITE
The DISCO Network Calculator's preferred file format for reading/storing network topologies is GraphML. One way to generate topologies in this format is to use the Boston University's Representative Internet Topology Generator (BRITE). BRITE can generate different types of flat and hierarchical network topologies and can also read topologies in a number of different file formats.
Below you can find a small patch for BRITE that allows to export graphs to the GraphML file format. If you do not have the "patch" program available, download the drop-in version, which contains the already patched files, and simply unpack it in BRITE's base directory.