Российский ученый вывел формулу проверки алгоритмов для суперкомпьютеров
Сотрудник Южно-Уральского государственного университета (ЮУрГУ) впервые в мире получил формулу, которая поможет математикам и программистам оценить эффективность параллельных алгоритмов для суперкомпьютера еще на этапе их разработки. Результаты исследования опубликованы в Journal of Parallel and Distributed Computing, сообщила во вторник ТАСС пресс-служба проекта повышения конкурентоспособности российских вузов «5-100».
«Моей целью было создать такую модель параллельных вычислений, которая позволила бы на самой ранней стадии разработки алгоритма, без программирования, без запуска на суперкомпьютере, не тратя на это время и деньги, сделать вывод о том, может ли он эффективно использовать суперкомпьютер или нет. Предложенная мною формула позволяет, имея всего лишь карандаш, лист бумаги и калькулятор, понять, окажется ли эффективным тот или иной алгоритм при выполнении на суперкомпьютере», — сказал автор разработки, профессор Леонид Соколинский, слова которого приводятся в сообщении.
Программы на основе сложных численных алгоритмов используются во многих сферах. В частности, для отслеживания изменений котировок акций на фондовых биржах, для решения логистических задач, для составления расписания авиаперелетов. Обычному компьютеру такие задачи не под силу, поэтому для их решения используются суперкомпьютеры и создаются параллельные алгоритмы, способные одновременно использовать множество процессоров. Чем больше процессорных ядер эффективно использует алгоритм, тем большей масштабируемостью он обладает.
Чтобы оценить масштабируемость нового алгоритма, необходимо провести серию экспериментов, запустив готовую параллельную программу на компьютере. Но часто выясняется, что алгоритм неэффективен. Возникает необходимость вносить в него изменения или разрабатывать новый. Соколинский предложил модель параллельных вычислений, которая позволяет проверить новый алгоритм до начала программирования. Такой подход существенно сокращает время на разработку и позволяет внести все необходимые изменения до написания программы.
«Моделей параллельных вычислений существует очень много, несколько десятков, но ни одна из них не предлагает готовой формулы, которая бы давала точную оценку прогнозируемой масштабируемости алгоритма. В предложенной мною модели впервые в мире выведена такая формула, более того, ее эффективность подтверждена на практике при решении многих задач», — пояснил ученый.
В дальнейшем на основе разработанной модели, как добавили в пресс-службе, планируется создание «программного каркаса» — шаблона, при помощи которого другие математики и программисты смогут быстро создавать параллельные программы для решения оптимизационных задач высокой вычислительной сложности.
Источник: https://nauka.tass.ru/nauka/10604977