Linuxi kerneli sissetulevate UDP-pakkide töötlemine on kiirenenud 12%

Linux 7.0 tuuma põhikoodeksisse on vastu võetud muudatused, mis võimaldasid 100 Gbps võrgus pingetestide tegemisel suurendada sissetulevate UDP-pakkide töötlemise efektiivsust 12%. Optimeerimine viidi läbi kahe funktsiooni käsitsi inline-käivitamise teel. Tõdetakse, et funktsiooni timecounter_cyc2time() võib kutsuda iga sissetuleva paketi puhul, kuna kaasaegsed protokollid nõuavad paketti saabumise aja arvestamist. Seetõttu kõrge koormuse korral serveril funktsioon timecounter_cyc2time() võib olla kutsutud rohkem kui 100 miljonit korda sekundis.

Antud olukorras ei suutnud automaatsed kompilaatori optimeerimised, nagu FDO (tagasiside suunatud optimeerimine), LTO (lingiaja optimeerimine) ja PGO (profiili suunatud optimeerimine), tuvastada kuuma koodisegmenti ja ignoreerisid seda, ilmselt seetõttu, et võrguadapterite draiverid tarnitakse eraldi moodulitena. Siiski andis funktsiooni käsitsi inline-käivitamine märkimisväärse jõudluse tõusu.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster