Arhitektura skupa instrukcija BPF dobila je status predloženog standarda

IETF (Internet Engineering Task Force), ki se ukvarja z razvojem protokolov in arhitekture interneta, je zaključil oblikovanje RFC za arhitekturo niza ukazov BPF in objavil z njim povezano specifikacijo pod identifikatorjem RFC 9669. RFC je prejel status 'Predlaganega standarda', po katerem se bo začelo delo na dodelitvi statusa črnovnega standarda (Draft Standard), kar dejansko pomeni popolno stabilizacijo in upoštevanje vseh izraženih pripomb.

Objavljena specifikacija opisuje niz bytecode ukazov BPF in nizkonivojski virtualni stroj, ki se uporablja v jedrni podomrežni eBPF za izvajanje zunanjih procesorjev, ki lahko v realnem času spreminjajo obnašanje sistema brez potrebe po spremembi jedrnega kode. V bistvu eBPF implementira najpreprostejši virtualni procesor s svojim naborom registrov, RISC-podobnimi ukazi, skladiščem in števcem ukazov. Programi BPF se običajno ustvarjajo v podskupini jezika C, nato pa se prevedejo v bytecode, primeren za izvajanje v virtualni napravi. Virtualni stroj lahko izvaja BPF-programe tako z uporabo interpretacije kot z JIT-kompajlacijo za pretvorbo bytecode-a v strojne ukaze v realnem času.

Predvideva se, da bo standardizacija arhitekture niza ukazov BPF spodbudila razvoj zunanjih implementacij, ki so združljive z eBPF virtualnim strojem in sposobne izvajati BPF-programe, napisane za jedro Linuxa. Na ustvarjanju takih virtualnih naprav delajo nekateri proizvajalci omrežnih adapterjev, ki razvijajo orodja za strojno pospeševanje izvajanja BPF-obdelovalcev omrežnih paketov. Ideja je razširiti zmožnosti podomrežja XDP (eXpress Data Path) za izvajanje BPF-programov ne le na ravni omrežnega gonilnika, temveč tudi na strani omrežne kartice.

Na primjer, tvrtka Netronome dodala je podršku za BPF u adapter Netronome Agilio CX SmartNIC i pružila kolekciju primjera univerzalnih BPF programa koje je moguće izvršavati ne samo uz pomoć CPU-a u jezgru s bilo kojim XDP-kompatibilnim upravljačkim programom, već i na strani mrežne kartice, što omogućava donošenje odluka o odbacivanju, izmjeni ili preusmjeravanju paketa bez trošenja resursa CPU-a. Pojedinačno se razvija tehnologija XRP (eXpress Resubmission Path), omogućujući korištenje BPF-a za premještanje nekih operacija s NVMe pohranama, poput rada s indeksima i agregacije podataka, na razinu NVMe upravljačkog programa ili vanjski uređaj.

Napominje se da su dosad širem usvajanju sličnih mogućnosti bile prepreke rizici povezani s kršenjem kompatibilnosti i potrebom praćenja stanja eBPF-a u jezgru. Zbog ovih rizika neki proizvođači odgodili su uključivanje sredstava hardverskog ubrzanja BPF u svoje uređaje do formiranja standarda.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster