77305

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

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

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

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

Русский

2015-02-02

19 KB

0 чел.

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

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

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

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

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

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

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

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


 

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

67178. ОБЩИЕ ПРИНЦИПЫ АНЕСТЕЗИОЛОГИИ. ИНГАЛЯЦИОННЫЙ НАРКОЗ 278 KB
  Универсальной и общепризнанной теории действия анестетиков нет. Ранние теории наркоза в настоящее время представляются полностью несостоятельными: Коагуляционная теория Кьюн 1864 коагуляция белка под влиянием эфира и хлороформа обнаружилось что коагуляция происходит только при концентрациях значительно превышающих терапевтические.
67179. Проблеми державного відтворення української культури у 1917-1920 рр. та особливості національно-культурного розвитку українських земель у 1920-1930-х рр. XX століття 133 KB
  Відкриття Української Академії наук УАН. відбулося територіальне роз'єднання українських земель завершилося формування української нації ускладнилася соціальна структура та політизувалося суспільне життя. Ця орієнтація зумовила вивчення проблем етнографії фольклору мови а також стимулювала бажання...
67180. Повернення об’єктів функціями. Потенційні проблеми 74.5 KB
  Якщо об'єкти можна передавати функціям, то з таким самим успіхом функції можуть повертати об'єкти. Щоби функція могла повернути об'єкт, по-перше, необхідно оголосити об'єкт, який повертається нею, типом відповідного класу. По-друге, потрібно забезпечити повернення...
67181. Асиметричні криптоперетворення та їх застосування для забезпечення конфіденційності 240.65 KB
  Найбільшою особливістю асиметричних перетворень є використання асиметричної пари ключів, які містить відкритий ключ, що відомий всім, та особистого ключа, що пов’язаний з відкритим ключем за допомогою певного математичного перетворення.
67182. ПРАВОВОЕ ГОСУДАРСТВО И ГРАЖДАНСКОЕ ОБЩЕСТВО 305.5 KB
  Аристотель выделял два рода правления, один из которых направлен к выгоде правителя, другой — подданных, общества. В них по-разному проявлялась роль права как посредника между человеком и государством. Ясно, что в обществах, где в выгоде находились правители, право в большей мере использовалось в качестве
67183. ДВИГАТЕЛЬНАЯ ФУНКЦИЯ ЦНС 137 KB
  Командные двигательные центры расположены в стволе мозга и моторных областях коры которые связаны с локальными моторными аппаратами нисходящими путями. Так например нейроны моторной коры вызывающие сгибание руки контактируют посредством своих аксонов с управляющими именно...
67184. Лексика с точки зрения происхождения 119 KB
  Кальки лексические семантические фразеологические Причины заимствования внешние и внутренние Пути заимствования устный и письменный; непосредственно и через язык-посредник Внутренние заимствования Освоение заимствований Экзотизмы и варваризмы Отношение к заимствованиям...
67185. СИМЕТРИЧНІ КРИПТОПЕРЕТВОРЕННЯ ШИФРУВАНННЯ 177.37 KB
  Симетричне криптографічне перетворення у вигляді блокового симетричного шифру БСШ знайшло широке застосування на практиці. БСШ будуються на основі використання декількох симетричних криптографічних перетворень елементарних шифрів більшість яких розглянуто вище в підрозділі...
67186. Оформлення таблиць 720.5 KB
  Таблиці чудово справляються з тим для чого вони насправді призначені представленням табличних даних. Структура таблиці Перш ніж переходити до CSS давайте розглянемо ключові структурні елементи таблиць які знадобляться для гарного оформлення...