Աղբյուրը Netfilter ցանցային փաթեթների ֆիլտրացման և փոփոխման ենթ համակարգի մշակողները պատճենների հավաքածու, որն էականորեն արագացնում է մեծ համընկնող ցանկերի (nftables set) մշակումը, որտեղ պահանջվում է ենթցանցերի համադրության, ցանցային պորտերի, պրոտոկոյի և MAC հասցեների հաստատում: Պատճեններն արդեն ընդունվել են , որը առաջարկվելու է Linux 5.7 կորիզի մեջ: Ավելի նկատելի արագացմանը հասնելու հաջողություն է հասվել AVX2 հրամանների (մյուս կերպ նախատեսվում է նման օպտիմացում հրապարակել NEON հրամանների հիման վրա ARM-ի համար):
Օպտիմացումներն իրականացվել են (PIle PAcket POlicies), որը լուծում է փաթեթի բովանդակության համապատասխանության խնդիրը, կիրառված փոխադրով ատոմուտով լայնածավալ, ինչպիսիք են IP ու ցանցային պորտերի լայնքերը (nft_set_rbtree և nft_set_hash կառավարում են միջակայքերի համադրությունը և ուղղակի ուսումնասիրման արտացոլումը): 256-բիթանոց AVX2 հրամանների օգնությամբ վեկտորացված pipapo տարբերակը AMD Epyc 7402 պրոցեսորով համակարգում ցույց է տվել 420% կատարողականում 30,000 գրառում վերլուծելուց հետո, ներառյալ պորտ-պրոտոկոլ կապերը: Սկանդավորման վերլուծության արդյունքում ենթցանցի և պորտի համադրության աճը 1000 գրառումների վերլուծության դեպքում կազմել է 87% IPv4-ի համար և 128% IPv6-ի համար:

Այլ մի օպտիմացում, որը թույլ է տալիս օգտագործել 8-բիթանոց համադրության խմբեր 4-բիթանոցների փոխարեն, նույնպես զգալի կատարողականի աճ է ցույց տվել: 66% 30,000 գրառում վերլուծելուց պորտ-պրոտոկոլի համար, 43%՝ ենթցանց_IPv4-պորտի համար և 61%՝ ենթցանց_IPv6-պորտի համար: Ամփոփելով, հաշվի առնելով AVX2 օպտիմացումներն, pipapo-ի կատարողականությունը նշված փորձարկումներում աճել է 766%,-168% և 269% համապատասխանաբար: Ստացված բարդ հակառակ վերջինների հատկությունները գերազանցում են միակ դաշտերի ստուգումները (Թեև պորտ+պրոտոկոլ կապի որոշումը բացի), սակայն առայժմ հետ են մնում ուղղակի ստուգումներից և netdev հիման վրա drop-հետազոտողներից:

Ընտանիք: opennet.ru
