Linux kernel 5.7 ubrzat će podudaranje složenih popisa u Netfilteru

Programeri Netfilter podsustava za filtriranje i modificiranje mrežnih paketa objavljen set zakrpa koje značajno ubrzavaju obradu velikih popisa podudaranja (nftables set), koji zahtijevaju provjeru kombinacije podmreža, mrežnih portova, protokola i MAC adresa. Zakrpe su već primljene u podružnicu nf-sljedeći, koji će biti predložen za uključivanje u jezgru Linuxa 5.7. Najuočljivije ubrzanje postignuto je zahvaljujući angažiranje AVX2 upute (u budućnosti se planira objaviti slične optimizacije temeljene na NEON uputama za ARM).

Optimizacije uključene u modul nft_set_pipapo (PIle PAcket POlicies), koji rješava problem podudaranja sadržaja paketa s proizvoljnim rasponima stanja polja koji se koriste u pravilima filtriranja, kao što su IP i rasponi mrežnih priključaka (nft_set_rbtree i nft_set_hash manipuliraju podudaranjem intervala i izravnim odrazom vrijednosti). Verzija pipapo vektorizirana korištenjem 256-bitnih AVX2 instrukcija na sustavu s procesorom AMD Epyc 7402 pokazala je povećanje performansi od 420% pri raščlanjivanju 30 tisuća zapisa uključujući kombinacije port-protokol. Povećanje pri usporedbi kombinacije podmreže i broja priključka pri raščlanjivanju 1000 zapisa bilo je 87% za IPv4 i 128% za IPv6.

Linux kernel 5.7 ubrzat će podudaranje složenih popisa u Netfilteru

Druga optimizacija, koja je dopuštala korištenje 8-bitnih grupa podudaranja umjesto 4-bitnih, također je pokazala značajne dobitke u performansama: 66% pri raščlanjivanju 30 tisuća unosa port-protokola, 43% za subnet_IPv4-port i 61% za subnet_IPv6-port. Sveukupno, uzimajući u obzir AVX2 optimizacije, performanse pipapa porasle su u ovim testovima za 766%, 168% odnosno 269%. Karakteristike dobivene za složene usporedbe su ispred provjera na jednom terenu rbtree (s iznimkom port+protocol test), ali za sada zaostaju za izravnim provjerama pomoću hashovi i drop rukovatelji temeljeni na netdev.

Linux kernel 5.7 ubrzat će podudaranje složenih popisa u Netfilteru

Izvor: opennet.ru

Dodajte komentar