Автоматическая настройка производительности кластера под изменяющуюся нагрузкуНейронные сети, искусственный интеллект
Руководит группой машинного обучения в компании Jet.Team. За год сформировал команду, которая решила более 10 проектов по машинному обучению для заказчиков. Машинным обучением занимается около 3 лет. Руководит разработчиками более 15 лет. Сам разрабатывает ПО более 20 лет.
Сфера интересов в последние 3 года: deep learning, математические алгоритмы принятия решений, оптимизационные алгоритмы.
Все мы наверно слышали, что нейронная сеть AlphaGo, разработанная компанией DeepMind, выиграла у человека в Go. Но DeepMind использовала эти же алгоритмы для управления системами кондизицонирования в датацентрах Google, и в результате снизила затраты электроэнергии на охлаждение датацентров на 40%.
Мы вдохновились этим примером и решили попробовать оптимизировать работу кластера из виртуальных машин таким образом, чтобы утилизация ресурсов в кластере была максимальной, было задействовано минимум физических серверов, а также были выполнены все SLA, предъявляемые к кластеру.
Параметры, которые мы автоматически настраивали - размещение виртуальных машин по серверам и квоты на ресурсы сервера для разных типов виртуальных машин. Для настройки значений квот мы использовали подход reinforcement learning, подавая на вход алгоритму профили потребления ресурсов виртуальными машинами, получая на выходе карту размещения виртуальных машин и размеры квот для каждой виртуальной машины.
Что из этого получилось, с какими трудностями мы столкнулись и как их решили, я и хочу рассказать в своем докладе.