Cache Aware Scheduling се очертава като едно от големите попадения в Linux Kernel 7.2

0
13

Новата оптимизация за по‑умно разпределяне на задачите спрямо кеш архитектура на процесорите най‑после изглежда готова за включване в ядрото. След повече от година работа и множество тестове, функцията вече е в TIP клона и се подготвя за предстоящия merge прозорец на Linux Kernel 7.2.

Cache Aware Scheduling е разработвана основно от инженери на Intel, но ползите ѝ се виждат ясно и при съвременните AMD процесори. Идеята е проста на теория, но трудна на практика: задачите, които споделят данни, да бъдат разполагани в рамките на един и същи домейн на последното ниво кеш (LLC). Така се намаляват пропуските в кеша и се избягва излишното „подскачане“ на данни между отделните кешове, което е особено голям проблем при сървърни чипове с много ядра и големи кешове.

Първите тестове на пачовете показаха сериозни подобрения при натоварени системи, включително при AMD EPYC и Xeon 6, където оптимизацията успява да извлече допълнителна производителност от тежки работни натоварвания. През този месец вече се виждаше, че функцията е близо до включване в основното ядро, а последният Git push към tip/tip.git потвърждава, че тя е преминала в правилния клон преди отварянето на merge прозореца.

Сливането на клона „sched/cache“ на Peter Zijlstra в sched/core подсказва, че разработката е достатъчно стабилна, за да бъде предложена за Linux Kernel 7.2. Ако не се появят последни пречки или критики от Линус Торвалдс, Cache Aware Scheduling най‑сетне ще стане част от ядрото.

След включването ѝ функцията ще може да се активира чрез опцията CONFIG_SCHED_CACHE. За нуждите на отстраняване на проблеми и сравнение на производителността е наличен и DebugFS каталог llc_balancing, в който има превключвател enabled за включване и изключване на механизма в реално време.

Прочетете още:  Дялът на Linux при десктопите продължава да расте