Как бороться с «зомби-серверами»: поможет новый балансировщик нагрузки из MIT
Дата-центры используют всего 20–40% доступных им вычислительных мощностей. Такое распределение ресурсов ведет к появлению серверов-зомби. Это — машины, которые большую часть времени простаивают и впустую расходуют электроэнергию. По некоторым оценкам, в «состоянии зомби» находится треть всех серверов в мире.
Чтобы решить проблему неэффективного распределения нагрузки, в MIT разработали новый балансировщик Shenango. Это Linux-библиотека на языке C с байндингами Rust и C++.
За распределение процессов в системе отвечает алгоритм IOKernel. Каждые пять микросекунд он проверяет, все ли задачи, назначенные ядрам, выполнены. Если в буфере возникла задержка, то IOKernel перенаправляет «застрявшие» задачи на свободные ядра.
Также Shenango использует подход work stealing. Ядра, выделенные под одно приложение, следят за количеством задач друг у друга. Если ядро заканчивает работу раньше остальных, то оно автоматически забирает часть нагрузки у соседей.
Авторы технологии говорят, что она способна повысить коэффициент использования процессоров в дата-центрах до 100%. В результате операторы ЦОД смогут экономить на покупке и обслуживании серверов и предоставлять услуги большему числу клиентов.
Дата-центры используют всего 20–40% доступных им вычислительных мощностей. Такое распределение ресурсов ведет к появлению серверов-зомби. Это — машины, которые большую часть времени простаивают и впустую расходуют электроэнергию. По некоторым оценкам, в «состоянии зомби» находится треть всех серверов в мире.
Чтобы решить проблему неэффективного распределения нагрузки, в MIT разработали новый балансировщик Shenango. Это Linux-библиотека на языке C с байндингами Rust и C++.
За распределение процессов в системе отвечает алгоритм IOKernel. Каждые пять микросекунд он проверяет, все ли задачи, назначенные ядрам, выполнены. Если в буфере возникла задержка, то IOKernel перенаправляет «застрявшие» задачи на свободные ядра.
Также Shenango использует подход work stealing. Ядра, выделенные под одно приложение, следят за количеством задач друг у друга. Если ядро заканчивает работу раньше остальных, то оно автоматически забирает часть нагрузки у соседей.
Авторы технологии говорят, что она способна повысить коэффициент использования процессоров в дата-центрах до 100%. В результате операторы ЦОД смогут экономить на покупке и обслуживании серверов и предоставлять услуги большему числу клиентов.