What is LINE?

LINE is an open source engine for system performance and reliability modeling based on queueing theory.

Main features

The tool offers a language to specify extended queueing networks and layered queueing networks together with analytical and simulation-based techniques for their solution.

Models are solved in LINE with either native algorithms (CTMC, fluid, simulation, MVA, ...) or via external solvers, such as JMT, LQNS, and BuTools. The tool output metrics include throughputs, utilizations, response times, queue-lengths, and state probabilities. Metrics can be averages or distribution/percentiles, either in steady-state or transient regime.

Download

LINE offers two releases. The source code allows users to program arbitrary models. The binary release relies on the royalty-free MATLAB compiler runtime and only accepts models in JMT or LQNS format.

  • Source release (requires MATLAB version 2020a or later)
  • Binary release (Docker image, MATLAB compiler runtime-based, no MATLAB license required)

Installation information is available in the README file.

Documentation

Documentation and the getting started examples can be found in the user manual and on the LINE wiki.

License

The LINE solver is copyrighted by Imperial College London, 2012-2020 and distributed under the BSD-3 license.

How to cite LINE

If you use LINE, please cite the following article:

Acknowledgement

The development of LINE has been partially funded by the European Commission grants FP7-318484 (MODAClouds), H2020-644869 (DICE), H2020-825040 (RADON), and by the EPSRC grant EP/M009211/1 (OptiMAM).

Downloads

2.0.x (May 2019-Present)

Latest stable release: This version has been tested with MATLAB 2020b.

Latest dev release source code:

git clone https://github.com/imperial-qore/line-solver.git line-solver

New features:
  • Major tool overhaul and refactoring, not backward compatible with 0.x.x and 1.0.x versions.
  • New solver-agnostic modelling language to describe extended queueing networks and layered models.
  • New engine featuring solvers for extended queueing networks (CTMC, MVA, SSA, JMT, FLUID) and layered queueing models (LQNS, LN).
  • Automated import of models specified in JMT using JSIMgraph or JSIMwiz.
  • New user manual, wiki, and examples.

1.0.0 (June 2016)

This version can be used with Palladio Bench and SPACE4Cloud.

Binaries and source code: New features:
  • LINE now offers support for both synchronous and asynchronous calls. This is achieved by extending the transformation from LQN models to incorporate asynchronous calls, and by extending the analysis to differentiate how these two types of calls account for remote execution time.
  • This version includes beta versions of solvers for two extended types of execution: simultaneous resource possession (SRP) and synchronous calls with blocking (SCP). These can be used at the script level.
  • This version has undergone a naming revision, simplifying names of scripts.

Latest release

LINE 2.0.x user manual

Older releases

LINE 1.0.0 user manual

Resources

This page lists useful resources such as publications and public presentations.

Papers

If you use LINE, consider citing the following publications:

The following papers extend or use LINE across different applications:

Presentations

Videos

YouTube channel

Demos that illustrate the practical use of LINE are available on our YouTube channel.

LINE 2.0.0

Solving a M/M/1 queue via JMT

This example shows the solution of a M/M/1 queue specified in LINE with JMT and how to export to JSIMgraph and JSIMwiz (the video has no audio):

Importing a JMT model into LINE

The following example viceversa shows the automated import into LINE of a M/M/1 queue specified with JMT (the video has no audio):