В высокопроизводительных серверах, оснащенных ускорителями AMD Instinct с большим объемом памяти (192 ГБ на устройство), наблюдаются проблемы с переходом в режим гибернации Linux. Причиной является чрезмерный объем виртуальной памяти, который система пытается сохранить в системную оперативную память (RAM).
Например, сервер с восемью ускорителями Instinct и 2 ТБ системной RAM может столкнуться с нехваткой ресурсов при гибернации. Во время этого процесса содержимое видеопамяти копируется в GTT или shmem, что также использует системную RAM. В результате может возникнуть ситуация, когда объем данных в системной памяти превысит ее доступный объем.
Чтобы решить эту проблему, инженеры AMD предложили серию исправлений для ядра Linux.
Основные изменения:
- Перемещение GTT в shmem после освобождения VRAM. Это позволяет освободить страницы GTT и уменьшить объем данных, копируемых в образ гибернации.
- Принудительная запись страниц shmem на диск подкачки и освобождение этих страниц.
Кроме того, предложен патч для ускорения процесса восстановления из спящего режима.
Эти исправления находятся на рассмотрении сообществом Linux и, вероятно, будут включены в будущие версии ядра.
Важно отметить, что проблема гибернации может быть актуальной не для всех пользователей. Большинство серверов с ускорителями AMD Instinct работают непрерывно. Тем не менее, для тех, кто планирует использовать режим гибернации для экономии энергии во время простоев, эти исправления будут весьма полезны.