Software defined networking (SDN) brought new interesting challenges by externalizing the task of controlling the network to some generic computer software. In particular, the controller software can modify the network routes by introducing new forwarding rules and deleting old ones at a distributed set of switches, a challenge that has received lots of attention in the last six years.
This research aims at investigating how to on one hand optimize controller placement and on the second hand how to perform consistent rule updates in SDN.
Investigating blockchain through the prism of networks.
Networking applications use the Berkeley socket model to interface with a networking stack that resides in the operating system kernel. This model requires costly context switching between applications and the kernel, as well as memory copies on both the sending and receiving path. Context switches require the TLB and caches and can severely degrade instructions per cycle (IPC) for tens of thousands of cycles. This model imposes a limitation on performance which becomes even more apparent with the doubling of bandwidth of network bandwidth every 17-18 months, compared with CPU and DRAM performance doubling only every 26-27 months. For example The Memcached application spends over 80% of CPU time in the kernel networking stack, using less than 5% of the available networking bandwidth.
Applications using this model also suffer from lack of connection locality, as the kernel can process packets on different cores to the application. Multicore scalability is limited due to the lack of connection locality and synchronisation overhead from sharing networking state across multiple cores. To achieve multicore scalability different parallelisation techniques can be utilised such as a run-to-completion model where packets are processed on the same core, or a streaming model where application and network cores are separate and communicate using message passing. The streaming model has the ability to achieve parallelisation within a request, whereas the run-to-completion model attempts to improve temporal locality by processing packets as early as possible.
This research aims to evaluate the impact of using kernel bypass technologies listed above, to accelerate network bound applications. Some research questions include:
The FIRE (Future Internet Research and Experimentation) initiative is an European endeavor that promotes the creation of wide-scale federations of high -performance testbed and experimentation facilities for internet and network-related research. These facilities include wireless and sensor networks, SDNs, high performance computing, optical networks, mobile networks, and smart cities. With an ongoing budget of around 20 million Euros, a number of projects are funded to sustain the FIRE facilities and conduct largescale internet research through them. Forging Online Education through FIRE (FORGE) is a project bringing together the worlds of online education and FIRE. FORGE aligns FIRE with the ongoing education revolution for mutual benefit. In particular, this project is concerned with specifying development methodologies and best practices for offering FIRE experimentation facilities to learners, related both to communications and IT but also to other science, technology, engineering and mathematics (STEM) disciplines, leading to a strong connection between the learning community and existing FIRE platforms and supporting tools. Moreover, FORGE is producing educational material reinforced with hands-on experimentation, enhanced by multimedia resources. The courses are free available in different formats, such as HTML, epub3 and Apple iBooks. Now it is easy to experiment on a real high-performance testbed from your laptop or tablet from any location in the world.