Как заставить суперкомпьютер работать без заторов ✎ экспресс

Оригинал: "Exploiting Parallelism on Shared Memory in the QED Particle-in-Cell Code PICADOR with Greedy Load Balancing"
arXiv:1905.08217 · 2019-05-20 · arXiv non-exclusive · собственный разбор · 1 мин
Учёные придумали способ равномерно раздавать частицы между процессорами, чтобы моделирование лазерной плазмы шло в десятки раз быстрее.

📄 Показана версия «Просто» — «Популярно» пока не готова. Добавьте ★ в избранное, если хотите её ускорить.

Суперкомпьютер, моделирующий поведение лазерной плазмы, похож на кухню, где сотни поваров готовят одно блюдо. Если у одной плиты столпились десять человек, а у другой никого, работа встанет. Так и в расчётах: частицы плазмы скапливаются в одних участках пространства, оставляя другие почти пустыми. Процессоры, которым достались «горячие» зоны, трудятся на износ, а остальные ждут.

Авторы работы предложили резать каждую расчётную ячейку на мелкие порции — как нарезают овощи для салата, чтобы каждый повар получил свою горсть. Эти порции динамически раздаются свободным потокам процессора. Если в одном месте частиц стало слишком много, порции дробятся ещё мельче и перераспределяются. Так нагрузка выравнивается сама собой, без ручной настройки.

В экспериментах на одномерных, двумерных и трёхмерных задачах новый метод оказался в 2,1–10 раз быстрее прежних схем в коде PICADOR.

Это значит, что те же расчёты можно проводить на меньшем числе компьютеров или за меньшее время. Для физиков, изучающих квантовые каскады в экстремальных полях лазера, такая скорость — возможность быстрее проверять гипотезы и двигаться к новым открытиям.

В одном из тестов нагрузка на процессоры менялась каждые несколько микросекунд расчётного времени — как если бы очередь в кассу перестраивалась десятки раз в секунду.

В романе «Задача трёх тел» Лю Цысиня инопланетяне решают похожую проблему распределения вычислений, но в галактическом масштабе.

Учёные
Erwin SchrödingerHugh Everett IIIDavid DeutschJohn Stewart BellLouis de BroglieLov Grover
Понятия
параллельная обработка квантовый алгоритм гибридный алгоритм память ячейка памяти оптимизация ресурсов квантовых вычислений суперкомпьютер центр обработки данных распространение ошибок медицина сложность графический процессор квантовое распределение ключей масштабируемый квантовый компьютер расчёт на решётке решеточная КХД видеокарта симулятор на ридберговских атомах кинетическое моделирование плетение