Architektura příkazového souboru BPF získala status navrhovaného standardu

Komitét IETF (Internet Engineering Task Force), který se zabývá vývojem protokolů a architektury internetu, dokončil zpracování RFC pro architekturu sady příkazů BPF a publikoval s tím spojenou specifikaci pod identifikátorem RFC 9669. RFC získalo status „Návrhu standardu“, po kterém začne práce na udělení statusu RFC jako Nátěrového standardu (Draft Standard), což v podstatě znamená úplnou stabilizaci a zohlednění všech vyjádřených poznámek.

Publikovaná specifikace popisuje sadu instrukcí bajtkódu BPF a nízkoúrovňový virtuální stroj, který se používá v podsystemu jádra Linux eBPF pro provádění externích zpracovatelů, schopných za chodu měnit chování systému bez nutnosti změny kódu jádra. V podstatě eBPF implementuje nejjednodušší virtuální procesor se svou sadou registrů, RISC-podobnými instrukcemi, zásobníkem a čítačem instrukcí. Programy BPF se obvykle vytvářejí na podmnožině jazyka C, po čemž se kompilují do bajtkódu vhodného pro vykonávání v virtuálním stroji. Virtuální stroj může provádět BPF-programy jak pomocí interpretace, tak aplikováním JIT-kompilace pro překlad bajtkódu za chodu do strojových instrukcí.

Předpokládá se, že standardizace architektury sady příkazů BPF bude stimulovat vznik třetích stran, které budou kompatibilní s virtuálním strojem eBPF a schopné vykonávat BPF-programy napsané pro jádro Linuxu. Na vytvoření takových virtuálních strojů pracují někteří výrobci síťových adaptérů, kteří vyvíjejí prostředky pro hardwarovou akceleraci vykonávání BPF-zpracovatelů síťových paketů. Myšlenka spočívá v tom, jak rozšířit možnosti podsystemu XDP (eXpress Data Path) pro vykonávání BPF-programů nejen na úrovni síťového ovladače, ale také na straně síťové karty.

Například společnost Netronome přidala podporu BPF do adaptéru Netronome Agilio CX SmartNIC a poskytla sbírku příkladů univerzálních BPF programů, které mohou být prováděny nejen pomocí CPU v jádře s jakýmkoli ovladačem kompatibilním s XDP, ale také na straně síťové karty, což umožňuje přijímat rozhodnutí o odmítnutí, změně nebo přesměrování paketů, aniž by byla zatěžována CPU. Samostatně se rozvíjí technologie XRP (eXpress Resubmission Path), která umožňuje využít BPF k přesunutí některých operací s NVMe úložišti, jako je práce s indexy a agregací dat, na úroveň ovladače NVMe nebo na externí zařízení.

Je zaznamenáno, že širšímu zavedení těchto možností stále bránily rizika spojená s porušením kompatibility a nutností sledování stavu eBPF v jádře. Z důvodu těchto rizik někteří výrobci odložili zapnutí prostředků hardwarové akcelerace BPF ve svých zařízeních do doby, než bude vytvořen standard.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster