Группа исследователей из Массачусетского технологического института разработала способ решения проблемы «хвостовых задержек» в центрах обработки данных.
Приложение, работающее в распределенной сети ЦОДов, получает данные от множества сервисов на разных серверах, и перед тем, как отправить ответ пользователю, приложение должно дождаться отклика последнего сервиса. Для ускорения работы некоторые системы перераспределяют вычислительные ядра в зависимости от загрузки приложения, но это происходит в масштабах миллисекунд, тогда как разработанная авторами система Shenango способна реагировать на возникновение задержек в течение микросекунд.
В Shenango реализованы две новые технологии: алгоритм выявления страдающих от задержек приложений, который вместо проверки времени поступления пакета (что было бы слишком затратно) помещает пакеты в буфер и каждые 5 микросекунд проверяет их положение, а также система выделения ядер для обработки поступающих пакетов данных под названием IOKernel, знающая о состоянии всех приложений и способна распределять ядра на порядок быстрее, чем применяющиеся сейчас системы.
Авторы планируют приспособить Shenango к работе в реальных ЦОДах, для чего потребуется реализовать в ней функции безопасности и убедиться в том, что система способна справиться с очень большим потоком данных.