Челябинский ученый вывел формулу оценки алгоритмов без суперкомпьютера

Олег Игошин/www.susu.ru

В лаборатории суперкомпьютерного моделирования Южно-Уральского госуниверситета вывели формулу, позволяющую оценить эффективность параллельных алгоритмов без их проверки на дорогостоящей вычислительной технике. После четырех лет вычислений ее создал доктор физико-математических наук, профессор Леонид Соколинский. До него эту проблему в мире еще не удавалось решить ни программистам, ни математикам, сообщили в среду в университете.

Программы на основе сложных численных алгоритмов нужны для расчетов во многих сферах - к примеру, для решения комплексных логистических задач при построении маршрутов перевозки грузов, составления оптимального расписания авиаперелетов или оптимизации работы светофоров таким образом, чтобы избежать скопления транспорта и пробок. Обычному, даже очень производительному компьютеру, такие задачи не под силу. Поэтому используются суперкомпьютеры с множеством процессоров, для которых создаются параллельные алгоритмы, способные их задействовать. И чем больше процессорных ядер использует алгоритм, тем он эффективней.

- Современная наука, экономика и промышленность требуют решения оптимизационных задач огромной вычислительной сложности, - пояснил Леонид Соколинский. - Математики и программисты пишут сложные алгоритмы, которые нужно разделить на параллельные части для выполнения на разных процессорах. А это очень непросто. Чем больше в суперкомпьютере процессоров, тем сложнее придумать алгоритм, который бы эти тысячи, десятки тысяч и миллионы процессоров может использовать. Если параллельный алгоритм не очень хорошо спроектирован, то он окажется неэффективным даже на суперкомпьютере.

Оценить эффективность того или иного алгоритма до сих пор можно было только после масштабной серии экспериментов, на которые приходится тратить много времени и денег. Челябинский ученый предложил новую модель вычислений, которая позволяет проверить работу алгоритма еще до начала программирования. Такой подход существенно сокращает время на разработку программного обеспечения и позволяет внести в алгоритм необходимые изменения еще до написания программы. По словам ученого, для этого ему достаточно иметь карандаш, лист бумаги и калькулятор. А эффективность выведенной им формулы уже подтверждена на практике при решении множества задач.

Результаты исследования Соколинского опубликованы в престижном журнале Journal of Parallel and Distributed Computing (Q1), отметили в пресс-службе вуза.