Цели обучения:Понять роль Runtime в планировании гетерогенных вычислительных ресурсов и сохранении компонуемости алгоритмов.
Ключевые понятия:Планирование гетерогенных вычислений.
Runtime: уровень планирования и абстракции в единой платформе
В единой платформе EvoX Runtime выполняет связующую роль: сверху он принимает модули алгоритмов, задач и рабочих процессов, а снизу управляет гетерогенными вычислительными ресурсами, такими как CPU и GPU. Благодаря изоляции интерфейсов поддерживается компонуемость алгоритмов, а уровень алгоритмов не привязывается напрямую к аппаратному обеспечению, стратегиям параллелизма или деталям компиляции. Таким образом, при замене алгоритмов, таких как DE или PSO, или при смене оптимизационной задачи пользователю не нужно переписывать низкоуровневый параллельный код для GPU/CPU; Runtime организует задачи оценки и обновления в рамках единого рабочего процесса, развязывая композицию алгоритмов и аппаратное исполнение.
Ключевые моменты
- Роль Runtime в планировании гетерогенных вычислений: на основе рабочего процесса и состояния модулей мониторинга распределяет задачи для популяции, оценки, операторов и т. п. на подходящие устройства, централизованно управляя параллельным исполнением и использованием ресурсов.
- Условия компонуемости алгоритмов: алгоритмы, задачи и операторы объединяются через модульные интерфейсы и не привязываются напрямую к аппаратному обеспечению, стратегиям параллелизма или деталям компиляции.
- Изоляция низкоуровневого оборудования: различия устройств, тензорное исполнение и оптимизацию компиляции берёт на себя Runtime, а уровень алгоритмов остаётся аппаратно-независимым, что упрощает замену и повторное использование.
- Границы планирования и композиции: абстракция порождает накладные расходы на планирование и перемещение данных, поэтому необходимо балансировать гибкость, производительность и сложность разработки.
- Ценность единой платформы: один и тот же Runtime может поддерживать приложения из разных областей и обеспечивать стабильную среду исполнения для эволюции методов и замены алгоритмов.
Ключевые моменты механизма планирования
| Объект планирования | Гетерогенные ресурсы | Механизм развязки | Выгода компонуемости | Основной компромисс |
|---|---|---|---|---|
| Модули алгоритма/задачи | CPU/GPU | Единый интерфейс | Заменяемость алгоритмов | Накладные расходы абстракции интерфейса |
| Популяция/оценка/операторы | Несколько устройств | Планирование рабочего процесса | Параллельное выполнение | Накладные расходы перемещения данных |
| Рабочий процесс | Гетерогенные вычисления | Аппаратная изоляция | Межотраслевое повторное использование | Сложность планирования |
