Näytä suppeat kuvailutiedot

Muistinhallinta DPDK-pohjaisessa sovelluksessa

Saarela, Janne (2021)

dc.contributor.authorSaarela, Janne
dc.date.accessioned2021-05-17T06:03:32Z
dc.date.available2021-05-17T06:03:32Z
dc.date.issued2021-
dc.identifier.urihttp://www.theseus.fi/handle/10024/497661
dc.description.abstractOpinnäytetyön aiheena oli Data Plane Development Kit (DPDK), joka on verkkopakettien prosessointia nopeuttamaan kehitetty sovelluskehys. Se esiteltiin yleisellä tasolla, kerrottiin sen historiasta ja siitä mitä se sisältää. Työssä kuvailtiin tarvetta pakettiprosessoinnin nopeuttamiseen verkkotoimintojen siirtyessä toimintokohtaisesta laitteistosta yleiskäyttöisille prosessoreille. Lisäksi esiteltiin lyhyesti muitakin pakettiprosessoinnin nopeuttamiseksi kehitettyjä sovelluksia. Työssä esiteltiin lyhyesti DPDK:ta käyttäviä sovelluksia, kuten Open vSwitch, OpenDataPlane ja MoonGen, sen osoittamiseksi, mitä kaikkea DPDK:ta käyttäen voidaan tehdä. Lisäksi keskityttiin tarkastelemaan DPDK:n tärkeimpiä kirjastoja ja kerrottiin, miten ne hoitavat verkkopaketteja, muistia ja ajastusta. Muistinkäytön osalta kerrottiin ennen muuta muistin sivutuksesta ja DPDK:n muistinkäsittelyn eroista päivitysten 17.11 ja 18.11 välillä. Lisäksi esiteltiin Poll Mode -ajureita, joita käyttäen DPDK kyselee verkkokortille saapuvia paketteja. Työssä tutkittiin valmista DPDK:n päälle kehitettyä sovellusta ja esiteltiin sen tapaa hoitaa muistin varausta, käyttöä sekä vapautusta. Tämän lisäksi pohdittiin mahdollisia tarpeita ja tapoja muuttaa sovelluksen muistinkäsittely dynaamisemmaksi, sen sijaan että muisti varattaisiin sovelluksen käynnistyksen yhteydessä. Työssä testattiin muistinhallinnan muutoksia valmiissa sovelluksessa ja todettiin, ettei nopeasti tapahtuvalle viestinnälle kannattanut tehdä dynaamista muistinvarausta, mutta kerran tapahtuville varauksille pystyttiin käyttämään DPDK:n muistinvarausfunktioita.fi
dc.description.abstractThe subject of this thesis was Data Plane Development Kit (DPDK) which is a framework meant to speed up packet processing. In this thesis, a general introduction about DPDK was given including its history and what comes with DPDK. In this work the need for faster packet processing was described as network functions are moving from application-specific hardware to virtualized versions. Other software for faster packet processing were briefly described. Some applications built on DPDK were introduced to give a picture of what is possible when using DPDK. These applications were Open vSwitch, OpenDataPlane and MoonGen. The DPDK core libraries were reviewed and their use in packet handling, memory handling and timing was presented. Memory paging and development of memory use between DPDK’s patch 17.11 and 18.11 were also discussed. Poll Mode Drivers which in DPDK are used for polling network interface cards were discussed. An application built on DPDK was studied. It’s mechanisms for allocating, using and freeing the memory was presented. Possible needs for more dynamic memory handling and new ways to implement those mechanisms in such ways were thought out as the system worked in a way that reserved all needed memory at the beginning of its operations. The changes in the memory handling of the application were tested, and it was found that it was not useful to use dynamic memory handling in parts where speed was needed. For allocations that were used once, DPDK’s memory allocation functions could be used.en
dc.language.isofin-
dc.rightsfi=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|sv=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|en=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|-
dc.titleMuistinhallinta DPDK-pohjaisessa sovelluksessa-
dc.type.ontasotfi=AMK-opinnäytetyö|sv=YH-examensarbete|en=Bachelor's thesis|-
dc.identifier.urnURN:NBN:fi:amk-202105158817-
dc.subject.specializationSulautetut järjestelmät ja elektroniikka-
dc.subject.degreeprogramfi=Tieto- ja viestintätekniikka|sv=Informations- och kommunikationsteknik|en=Information and Communications Technology|-
dc.subject.ysovirtualisointi-
dc.subject.ysosovelluskehykset-
dc.relation.contractorNokia Solutions and Networks Oy-
dc.subject.disciplineTieto- ja viestintätekniikan tutkinto-ohjelma-
annif.suggestions.linkshttp://www.yso.fi/onto/yso/p28416|http://www.yso.fi/onto/yso/p724|http://www.yso.fi/onto/yso/p3056|http://www.yso.fi/onto/yso/p25000|http://www.yso.fi/onto/yso/p20743|http://www.yso.fi/onto/yso/p22009|http://www.yso.fi/onto/yso/p10874|http://www.yso.fi/onto/yso/p4550|http://www.yso.fi/onto/yso/p14913|http://www.yso.fi/onto/yso/p5461fi


Tiedostot

Thumbnail

Viite kuuluu kokoelmiin:

Näytä suppeat kuvailutiedot