Ohjelmointi

SDN-ongelma: Linux-ytimen verkottuminen vs. ytimen ohitus

Sujal Das on Netronomen strategia- ja markkinointipäällikkö, joka tarjoaa korkean suorituskyvyn x86-yhteisprosessoratkaisuja verkottamiseen, tietoturvaan, kuormituksen tasapainottamiseen, virtualisointiin ja SDN: ään.

Jos olemme oppineet jotain tekniikan alalla viimeisen 25 vuoden aikana, Linux-ydintä ei koskaan aliarvioida. Miksi niin monet verkko-alan yritykset ovat niin innokkaasti ohittaneet Linux-ytimen - tai tarkemmin sanottuna, Linux-ytimen verkkopinon? Mikä voi olla niin vikaa Linux-ytimen verkkopakettivaltimoissa, joka motivoi niin monia meitä ohittamaan ne?

Syitä on kaksi. Ensinnäkin, ytimen verkkopino on liian hidas - ja ongelma vain pahenee, kun nopeampi verkko otetaan käyttöön palvelimissa ja kytkimissä (10GbE, 25GbE ja 40GbE tänään ja nousee 50GbE ja 100GbE lähitulevaisuudessa) . Toiseksi verkkoyhteyksien käsittely ytimen ulkopuolella mahdollistaa uuden tekniikan liittämisen ilman, että Linux-ytimen ydinkoodia on muutettava.

Näistä kahdesta syystä ja sillä lisäetulla, että monet ytimen ohitustekniikat ovat avoimen lähdekoodin ja / tai standardointielinten määrittelemiä, ohitusratkaisujen kannattajat ajavat edelleen datakeskusten operaattoreita hyväksymään ne.

Ytimen ohitusratkaisut

Olemme aiemmin nähneet monia ytimen ohitusratkaisuja, erityisesti RDMA (Remote Direct Memory Access), TOE (TCP Offload Engine) ja OpenOnload. Viime aikoina DPDK: ta (Data Plane Development Kit) on käytetty joissakin sovelluksissa ytimen ohittamiseksi, ja sitten on uusia uusia aloitteita, kuten FD.io (Fast Data Input Output), joka perustuu VPP: hen (Vector Packet Processing). Tulevaisuudessa syntyy todennäköisesti lisää.

Teknologiat, kuten RDMA ja TOE, luovat ytimessä rinnakkaisen pinon ja ratkaisevat ensimmäisen ongelman (nimittäin "ydin on liian hidas"), kun taas OpenOnload, DPDK ja FD.io (VPP: n perusteella) siirtävät verkkoyhteyksiä Linux-käyttäjätilaan vastaamaan molempiin nopeuden ja tekniikan laajennuksia koskevat vaatimukset. Kun tekniikoita rakennetaan Linux-käyttäjäalueelle, ytimen muutosten tarvetta vältetään, mikä eliminoi ylimääräiset ponnistelut, jotka tarvitaan vakuuttamaan Linux-ytimen yhteisö ohitustekniikoiden hyödyllisyydestä ja niiden käyttöönotosta suoratoiston kautta Linux-ytimeen.

Netronome

Ytimen ohitushaasteet

Rinnakkaispinoiden käyttöönotosta ytimen verkkopinon ulkopuolella liittyvät haasteet ovat ilmeisiä datakeskusten operaattoreille, joiden haasteena on skaalata infrastruktuurinsa hyvin suureen määrään palvelimia. Rinnakkaisverkkopakettien mukana tulee näennäisesti loputon luettelo tietoturvasta, hallittavuudesta, kestävyydestä, laitetoimittajien lukittumisesta ja protokollien yhteensopivuudesta.

Esimerkiksi on olemassa Open vSwitchin ja OpenContrailin toteutuksia, jotka käyttävät DPDK: ta ytimen ohitusmenetelmänä. DPDK-toteutuksia rajoitetaan kahdella tavalla. Ensinnäkin on vaikeaa ja joskus mahdotonta kehittää ominaisuuksia nopeasti ja lukkiutumatta ytimiin perustuvien avoimen lähdekoodin ohjelmistoinnovaatioiden kanssa. Toiseksi, vaikka virtuaalikoneiden ja sovellusten tarvitsemat suorituskyvyn ja turvallisuuden tasot voidaan toimittaa, se vaatii huomattavan määrän x86-suorittimen ytimiä, mikä vähentää datakeskuksen infrastruktuurin yleistä tehokkuutta.

Joillekin datakeskuksen operaattoreille, joilla on ehkä muutama sata palvelinta hallita ja jotka käyttävät yhtä sovellusta, kuten High Performance Computing tai High Frequency Trading -klustereita, voi olla käytännöllistä käyttää tällaisia ​​rinnakkaisia ​​ytimen ohituspinoja. Sama pätee omistettuihin varastoklustereihin.

Mutta voidaanko ytimen verkkopinon tukkeutuminen korjata turvautumatta rinnakkaisiin ohituspinoihin? Kyllä se voi. Oikea tapa ratkaista edellä mainitut kaksi ongelmaa olisi löytää tapoja nopeuttaa ytimen verkkopinon suorituskykyä läpinäkyvästi älykkäiden verkkolaitteiden avulla ja ilman toimittajan lukitusta.

SmartNIC: t pyrkivät ratkaisemaan nämä ongelmat ohittamatta ydintä. SmartNIC-kortit ovat ohjelmoitavia verkkokortteja (NICS), joiden avulla tällaisia ​​tuotteita tarjoavat toimittajat voivat innovoida palvelinten verkkolaitteita ohjelmiston nopeudella - käytännöllinen vaatimus nykyaikaisessa ohjelmistokohtaisessa ja NFV-yhteensopivassa datakeskuksen infrastruktuurissa.

Syötä SmartNICS

Netronome SmartNIC -laitteet tarjoavat sekä perus- että perinteisiä verkkokortin ominaisuuksia ja lisäominaisuuksia, joita pilvitietokeskus ja puhelinpalvelujen tarjoajat tarvitsevat. Näihin lisäominaisuuksiin kuuluu mahdollisuus ladata rikas verkkotoiminto, kuten virtuaalikytkinten ja virtuaalisten reitittimien tarjoamat ohjelmistokohtaisissa verkkoympäristöissä ja NFV-optimoiduissa laskentapalvelimissa. Mahdollisuus purkaa nämä laskentatehokkaat verkkotoiminnot SmartNIC-verkkoon tuo korkeamman suorituskyvyn ja suojauksen virtuaalikoneille, lisää palvelinkohtaisesti toimitettavien sovellusten määrää ja parantaa yleisesti datakeskusten tehokkuutta. SmartNIC-ominaisuudet voivat kehittyä nopeasti avoimen lähdekoodin verkkoinnovaatioiden avulla, kuten Open vSwitch, OpenStack, OpenContrail ja IO Visor -projektin eBPF (Extended Berkeley Packet Filter).

SmartNIC-järjestelmien käyttöönoton edut eivät rajoitu suorituskyvyn parantamiseen ja monipuolisempaan ominaisuusjoukkoon. Myös TCO-säästöt ovat merkittäviä, koska SmartNIC-kortit voivat korvata palvelimissa käytetyt perinteiset verkkokortit. SmartNIC-hinnat hinnoitellaan kilpailukykyisesti perinteisille verkkokortille ja tarjoavat merkittäviä säästöjä vapauttamalla arvokkaita palvelimen suorittimen resursseja virtuaalikoneille ja sovelluksille, mikä lisää palvelinten tehokkuutta. Kun otetaan huomioon, että palvelimet kuluttavat jopa 60 prosenttia datakeskuksen infrastruktuurin kokonaiskustannuksista, kyky tukea suurempaa palvelinkohtaista kuormitusta SmartNIC-palvelimilla lupaa merkittäviä säästöjä.

Ytimen ohituksen kannattajat haluavat väittää, että SDN- ja NFV-sovelluksissa tarvittava palvelinverkon suorituskyky voidaan saavuttaa käyttämällä korkean suorituskyvyn x86-suorittimen ytimiä, ja siksi tarvitaan vain perinteisiä verkkokortteja. Mutta käytännön vertailuarvoissa ja tosielämässä ytimen ohitusmekanismit saattavat tarvita jopa 24 CPU-ydintä vaaditun verkkotoiminnan saavuttamiseksi. Se kuluttaa käytännössä koko palvelimen pelkästään verkkoyhteyttä varten.

SmartNIC-toimittajat ovat täysin yhtä mieltä siitä, että ytimen verkon suorituskyky on todellinen ongelma, joka vain pahenee, kun operaattorit rakentavat datakeskuksia vastaamaan yhä kasvavan määrän mobiili- ja IoT-laitteita. Mutta he eivät usko, että käyttöjärjestelmän ytimen ohittaminen ratkaisee ongelman. Pikemminkin intensiiviset verkkokäsittelytehtävät Linux-ytimen verkkopinossa on purettava SmartNIC: ille toimittajan agnostisella tavalla sen sijaan, että käytettäisiin toteutuksia, jotka johtavat rinnakkaisiin, turhiin verkkopinoihin.

SmartNIC: t vastaavat näihin haasteisiin, purkavat ydinpohjaisten verkkotietopolkujen toteutuksia tänään ja kehittyvät nopeasti laajemmassa Linuxin avoimen lähdekoodin yhteisössä. Linux-ytimen pino-tekniikat, kuten eBPF ja liikenteen luokittelija, antavat lupauksen sallia NetNronomen kaltaisten SmartNIC-toimittajien pitää kiinni Linux-ytimen verkkopinosta ja sallia datakeskusoperaattoreiden skaalata tehokkaasti.

Linux-yhteisön voimakas suositus on aina ollut välttää ytimen ohitus. Kuten kaikki perustavanlaatuiset ja yksinkertaiset ajatukset, tämäkin ajatus on pysynyt vakaana aiemmin, pitää paikkansa tänään ja pysyy totta myös tulevaisuudessa.

New Tech Forum tarjoaa mahdollisuuden tutkia ja keskustella kehittyvistä yritysteknologioista ennennäkemättömällä syvyydellä ja laajuudella. Valinta on subjektiivinen, perustuu valitsemiemme tekniikoihin, joiden uskomme olevan tärkeitä ja kiinnostavia lukijoille. ei hyväksy markkinointivakuuksia julkaisua varten ja pidättää oikeuden muokata kaikkea lähetettyä sisältöä. Lähetä kaikki tiedustelut osoitteeseen [email protected]