77305

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

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

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

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

Русский

2015-02-02

19 KB

0 чел.

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

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

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

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

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

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

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

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


 

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

23810. Конкретный смысл действия умножение 16.83 KB
  Образовательные: 1 совершенствовать навыки устного счета 2 заменять сумму одинаковых слагаемых умножением; 3 отрабатывать умения решать составные задач; 4усвоить правила замены суммы одинаковых слагаемых умножением.Развивающие: 1развивать математическую речь 2развивать мыслительные операции 3развивать смекалку 3. По ˙ раз д. фронтальный опрос разложите числа на одинаковые слагаемые доска: 21=7 18=6.
23811. Конкретный смысл действия умножение 17.5 KB
  Образовательные: 1 совершенствовать навыки устного счета 2 заменять сумму одинаковых слагаемых умножением; 3 отрабатывать умения решать составные задачи 2. Чему равно уменьшаемое два ученика придумывают два своих примера и задают любому из учеников Цель: называние элементов выражения действий к доске 2 ученика остальные в тетради замените сумму умножением: 7777777= 771 ученик 5555=54 2уч 777= 3 уч тут возникает проблема можем ли мы заменить действие вычитание умножением запомните что нельзя. Потому что при...
23812. Конкретный смысл действия умножения 20.26 KB
  Почему цель: сколько раз и по сколько раз взяли число 777 7777 444 444 222 888 Вычисли: выходят два ученика Остальные в тетрадях. 27999= 217777= Сколько раз из 27 вычли 9 из 28 вычли 7 Значит сколько раз по 9 содержится в 27 по 7 в 14 Внимательно слушаем Запиши число 2728 через сумму 9 7. запись: 999=27; 7777=21по 9 три раза Итак внимание Сумму какого числа мы находили Сколько раз мы сложили это число запишем Это обозначает что мы взяли по 9 взяли три раза кто нибудь...
23813. Задачи на умножение 16.86 KB
  Класс: 2 Тип урока: комбинированный Тема: задачи на умножение; ФОУД: фронтальная индивидуальная Технология: традиционная Дидактическая цель: создать условия для отработки навыка замены действий сложения умножением в решении задач; Задачи: 1.Образовательные: 1 совершенствовать навыки устного счета 2 заменять сумму одинаковых слагаемых умножением; 3 отрабатывать умения решать задачи; 4закреплять правила замены суммы одинаковых слагаемых умножением. вычисление с помощью замены умножения сложением замени суммой одинаковых слагаемых: 6=...
23814. Стихи А. Плещеева о весне 19.54 KB
  Плещеева о весне Тип урока: урок чтения лирического произведения и коллективного анализа ФОУД: фронтальная Технология: традиционная Оборудование: учебник Литературное чтение Канакина 2кл. Плещеева о весне Задачи Образовательные: познакомить с важными фактами из жизни и творчества А. Плещеева совершенствовать умение анализировать лирическое произведение совершенствовать навык сознательного правильного выразительного чтения Развивающие: развивать творческое воображение детей развивать литературную речь учащихся развивать память...
23815. Рассказ В. Осеевой «Волшебное слово» 20.25 KB
  Вспомним содержание произведения ответив на вопросы кроссворда у каждого на парте Учитель Читает вопросы: Как зовут мальчика Что было в руке у старика Как зовут девочку Кто пекла пирожки На чем сидел старик в начале рассказа Кого попросил Павлик чтобы его взяли кататься на лодке Где Павлик нашел бабушку Что пекла бабушка На чем чертил старик зонтиком Что попросил Павлик у Лены На чем хотел покататься Павлик Куда положил Павлик руку когда попросил брата взять его покататься Как назвал старика Павлик Какое...
23816. Урок по литературе Рассказ В. Осеевой «Волшебное слово» 21.54 KB
  Для того чтобы узнать какая тема будет сегодня у нас на уроке вам нужно составить правильные словосочетания: сказка настольная лампа волшебное слово интересная Обратите внимание какое слово во втором столбике не может сочетаться с другими словами С каким словом оно сочетается Так называется произведение которое мы сегодня будем изучать на уроке. Увлекательные истории цикла рассказов Волшебное слово очень нравились детям.
23817. В. Осеева «Волшебное слово» 49.5 KB
  Осеева Волшебное слово УМК Школа России Л. сказка деревянная палочка красивый лампа интересная слово настольная цветок волшебное Стрелкой соедините слова связанные по смыслу. Слайд 3 Какое словосочетание здесь лишнее Почему Слайд 4 Можем ли мы употребить слово волшебное с другими славами из первого столбика Что у...
23818. В. Осеева « Волшебное слово». 267.17 KB
  Карточки с пословицами карточки с вежливыми словами выставка книг о вежливости мяч карточки с названиями частей плана учебник портрет В. словарь Ожегова кроссворд Ход урока. Как вы понимаете эти слова Волшебное доброе слово может подбодрить человека в трудную минуту поможет улучшить наше настроение. Словарь вежливых слов Растает даже ледяная глыба от слова теплого СПАСИБО.