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 | |
Карточки с пословицами карточки с вежливыми словами выставка книг о вежливости мяч карточки с названиями частей плана учебник портрет В. словарь Ожегова кроссворд Ход урока. Как вы понимаете эти слова Волшебное доброе слово может подбодрить человека в трудную минуту поможет улучшить наше настроение. Словарь вежливых слов Растает даже ледяная глыба от слова теплого СПАСИБО. | |||