Ученые Пермского политехнического университета разработали новый метод распределения задач между серверами, который позволяет ускорить интернет-сервисы без приобретения дополнительного оборудования. По оценкам авторов, технология сокращает время отклика на 8–10% и повышает равномерность загрузки серверов на 60–70%. Об этом «Газете.Ru» сообщили в пресс-службе учебного заведения.
Существующие методы работают по-разному: некоторые ориентированы только на длину очереди задач, другие пытаются предсказать время выполнения, третьи используют искусственный интеллект. Однако такие подходы либо дают неверные прогнозы, либо требуют значительных вычислительных ресурсов. В результате одни серверы простаивают, а другие перегружены.
Новый алгоритм учитывает сразу три параметра: ожидаемое время выполнения задачи, текущую загрузку устройства и точность прошлых прогнозов для конкретного сервера. Если система замечает, что компьютер регулярно работает хуже, чем ожидалось, его приоритет снижается и задачи перераспределяются на более надежные узлы.
«Если фактическая производительность обработки задачи хуже прогнозируемой, планировщик снижает приоритет и передает задачу более надежному исполнителю», — пояснил аспирант кафедры автоматики и телемеханики ПНИПУ Егор Трушкин.
Эффективность метода проверена с использованием программной модели и экспериментального стенда с виртуализацией. Исследователи смоделировали различные сценарии: от стабильной работы до случайных сбоев и нестабильного поведения вычислительных устройств.
По мнению авторов, в условиях нестабильной работы сервера новая система позволила сократить время выполнения задач на 8–10% и сделать распределение нагрузки гораздо более равномерным.
Разработчики полагают, что технологию можно реализовать в поисковых системах, потоковых платформах, интернет-магазинах, банковских сервисах и облачных платформах. Более того, метод не требует суперкомпьютеров или обучения нейронной сети, поэтому его можно использовать в существующей серверной инфраструктуре.