В архитектуре EvoXпланировщик Runtimeявляется исполнительным центром, связывающим логику алгоритмов с физическим оборудованием. Он отвечает за отображение эволюционных алгоритмов, определений задач и рабочих процессов верхнего уровня на гетерогенные вычислительные ресурсы — GPU, ускорители (например, TPU/NPU) и распределённые кластеры — скрывая различия оборудования и сохраняя высокую компонуемость алгоритмических модулей.
Ключевые обязанности
- Планирование гетерогенных ресурсов: единое управление исполнительными ресурсами — GPU, ускорителями и распределёнными кластерами — с распределением задач, операторов и графов тензорных вычислений эволюционных вычислений на наиболее подходящий аппаратный бэкенд.
- Координация зависимостей и состояний: координация зависимостей между задачами и состояний выполнения, обеспечивающая корректную синхронизацию каждого этапа параллельного эволюционного поиска.
- Единый интерфейс планирования: уровень алгоритмов отправляет вычислительные задачи через единый интерфейс без привязки к конкретному устройству или конфигурации кластера, что снижает связанность с оборудованием.
- Компонуемость модулей: поддержка модульной компоновки, замены и повторного использования алгоритмов, задач, операторов и исполнительных бэкендов, что позволяет легко переносить один и тот же код в различные аппаратные среды.
Ценность и примеры
Основная ценность планировщика Runtime заключается в том, что он обеспечивает эффективное развёртывание параллельного эволюционного поиска на разных аппаратных платформах, не нарушая модульный дизайн алгоритмов верхнего уровня. Например, при переходе одного и того же эволюционного алгоритма с одиночного GPU на многоузловой кластер код уровня алгоритмов остаётся неизменным, а Runtime заново отображает вычислительные задачи на исполнительные бэкенды. Такая архитектура позволяет исследователям сосредоточиться на инновациях в алгоритмах, не переписывая код под каждое устройство.
