izpis_h1_title_alt

UČINKOVITE IZVEDBE OMREŽNIH NAPRAV NA VEČJEDRNIH RAČUNALNIŠKIH PLATFORMAH
ID BUH, TOMAŽ (Author), ID Trobec, Roman (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (4,30 MB)
MD5: 01130D8DB0140D89212BACE7C5490636
PID: 20.500.12556/rul/c5de65a6-6f04-43f7-8d26-0a2abe0c47c5

Abstract
V doktorski disertaciji obravnavamo izboljšave večjedrnih omrežnih naprav na področju zmogljivosti in učinkovitosti. Glavni motiv za izboljšave so stalno prisotne zahteve po hitrih in zanesljivih povezavah med elektronskimi napravami vseh tipov. Te naprave omogočajo uporabnikom številne omrežne storitve, pri katerih je zahtevana neprekinjena povezljivost. Omrežja, ki to povezljivost omogočajo, vzpostavljajo in vzdržujejo omrežni operaterji, ki potrebujejo vedno bolj učinkovite izvedbe omrežnih naprav, s katerimi lahko zagotavljajo visoko kakovostne in stroškovno učinkovite omrežne storitve. Visoke zmogljivosti in energijsko učinkovitost je mogoče doseči z uporabo večjedrnih računalniških platform, ki v omrežjih pospešeno zamenjujejo enojedrne platforme. Uporaba večjedrnih platform sama po sebi ne prinese povečanja zmogljivosti, če jim programska oprema ni prilagojena, tako da lahko ustrezno izkorišča razpoložljive sistemske vire. Postopki obdelave omrežnega prometa v omrežnih napravah morajo biti izvedeni vzporedno, kar lahko dosežemo na dva načina: a) z uravnoteženim razporejanjem omrežnega prometa na razpoložljiva procesorska jedra in b) z vzporedno izvedbo omrežnih funkcionalnosti, ki jih nudi omrežna naprava. Za osnovi cilj doktorskega dela smo si zadali razvoj in ovrednotenje dveh inovativnih izboljšav za povečanje zmogljivosti in učinkovitosti večjedrnih omrežnih naprav. Prvo izboljšavo predstavlja adaptivna metoda razporejanja omrežnega prometa, ki smo jo zasnovali kot kombinacijo razporejanja omrežnega prometa na podlagi omrežnih paketov in na podlagi tokov. Pri tem je vsakemu procesorskemu jedru dodeljena izbrana količina žetonov, ki določajo koliko omrežnih paketov sme določeno jedro obdelati. Vsak obravnavan paket zmanjša število žetonov za enega. Žetoni se periodično prerazporejajo glede na povprečno obremenjenost procesorskih jeder, s čimer je breme obdelave omrežnega prometa uravnoteženo razporejeno med razpoložljiva jedra. Če omrežni paket sprejme jedro, ki nima več na voljo nobenega žetona, ga posreduje najbližjemu sosednjemu jedru, ki ima dostop do skupnega predpomnilnika, s čimer se minimalno poveča čas medjedrne komunikacije. Opisano metodo razporejanja omrežnega prometa smo vključili v omrežno napravo Linux Bridge in jo v preizkusnem okolju ovrednotili z dvema scenarijema. Pri prvem scenariju smo posnemali najmanj ugodne pogoje delovanja, pri katerih je poudarek na enem prevladujočem podatkovnem toku v omrežnem prometu, ki je vseboval veliko količino omrežnih paketov. Pri drugem scenariju pa smo posnemali hrbtenično internetno povezavo, pri čemer je mrežni promet sestavljen iz večjega števila tokov s približno enakomerno porazdelitvijo omrežnih paketov. V prvem primeru se zmogljivost, ki jo merimo s prepustnostjo, z uporabo predlagane izboljšave poveča za 2,8-krat, pri čemer smo uporabili štiri procesorska jedra. V drugem primeru pa zmogljivost ostane na približno enakem nivoju, kot pri razporejanju omrežnega prometa na podlagi tokov, ki je privzet način obravnave omrežnih paketov. Drugo izboljšavo predstavlja vzporedna izvedba šifriranja omrežnega prometa, s katerim sta zagotovljeni varnost in zasebnost omrežnih povezav. Pri tem smo uporabili kombinacijo postopkovne in podatkovne dekompozicije, s katero smo izvedbo pogostih šifrirnih algoritmov razdelili na več opravil, ki lahko tečejo sočasno. Ta opravila se morajo medsebojno usklajevati, kar med njimi zahteva dodatno komunikacijo, ki lahko zmanjša učinkovitost vzporedne izvedbe. Dodatna komunikacija ima sicer pri šifrirnih algoritmih, ki so večinoma računsko nezahtevni, še posebej velik učinek, saj lahko relativno malo komuniciranja hitro izniči pohitritve, ki so dosežene z vzporedno izvedbo. V okviru izboljšave smo zato dodatno optimizirali komunikacijo med opravili z uporabo atomarnih spremenljivk in vhodno-izhodnih vrst, ki ne potrebujejo zaklepanja kritičnih delov program. Vsa opravila smo dodelili sosednjim jedrom z dostopom do skupnega predpomnilnika in tako povečali hitrost medjedrne komunikacije. Rezultati vrednotenja prikazujejo dosežene pohitritve na računalniku z dvanajstimi jedri: 1,9 pri AES in 6,3 pri 3DES ter 7,6 pri RSA šifrirnem algoritmu. Poleg dveh opisanih izboljšav je v disertaciji predstavljena tudi metodologija za sistematično vrednotenje zmogljivosti in učinkovitosti večjedrnih omrežnih naprav. Definirali smo ključne kriterije za ovrednotenje zmogljivosti in učinkovitosti, ki poleg standardnih meril za zmogljivost in kakovost zagotavljanja storitev, vsebujejo tudi merila za merjenje izkoriščenosti sistemskih virov kot npr. obremenjenost procesorskih jeder, delež zadetkov predpomnilnika, pohitritve in učinkovitost vzporednih izvedb. Opisani so tudi postopki sistematičnega vrednotenja učinkovitosti omrežnih naprav, ki vključujejo izgradnjo preizkusnega okolja, pripravo preizkusnih orodij, izvedbo preizkusnih postopkov in analizo rezultatov. Predstavljena metodologija je bila uporabljena za izvedbo primerjalnih meritev med različnimi izvedbami omrežnih naprav s poudarkom na primerjavi tradicionalnih strojno definiranih in hitro razvijajočih se programsko definiranih omrežnih napravah, ki tečejo na splošno dostopnih računalniških platformah. Primerjava je pokazala, da so strojno definirane omrežne naprave bistveno bolj zmogljive in tudi energijsko učinkovitejše v primerjavi s programsko definiranimi napravami. Le-te pa so zaradi veliko večje fleksibilnosti veliko bolj stroškovno učinkovite, saj je njihov razvoj enostavnejši in hitrejši, hkrati pa lahko pouporabljajo obstoječo računalniško opremo. Vanje je tudi enostavnejše vključevati inovativne izboljšave, kot npr. metode predstavljene v tem delu, hkrati pa se lažje vključujejo v sodobne koncepte omreženja, kot npr. virtualizacija omrežnih funkcionalnosti.

Language:Slovenian
Keywords:omrežna naprava, večjedrna platforma, razporejanje omrežnega prometa, vzporedni sistemi, virtualizacija omrežij, učinkovitost, uravnovešenje bremena, zamenjava vrstnega reda omrežnih paketov
Work type:Doctoral dissertation
Organization:FE - Faculty of Electrical Engineering
Year:2015
PID:20.500.12556/RUL-30586 This link opens in a new window
COBISS.SI-ID:10951508 This link opens in a new window
Publication date in RUL:23.02.2015
Views:1621
Downloads:584
Metadata:XML RDF-CHPDL DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:EFFICIENT IMPLEMENTATIONS OF NETWORKING DEVICES ON MULTICORE HARDWARE PLATFORMS
Abstract:
The dissertation is focused in the performance and efficiency improvements of multi-core based networking devices. The main motivation for the improvements presented in this work are constantly growing demands for fast and reliable network communications between all types of electronic devices. These devices offer to users an ever increasing number of network-based services, which require a continuous connectivity to computer networks. Service providers, which must maintain these large networks, demand efficient networking devices, so they can provide cost-effective high-quality services. In order to meet these demands, single-core based networking devices are being replaced by multi-core based devices, which are able to offer significantly more performance and at the same time consume less power. The usage of multi-core networking devices itself, however, does not improve the performance, unless devices are modified in a way that all available hardware resources are utilized. Therefore, to make multi-core networking devices efficient, the process of handling the network traffic must be parallelized, which can be achieved by two different concepts: a) by a distribution of the network traffic among available processor cores and b) by a parallel implementation of offered network functionalities. The main goal of our work is to develop and evaluate two innovative improvements of networking devices, implemented on multi-core architectures, which can increase the performance and efficiency of networking. The first improvement is in development and implementation of an adaptive network-traffic-distribution method, which is a combination of packet-based and flow-based traffic distributions. In this method each core is assigned a specific amount of tokens, which represent the number of network packets that the core is allowed to process. Each processed packet consumes one token. The tokens are redistributed periodically according to the average core load, so the load of packet processing is balanced among available cores. If a core runs out of tokens, it assigns the packet to the nearest adjacent core, possibly operating on the shared cache memory, which minimizes the time of inter-core communications. We experimentally validated the method by integrating it in to the Linux Bridge and performed the tests with the “worst case” scenario, with one dominant flow, and the “backbone-link” scenario, with a large number of flows that have a similar packet rate. In the first case, the performance in traffic throughput is improved by a factor of 2.8 by utilizing four processing cores. In the second case with a large amount of traffic flows, the performance remains similar to the existing state-of-the-art flow-based methods. The second improvement is a parallelization of the network-traffic encryption process, which is used to ensure the safety and privacy of network communications. We combined functional and data decompositions to create many tasks in common encryption algorithm implementations that can run in parallel. These tasks, however, must be synchronized, which reduces the efficiency of the parallelization. Because encryption algorithms have low computational complexity, even low synchronization overhead can nullify the improvements of the parallelization. We therefore minimized the time of inter-task communication by assigning the tasks to adjacent cores with common cache memory and by using atomic variables and lock-free queues for network packet storage. The results of the verification show, that we achieve, on a computer with twelve cores, speedups of 1.9, 6.3 and 7.6 with encryption algorithms AES, 3DES and RSA, respectively. In addition to the two presented methods we also defined a methodology for systematic efficiency evaluation of multi-core based networking devices. We defined key criteria that include standard performance and quality-of-service metrics as well as other indicators, which evaluated the utilization of system resources e.g., core load, cache hit ratio, speedup and parallel efficiency. We described steps required to perform the systematic evaluation, which include establishing a testing environment, preparing testing tools, conducting testing procedures defined according to evaluation criteria, and analyzing the results. The established testing methodology was used to compare different implementations of networking devices with the focus on the comparison of traditional hardware-defined networking devices with the emerging software-defined networking devices, which are implemented entirely in software and run on the commercial-of-the-shelf hardware. The results have shown, that hardware defined networking devices achieve more performance and are also significantly more energy efficient than software-defined devices. The latter are on the other hand much more flexible, which results in a simple and cost effective development. Due to their flexibility, the previously described performance-improvement methods can be more easily embedded in the software-defined devices. Additionally, they can be easily used in contemporary networking concepts such as the network functions virtualization.

Keywords:networking device, multi-core architecture, traffic distribution, parallel computing, network virtualization, efficiency, load balancing, packet reordering

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back