Алехандра Моралес (Alejandra Morales) в списке рассылки для разработчиков ядра Linux показала модуль Cryogenic, который позволяет значительно уменьшить потребление энергии за счет кластеризации операций ввода-вывода среди многих приложений, которые обращаются к одному и тому же аппаратному устройству. Для достижения такой цели Cryogenic предоставляет программные интерфейсы для согласования графика совместных действий при обращении к SCSI-накопителю или сетевому устройству в те моменты, когда это наиболее выгодно для энергопотребления. Получив информацию через API, модуль откладывает (или ожидает) исполнение несрочных задач. Когда поступает срочное задание и нужно разбудить устройство, то вслед за ним исполняются и несрочные задачи. Если все обращения идут кластером одно за другим, то периоды простоя устройства увеличиваются. Программные интерфейсы позволяют разработчику приложения устанавливать минимальный и максимальный лимит на время ожидания операции, по истечении которой та превращается в срочную. То есть можно выбрать уровень, насколько мы готовы жертвовать производительностью ради экономии энергии. Например, в упрощенной версии, UDP-клиент периодически присылает такие запросы: Если он хочет использовать Cryogenic API, то должен модифицировать алгоритм следующим образом: Подробнее с магистерской диссертацией, которая легла в основу Cryogenic, можно познакомиться здесь. На видео: защита диссертации Алехандры Моралес https://gnunet.org/sites/default/files/cryogenic2014.webm 21.03.2014 http://www.xakep.ru/post/62240/