TMO, механизм Facebook, который экономит оперативную память на серверах.

Об этом сообщили инженеры Facebook. через отчет, внедрение технологии Денежный перевод по телеграфу (Прозрачная разгрузка памяти) в прошлом году, что позволяет существенно экономить оперативную память на серверах путем перемещения вторичных данных, которые не требуются для работы, на более дешевые диски, такие как твердотельные накопители NVMe.

Facebook оценивает, что TMO экономит от 20% до 32% оперативной памяти на каждом сервере. Решение предназначено для использования в инфраструктурах, где приложения работают в изолированных контейнерах. Компоненты TMO на стороне ядра они уже включены в ядро ​​Linux.

На стороне ядра Linux операция технологии обеспечивается подсистемой PSI (Информация о остановке под давлением), поставляется с версии 4.20.

PSI уже используется в различных драйверах памяти и позволяет анализировать информацию о времени ожидания получения различных ресурсов (процессор, память, ввод-вывод). Благодаря PSI процессоры пользовательского пространства могут более точно оценивать загрузку системы и закономерности замедления, позволяя обнаруживать аномалии до того, как они окажут заметное влияние на производительность.

В пользовательском пространстве компонент Senpai запускает TMO., который динамически регулирует лимит памяти для контейнеров приложений через cgroup2 на основе данных, полученных от PSI.

Сенпай анализирует признаки начала нехватки ресурсов через PSI, оценивает чувствительность приложений к медленному доступу к памяти и пытается определить минимальный размер требуемой памяти для контейнера, в котором данные, необходимые для задания, остаются в ОЗУ, а связанные данные, которые находились в файловом кеше или в настоящее время напрямую не используются, вытесняются в раздел подкачки.

Прозрачная разгрузка памяти (TMO) — это решение Meta для гетерогенных сред центров обработки данных. В нем представлен новый механизм ядра Linux, который измеряет потерю работы из-за нехватки ресурсов ЦП, памяти и ввода-вывода в режиме реального времени. Руководствуясь этой информацией и не имея каких-либо предварительных знаний о приложении, TMO автоматически регулирует объем памяти для выгрузки на гетерогенное устройство, такое как сжатая память или твердотельный накопитель. Это делается на основе характеристик производительности устройства и чувствительности приложения к более медленному доступу к памяти.

Таким образом, суть TMO в том, чтобы держать процессы на "строгой диете" в плане потребления памяти, принудительное перемещение в раздел подкачки неиспользуемых страниц памяти, удаление которых не оказывает заметного влияния на производительность (например, страницы с кодом, используемым только при инициализации, и одноразовые данные, кэшированные на диске). В отличие от сброса данных в раздел подкачки в ответ на нехватку памяти, TMO сбрасывает данные на основе предиктивного прогнозирования.

Отсутствие доступа к странице памяти в течение 5 минут используется как один из критериев предпочтения. Эти страницы называются холодными и в среднем занимают около 35% памяти приложения (в зависимости от типа приложения колеблется от 19% до 65%).

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

Чтобы избежать дисбаланса при сбросе памяти в кеш, TMO использует новый алгоритм разбиения по страницам, который пропорционально сбрасывает анонимные страницы и страницы, связанные с файловым кешем.

Перемещение редко используемых страниц в более медленную память не сильно влияет на производительность, но может значительно снизить затраты на оборудование. Данные отправляются на твердотельные накопители или в сжатое пространство подкачки в ОЗУ. По стоимости хранения одного байта данных использование твердотельных накопителей NVMe до 10 раз дешевле, чем использование сжатия в оперативной памяти.

Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.


Комментарий, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Элиан сказал

    можно ли это использовать на обычных компьютерах с обычными приложениями?