Microsoft неожиданно раскрыла подробности использования своей распределённой службы планирования «планетарного масштаба» Singularity, предназначенной для управления ИИ-нагрузками. В докладе компании целью Singularity названа помощь софтверному гиганту в контроле затрат путём обеспечения высокого коэффициента использования оборудования при выполнении задач, связанных с глубоким обучением.
Singularity удаётся добиться этого с помощью нового планировщика, способного обеспечить высокую загрузку ускорителей (в том числе FPGA и ASIC) без роста числа ошибок или снижения производительности. Singularity предлагает прозрачное выделение и эластичное масштабирование выделяемых каждой задаче вычислительных ресурсов. Фактически она играет роль своего рода «умной» прослойки между собственно аппаратным обеспечением и программной платформой для ИИ-нагрузок.
Singularity позволяет разделять задачи, поручаемые ресурсам ускорителей. Если необходимо масштабирование, система не просто меняет число задействованных устройств, но и управляет распределением и выделением памяти, что крайне важно для ИИ-нагрузок. Правильное планирование позволяет не простаивать без нужды весьма дорогому «железу», благодаря чему и достигается положительный экономический эффект.
В докладе также прямо говорится, что у Microsoft есть сотни тысяч GPU и других ИИ-ускорителей. В частности, упоминается, что Singularity используется на платформах NVIDIA DGX-2: два Xeon Platinum 8168 (по 20 ядер каждый), восемь ускорителей V100 с NVSwitch, 692 Гбайт RAM и интерконнект InfiniBand. Таким образом, ИИ-парк компании должен включать десятки тысяч узлов, поэтому эффективное управление им очень важно.
Источник: