Создан новый язык программирования Armada

Он упростит работу с параллельными вычислениями —  пишет «Mail.ru Hi-Tech».

Исследователи из Института проблем безопасности и приватности CyLab Университета Карнеги — Мэллона представили новый язык программирования и инструментарий для оптимизации работы высокопроизводительных параллельных программ. Об этом сообщает Tech Xplore.

Фото: Interesting Engineering

«Когда несколько событий происходят одновременно, вам нужен способ их координации, чтобы они не мешали друг другу, — отмечает доцент CyLab Брайан Парно. — Исторически это был очень ‘глючный’ процесс».

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

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

Парно считает, что их язык программирования принесет пользу любому, кто пишет параллельные программы, которые охватывают огромный диапазон приложений: от систем расчета заработной платы до ведения больничных записей и e-commerce. Подобные сервисы поддерживаются базами данных на основе параллельного программного обеспечения. «За исключением простых программ, в наши дни почти все имеют определенный параллелизм», — подчеркнул ученый.

Автор: Виталий Лапиков