Network Interface Controller Offloading in Linux
Akcelerace síťových karet v Linuxu
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/99083Identifikátory
SIS: 200230
Kolekce
- Kvalifikační práce [11214]
Autor
Vedoucí práce
Oponent práce
Bulej, Lubomír
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
12. 6. 2018
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
hardwarová akcelerace síť Linux Traffic ControlKlíčová slova (anglicky)
hardware offloading network Linux Traffic ControlModerní síťové kontrolery umožňují přesunout dílčí práci spojenou se zpracováním paketů do hard- ware za účelem zvýšení výkonu. V současnosti se v Linuxovém jádře některé pokročilé schopnosti kontrolerů využívají pro akceleraci subsystému Traffic Control. Jelikož tento subsystém byl vytvořen za zcela jiným účelem, jeho využití pro akcelerované zpracování paketů je nepraktické a nespolehlivé. Navíc v současném stavu není řešení zdaleka schopné využít všechny schopnosti kontrolerů. Informace o skutečných schopnostech kontrolerů nejsou dobře dostupné. Tato práce přistupuje k problému z jiné strany. Prozkoumali jsme pět vysoce výkonných síťových kontrolerů a podrobně zmapovali jejich schopnosti klasifikace a zpracování paketů. Spolu s předpokla- dem pro budoucí vývoj jsme identifikovali a zobecnili společné rysy. Z těchto informací jsme navrhli nový subsystém Linuxového jádra, který lépe slouží účelu hardwarové akcelerace. Model navrhovaného subsystému je dostatečně flexibilní, aby pokryl pokročilé schopnosti kontrolerů, ale zároveň dostatečně striktní, aby umožnil hardwarovou akceleraci a neopakoval problémy, kterými trpí akcelerace obecného subsystému Traffic Control.
Modern network interface controllers allow the host to offload packet processing to hardware in order to improve performance. At the present time, the advanced features are utilized in the Linux kernel by offloading the Traffic Control subsystem. Since this subsystem has been designed for a completely different purpose, its usage for hardware offloading is impractical and unreliable. Furthermore, in its current state the subsystem is not capable of utilizing all hardware features, which are often poorly documented. The presented work adopts a different approach to the problem. Five high-end controllers and their packet-processing pipelines were examined in detail. Accounting for their projected future development, common traits and features were identified. The researched information was used to draft a proposal for a new Linux subsystem, more compatible with hardware offloading than the current solution. The proposed subsystem defines a sufficiently descriptive interface to utilize the majority of hardware-offloaded features while avoiding common problems caused by excessively generalized approach of Traffic Control.