Section: New Software and Platforms


Participants : Thierry Parmentelat [correspondant] , Thierry Turletti, Mario Antonio Zancanaro.

During the past couple of years, we had developped NEPI, the Network Experimentation Programming Interface, as a wide spectrum tool for orchestrating network experiments on network experimentation platforms.

In the more specific context of R2lab, we have been facing more stringent requirements in terms of response time, especially when synchonizing the parallel parts of a wireless experiment. For that reason, and also because the NEPI codebase was starting to feel much too large for its actual usage, and consequently very brittle, we have decided to start and put together a new set of components, named nepi-ng for nepi new generation.

At this point, nepi-ng has a much smaller scope than NEPI used to have, in that it only supports remote control of network experiments over ssh. As a matter of fact, in practice, this is the only access mechanism that we need to have for running experiments on both R2lab, and PlanetLab Europe.

For that reason, the actual size of the nepi-ng codebase is about 12 times smaller than the one of NEPI. However, running the same experiment on R2lab turns out to be about 10 times faster using nepi-ng rather than NEPI, that in this context is impeded by its generic model for resources, that prevents NEPI from being as reactive as what can be achieved with nepi-ng.

The design of nepi-ng of course is modular, so that it will be perfectly possible to add other control mechanisms to this core if and when this becomes necessary.

  • URL: http://nepi-ng.inria.fr

  • Version: 0.5

  • Keywords: networking experimentation, orchestration

  • License: CC BY-SA 4.0

  • Type of human computer interaction: python library

  • OS/Middleware: Linux

  • Required library or software: python-3.5 / asyncio

  • Programming language: python3