Linuxi tuumas on optimeeritud CRC32C algoritmi teostus.

Linuxi tuuma 6.13 tulevasse harusse on pakutud patch, mis sisaldab ĂŒmber töötatud CRC32C kontrollsummade algoritmi. CRC32C teostuse kood on vĂ€henenud umbes 10 korda (4546 baiti 418 baiti). Kui Spectre rĂŒnnakute kaitse retpoline on vĂ€lja lĂŒlitatud, saavutab uus teostus AMD Zen 2 protsessoritel tootlikkuse kasvu kuni 11.8%, Intel Emerald Rapids'il 6.4% ja Intel Haswell'il 4.8%. Kui retpoline on sisse lĂŒlitatud, on tootlikkuse kasv mĂ€rgatavam ja saavutab 66.8% sĂŒsteemides, kus on Intel Emerald Rapids protsessorid, 35.0% Intel Haswell'il ja 29.5% AMD Zen 2-l. retpoline enabled | 512 | 833 | 1024 | 2000 | 3173 | 4096 | ———————+——-+——-+——-+—— +——-+——-+ Intel Haswell | 35.0% | 20.7% | 17.8% | 9.7% | -0.2% | 4.4% | Intel Emerald Rapids | 66.8% | 45.2% | 36.3% | 19.3% | 0.0% | 5.4% | AMD Zen 2 | 29.5% | 17.2% | 13.5% | 8.6% | -0.5% | 2.8% | retpoline disabled: | 512 | 833 | 1024 | 2000 | 3173 | 4096 | ———————+——-+——-+——-+—— +——-+——-+ Intel Haswell | 3.3% | 4.8% | 4.5% | 0.9% | -2.9% | 0.3% | Intel Emerald Rapids | 7.5% | 6.4% | 5.2% | 2.3% | -0.0% | 0.6% | AMD Zen 2 | 11.8% | 1.4% | 0.2% | 1.3% | -0.9% | -0.2% |

Algne CRC32C variant sisaldas 128 lahti rullitud tsĂŒklit (unroll), mis viis ĂŒsna suure koodini. Kuna kaasaegsed protsessorid out of order juhiste tĂ€itmise toetamine vĂ”imaldab kĂ€ivitada kĂ€ske paralleelselt; selline hĂŒvede optimeerimine tsĂŒklite hĂŒpetel osutus liialdatuks, mis viis ĂŒleliigse koodini. Uues versioonis jĂ€eti 128 iteratsiooni kohale alles vaid 4, mis mitte ainult ei vĂ€hendanud koodi mahtu, vaid kiirendas ka operatsiooni tĂ€itmist.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster