Исследователь предложил разгрузить процессор с помощью отдельного устройства
Принцип работы нового устройства описал Мартин Маас из Калифорнийского Университета в Беркли. В своей работе он предложил вынести в отдельный блок функцию «сборки мусора», при которой процессор удаляет из памяти ненужные данные. На эти операции тратится от 10 до 35% мощности процессора, но отдельный аппаратный блок выполнит эту функцию эффективнее. Такой элемент занимает мало места и не требует большой мощности.
Сборка мусора решает три основные задачи: поддерживает высокую производительность приложений, потребляет минимум ресурсов и обеспечивает минимальные паузы между операциями очистки памяти. Так как встроенные в процессоры сборщики могут выполнить только две из них, то современный подход предполагает поиск баланса между всеми тремя задачами.
Маас и его коллеги предложили добавить к ЦПУ модуль, который выполнит все три задачи гораздо эффективнее. «Пока приложение запущено на процессоре, этот блок параллельно выполняет сборку мусора», — комментирует Маас, — «это значит, что можно создать систему, где ПО в принципе не занимается сборкой мусора и просто использует доступную память». Маас отмечает, что 10% ресурсов, которые процессор тратит на сборку мусора, могут показаться незначительными, но в глобальном масштабе это даёт ощутимую экономию.
Он также указывает, что выделенное устройство работает без пауз. «В повседневной жизни мы не замечаем этих остановок, но в сценариях, где важна скорость, разработчики избегают пауз, тратя ещё больше ресурсов на сборку мусора», — говорит он. Новый блок решает обе эти проблемы, прокладывая путь к более эффективным вычислениям.