0:00:16dobrý den
0:00:17já vím
0:00:18já pracuji ve společnosti redhat konkrétně na kernel týmu který se stará
0:00:24o to aby ten takové změnou s fungoval aktuálníma will takže udržujeme
0:00:31ovladače
0:00:32jo dobrý starý na R
0:00:35já konkrétně se zaměřili
0:00:37ovladače pro síťové karty
0:00:39má na starosti potom omezení soustavu ovladače spojených slavit což ovladač pro
0:00:45se ti gigabitové jeho společnosti housko
0:00:51přednášku sem nazval kernel a síťové karty
0:00:56kernel
0:00:57mám na mysli samozřejmě linuxový kernel
0:01:01chtěli ještě síťových a tak bych se omezil pouze na internetové karty
0:01:07z toho důvodu že jo jiných typech
0:01:09síťových rozhraní to vím
0:01:11ještě méně než o něm
0:01:15ještě bych chtěl říct že
0:01:17pokud se kdykoliv během
0:01:19přednášky vám třeba nebude nic jasné neuvedli nějakou
0:01:23poznámku námitku klidně se na sebe upozorněte
0:01:27eště na mě
0:01:29musíte čekat z dotazy až nakonec přednášky
0:01:34a chtěl bych se zabývat některými tématy
0:01:38vyplývají s toho jak
0:01:40narostla let rychlost síťových rozhraní
0:01:46na začátek takový trošku historický úvod co ten internet je to
0:01:52technologie to
0:01:54počítačové sítě vzniklá sedmdesátých letech
0:01:57ve výzkumném středisku společnosti xerox maloval to research sem to
0:02:04to je mimochodem známé nejenom
0:02:07jenom tady tímhletím přínosem se o tom že nandali internet ale
0:02:11nemyslej tam taky například laserovou tiskárnu
0:02:15bitmapou grafiku
0:02:19dobrý grafická uživatelská rozhraní
0:02:21počítače umyješ
0:02:24je to s tou nemohli vidět třeba ve filmu piráti zase mě konverzi jestli ste
0:02:27to viděli tak tam je scének to pustí džob se tam příde inspirovat a
0:02:32running tam nápad
0:02:36moc internetu
0:02:38si řekli že vložku dá kdyby se taková zajímavá technologie
0:02:42a navyšuje do ztracená že po podaří musím přesvědčit tři společnosti
0:02:48že to equipment intel a xerox aby
0:02:52standardizovali
0:02:53je to technologie aby
0:02:55není vyvíjely společně
0:02:58no a je dána společná specifikace roce data se osmdesátá
0:03:02v tom samém roce započala jí standardizace v rámci organizace IEEE
0:03:07i když
0:03:09žádný standard pak vyšel pohotově ty podívat opile později
0:03:14no a
0:03:15když se podíváme na po historické počátky linuxu
0:03:18linus torvalds začal jeden osum set devadesát jedna to ještě žádné síťové možnosti z cihel
0:03:26nějaké také počátky se na ty do roku devadesát dva nebo devadesátici
0:03:32já jistý plasma jo
0:03:34napsal první síťový ovladač polynom sednout ovladač pro síťovou kartu dnes takže to osum nula
0:03:40tři
0:03:41jinak
0:03:43s prostředím bitová data
0:03:48ten tento člověk
0:03:50všem
0:03:51za začal dostává takovou hromadu mailů protože není jo to není velký zájem
0:03:58pořád ho žádají o pomoc protože nebo zahnali je to rozchodit
0:04:03na to neměl trpělivost tak
0:04:05o tom
0:04:06tady tenhle tu štafetu přetlakových někdo jiný port pět a ten pan
0:04:12který ten původní síťový stack upravil pojmenovaného ne což je
0:04:20tento se docela
0:04:22začala používat
0:04:24mezi unixovými nadšenci
0:04:26nebylo to tak jednoduché jako dneska že dneska si stáhnete co distribuci všecko netaktizuje
0:04:32takové růžovému neučil tedy nebylo byste si stáhli obilím se torvaldse zraky slezte sejměte zkompilovat
0:04:39a o pečovat protože ta podpora pro sítě
0:04:43to jako samostatný patch málo by to šlo aplikovatelnou na tu verzi ke dnu kterou
0:04:47ste zrovna měli takže ste museli je trochu programovat a trošku si to při ohnout
0:04:51aby to fungovalo
0:04:52poproste strávil ještě několik dalších dní vychytávají všech je které ste přitom zasekali pak ještě
0:04:58chyb které tam byly hodně
0:05:01no to vackem stejný problém měli
0:05:05člověk alenko s tady vše eště dneska takovým znamínkem na jaké
0:05:10tady na univerzitě svou cílového sou se pokoušel odladit tady ten cítili stack nebo dva
0:05:17a vydal svůj vlastní verzi pojmenoval nestůj divák
0:05:20a linus torvalds tuto verzi zařadil do hlavního stromu
0:05:25čili když v roce devadesát čtyři rovinná mínus verze jedna nula
0:05:29tak ušního podporu prolízt některá síťová rozhraní
0:05:34tam je sítě byste
0:05:36S T P že jo a to tam asi dvacet síťových ovladačů pro tehdy obvyklé
0:05:40deseti mega bytovek a
0:05:42několik přivolat nebo
0:05:45karty firmy příkon která byla taková celá slavná tedy
0:05:50nějaká spousta ovladačů vona všelijaké klony
0:05:54slovník ale ten tisíc dané dva tisíce
0:05:57ten se vyráběly už od osmdesátých let původně
0:06:01formou novell ale jo ona je daleko otevřeno
0:06:06takže specifikaci kdokoliv mohl vyrobit vyrábět kompatibilní
0:06:14to je taková zrovna zajímavost
0:06:16skoro všechny ty ovladače byly tedy napsán jedině člověkem donalde kterém
0:06:22kuji
0:06:23ani na té dané své doby
0:06:26a se podíváte na těch hlaviček tak tam je takže opět
0:06:30a ty vlády spojených států reprezentován zní to
0:06:34ředitelem národní bezpečnostní agentury
0:06:37to už tehdy hennessy
0:06:40to je
0:06:41a řádky za to
0:06:44ten tak bokem
0:06:46neska si situace vypadá
0:06:48si takto
0:06:50ten výrazně zrychlil gigabitové rozhraní má dneska někdo počítači
0:06:55serverech běžně se setkáváme s deseti výroby jednobitovými kartami
0:07:00existuje standard pro štyřiceti sto gigabitový ethernet
0:07:05prodávají se asi ale eště sem se s nimi sobě nesetkal
0:07:13nejenom rychlosti narostly
0:07:16ten se změnily
0:07:18nízká fyzické podoby možné používáme
0:07:21pusté ani tenké koaxiální kabely
0:07:25takže celá síť
0:07:27co takže vo jeden nula dánský koaxiální kabel zní anglicky
0:07:31ty odbočky no stanic
0:07:35a
0:07:36K topologie na máme nějaký switch
0:07:40se stal osvědčenou
0:07:41vedou
0:07:43no kroucené dvoulinky nebo optika do koncových stanic
0:07:48takže ani se nemůže stát jako by si že na tom koaxy koaxiálním kabelu si
0:07:54stanice vždycky musela dávat pozor jestli při vysílání
0:07:58peněz na tom drátu nevysílá nějaká jiná stanice systém za sebou řešit tak
0:08:03A ten problém dneska není tak hvězdicové topology na tom drátu ke kolizím může docházet
0:08:09ale některé jiné podstatné rysy je ten tu zůstali proto sem ostatně také pořád říká
0:08:14ten
0:08:15a konkrétně třeba formát rámce linkové vrstvy
0:08:19čili to že při vysílání
0:08:23je nejdřív vyslána šesti bajtová cílová adresa potom je
0:08:28šesti bajtová z devadesáti jsou dva bajty které označil
0:08:32i typ toho rámce že pak sou data na konci nějaká kontrolní suma
0:08:38zůstal
0:08:40trošku s tím souvisí ten první problém se chci který tady budeme mít
0:08:47to že maximální
0:08:48jednotka pro přenos
0:08:51je stále ještě specifikována jako tisíc pět set bajtu to znamená ztrestat standard říká že
0:08:56ten dovídáme se měl obsahovat
0:09:00větších větší množství dat než tisíc pět set bajtu
0:09:04sice skoro každá ta
0:09:07my požádejte finance
0:09:09typicky se používají N T Ú až do devíti kilo bajtů a na své vlastní
0:09:14síti si to každý klidně tak je nastavit problémy s tím že vy byste chtěli
0:09:18tento kouzla internetu
0:09:21tak s tím moc neuspějete prostě po ní tento se takhle velké se přenáší
0:09:28takže tohle problém
0:09:30jsi dáme takový jenom jednoduchý výpočet s
0:09:33zastaví do tříd s deseti mega bitovou síťovku
0:09:37a tady téhle velikosti rámce
0:09:39nám vychází že při ňákym při takovém duchem přenosu
0:09:45soud ten systém zatížíme asi osmi sty pakety za sekundu
0:09:51dyž to
0:09:53ti z deseti gigabitový síť evko
0:09:56rychlost je podstatně větší a teda mezi pořád stejně velký takže počet paketů sekundě osum
0:10:01set tisíc takže
0:10:03to je
0:10:04o tři tady je výspa toto sekundu
0:10:07kdy chumelí že jde nejnovějších standard stop bitu tak může to za
0:10:13ostatní hardvér sice za tu dobu také výrazně zrychlil ale neřeklo do
0:10:19takže
0:10:21ta režie zpracováním takové množství paketů zaseknou že docela
0:10:26takový tok dokáže docela zatížit procesor
0:10:31aby to a ten operační systém zvládaly no najít nějaké způsoby jak s minimalizovat
0:10:37ty to je tu dobu potřebnou ke zpracování každého paketu
0:10:41a
0:10:42případně k tomu ještě
0:10:44jo že možnosti že dneska máme většinou více než jeden procesor tak nějaký zkušenosti
0:10:50více procesů
0:10:55trošku postupně zase osob těch počátku do
0:10:59do roku devatenáct set devadesát devět
0:11:02že se poprvé asi zase začalo to nějak pořád vyřešit
0:11:07problémy tohoto typu linuxu to do té doby s požadavek šanci ale už tranzistory
0:11:14s tou třeba R
0:11:16a ten jinou
0:11:18digital sezvali lasery takže
0:11:23do teista očekávání aby to bylo pořádný von
0:11:27microsoft si
0:11:28březnu objednal studium
0:11:30společnosti malinká
0:11:33tady prosím neplést s hrou počítačovou která sem a podobně
0:11:39mají K který jistiny
0:11:42rožku překvapivě
0:11:44microsoft když měli story zaplaceno microsoft že microsoft má podstatně rychlejší operační systém
0:11:51ty servery papínka rychlejší než mínus roli souborového serveru a tři celé sedm K rychlejší
0:11:57jako
0:11:57jak jsem
0:11:59a tady to jí takovýmto grafem který
0:12:02aniž bys tato musim moc vidět se jim vlastně tady stačí vám řekl že ta
0:12:06spodní čára josefa hodně
0:12:09že to rozhodně nevypadá nějak lichotivě polí
0:12:14no strhla sem tak trošku diskuze mezi nadšenci můžou to za osobně tak
0:12:20už to tak bývá komunitě a naštěstí
0:12:26někteří říkali že N krát schválně zvolil takovou metodologie aby jim slyšel co nejužší no
0:12:33možná jo ale prostě naším skutečným problém
0:12:36takže z vývojáři síťového stack unixu se na to podívali a s tím čím to
0:12:41asi tak byl
0:12:43tom testu do použít server který měl čtyři procesory čtyři síťové karty sto mega bitové
0:12:51linux už odveze dva nula uměl používáte více procesorů ale neděl to zrovna moc dobře
0:12:57v linuxu dva push téměř všechny subsystémy byly dobře paralelizovatelné ale sítě lístek stále neumožnila
0:13:05paralelní zpracování pořád
0:13:07bylo možné do sytivostech vložit najednou pouze
0:13:11pouze jeden
0:13:13jeden paket a ten zpracováváte ostatní procesory museli čekat
0:13:17nula to asi takže
0:13:20síťová karta nějaká přijela
0:13:22pak X
0:13:24bez linkujou
0:13:26mužova paměti
0:13:28vyvolá přerušení procesor s odchytil přerušení je teďka si ten kmitočet
0:13:33a začal zpracovávat uloží si to
0:13:36na jako vstupní frontu
0:13:40ta nic fronta dosytil ste bublanin na globální proces systém
0:13:45a
0:13:46unk tezemi bych nenarazil ze měl
0:13:50v rodině přerušení nic dalšího nedělal ale místo toho zpracování odložil na
0:13:55jsou potom na spodní stojí polovinu obsluhy přerušení
0:14:00a ten zleva měl ten problém že
0:14:03oni martina potom H
0:14:05mohla být zpracována pouze na jednom procesoru určitý okamžik
0:14:10když nějaký procesor automat tak žádný další procesor nemá udělá totéž
0:14:16takže když si co znázorníme takhle
0:14:19trošku názorněji máme čtyři procesory
0:14:22ne tady čas ubíhá shora dolů tak okamžiku
0:14:27počáteční
0:14:28na tom prvním řádku tabulky procesor cope u jedná zpracovává vstupní data ostatní procesory by
0:14:33taky chtěli zpracovat data ale nemusí čekat
0:14:37fokusem stane vlivu procesor tři rozsáhlá své vstupní data ostatní zase čekají takže
0:14:42ve tabulce hezky vidět že
0:14:44jako to užitečné zpracování dat je tam opravdu jenom velmi řídce rozloženo protokolu výkon tak
0:14:49sami
0:14:53řešení přišlo vynucovat čtyři testovací verzích dva tři něco ještě vtom ta šlapce
0:15:02řešením oporováno soft ne se nahraná toho předchozího sytivostech u
0:15:08a řešení vypadalo takže přijímací fronta v neblahém jedna globální a dva
0:15:13pro každé C tou zvlášť každý procesor má si
0:15:16frontu paketů které pak ve zpracovává
0:15:19a tady když ty
0:15:21mezi nimiž nebo to má osu byly nahrazeny mechanizmem slasti dat který zná prostě se
0:15:26zase z důvodu
0:15:28nebrzdila dveřima tu krásu vy výhodu že
0:15:32může být zpracovávat současně na více procesor
0:15:36že to taky první výrazný pokrok ve škálovatelnosti v oblasti
0:15:43stejné době se objeví další problém
0:15:46no problem
0:15:47zahlcení systému při vysoké síťové zátěží
0:15:51někdo používal linux jako směrová že prostor a když jeho posílat pakety
0:15:58frekvencí převyšující šedesát tisíc pak za sekundu tak sice pakety byly přijímaný ale žádné už
0:16:04ne odcházeli ven
0:16:06cože routeru a dá poněkud podstatná
0:16:11estrád se dařilo přenášet pouze zase sem číst paketu za sekundu když těch paketů blok
0:16:16místa už byl některé shazován
0:16:18a další problém taky s tím související bylo toho že pokud bylo více síťových rozhraní
0:16:23a
0:16:24některé z nich měli třeba mírný provoz
0:16:27jedno z nich mělo hodně silný provoz
0:16:29tak to s tím silným provozem dokázalo vyhladovět všechna ostatní prostě pro systém se věnoval
0:16:34pouze tomu
0:16:35ti nejvyššího uzel a na ta ostatní rozhraní sem nedostal
0:16:40z hlediska uživatele kterým třeba by mohl tomu systému
0:16:44tu fíly přijít a snažit se zjistit soustavě špatně tak to vypadalo dost špatně protože
0:16:50systém byl ve stavu které říkáme Y blok
0:16:54systémy ho pořád strašnou spoustu práce a
0:16:58já strašně užitečnou práci
0:17:00nedělal dálnic do nic podstatného prostě funguje no zpracoval ta přerušení a síťových karet a
0:17:06nesdílený čas na nic jiného
0:17:14řešení
0:17:16přišlo záhy
0:17:18úprava napíná spočívá tady na silnici mechanismu
0:17:24to spoléhá se zde na spolupráci a ovladače sytivostech chová síťové karty
0:17:30takovým způsobem že když teda příde první pak R vyvolá přerušení tak první co ten
0:17:35ovladač udělám stromy začal ten pak jednu zpracovává tak
0:17:39nejprve zakáže kartě vyvolat další přerušení
0:17:43řekne už nechci jako tebe nic dalšího slyšet
0:17:46hledáš potom oznámí ke nemůže kartama nějaká data připravena příjmů
0:17:52N L si můžete a seznam
0:17:55těch
0:17:56R
0:17:57a
0:17:59všech které mu byly takto oznámeny tak se
0:18:02třída věta
0:18:04vytahuje si z ní data
0:18:06odkazuje se
0:18:08střídavě teda ne já to tak že by jsi vytahl jeden
0:18:12jeden paket sime síťovky druhý patent další síťovky a třetí pak je střed z těch
0:18:17jako se na tu první
0:18:19a V
0:18:20s nějakou větší dávku vždycky v řádově desítka pakety to tak efektivnějšího se použijí
0:18:26procesorové keše
0:18:29takže typicky dneska taková dávka šedesát čtyři paketů no a pak teprve přepne na další
0:18:34síťovku a znič ta data
0:18:37takže tady tímhletím krokem je za zaručenou to že nedojde k tomu vyhladovění tím že
0:18:41se chvilku dotazy dnes lidické pokud H tak
0:18:45i ta síťovka která má největší provoz tak takže
0:18:52no a pokud se stane během tajito dotazování že karta už nemá žádná další data
0:18:57k dispozici kraby genomu na poskytnout tak
0:19:01ovladač to zaregistruje tu kartu víme sto seznam dotazovaný síťové k a zase není polí
0:19:11důsledku se to chová takže
0:19:15se si stochova velice ty
0:19:16a to tak že to uplně samo
0:19:20podle toho jak aktuální zátěž přechází mezi dvěma režimy a se mezi režimu přerušovacím dotazovací
0:19:27dokud je zatím a tak se to chová vlastně stejně jako dřív
0:19:31každý paket vyvolá své přerušení je jiné zpracován co nejmenší zpoždění všechny krásné
0:19:38zátěž vysoká
0:19:41tak ten neušli zjistí že tam je víc než jeden paket začne si ty pakety
0:19:45tak vytahovat sou tam krásnýmu tam vycházejte velké dávky cože dobré pro využití keší
0:19:51zároveň
0:19:54nedochází přerušením takže
0:19:57takže odpadá režie nejsme to totiž tak něco stojí přecházet pořád mezi přerušení
0:20:06tu férovou souvisí kartu
0:20:08a
0:20:10i ta výhoda je že
0:20:12když zátěž stoupne ještě více skutečně té systém není schopen ta data uškodila
0:20:18ty příchozí paket jsou zahazování ouška tou na vstupu na prostě
0:20:22už nemaj a kam ukládat
0:20:25splňuje všechny buffery tak je prostě začne zahazovat a tomu systému push tím nevzniká na
0:20:30další práce
0:20:38na ty
0:20:39nevím žádný a nevýhoda
0:20:41na pět oblíbené no potom napěnění musíte to znamená jenom nové a ty
0:20:47a to
0:20:48s těmi nepřišli není zlepšit funkci
0:20:51jak je zajímavý to že u s etapě syna krásnýho té doby takže s tím
0:20:55se to milovat L nové a
0:21:00tak tohle to bylo čistě softwérové řešení na úrovni linuxového jádra tak se ještě
0:21:05to dále zlepšit výkon celkový systém
0:21:09že se trošku spolehnout na nějakou asi tensions odtékat i samotné
0:21:15takovým technologie se říká obecně o float to znamená že nějak nějakou činnost chodíme na
0:21:21ke které kartě místo aby
0:21:23je to dělal procesor
0:21:28u všech časech deseti gigabitový cur existoval
0:21:32historika ty které měli tak jakousi inteligenci na sobě
0:21:36až kastou TCP hofu temži
0:21:40a toto je pokračovat evidences tam že takový že se stará kompletně jako celé T
0:21:46C P spojení aby schopen přímo T C P spojení jo posílat potvrzovacím tak pakety
0:21:51a tak
0:21:53čili tomu systému opravdu hodně odlehčuje
0:21:57ale má to i několik velký nevyhovět co je to takové neprůhledné protože kdovíjak která
0:22:02karta zrovna
0:22:04na tom dobře z implementací toho protokolu
0:22:07obchází to vrstvy operačního systému jo třeba typicky
0:22:11ne filtr pro firewall
0:22:15je tam nevěděli výrazně vyšší riziko že ten film ve bude mít nějakou bezpečnostní chybu
0:22:20zpracování to protokolu
0:22:23časem se taky ukázalo o pár letech že
0:22:27procesory zde zrychleny natolik že
0:22:30a když se vůbec nevyplatila to je ten že používat protože to vo pomalejší ještě
0:22:34to počítat
0:22:35ten protokol přímo na procesoru
0:22:38v linuxu toto nenulovými podporované protože david mile
0:22:42se tomu správce sítě roste kusu tomu vždycky ozimá
0:22:46S ti led
0:22:48a V
0:22:50co linuxu mi používat jsou tak zvané bezstavové soudy
0:22:54kdy karta si nemusí pamatovat jaká nám otevřela spojení
0:22:59většinou pracuje jenom
0:23:01s nějakými lokálním informacemi které se týkají konkrétního paketová nepotřebuje na plus dalších vašeho stavu
0:23:06si ukládat
0:23:08takže přeje takové méně kontroverzní a osum způsoby které mínus podporu
0:23:14tak
0:23:15jedna z věcí které karta může za tady lze se udělat je že může počítat
0:23:20kontrolní součty
0:23:21a ke té které tak
0:23:24možná ten třeba že hlavičkách D P datagram T C P a kdyby hlavičkách jsou
0:23:29nějaké kontrolní součty které slouží k tomu
0:23:31aby
0:23:33teda na která ten paket při nemohla ověřit že paket do na drátěném zašuměl poškoze
0:23:40takže na přímo ve straně tak a ta může ten tu kontrolní s ten kontrolní
0:23:44součet spočítat
0:23:46a co s tím udělal že
0:23:49sama hnedka rozhodnete na jestli ten výsledek byl správně
0:23:53to oznámíte jsou třeba dobrý nebo špatný
0:23:57a nebo
0:23:59spočítat kontrolní součet na celým rámcem který tam dojedu předává
0:24:04a tomu threadu předal
0:24:07výslednou hodnotu
0:24:08operační systém hodnoty tak na
0:24:11ještě vniklými několika dalšími operacemi dopočítá
0:24:15že to posta
0:24:17výrobci strýka většinou implementují ten první způsob a
0:24:23komentářích linuxového jádra
0:24:26je zřejmé že
0:24:28programátoři by byly radši kdyby si vybírali spíš ten druhý protože ten je obecnější
0:24:33toho
0:24:35to prvním způsobů je totiž
0:24:37je může použít pouze takové pro sítě a protokoly to E na které mysleli výrobci
0:24:42té karty takže typicky jo implementuju TCP na ty pereš tečkou někdy nás zítra šestko
0:24:48tečnou nic dalšího
0:24:50takže se to dalo tím obecnějším způsobem tak sto jakoby zdánlivě vícepráce ale není to
0:24:55o tolik víc práce pro ten nové sám
0:24:58lze použít na větší množinu síťový protokol
0:25:04a ten si asi straně toho se funguje tak že
0:25:07za jde takto předhodí rámec k odeslání a tam sto místě kde by měl být
0:25:12dvě kontrolní součet tak tam
0:25:15jsou třeba nuly
0:25:17a spoléhá na to že karta
0:25:19tam místo těch dvou napíše tam hodnotu sama spočítala jak jsou četla
0:25:24a zase sou tam dva způsoby některé karty po pro pouze TCP na ty praštíš
0:25:28kování nemí jakartě se dá říct
0:25:31ku odkad do karma spočítat ten kontrolní součet a
0:25:34na kterou pozici máte výsledek uložit takže todle zase používali se protokolu
0:25:40z hlediska správce
0:25:43jestli máte zapnete rich text kontrolní součty poznáte pomocí příkazu F tu
0:25:49tím malinká vám to vypíše nejenom tady
0:25:52jack sumy jestli máte zapnutého všechny ostatní budou fondů
0:25:57s tím velkým K se dají ty obvody nastavovat zapínám P na to konkrétně tady
0:26:01tyto jisker X těch sumy tady příkazem
0:26:04takes mutexovou
0:26:07tady drobné upozornění když ten nic všech sumy
0:26:11na návsi lossy straně zapnuté
0:26:14a budete sledovat síťový provoz pomocí nástroje váš R
0:26:18tak se vám může stát že tam uvidíte že všechny odkazy
0:26:23rámce
0:26:24posíláte se špatným
0:26:26špatným kontrolním součtem
0:26:28ale to jenom zdánlivé T krát způsobeno tím že varšava která mezí ještě předtím ještě
0:26:32karta ten rámec
0:26:34když ten času dopočítá šla to
0:26:37takže to není třeba se znepokojovat
0:26:43je způsobem může operační s operačním systému karta pomoci
0:26:48je T C P segmenty šorfovou
0:26:51asi takže síť tam že
0:26:56to sou vítr a
0:26:59odezvy se třetímu to enter může problém s tím malým random dnešní době tisíc pět
0:27:03set bajtů
0:27:05je T C P se jevišovkou slouží k tomu aby se vaší systém mohl chovat
0:27:09jako kdyby to enter bylo podstatně větší vnitřně pracuje s daty jako by mohl použít
0:27:15šedesáti čtyř kilové rámce
0:27:18a žáci paměti sestavy šedesáti štyřka lianec
0:27:22a celý najednou tak vepře na síťové kartě
0:27:25a ta karta
0:27:26ona sama uši dobu pozná kde má ty rámce rozdělit
0:27:32jak na ty rámce rozdělit jak jakým dopočítat doplní správné hlavičky
0:27:36trošku upravit aby ty hlavičky bezprávným pro ty si protokol
0:27:42šátky každému zní strany kontrolní součty a tohleto po pošle na dá
0:27:48ten na tom na tom schemátku
0:27:51ta první řada to má symboly zvát jako data paměti
0:27:54nejsou nemusí být nutně spojitá pro to sou tam ty bloky tak trošku oddělené ty
0:27:59data
0:28:00tam můžou být svých stránkách paměti možná tak a ta je schopna světa zkompletovat
0:28:07tak se k
0:28:11takže
0:28:13kvůli tomu je potřeba aby tady ta sou pozbyla zapnuta to schopno sbírat si data
0:28:17nesouvislých bloku paměti té se říká scattered
0:28:21taky zapnout vypnout pomocí tu
0:28:23a taky je nutné
0:28:25a vysílací straně mít zapnutej kontrolní součty
0:28:28je to právě proto že karta vlastně vyrábí tady ty červené hlavičky
0:28:34každé z nich je kontrolní součet potom který rámec takže musí mít
0:28:39každé každý z dneska
0:28:41A neposkytuje v tomto případě kernel musí o počet
0:28:47zase když to zapnete tak se nenechte zmást potom má šárkou kde místo toho abyste
0:28:52věděli že posíláte tisíc pět set majitele pakety F najednou posíláte třeba třicetikilometrové pakety
0:28:59tak zase jenom zdánlivé
0:29:01ta sobel tím že ten
0:29:03velice super paket bude rozdělení až na poslední chvíli samotnou kartu
0:29:11no na to teda tu výhodu
0:29:14kernel s těmi daty zachází jako nižších celcích takže
0:29:19odpadá nějaká režie která je jinak byla aplikována
0:29:23Á každý ten malý pak zvlášť
0:29:28tužku spřízněnou podobnou technologie kdyby první těšnov o
0:29:33ten se týká Ú D P datagramu ale je to podstatně méně obvyklejší než ta
0:29:38eso
0:29:39implementuje o aktuálně kernelu jenom ovladače ztvárnil ceny pro karty kterou se nevyrábějí
0:29:45a eště linkové ještě to implement vidíte aktuální zařízení se může bejt možná bity jo
0:29:50eště něco
0:29:52tak já diodes to sem proměnné jinak je to k ničemu protože
0:29:57fragmentování P datagram není obecně moc dobrý nápad lepší je prostě používat takové aplikace které
0:30:02pod postelí krát Ú D P datagram
0:30:09G eso
0:30:13jestli tady eště vyplývá všiml že
0:30:18to si networks u
0:30:20že hlavní
0:30:21přínos
0:30:22který nám dává té s není ani tak o tom že by
0:30:27že by to rozdělování nám velkého super paketu na malé kousky dělal přímo hamleta ty
0:30:32ale je to konceptuální spíš jenom tím že síťovým vztekem
0:30:37tady zpracováním síť sítěmi protokoly rozhodování o směrování a ve filtrem firewallem
0:30:44prochází prostě najednou G paket
0:30:47takže se amortizuje takže
0:30:52která by nebyla větší kdyby se to dalo mečichov s tím souvisí to opakovat pro
0:30:56každýho se zvlášť
0:30:58takže
0:31:00že se použil takový kývl že skutečně ke nebude
0:31:04interně pracovat s velikými rámci a až úplně na poslední chvíli dneš než ten rámec
0:31:09by měl při na síťové karty odeslání
0:31:11a vona seka softwarově
0:31:14a malé kousky
0:31:17takže sice kernel takle dělence plácneš případě terezko ale pořád je to lepší než dyby
0:31:23než dvě všechno
0:31:26všechny ty malé kousky procházeli celým si těm vztekem
0:31:31a to tu výhodu že
0:31:33se to de zobecnit i na jiné protokoly ne ženou T C P
0:31:40vy ufony na
0:31:44odesílací straně té svou adresovou
0:31:47na přijímací straně je něco podobného takový vlastně první taková inverze test neostré co sme
0:31:53začali s tím že sme měli paměti velikým super packet a vozovna drátu svého rozsekali
0:31:58na malé kousky tady je to
0:32:00takže přijmeme ztrátu malé kousky s postele mezi veliký super paket
0:32:05jak moc
0:32:06se tady tou účastni a D karty a jednu si dá samotný návrh toho muže
0:32:13individuální to záleží na implementaci
0:32:16někde tady k tomudle karty poskytovaná chci mechanismy a někdy to celé co
0:32:22každopádně důsledkem toho zase je takže se co ukázati chcete Ú trochu sníží protože
0:32:28takzvaně motokrosu to pak prostě levnější nejš spousta malý paketů
0:32:33má to tady ale nevýhodu když takhle sloučíte
0:32:37několik paketů
0:32:38tak uši z nich jiný kdybyste to potřebovali různých nině složité ty původním ale pak
0:32:45tečka na si neuložím dost informací k tomu aby věděl přibyly hranice mezi jednotlivými
0:32:51tohle je fatální problém u
0:32:55forwardovat kovadlinku routování
0:32:58nebo když máte za
0:33:00bridget
0:33:01kernel to řeší prostě takže jakmile sítě podáte dobře že tak on ani automaticky tady
0:33:06tuhle vlastnost jedné sem automaty
0:33:10a eště to má nevýhodu trochu že tady to poskládání že třeba nějaká
0:33:15a optimistické čekárny poté co obdrží první malý package přídou ještě nějaké další malé pakety
0:33:20se kterými vylámala sloučit až a musí nezbytně trošku počkat jestli to skutečně naplníte jít
0:33:25očekávání
0:33:27takže to může zanes nějaké zpoždění
0:33:32podobně jako ukradnuté sil existovala softwarová varianta G se tak
0:33:37a té přijímací straně to zase
0:33:40takže který by k tomu jeho existuje plně softwarová a obecná varianta neseděli jestli oflo
0:33:48a dyž jistou především tím že použila přísnější kriteria o tom jak které pakety ochotno
0:33:55skládat
0:33:57a statiky které jsou především určena k tomu aby ten
0:34:02velký super paket šlo později zpětně naseká typu voni kousky
0:34:08takže třeba nestalo
0:34:10při skládání pomocí kterého se nestane ženy
0:34:13vy složil za sebou
0:34:15vždycky se bajtový pak potom pět se bajtový a pak osmi se bajtový do jednoho
0:34:19velkého protože to by si nebo schopen zapamatovat kde na ty hranice a teoreticky by
0:34:24to asi šlo
0:34:26ste se tavit informace neukládají
0:34:28si ukládá jenom jednou délku
0:34:30pole na to že ty že se skládají jenom pakety stejné délky a šaten úplně
0:34:35poslední to může být kratší
0:34:40se tady tu informaci jakou vládami pro zpracování k
0:34:45tak zase dyž to má potom odeslat a je to potřeba tak to může posekat
0:34:50na ty nové kusy takže
0:34:52když mu tak jako
0:34:54není N no tak při zapnutém formálnímu nebo byl že není nutné vypínat jako to
0:34:59prostě jsou
0:35:02a
0:35:03zase je to do obecný mechanismus je kompletně software oken nelze tam doplnit podporu pro
0:35:09jiné protokoly množinu T C P
0:35:13to dávkování je řešeno tak na automaticky vtom systému na ty když se přímá ta
0:35:18ty těch šedesát paketů tak
0:35:20že ten systém
0:35:24já jako třídí zkoumá které vyšly slouží s kterými automaticky to udělá když to D
0:35:29když to nejde tak je přivezla
0:35:33A
0:35:34Q o soudy které prospěly systému řízení procesorem a teď bych se chtěl podívat ještě
0:35:40na některé některá vylepšení
0:35:42já se specifický určená po systémy z více procesů
0:35:47takže máme více procesorů tak je zobrazena takové způsoby
0:35:51umožní ty procesory pořádně využít paralelně ta data zpracovávat
0:35:56a pokud možno tak aby
0:35:59dyž
0:36:00přidáme na ty procesory aby na ten
0:36:02výkon narůstal
0:36:05nízko kolineární způsoby
0:36:08lehce sto bylinná
0:36:10klíčem tak linkování je že musím se vyhnout především takovým situacím kdy by
0:36:16jeden procesor musel's dost provádění prací čekat na nějak a should procesor něco dokončí
0:36:23to sme viděli vtom
0:36:25ta tabulce z roku
0:36:27tomu X demonstraci to problém z roku devadesát devět jak tam ty procesory na sebe
0:36:31čekali
0:36:32prostě může být dobré pro paralelní zpracování
0:36:35a druhá věc je
0:36:37maximalizovat zprávy využití pěších procesorech protože
0:36:43práce s daty kterou jsou načtené jednou keše procesoru je podstatně rychlejší než práce s
0:36:47daty které jsou tam
0:36:53na přijímací straně se tady obecně tomu říká jestli statickej jako škálování na přijímací straně
0:37:01a
0:37:02zásadním principem je toho že síťová karta moderní nemá jenom jednou vysílací a jednu přijímací
0:37:07frontu do které se to taky skládají ale máte von více
0:37:11a
0:37:12při příjmu ty pakety nějak rozumně do těch front tří tak jak je jak by
0:37:17to mohlo být rozumně
0:37:18nemůže to nemůže to dal úplně náhodně protože
0:37:22vypad chtěl každý jiný proces rozmazávat jednu frontu tak
0:37:26pakety z jednoho na T C P spojení by se takové korsiku rozsypaly na jaké
0:37:31procesor je nebylo by to právě dobře z hlediska běží těch ještě jsi pak stejně
0:37:35by se musejí neopozdi poskládat se zpátky ta data si ty procesory museli ty ta
0:37:40přeposílat
0:37:43takže se to snaží rozhlas těch frontách aby pakety patřící do jednoho toku nějakou logického
0:37:50moc my sme si při C P spojení
0:37:53a dali stále do jednáte samé fronty
0:37:56jak to uděláme dělá to tak že se podívám když příklad packet
0:38:02hennessy kde je tam paketů víte adresách zdrojová cílová případně se podívala na zdrojové a
0:38:08cílové číslo tisíc portu
0:38:10tady s těhletěch
0:38:11čtyř hodnot spočítáš
0:38:15nějaké číslo a na základě toho číslá se teprve vybere
0:38:20číslo fonty které ten paket uloží
0:38:23každá fronta
0:38:25své vlastní
0:38:27ne si
0:38:28přerušení kterej který může
0:38:31upozornit s procesor že má data k dispozici
0:38:35a tady ta tady toto přerušení je možno nasměrována nějakým daný proces
0:38:42kdy to je trošku ilustrovat tak tady se zleva přicházejí pakety do síťové karty
0:38:49krásně barevně odlišenými
0:38:51ta síťová karta má čtyři fronty vstupní
0:38:56a na základě nějaký těch hašující to takhle
0:38:59zrovna tak hézky vyšlo
0:39:01je tady máme čtyři logická spojení tak tím že to tmavýma ve spojení oba pakety
0:39:06z něj spadly do schránky tři a pak pakety z tam ty
0:39:11barvy
0:39:12takže tady to všechno funguje uplně ideálně máme by se asi statisticky nestal úplně tech
0:39:19tam tady ideálně že by ty fronty byly
0:39:23skoro stejně vytížené při takhle trošku paketů ale té demonstrace
0:39:29pokud se jako bychom měli holt opravdu hodně spojení tabu zase z hlediska statistiky se
0:39:34to začnete situaci podoba
0:39:39kdybyste se chtěj tím mechanizmem zabýval ještě nějaký zadluž koště konfigurován tyto
0:39:45pomocí tu a ta je těch trošku divně zapamatovatelných chlebů se dá
0:39:51vypsat tak zvaná
0:39:54X set přijímacích uhneš iterační table takže přijímací
0:39:59tak tady tabulka pro o
0:40:03přímé
0:40:04vání na základě šest
0:40:10obvykle já se jde de tam o to že jedné karta spočítat hash to toho
0:40:15příchozího paketu tak
0:40:19to číslo fronty
0:40:21to není přímo určena tím action a ne
0:40:24zase ze spodních bitů to eště
0:40:29se vezme sme se vezme se spodní bity to ještě asi sedm bitů a tak
0:40:33a ta se podívat do sto dvaceti osmi
0:40:35řádkové tabulky kde je
0:40:38to je teprve uloženo číslo fronty ten paket při
0:40:44to když si ty pokud máte návrh tyto podporuje tak ten show exilovými mám že
0:40:48celou tu sto dvaceti osmi členů tabulku
0:40:53to se dá něco usuzovat můžete ji nastavovat
0:40:57kdybyste to tak tě viděla
0:41:00můžete pomocí toho docílit že některé fronty budou odvádíte které budou tížit jako vystrčí nenastala
0:41:07tak vám doporučil si přečíst dokument
0:41:10a potom na konci s ve zdrojích
0:41:14bezdrát cích jádra je
0:41:16documentation network i
0:41:18scaling tečka tak se to a tam je ke každému tady tomu
0:41:23kofi mechanismu několik typů jak to rozumně nastavit
0:41:27jak a ty se ještě chytřejší a
0:41:30může jinam použít nejenom tady tenhleten hash rozhazování do fronta ale
0:41:35že tady určice konkrétní pravidla tak třeba můžete říct že
0:41:39že je něco na ty si pak osumdesát takto si do fronty číslo
0:41:44a tu frontu číslo čtyři pak
0:41:46na se ti ten
0:41:48konkrétní procesor a to že tam na tom procesoru a může napsat jako jestli měl
0:41:53zajímavé věci
0:41:55tak první
0:41:56sou příkazy pomocí kterých by se to dalo ste
0:42:06ty technologie visita kecký vy
0:42:09když si mohli povšimnout s těch
0:42:13dřívější
0:42:14rodinnějšího popisů ořechov lordů tak ke každému nějakém hardwerové muflonů byla nějaká obecná softwarová implementace
0:42:21tak ne jinak je to i tady
0:42:24vlastně to softwarová implementace myslím statické
0:42:27čili toho času nuly na předchozím slajdu
0:42:30a funguje to tak že
0:42:32tady v tomhle případě sice
0:42:35ten pak nepřímé rovnou ten správný procesor
0:42:38ten pak přijde na nějaký procesor pro jednoduchost mu říkáme teďka chcete Ú jedna
0:42:43on sám si z něj spočítáte hash
0:42:46nebo v lepším případě je ten dostane spočítaný rauš uštvat karty to některé katům víte
0:42:51že počítat
0:42:53na základě hashe která vybere které jedinec FPU má ten paket dostat
0:42:59no že jo tomu chcete u toho jeho přijímací fronty a pošlu meziprocesové přerušení čidlo
0:43:04upozornila to že má nějakou práci tady ste frontě
0:43:07a finální zpracování paketu teda of probíhá návce prvočíslo dvě
0:43:14výchozím stavu je to vypnuto pokud byste chtěli používá tak je nutno nastavit pro každou
0:43:19přijímací frontu
0:43:22které procesory mají povolenou obdržet pakety stanete fronty
0:43:27to bitová mapa to s adresáři systém takle cestě
0:43:33pač jako že dobré tady tohoto používat
0:43:38za to třeba využít k tomu že máte eště hloupou kartu která nemá více přijímacích
0:43:42front
0:43:43a přesto chcete to zátěž hrozně na více procesů
0:43:47ale že je to výhodné svejch případě že máte sice motyky už více frontou kartu
0:43:53ale ztichlo nemá tolik kolik máte procesor máte prostě říct procesu ještě to tak že
0:43:58vlastně
0:44:00lze to prvotního shození udělá tak a ta samá pomocí toho RSS a pak pomocí
0:44:05to M P sto rozhodíte ještě jemněji na a více procesorů
0:44:08ovšem tak je potřeba si dát trošku pozor abyste to byste neposílali pakety
0:44:14mezi procesory které leží v jiných má doména lattice systém kdy
0:44:20přístup do v jednom kuse paměti je rychlejší z jednoprocesorové stroje pomalejší takže tady je
0:44:26to na potřebovat
0:44:32eště zase není úplně všech to souseda na to přínosy straně vykouzlit další triky mě
0:44:38jestli fous ty cože rozšíření to
0:44:41cívka kecni linku
0:44:44tak ten zase vhazuje z jedna z toho se tou které prvotně přijme paket tu
0:44:50práci na nějakej nechcete Ú ale nedělá to jenom na základě nějakého ještě
0:44:54děláte na základě inteligentního rozhodnutí a inteligentní potom že honci lze snaží
0:45:02a na ta směrovat už rovnou na ten procesor na kterém její
0:45:06koncová aplikace která teda tam bude chtít či
0:45:10jak to funguje to tak že kanál
0:45:14sleduje když kdy ta aplikace zavolá systémové volání pro příjem nebo odesílání dat se na
0:45:20ten soket
0:45:22tu fu to dodáno si ke neuloží číslo aktuálního procesoru de facto události došlo
0:45:29vložit do tabulky pro vyhledávání ti datových toků a tu tabulku právě využije tady tomuto
0:45:34rozhodnutí
0:45:39se to vy výchozím stavu vypnuto je potřeba tu tabulku nastavit aby ta tabulka těch
0:45:44toků velká
0:45:46ta dokumentace fenu doporučil asi třicet dva tisíc prvků aby tam do cože na nějaký
0:45:51střední vytížený server prý
0:45:53a ještě pro každou frontu je potřeba
0:45:56počet jako velikost ještě jeho tabulky a na to sám to sou tam ty tabulky
0:46:00ve skutečnosti je to z důvodu které teďka
0:46:05úplně rozebírat bitově to kvůli tomu aby nedocházelo k přeuspořádaní pořadí přijímaných paketů prostě je
0:46:11to trošku složitější z a tak dále tak větší
0:46:15zase bych doporučoval teda si pak přičíst teda tento kmen scarie tak se to bude
0:46:18to popsáno jak to sto
0:46:23a to refer S na
0:46:26na některých mezi těmi karpáky podporu hardwaru
0:46:31první věta axony iterate se má K fyzika zemské pes tak to je předpokládám že
0:46:37to je to chce trošku popřemýšlet na tím takže
0:46:40nechal
0:46:42si to doma přemýšlíte na svým tvrzením
0:46:45rychlejší než prosté RSS
0:46:48jo to F S tady měl tím že toho šíření je z něho tu nevýhodu
0:46:53že ta ten pak je vlastně nic jaký je na špatně procesor a takového před
0:46:57jako
0:46:59udělal nějaké základní zpracování a teprve řeknete uspání procesoru co má dělat
0:47:04auto a sorry ty tady ten krok
0:47:06z mezi krok odpadá a tak a ta už hroznou posíláte data na ten procesor
0:47:11na které aplikace která táta chce přímo
0:47:16tak jak to takle paní V to takže jak na této kartu podle potřeby kdykoliv
0:47:21se situace změní tady informuje o tom jak se ta tabulka zmínil když třeba také
0:47:27neupře migruje
0:47:29o tom tu aplikaci si tam procesoru nedrží tak zároveň to aktualizuj tu je to
0:47:34svůj tabulku
0:47:36a
0:47:37tak se mi okamžik ještě řekne
0:47:40řeknete síťové kartě že si na tu svojí větším tabulku taky aktualizovat na pak
0:47:47síla tento už to správné přijímací fronty a ta přijímací fronta je asociována na konkrétní
0:47:54procesor
0:47:55widget aplikací
0:47:57no tu vlastnost s druhou podporu rates na jinou mladejch je v aktuálním karle to
0:48:03prevent omyl ano sázková šárka
0:48:10test na ně scaling různé nejezdil všechna jenom pro přijímací stranu
0:48:14na odesílací strany je push jenom tady
0:48:17to jedna věc
0:48:18jo je ten takže od se získaná zblízka s kerýmu jednodušší
0:48:22logicky je to je to samozřejmě protože na odesílací straně
0:48:27není potřeba řešit něco jakou to F S jako nějaké propojení
0:48:31aplikace a odesílacího ze P Ú
0:48:34zde
0:48:36kus principu dáno tím že navigaci odesílána z nějakého procesoru data
0:48:44tak prostě byla blbost ty data mají nejprve přeposlat není procesor a pak teprve síla
0:48:50to jste se stačí pouze se správně rozhodnout
0:48:53po kterou té vysílací frontu ze síťové kapitá aplikace v použít
0:49:02dojde tady o to že
0:49:04vlastně vysílání se s barákovi ze vozvu taky operaci zahájení vysílání
0:49:09tam tak vypracuje a pak oznamy že dokončila to vysílání a pak je potřeba aby
0:49:14procesor ještě
0:49:16aby se ani zakončil tím že uvolní nějakou paměť
0:49:19tak to jsem používat a takže tady ta
0:49:22a koncová operace dokončení toho T X operace
0:49:27vy ideálně měla probíhat na tomtéž procesoru který tu práci zahájen protože tam zase největší
0:49:32šance že má správná data v cache
0:49:35snad informace že nebude muset načítat nic
0:49:38první paměti
0:49:40tohle není prakticky možné aby každý procesor měl svůj ten strom tu a když to
0:49:45možné není tak aspoň aby teda
0:49:48procesory které S T jsou to musí sdílet aby měli třeba společnou cache to by
0:49:54to byly třeba
0:49:55kolem jádra na jestli stejné fyzické patici nebo ještě lépe
0:50:00to byly
0:50:02na jednom křemíku sestře si se sdílenou keší
0:50:10zase ten tohleto je výchozím stavu vypnuto o když se když to moc nepoužívá musíte
0:50:15to je
0:50:17ke každé odesílací frontě říci které accessories mění použít
0:50:24tady mám že no
0:50:27růstu odkazů na
0:50:28většinou množinu svých mínus který server o linuxu ke nebo ta
0:50:35tím bych teda
0:50:37našel toto dotovaný část přednášky pokud máte ještě ta nějaké připomínky a dotazy tak nás
0:50:42odpověď
0:50:43vědět
0:51:02no
0:51:10jaksi brát síťovou kartu před tím než koupíme šest můžu použít štyri jean koupeno
0:51:15takže
0:51:17že chci poža výnosu tenkrát si taseným nezvorej se podívat do zdrojáků tohodle které tady
0:51:24tyhlety
0:51:25fi čili sou
0:51:28no
0:51:31dobrý no tak
0:51:37a to je tak těžký C ale ze tak leda vyhubit hledat jako nemám nikde
0:51:43chtěla žádný takový seznam
0:51:46nějaký udržována mikinu kdyby bylo napsáno co která zejména promítané nevím o ničem takovém
0:52:00a ještě
0:52:07a
0:52:15tak to jo ten bych tam zopakoval na mikrofon z že jsem přednášce neměl žádnou
0:52:20zmínku to virtuálních strojích severního tak pravda to jsem tady nevešlo
0:52:27je to taky zajímavé téma
0:52:30ale jako podpora seriově dobrá věcnou chcete provozovat to je to zcela určitě předem šířkou
0:52:40já vám děkuju za pozornost
0:52:43uživateli nějaký dotaz třeboni štěpení najděte
0:52:47jsem čepovat tak díky