Linux 6.9 ще предложи по-бързо зареждане на големи системи с много RAM

Tux, талисманът на ядрото на Linux

Ядрото на Linux е гръбнакът на операционните системи (OS) на Linux и е основният интерфейс между хардуера на компютъра и неговите процеси.

Преди няколко дни Споделяме тук в блога новината за една от промените Какво можем да намерим при стартирането на Linux ядрото 6.9, който в момента се разработва и вече са направени различни промени и това, което обявихме, е, че EXT2 вече е преминал в категорията на остарелите и също така, че използването на стария NTFS драйвер ще бъде оставено настрана в полза на драйвер, разработен от Paragon Software.

сега, в последните новини относно новите функции, които Linux 6.9 ще ни представи, е това Тази версия на ядрото ще донесе значително подобрение във времето за стартиране за потребители, управляващи системи с големи количества RAM, особено тези, които Те използват HugeTLB страници. Това води до значително намаляване на времето, необходимо за инициализиране на тези страници по време на процеса на зареждане на системата.

Свързана статия:
Paragon пусна внедряване на NTFS за ядрото на Linux

И промяната, добавена в Linux 6.9 ще позволи на системи с голям брой HugeTLB страници да изпитат забележимо намаление в началния час. Например, на 2TB системи, където са инициализирани 1800 1GB страници, което в момента те отнемат между 1 и 2 секунди от общо 10 секунди, което несъмнено е значително подобрение в тези времена. По подобен начин на 12TB хостове на Intel, където се инициализират 11 776 1GB страници, което може да отнеме повече от минута, ще видите значително намаляване на тези времена за стартиране.

Тези аванси станаха възможни благодарение на всеотдайната работа на Linux разработчика Gang Li от Bytedance, който внедри серия от пачове, които преминаха през множество прегледи, за да осигурят ефективно изпълнение. Съществуващата инфраструктура на ядрото, като напр padata_do_multithreaded, беше използван с минимални модификации за постигане на тези резултати.

Две актуализации във v6...

– Коригирана потенциална грешка в together_bootmem_prealloc_node
Реализацията padata_do_multithreaded гарантира, че всеки
Задачата together_bootmem_prealloc_node обработва възел. Описаният API обаче
в коментара padata_do_multithreaded показва, че padata_do_multithreaded също
Можете да присвоите множество възли към задача together_bootmem_prealloc_node.

За да избегнете възможни грешки от бъдещи промени в padata_do_multithreaded,
together_bootmem_prealloc_parallel се въвежда за обвиване на
together_bootmem_prealloc_node.

Ползите от тези подобрения са особено забележими в среди, където наличността на услугата и времето за работа на системата са критични, както в случая с хиперскейлъри и големи организации, които управляват много големи сървъри. Намаляването на времето за стартиране по време на рестартиране е от голяма полза за осигуряване на по-бърза и по-ефективна работа.

Освен, че, Струва си да се спомене още една промяна които са включени в Linux 6.9, което е корекция от опитен Linux инженер в Intel, който въвежда подобрена техника за ограничаване на честотната лента на паметта при обновяване на кеша x86, подобен на този, използван от Intel в процесорите RDT и AMD EPYC с кода resctrl.

Авторът на корекцията споменава, че:

Веригата за обратна връзка MBA_mbps увеличава дроселирането, когато група използва повече честотна лента от зададената от потребителя във файла на схемата, и намалява дроселирането, когато е под целта.

Струва си да се спомене, че новата техника за ограничаване на честотната лента на паметта е проектиран да се справя по-ефективно с работни натоварвания с неравномерни нива на натоварванеs, като се избягват ненужни наказания, възникнали в предишните версии на ядрото.

За да се избегнат ненужни колебания в ускоряването при всяка итерация, флагът „delta_comp“ се използва за указване на действителните промени в честотната лента, които да бъдат записани при следващата итерация в „delta_bw“. Дроселирането се намалява само ако текущата честотна лента плюс delta_bw е под целта на потребителя.

Като такова се споменава, че Алгоритъмът работи добре с постоянни работни натоварвания на честотната лента, но може да се провали, ако работното натоварване се промени точно когато дроселирането се промени. За да се справи с това, беше внедрена по-проста техника, която изчислява потенциалното увеличение на честотната лента, ако дроселирането се намали до следващото по-високо ниво, като се гарантира, че то остава под целта на потребителя, преди дроселирането да бъде намалено.

Ако сте заинтересовани да научите повече за това, можете да се запознаете с подробностите на следните връзки: