Software aroused curiosity2016-04-01
Per Hurtig and Johan Garcia have developed a software for deterministic emulation, which was recently presented at the conference Netdev 1.1 in Seville and attracted favorable attention. Several conference participants said that deterministic emulation would be useful to them.
When computers communicate with each other, the transmission is regulated by transport protocols. It is common that various mechanisms of transport protocols need to be performance evaluated and checked for correctness from time to time. A common tool for such evaluation is network emulation. Software for deterministic emulation enables the evaluation of protocols with a higher degree of control. In this case, deterministic emulation makes it possible to determine exactly which data packet and in which millisecond a certain emulation effect will affect the data traffic being evaluated.
”With deterministic emulation, we can let emulation effects such as packet losses affect the chosen data packet to evaluate how a certain mechanism in the transport protocol works. We have successfully used this approach previously here at Computer Science at Karlstad University to find bugs in Linux's implementations of transport protocols,” says Johan Garcia.
Anyone interested in evaluating the performance of transport protocols or applications with a high degree of control is a potential user of the software. It is also useful for verifying implementations and extensions of transport protocols.
“Previously, we have developed the software KauNet, which makes deterministic emulation possible in the operating system FreeBSD. The software presented at the conference, KauNetEm, is an implementation for Linux. Since Linux is considerably more widely used than FreeBSD, we think that an implementation for Linux can help spread deterministic emulation more broadly,” says Johan Garcia.
The next step in the development of KauNet is to continuously improve functionality and documentation with an eye towards getting the software included in the Linux kernel, which would make it much easier for any interested party to use deterministic emulation without the need to install additional software in the kernel.