FPGA implementation of a network coding capable switch

Date
2020-03
Journal Title
Journal ISSN
Volume Title
Publisher
Stellenbosch : Stellenbosch University
Abstract
ENGLISH ABSTRACT: The amount of internet connected devices is expected to increase dramatically in the near future. This is especially due to the widespread use of Internet of Things (IoT) devices. The Fifth-Generation (5G) of cellular network technologies aims to facilitate in the rapid expansion of IoT devices by providing an increased data rate, higher throughput, device capacity and connection reliability. In order for 5G to be fully integrated into existing telecommunication system, many new technologies are being developed. Two technologies to help make 5G a reality are network coding and Software Defined Networking (SDN). Network coding is an alternative approach to traditional packet forwarding. Traditional packet-based networks use a “storeand- forward” approach, where intermediate nodes relay or replicate incoming information. Network coding provides an additional step and performs coding on the incoming data, known as “compute-and-forward”. SDN is another widely adopted network technology required for 5G. SDN segregates the traditional decentralized networking approach, into control and data processes. A software component is installed on each data forwarding device as the dataplane. The dataplane is the fast component of the network and is where all packet processing is conducted. The dataplane devices are controlled by centralised controller devices. The controllers have a “birds-eyeview” of the entire network and can therefore make more informed network processing decisions, compared to traditional networking. Multiple software implementations of network coding have been developed and implemented. Network coding has been integrated into SDN in emulated and software environments. There exist many hardware devices that support SDN protocols such as OpenFlow. However, there are no commercially available network hardware devices that support network coding. Researchers in the field of computer networking have to modify existing devices to include network coding functions. Network hardware devices are often proprietary and therefore it is difficult to modify existing devices to add custom features and functions, such as network coding. This thesis solves these problems by implementing a network coding capable switch in both a software and hardware based environment. The software based network coding functions are created as Virtual Network Functions (VNFs) that are deployed in an SDN environment as required. The hardware based network coding functionality is implemented using a Field Programmable Gate Array (FPGA) device. Both software and hardware implementations are integrated together using the OpenFlow based SDN bridge, Open vSwitch (OvS). The overall platform is designed to run on a general purpose PC and allows network coding to be evaluated in both physical and virtual network environments, with physical and Virtual Machine (VM) hosts. The network coding implementations are evaluated using a real packet based network. The VNF based network encoder and decoder achieve a coding throughput of 164.67 and 87.99 Mbps respectively. The FPGA based network encoder and decoder are able to achieve a coding throughput of 223.16 and 496.40 Mbps respectively, providing a speedup of 1.36 and 5.71 over the VNF based implementations. The FPGA logic is run using a single PCIe lane and 50Mhz clock frequency. Taking full advantage of the FPGA device resource utilization, all four possible PCIe lanes and the maximum clock frequencies, the encoder and decoder functions could be implemented to achieve a coding throughput of 1.5 and 2.96 Gbps respectively. The thesis demonstrates that FPGA based network coding is feasible and provides a significant performance increase over software based implementations. The performance however is reduced dramatically when integrated with a real packet based network. Future work should focus on optimising the integration between OvS and the network coding functions. This would hopefully alleviate any potential integration bottlenecks.
AFRIKAANSE OPSOMMING: Die hoeveelheid internetverbindende toestelle sal na verwagting in die nabye toekoms dramaties toeneem. Dit is veral te wyte aan die wydverspreide gebruik van Internet van Items (IvI) toestelle. Die vyfde generasie (5G) van sellulêre netwerktegnologieë is daarop gemik om die vinnige uitbreiding van IvI toestelle te vergemaklik deur ’n verhoogde datatempo, hoër deurvoer, toestelkapasiteit en verbindingsbetroubaarheid te bied. Ten einde 5G volledig in die bestaande telekommunikasiestelsel te laat integreer, word baie nuwe tegnologieë ontwikkel. Twee tegnologieë om 5G ’n werklikheid te maak, is netwerkkodering en Sagteware Gedefinieerde n etwerk (SGN). Netwerkkodering i s ’ n alternatiewe benadering tot tradisionele pakketversending. Tradisionele pakketgebaseerde netwerke gebruik ’n “winkel-en-vorentoe” benadering, waar tussenknope die inkomende inligting weergee of herhaal. Netwerkkodering bied ’n ekstra stap en voer kodering uit op die inkomende data, bekend as “bereken-en-vorentoe”. SGN is nog ’n algemene gebruikte netwerktegnologie wat benodig word vir 5G. SGN skei die tradisionele gedesentraliseerde netwerkbenadering in beheer en dataprosesse. ’n Sagteware komponent word op die data deurstuurtoestel geïnstalleer as die “dataplane”. Die dataplane is die vinnige komponent van die netwerk en dit is waar al die pakkieverwerkings gedoen word. Die dataplane toestelle word beheer deur gesentraliseerde beheertoestelle. Die beheerders het ’n “voël-oog"” van die hele netwerk en kan gevolglik meer ingeligte verwerkingsbesluite neem in vergelyking met tradisionele netwerking. Verskeie sagtewareimplementering van netwerkkodering is ontwikkel en geïmplementeer. Netwerkkodering is in die geëmuleerde en sagtewareomgewings in SGN geïntegreer. Daar bestaan baie hardeware toestelle wat SGN protokolle ondersteun, soos OpenFlow. Daar is egter geen kommersiële beskikbare hardeware toestelle wat netwerkkodering ondersteun nie. Navorsers op die gebied van rekenaarnetwerke moet bestaande toestelle verander om netwerkkoderingsfunksies in te sluit. Netwerkhardeware toestelle is dikwels ontoegangklik en daarom is dit moeilik om bestaande toestelle te verander om gespesialiseerde funksies, soos netwerkkodering, by te voeg. Hierdie tesis los hierdie probleme op deur ’n skakelaar met ’n netwerkkodering in ’n sagteware en hardeware omgewing te implementeer. Die sagteware gebaseerde netwerkkoderingsfunksies word geskep as Virtuele Netwerk Funksies (VNF’s) wat na behoefte in ’n SGN omgewing ontplooi word. Die hardeware gebaseerde netwerk kodering funksionaliteit word geïmplementeer met behulp van ’n FPGA toestel. Beide sagteware en hardeware implementasies word saam geïntegreer met behulp van die OpenFlow gebaseerde SGN brug, Open vSwitch (OvS). Die algehele platform is ontwerp om op ’n algemene rekenaar te funksioneer en kan die netwerkkodering in beide fisiese en virtuele netwerkomgewings evalueer, met fisiese en Virtuele Masjiene (VM). Die implementering van die netwerkkodering word geëvalueer met behulp van ’n ware pakket gebaseerde netwerk. Die VNF gebaseerde netwerkkodeerder en dekodeerder het ’n kodering van onderskeidelik 164.67 en 87.99 Mbps. Die FPGA gebaseerde netwerkkodeerder en dekodeerder kan ’n kodering van 223.16 en 496.40 Mbps onderskeidelik behaal, met ’n versnelling van 1.36 en 5.71 oor die VNF gebaseerde implementasies. Die FPGA logika word uitgevoer met behulp van ’n enkele PCIe baan en 50 MHz klokfrekwensie. Met die volle benutting van die FPGA hulpbronbenutting, al vier moontlike PCIe bane en die maksimum klokfrekwensies, kan die kodeerder en dekodeerfunksies geïmplementeer word om ’n kodering van onderskeidelik 1.5 en 2.96 Gbps te verkry. Die tesis demonstreer dat FPGA gebaseerde netwerkkodering uitvoerbaar is en dat dit ’n beduidende toename in prestasie lewer ten opsigte van sagteware gebaseerde implementerings. Die werkverrigting word egter dramaties verminder as dit geïntegreer is in ’n werklike pakketgebaseerde netwerk. Toekomstige werk moet fokus op die optimalisering van die integrasie tussen OvS en die netwerkkoderingsfunksies. Dit sal hopelik die moontlike knelpunte vir integrasie verlig.
Description
Thesis (MEng)--Stellenbosch University, 2020.
Keywords
Internet of Things, Field programmable gate arrays -- Design and construction, Network coding capable switch, 5G mobile communication systems, UCTD, Software-defined networking (Computer network technology)
Citation