The cloud has multiple tenants, meaning that one architecture hosts multiple customers’ applications and data. The “noisy neighbour” effect occurs when an application or virtual machine overuses the available resources, causing network performance issues for others on the shared infrastructure. When one application or instance uses too much data or bandwidth, other applications suffer from slow speeds or latency. This problem can affect web hosting, databases, networks, storage and servers.

Last semester, the IBM Research Lab in Haifa cooperated with the Technion Israel Institute of Technology to develop a project in which the students investigated the problem of detecting noisy neighbours in a network using Skydive analyzer. 

Skydive is an open source real-time network topology and protocols analyzer, which provides a comprehensive way of understanding what is happening in the network infrastructure.  Skydive will be used in the  SLICENET eHealth use case to monitor the SLICENET network and estimate QoE, as perceived by the vertical NS (network slice) user.

In the project’s first iteration, the students successfully deployed the basic infrastructure in order to carry out the required experiment.  They installed a test bed on IBM Cloud Private (ICP). ICP is an application platform for developing and managing on-premises, containerized applications. It includes the container orchestrator Kubernetes, a private image repository, a management console, and monitoring frameworks. 

The students used Skydive for monitoring and injecting of malformed packets into the network.  HAproxy, Nginx, TCP/UDP race, and iptables were used for generating required scenarios.

Next, the students intend to build on the accomplishments of the previous semester and use dynamic thresholds to determine if anomalies are detected. 

Future work will use machine learning to find the noisy neighbour and actuate some remedial action.

For details of the project description see here

Skydive Noisy Neighbour Detection used in SliceNet eHealth use case