Programmēšana

SDN dilemma: Linux kodola tīklošana pret kodola apvedceļu

Sujal Das ir Netronome galvenā stratēģijas un mārketinga amatpersona, kas nodrošina augstas veiktspējas x86 kopapstrādes risinājumus tīkla, drošības, slodzes līdzsvarošanas, virtualizācijas un SDN jomā.

Ja pēdējo 25 gadu laikā mēs kaut ko esam iemācījušies tehnoloģiju biznesā, tad nekad nevajadzētu par zemu novērtēt Linux kodolu. Kāpēc tik daudzi tīkla uzņēmumi tik ļoti vēlas apiet Linux kodolu - precīzāk, Linux kodola tīkla kaudzi? Kas varētu būt tik nepareizs ar tīkla pakešu artērijām Linux kodolā, kas tik daudzus no mums motivē tās apiet?

Ir divi galvenie iemesli. Pirmkārt, kodola tīkla kaudze ir pārāk lēna - un problēma tikai pasliktinās, ja serveros un komutatoros tiek pieņemts ātrdarbīgāks tīkls (10GbE, 25GbE un 40GbE šodien un tuvākajā nākotnē pieaugs līdz 50GbE un 100GbE). . Otrkārt, tīkla apstrāde ārpus kodola ļauj pieslēgt jaunu tehnoloģiju bez nepieciešamības mainīt Linux kodola kodu.

Šo divu iemeslu dēļ un ar papildu priekšrocību, ka daudzas kodola apvedceļa tehnoloģijas ir atvērtā koda un / vai standartu struktūras noteiktas, apvedceļa risinājumu atbalstītāji turpina mudināt datu centru operatorus tos pieņemt.

Kodola apvedceļa risinājumi

Iepriekš mēs esam redzējuši daudzus kodola apvedceļa risinājumus, īpaši RDMA (attālā tiešā atmiņas piekļuve), TOE (TCP Offload Engine) un OpenOnload. Pavisam nesen, lai apietu kodolu, dažās lietojumprogrammās tika izmantots DPDK (Data Plane Development Kit), un pēc tam ir jaunas jaunas iniciatīvas, piemēram, FD.io (Fast Data Input Output), kuras pamatā ir VPP (Vector Packet Processing). Nākotnē, iespējams, parādīsies vairāk.

Tādas tehnoloģijas kā RDMA un TOE izveido paralēlu kaudzīti kodolā un atrisina pirmo problēmu (proti, "kodols ir pārāk lēns"), savukārt OpenOnload, DPDK un FD.io (pamatojoties uz VPP) pārvieto tīklošanu Linux lietotāja telpā, lai risinātu abus ātruma un tehnoloģiju spraudņu prasības. Kad tehnoloģijas tiek veidotas Linux lietotāja telpā, tiek novērsta nepieciešamība pēc kodola izmaiņām, novēršot papildu pūles, kas nepieciešamas, lai pārliecinātu Linux kodola kopienu par apvedceļa tehnoloģiju lietderību un to pieņemšanu, izmantojot straumēšanu Linux kodolā.

Netronome

Kodola apvedceļa izaicinājumi

Problēmas, kas saistītas ar paralēlu kaudzīšu pieņemšanu ārpus kodola tīkla kaudzes, ir acīmredzamas datu centru operatoriem, kas izaicina savas infrastruktūras mērogošanu ļoti lielam skaitam serveru. Līdztekus paralēlajām tīkla kaudzēm nāk šķietami nebeidzams drošības, pārvaldāmības, izturības, aparatūras piegādātāja bloķēšanas un protokolu saderības problēmu saraksts.

Piemēram, ir ieviesti Open vSwitch un OpenContrail, kas DPDK izmanto kā kodola apvedceļa pieeju. DPDK ieviešana tiek ierobežota divos veidos. Pirmkārt, ir grūti un dažreiz neiespējami ātri un ātri attīstīt funkcijas, izmantojot kodola bāzes atvērtā koda programmatūras jauninājumus. Otrkārt, lai arī VM un lietojumprogrammām nepieciešamo veiktspējas un drošības līmeni var nodrošināt, tam nepieciešams ievērojams skaits x86 procesora kodolu, samazinot datu centra infrastruktūras kopējo efektivitāti.

Tomēr dažiem datu centra operatoriem, kuru pārvaldīšanai ir nepieciešami daži simti serveru un kuri vada vienu lietojumprogrammu, piemēram, augstas veiktspējas skaitļošanas vai augstas frekvences tirdzniecības kopas, var būt lietderīgi izmantot šādas paralēlās kodola apvedceļnes. Tas pats attiecas uz īpašām glabāšanas kopām.

Bet vai kodola tīkla kaudzes aizsērēšanu var novērst, neizmantojot paralēlus apvedceļņus? Jā, tā var. Pareizais veids, kā atrisināt iepriekš minētās divas problēmas, būtu atrast veidus, kā pārredzami paātrināt kodola tīkla kaudzes darbību, izmantojot viedo tīkla aparatūru un bez piegādātāja bloķēšanas.

SmartNIC mēģina atrisināt šīs problēmas, neapejot kodolu. SmartNIC ir NICS (tīkla interfeisa kartes), kas ir programmējamas, ļaujot pārdevējiem, kas piegādā šādus produktus, programmatūras ātrumā ieviest jauninājumus serveru tīkla aparatūrā - praktiska prasība mūsdienu programmatūras definētā un ar NFV iespējotu datu centru infrastruktūrā.

Ievadiet SmartNICS

Netronome SmartNIC nodrošina gan pamata, gan tradicionālās NIC funkcijas, kā arī uzlabotās funkcijas, kas nepieciešamas mākoņa datu centram un telekomunikāciju pakalpojumu sniedzējiem. Šīs uzlabotās funkcijas ietver iespēju izkraut bagātīgu tīkla funkcionalitāti, piemēram, to, ko nodrošina virtuālie slēdži un virtuālie maršrutētāji, kurus izmanto programmatūras noteiktās tīkla vidēs un NFV optimizētos skaitļošanas serveros. Spēja izkraut šīs skaitļošanas intensīvās tīkla funkcijas SmartNIC paaugstina VM veiktspējas un drošības līmeni, palielina katrā serverī piegādājamo lietojumprogrammu skaitu un kopumā palielina datu centra efektivitāti. SmartNIC funkcijas var ātri attīstīties, izmantojot atvērtā koda tīkla jauninājumus, piemēram, ar Open vSwitch, OpenStack, OpenContrail un IO Visor projekta eBPF (Extended Berkeley Packet Filter).

SmartNIC izvietošanas priekšrocības neaprobežojas tikai ar paaugstinātu veiktspēju un bagātīgāku funkciju kopumu. Ir arī ievērojami TCO ietaupījumi, jo SmartNIC var aizstāt serveros izmantotos tradicionālos NIC. SmartNIC ir konkurētspējīgas cenas tradicionālajiem NIC un nodrošina ievērojamus ietaupījumus, atbrīvojot vērtīgus servera procesora resursus VM un lietojumprogrammām, palielinot servera efektivitāti. Ņemot vērā to, ka serveri patērē pat 60 procentus no kopējām datu centra infrastruktūras izmaksām, iespēja atbalstīt lielāku servera slodzi, izmantojot SmartNIC, sola ievērojamus ietaupījumus.

Kodola apvedceļa atbalstītāji labprāt apgalvo, ka serveru tīkla veiktspēju, kas nepieciešama SDN un NFV lietojumprogrammās, var sasniegt, izmantojot augstas veiktspējas x86 procesora kodolus, un tāpēc ir nepieciešami tikai tradicionālie NIC. Bet praktiskos kritērijos un reālajā dzīvē kodola apvedceļošanas mehānismiem var būt nepieciešami pat 24 CPU kodoli, lai iegūtu nepieciešamo tīkla veiktspēju. Tas praktiski patērē visu serveri tikai tīklošanai.

SmartNIC pārdevēji ir pilnībā vienisprātis, ka kodola tīkla veiktspēja ir reāla problēma, kas tikai pasliktināsies, operatoriem būvējot datu centrus, lai apmierinātu arvien pieaugošo mobilo un IoT ierīču skaitu. Bet viņi neuzskata, ka, apejot operētājsistēmas kodolu, problēma tiek atrisināta. Drīzāk intensīvi tīkla apstrādes uzdevumi Linux kodola tīkla kaudzē ir jāpārkrauj SmartNIC pārdevēja agnostiķa veidā, tā vietā, lai izmantotu ieviešanu, kas rada paralēlas, liekas tīkla kaudzes.

SmartNIC risina šīs problēmas, izkraujot kodolā balstītu tīkla datu ceļu ieviešanu, kas ir pieejama šodien, un strauji attīstoties plašākā Linux atvērtā pirmkoda kopienā. Linux kodola kaudzes tehnoloģijas, piemēram, eBPF un trafika klasifikators, sola ļaut SmartNIC pārdevējiem, piemēram, Netronome, pieturēties pie Linux kodola tīkla kaudzes un ļaut datu centru operatoriem efektīvi mērogot.

Pārliecinošais Linux kopienas ieteikums vienmēr ir bijis izvairīties no kodola apietes. Tāpat kā visas fundamentālās un vienkāršās idejas, arī šī ideja ir saglabājusies pagātnē, ir aktuāla arī šodien un saglabāsies arī nākotnē.

Jauno tehnoloģiju forums nodrošina vietu, kur bezprecedenta dziļumā un plašumā izpētīt un pārrunāt topošās uzņēmuma tehnoloģijas. Izvēle ir subjektīva, balstoties uz mūsu izvēlētajām tehnoloģijām, kuras, mūsuprāt, ir svarīgas un interesē lasītājus. nepieņem mārketinga nodrošinājumu publicēšanai un patur tiesības rediģēt visu ieguldīto saturu. Nosūtiet visus jautājumus uz [email protected].

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