77305

Анализ подходов к отладке параллельных вычислений

Научная статья

Информатика, кибернетика и программирование

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

Русский

2015-02-02

19 KB

0 чел.

Анализ подходов к отладке параллельных вычислений

А.Ю. Байдалин. ИММ УрО РАН, Екатеринбург

Отладка правильности и производительности параллельных программ и ее визуализация — весьма актуальная задача для всех, кто занят разработкой соответствующего программного обеспечения. В 80-ых и 90-ых годах XX прошлого столетия ей уделялось большое внимание в самых серьезных исследовательских центрах. Был разработан целый ряд мощных отладочных средств. В тоже время в целом эта проблема так и не была разрешена, а в настоящее время в этом плане наблюдается определенный застой.

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

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

Интересно, что собственно визуальные отладчики были реализованы весьма давно в отладчике Voyeur, где использовались средства создания образов для представления параллельных программ.Характерным для этого отладчика является пример отладки программы, моделирующей поведение хищных и нехищных рыб типа «хищник-жертва». «Мир», в котором они живут представляет собой сетку, состоящую из квадратов, где находятся рыбы, поведение которых рассчитывается на различных процессорах вычислительной системы. Один из 16 процессоров управляет частью сетки из 4*4 квадратов. При отладке применялось естественное представление модельных объектов. Использование визуального отладчика позволило одновременно увидеть несколько участков «мира» и составить представление о ходе работы программы сразу на нескольких процессорах. Важно, что в этом случае была четко сформулирована и реализована в визуальном видемодель правильного и неправильного выполнения программы. Удалось найти четкое и яркое визуальное представление для самой компьютерной модели и модели правильности. Однако обобщить эти идеи не удается. Отметим, что в общем случае отсутствует и модель эффективности параллельных программ, что препятствует разрабоке эффективных отладчиков производительности.

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

В настоящее время исследуется формализация описания отладки эффективности программы, а также решается вопрос с выбором математического аппарата. Фактически оптимизация программы может быть переформулирована в следующем виде: построить последовательность семейств траекторий так, чтобы результирующее отображение из области входных значений в область выходных или концевого множества обладало средним/минимальным/максимальным подходящим по критерию временем. В случае параллельной программы можно говорить либо о расщеплении общего пространства состояний на несколько, либо о представлении совокупности процессов параллельной программы как нескольких отображений, оказывающих друг на друга воздействие.


 

А также другие работы, которые могут Вас заинтересовать

44011. Исследование возможности обнаружения движущихся объектов в телевизионных системах 795 KB
  Категория Характеристика значимости объекта Производственное или другое назначение объекта Обозначение Объекты А Особо важные Объекты зоны объектов здания помещения территории несанкционированное проникновение на которые может принести особо крупный или невосполнимый материальный и финансовый ущерб создать угрозу здоровью и жизни большого количества людей находящихся на...
44012. Исследование возможности обнаружения движущихся объектов в телевизионных системах 3.07 MB
  Для предотвращения хулиганских выходок, попыток суицида, возникновения «живых пробок» целесообразно применить к системе наблюдения модуль трэкинга целей. Модуль должен программироваться на детектирование заданных видов движений, регистрировать моменты начала и прекращения перемещений, осуществлять подсчет объектов, двигающихся в том или ином направлении
44013. Социальные организации: их основные виды. Идеи Р. Мертона 16.49 KB
  В социологии ключевым понятием является элемент социальной структуры и дается такое определение: социальная организация — большая социальная группа, сформированная для достижения определенных целей.
44014. Разработка электронного регистратора пульсовых колебаний 2.07 MB
  Мембрана изготовлена из тонколистовой бронзы толщиной около 003 мм. Катодами в ванне служат листы из меди или коррозионностойкой стали помещенные в чехлы из хлориновой ткани. Медная фольга защищается от возможных повреждений при хранении транспортировании и сверлении отверстий медным или алюминиевым листовым протектором толщиной 50 75 мкм. В наши дни весьма актуальна подготовка специалистов...
44015. Розробка програмного забезпечення спортивної статистики, соціальної мережі та веб-сервісу прийому замовлень для служб таксі 6.68 MB
  Розробка універсального алгоритму і програмного забезпечення для автоматичного підрахунку фізичних вправ і ведення спортивної статистики, створення відповідної соціальної мережі, здатної витримувати високі навантаження на ресурси (більше 1000 запитів за секунду). Розробка веб-сервісу прийому замовлень для служб таксі
44017. Комплекс лабораторних робіт з предмета: «Антенно- фідерні пристрої» 409.47 KB
  Вплив на людину джерел електромагнітного випромінювання Оптичне випромінювання. Функції антен у зазначених системах зводяться до випромінювання або прийому електромагнітних хвиль. Основні вимоги до фідера зводяться до його електрогерметічності відсутності випромінювання енергії з фідера і малим тепловим втратам.
44018. WEB – орієнтована інформаційна система «Math» 1.47 MB
  До цих джерел шуму відносяться також залізничні вузли і станції великі автовокзали і автогосподарства мотелі і кемпінги трейлерні парки промислові об'єкти і великі бази будівельної індустрії енергетичні установки. Це і проблема могильників і проблема саркофагу який поступово руйнується проблема населення яке все ще проживає в тридцяти кілометровій зоні. Арк. Підпис Дата Арк.