Programiranje

Dilema SDN: Omrežje jedra Linuxa v primerjavi z obhodom jedra

Sujal Das je glavni direktor za strategijo in trženje pri podjetju Netronome, ki ponuja visoko zmogljive rešitve za soobdelavo x86 za mreženje, varnost, uravnoteženje obremenitve, virtualizacijo in SDN.

Če smo se v zadnjih 25 letih česa naučili v tehnološkem poslu, ne bi nikoli podcenjevali jedra Linuxa. Zakaj so si tako številna omrežna podjetja tako zelo želela zaobiti jedro Linuxa - ali natančneje mrežni sklad jedra Linuxa? Kaj bi lahko bilo narobe z omrežnimi paketnimi arterijami v jedru Linuxa, ki nas toliko motivira, da jih obidemo?

Obstajata dva glavna razloga. Prvič, niz jedrnega omrežja je prepočasen - težava pa se še poslabšuje s sprejetjem hitrejšega povezovanja v strežnike in stikala (danes 10GbE, 25GbE in 40GbE ter v bližnji prihodnosti narašča na 50GbE in 100GbE) . Drugič, ravnanje z omrežjem zunaj jedra omogoča priključitev nove tehnologije brez potrebe po spreminjanju jedrne kode jedra Linuxa.

Zaradi teh dveh razlogov in z dodatno prednostjo, da je veliko tehnologij obvoda jedra odprtokodnih in / ali jih določijo organi za standarde, zagovorniki obvodnih rešitev še naprej spodbujajo operaterje podatkovnih centrov, da jih sprejmejo.

Rešitve obvoda jedra

V preteklosti smo videli številne rešitve za obhod jedra, predvsem RDMA (oddaljeni neposredni dostop do pomnilnika), TOE (TCP Offload Engine) in OpenOnload. V zadnjem času je bil DPDK (Data Plane Development Kit) uporabljen v nekaterih aplikacijah, da bi obšel jedro, nato pa se pojavljajo nove pobude, kot je FD.io (Fast Data Input Output), ki temelji na VPP (Vector Packet Processing). V prihodnosti se bo verjetno pojavilo več.

Tehnologije, kot sta RDMA in TOE, ustvarijo vzporedni sklad v jedru in rešijo prvo težavo (in sicer, "jedro je prepočasno"), medtem ko OpenOnload, DPDK in FD.io (na osnovi VPP) omrežja premaknejo v uporabniški prostor Linuxa, da se lotijo ​​obeh zahteve glede hitrosti in tehnologije. Ko se tehnologije vgradijo v uporabniški prostor Linuxa, se izognemo potrebam po spremembi jedra, s čimer se odpravi dodaten napor, ki je potreben za prepričevanje skupnosti jeder Linuxa o uporabnosti obvodnih tehnologij in njihovem sprejemanju z nadgradnjo v jedro Linuxa.

Netronome

Izzivi obvoda jedra

Izzivi, povezani s sprejemanjem vzporednih skladov zunaj sklada jedrnega omrežja, so očitni operaterjem podatkovnih središč, ki se spopadajo s skaliranjem svoje infrastrukture na zelo veliko število strežnikov. Z vzporednimi skladi omrežja je na videz neskončen seznam varnostnih težav, vodljivosti, robustnosti, zaklepanja prodajalcev strojne opreme in združljivosti protokolov.

Na primer, obstajajo izvedbe Open vSwitch in OpenContrail, ki uporabljajo DPDK kot obhod jedra. Izvedbe DPDK so omejene na dva načina. Prvič, težko je in včasih nemogoče hitro in hitro razvijati funkcije z novostmi odprtokodne programske opreme, ki temelji na jedru. Drugič, čeprav je mogoče doseči ravni zmogljivosti in varnosti, ki jih potrebujejo VM-ji in aplikacije, zahteva veliko število procesorskih jeder x86, kar zmanjšuje splošno učinkovitost infrastrukture podatkovnih središč.

Kljub temu se nekaterim operaterjem podatkovnih središč, ki imajo morda nekaj sto strežnikov za upravljanje in zaženejo eno samo aplikacijo, na primer High Performance Computing ali High Frequency Trading clusters, lahko zdi praktično uporabiti take vzporedne sklade obvoda jedra. Enako velja za namenske grozde za shranjevanje.

Toda ali je mogoče zamašitev sklada omrežja jedra odpraviti, ne da bi se zatekli k vzporednim obvodnim skladom? Ja, lahko. Pravi način za rešitev zgoraj omenjenih problemov bi bil najti načine za transparentno pospeševanje delovanja mrežnega sklada jedra z uporabo pametne mrežne strojne opreme in brez zaklepanja prodajalca.

SmartNIC te težave poskušajo rešiti, ne da bi obšli jedro. SmartNIC so NICS (omrežne vmesniške kartice), ki jih je mogoče programirati in prodajalcem, ki ponujajo takšne izdelke, omogočajo, da s hitrostjo programske opreme inovirajo strežniško mrežno strojno opremo - praktična zahteva v sodobni programski opremi in infrastrukturi podatkovnih središč z omogočeno NFV.

Vnesite SmartNICS

Netronome SmartNIC nudijo tako osnovne kot tradicionalne funkcije NIC in napredne funkcije, ki jih potrebujejo ponudniki podatkovnih centrov v oblaku in telekomunikacijskih storitev. Te napredne funkcije vključujejo zmožnost razbremenitve bogate mrežne funkcionalnosti, na primer tiste, ki jo zagotavljajo navidezna stikala in navidezni usmerjevalniki, ki se uporabljajo v programsko določenih omrežnih okoljih, in računski strežniki, optimizirani za NFV. Zmožnost prenašanja teh računalniško intenzivnih omrežnih funkcij na SmartNIC prinaša višje stopnje zmogljivosti in varnosti VM-jem, povečuje število aplikacij, ki jih je mogoče dostaviti na strežnik, in zagotavlja splošno povečanje učinkovitosti podatkovnih centrov. Funkcije SmartNIC se lahko hitro razvijejo z odprtokodnimi omrežnimi novostmi, na primer z Open vSwitch, OpenStack, OpenContrail in eBPF (Extended Berkeley Packet Filter) projekta IO Visor.

Prednosti uvajanja pametnih omrežij niso omejene na večjo zmogljivost in bogatejši nabor funkcij. Prav tako se znatno prihranijo TCO, saj lahko SmartNIC nadomestijo tradicionalne NIC, ki se uporabljajo v strežnikih. Cene SmartNIC so konkurenčne tradicionalnim NIC-jem in zagotavljajo znatne prihranke tako, da sprostijo dragocene vire strežniškega CPU-ja za VM-je in aplikacije ter tako povečajo učinkovitost strežnika. Glede na to, da strežniki porabijo kar 60 odstotkov celotnih stroškov infrastrukture podatkovnega središča, zmožnost podpiranja večjih delovnih obremenitev na strežnik s pomočjo SmartNIC-ov obeta znatne prihranke.

Zagovorniki obvoda jedra radi trdijo, da je mogoče omrežno zmogljivost strežnika, potrebno v aplikacijah SDN in NFV, doseči z visokozmogljivimi procesorskimi jedri x86, zato so vse, kar potrebujete, tradicionalne NIC. Toda v praktičnih merilih in v resničnem življenju bodo mehanizmi za obhod jedra potrebovali kar 24 jeder CPU, da dosežejo zahtevano mrežno zmogljivost. To praktično porabi celoten strežnik samo za mreženje.

Ponudniki SmartNIC se popolnoma strinjajo, da je zmogljivost jedrnega omrežja resnična težava, ki se bo samo poslabšala, saj bodo operaterji zgradili podatkovne centre, da bodo ustrezali zahtevam vedno večjega števila mobilnih naprav in naprav IoT. Vendar ne verjamejo, da problem zaobide izogibanje jedru operacijskega sistema. Namesto da bi bilo treba intenzivne naloge omrežne obdelave v omrežnem skladišču jedra Linuxa razvezati na SmartNIC na agnostični način prodajalca, namesto da bi uporabljali izvedbe, ki povzročajo vzporedne odvečne mrežne sklade.

SmartNIC se spopadajo s temi izzivi, razbremenijo danes na voljo implementacije mrežnih podatkovnih poti, ki temeljijo na jedru, in se hitro razvijajo v širši odprtokodni skupnosti Linux. Tehnologije skladov jedra Linuxa, kot sta eBPF in Traffic Classifier, obljubljajo, da bodo ponudnikom SmartNIC, kot je Netronome, omogočili, da se držijo jedrskega sklada jedra Linuxa in operaterjem podatkovnih centrov omogočijo učinkovito lestvico.

Odmevno priporočilo skupnosti Linux je bilo vedno, da se izognemo obhodu jedra. Kot vse temeljne in preproste ideje se je tudi v preteklosti uveljavila, velja tudi danes in bo ostala resnična tudi v prihodnje.

Forum New Tech ponuja prizorišče za raziskovanje in razpravo o nastajajoči podjetniški tehnologiji v globini in širini brez primere. Izbor je subjektiven in temelji na našem izboru tehnologij, za katere menimo, da so pomembne in najbolj zanimajo bralce. ne sprejema tržnih zavarovanj za objavo in si pridržuje pravico do urejanja celotne prispevane vsebine. Vsa vprašanja pošljite na [email protected].

$config[zx-auto] not found$config[zx-overlay] not found