Он упростит работу с параллельными вычислениями.
Исследователи из Института по проблемам безопасности и приватности CyLab Университета Карнеги — Мэллона представили новый язык программирования и инструментарий для оптимизации работы высокопроизводительных параллельных программ. Об этом сообщает Tech Xplore.
«Когда несколько вещей происходят одновременно, вам нужен способ координации между ними, чтобы убедиться, что они не мешают друг другу, — отмечает доцент CyLab Брайан Парно. — Исторически это был очень глючный процесс».
Парно и группа исследователей разработали язык Armada, который обеспечивает доказуемо корректную работу программ, то есть при работе с софтом можно привлечь математику и логику для доказательства его корректной работы. По словам Парно, Armada позволяет писать код как того захочет пользователь — он будет работать настолько быстро, насколько это возможно, при этом не портя ничего со стороны программно-аппаратной части.
Авторы сравнивают сложность параллельных программ и их подверженность ошибкам с аукционом. Обычно один аукционер получает заявки от множества людей. До самой высокой ставки пройдет много времени. Но если разделить участников условно на десять комнат с отдельным аукционером, процесс ускорится. Правда аукционерам будет трудно оставаться скоординированными, будет много места для ошибок. В такой ситуации Armada становится средством коммуникации аукционеров, которые одновременно получают самые высокие ставки в разных комнатах.