Network Infrastructure Optimization

Balazs
Nemeth

Bij de internetaanbieders is er een sterk stijgende vraag naar bandbreedte, dit door klanten die steeds aan hogere snelheden materiaal willen raadplegen. Internetaanbieders gebruiken netwerkapparatuur die ontwikkeld is voor slechts een functie. De apparatuur wordt geïmplementeerd met ASICs (hardware ontwikkeld voor slechts een doel). De gespecialiseerde apparatuur is nodig om alle data tijdig te verwerken. Om bijvoorbeeld firewall functionaliteit te voorzien, moet er een nieuwe toestel geïnstalleerd worden dat deze functionaliteit aanbiedt. Tegelijkertijd wordt er momenteel ook aan een versneld tempo geïnnoveerd op gebied van netwerk protocollen. In sommige gevallen zorgt de beperking van de aangeboden functionaliteit van de apparatuur ervoor dat de apparatuur vervangen moet worden. Een oplossing voor de beperking in functionaliteit is het gebruik van programmeerbare ASICs. Hierbij kan (een deel van) de functionaliteit geprogrammeerd worden. In de praktijk wordt er een combinatie van ASICs (voor de functionaliteit die vast staat) en programmeerbare ASICs gebruikt. Op het eerste zicht lijkt dit de ideale oplossing te zijn, maar de kosten zijn te hoog.

Daarom wordt er verder gezocht naar goedkopere alternatieven en overwegen internetaanbieders om over te stappen naar software oplossingen die geïmplementeerd worden op standaard servers. Het is een actueel onderwerp aangezien het witboek dat het idee introduceert recent (in oktober 2012) werd gepubliceerd. Door softwareoplossingen te gebruiken wordt het, dankzij hun flexibiliteit, mogelijk vernieuwingen aan te brengen in de netwerkinfrastructuur, dit met een kostverlagend resultaat. Deze thesis is een haalbaarheidsstudie die gericht is op de volgende vraag: ``Kan netwerkapparatuur, die gebruikt wordt door internetaanbieders, vervangen worden door software implementaties op processoren die dienen voor algemene doeleinden, zonder de kwaliteit van de aangeboden diensten negatief te beinvloeden?''. Hierbij richten we ons op een netwerkfunctie (Quality of Service). Quality of Service functionaliteit laat de internetaanbieders toe om de kwaliteit van de aangeboden diensten te garanderen en te verhogen. Deze functie wordt beschouwd in combinatie met een broadband remote access server implementatie. De broadband remote access server is apparatuur waarlangs alle klanten van een internetaanbieder met het Internet verbonden zijn. Tijdens de analyse van het systeem, wordt de software en de interactie met de onderliggende hardware bestudeerd. De studies zijn niet eigen aan de specifieke netwerkfunctie en dezelfde werkwijzen, technieken en tests kunnen gebruikt worden voor andere implementaties. De doeltreffendheid van het systeem wordt bestudeerd aan de hand van meetresultaten. Er worden methodes gezocht en gepresenteerd om gelokaliseerde bottlenecks te omzeilen en het systeem te optimaliseren. Zowel de technieken als hun motivaties worden besproken. Door telkens de motivatie te bespreken wordt aangetoond dat de technieken niet gebonden zijn aan een specifiek systeem. Ze zouden gebruikt kunnen worden in andere implementaties (zelfs buiten het domein van netwerkfuncties). De thesis werd uitgevoerd als deel van een stage bij Intel.

De thesis is onderverdeeld in vijf hoofdstukken. Het eerste hoofdstuk bespreekt de doelstellingen van de thesis en overloopt de gehanteerde structuur. In het tweede hoofdstuk worden de algemene concepten aangehaald waarnaar teruggegrepen wordt in de volgende hoofdstukken. Er wordt beschreven welke metrieken gebruikt worden om de doeltreffendheid van het systeem uit te drukken. De metrieken kunnen gebruikt worden om verschillende systemen te vergelijken en het effect van aanpassingen aan implementaties te analyseren. Om deze metingen uit te voeren werd er gebruik gemaakt van gespecialiseerde en erkende testapparatuur. De beperkingen in de functionaliteit van de testapparatuur worden aangehaald en er wordt beschreven hoe deze beperkingen omzeild kunnen worden. In het derde hoofdstuk wordt besproken hoe we de Quality of Service functionaliteit hebben toegevoegd aan een bestaande broadband remote access server implementatie. We richten ons vooral op aspecten van het onderliggende systeem die de doeltreffendheid van de software implementatie beïnvloeden. In het vierde hoofdstuk halen we optimalisaties aan die gebruikt zijn in de software implementatie. Dankzij deze optimalisaties was het mogelijk om de doeltreffendheid van het systeem te verhogen en acceptabele resultaten te behalen. In het laatste hoofdstuk richten we ons op caching. Aangezien dit aspect van het systeem een grote invloed heeft op de uiteindelijke systeemprestaties, stellen we in dit laatste hoofdstuk een methode voor die de analyse van dit aspect mogelijk maakt. De methode steunt op functionaliteit die eventueel in toekomstige processoren aanwezig zou kunnen zijn.

Als de prestaties aanvaardbaar zouden zijn, dan zouden internetaanbieders het eventueel overwegen om gelijkaardige systemen te gebruiken binnen hun infrastructuur omwille van de verhoogde flexibililteit en mogelijkheid tot het verlagen van de kosten. We hebben ons enkel gericht op een specifiek geval waarbij we verschillende problemen zijn tegengekomen. We hebben de resultaten geanalyseerd en technieken voorgesteld om de prestaties te verhogen. We hebben aangetoond dat, met de juiste technieken en met begrip van de onderliggende hardware, meer dan acceptabele (in vergelijking met een gepubliceerde analyse van het internetverkeer in het jaar 2013) prestaties gehaald kunnen worden. In de meeste gevallen halen we zelfs het theoretisch maximum, wat, in de praktijk, onrealistisch is.  Een ander onderwerp waar we in de toekomst aandacht aan zouden willen besteden is het verder onderzoeken van de bestaande bottlenecks. Als we deze bottlenecks in meer detail begrijpen, dan zouden we verder doorgedreven optimalisaties kunnen voorstellen. Aangezien we ons beperkt hebben tot de snelheid van 10GbE zouden we, in de toekomst, systemen die gebruik maken van 40GbE verbindingen, willen analyseren. Tenslotte, in de context van netwerkfunctie virtualisatie, is er interesse voor virtualisatie op dezelfde wijze waarop het gebruikt wordt in de IT industrie. Het zou daarom relevant zijn om virtualisatie, en de verschillende configuraties die hierbij mogelijk zijn, te analyseren tijdens ons toekomstige werk.
 

Download scriptie (3.44 MB)
Universiteit of Hogeschool
Universiteit Hasselt
Thesis jaar
2014