Проблемы гибернации в системах с ускорителями AMD Instinct

В высокопроизводительных серверах, оснащенных ускорителями AMD Instinct с большим объемом памяти (192 ГБ на устройство), наблюдаются проблемы с переходом в режим гибернации Linux. Причиной является чрезмерный объем виртуальной памяти, который система пытается сохранить в системную оперативную память (RAM).

Например, сервер с восемью ускорителями Instinct и 2 ТБ системной RAM может столкнуться с нехваткой ресурсов при гибернации. Во время этого процесса содержимое видеопамяти копируется в GTT или shmem, что также использует системную RAM. В результате может возникнуть ситуация, когда объем данных в системной памяти превысит ее доступный объем.

Чтобы решить эту проблему, инженеры AMD предложили серию исправлений для ядра Linux.

Основные изменения:

  1. Перемещение GTT в shmem после освобождения VRAM. Это позволяет освободить страницы GTT и уменьшить объем данных, копируемых в образ гибернации.
  2. Принудительная запись страниц shmem на диск подкачки и освобождение этих страниц.

Кроме того, предложен патч для ускорения процесса восстановления из спящего режима.

Эти исправления находятся на рассмотрении сообществом Linux и, вероятно, будут включены в будущие версии ядра.

Важно отметить, что проблема гибернации может быть актуальной не для всех пользователей. Большинство серверов с ускорителями AMD Instinct работают непрерывно. Тем не менее, для тех, кто планирует использовать режим гибернации для экономии энергии во время простоев, эти исправления будут весьма полезны.