77305

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

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

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

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

Русский

2015-02-02

19 KB

0 чел.

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

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

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

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

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

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

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

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


 

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

54135. ВІДНІМАННЯ ТРИЦИФРОВИХ ЧИСЕЛ У ВИПАДКУ КОЛИ В ЗАПИСУ ЗМЕНШУВАНОГО Є НУЛЬ 88 KB
  Уявіть що ми з вами на мить стали чарівниками у кожного з вас у долонях чарівна посмішка подаруйте її своєму товаришу по парті Прошепотіть один одному на вушко комплімент і почнемо працювати з гарним настроєм Актуалізація опорних знань учнів Цей урок нас навчить: зрозуміти особливість письмового віднімання з переходом через розряд; творчо розв’язати задачу; виконувати логічні завдання. Розв’язування прикладів № 691 частину коментовано частину самостійно. За...
54136. Решение логических, занимательных задач 43 KB
  Совершенствовать вычислительные навыки учащихся; способствовать развитию внимания, мышления, памяти, смекалки, познавательной и творческой активности учащихся; воспитывать трудолюбие, ответственность, интерес к изучению математики.
54137. Розв'язування вправ на всі дії з десятковими дробами. Урок-подорож сторінками Червоної книги України 36 KB
  Розповідь вчителя про Міжнародну Червону книгу та Червону книгу України слайд 12 ІІ. На мультимедійну дошку проектуються завдання: Сполучити між собою звичайні дроби та рівні їм десяткові слайд 3: 125 02 0013 05 002 2. Виконати запропоновані дії слайд 4 Кожна дія супроводжується формулюванням відповідного правила. Розгадати кросворд і у виділеному стовпці прочитати назву рослини занесеної до Червоної книги слайд 5 1.
54139. Разработка диверсификационной стратегии компании ООО «Гем» на рынках лабораторных расходных материалов 1.85 MB
  Подавляющее большинство компаний, вне зависимости от выбранной стратегии и масштаба деятельности рано или поздно ставит перед собой задачу роста. Эта задача может быть связана, как со стремлением бизнеса постоянно повышать свою капитализацию или увеличивать денежный поток, с целью генерирования прибыли, так и с возможным желанием владельцев удовлетворять свои амбиции
54140. З досвіду організації самостійної роботи студентів 85.5 KB
  Самостійна робота студентів є важливим фактором підвищення ефективності пізнавального процесу під час підготовки майбутніх фахівців. Це пов`язано з тим що тільки в процесі самостійної роботи студент одержує міцні знання розвиває вміння творчого мислення та використання знань у практичній діяльності. Форми самостійної роботи студентів та проблеми її організації дуже різноманітні. Основні напрями рішення цієї проблеми:...
54141. Означення квадратного рівняння. Неповні квадратні рівняння, їх розвязування 35.5 KB
  Мета: освітня: удосконалити знання учнів про означення квадратного рівняння; удосконалити вміння розв’язувати неповні квадратні рівняння; розвиваюча: розвивати вміння вільно висловлюватися з теми відпрацьовувати вміння говорити коротко але по суті й переконливо; виховна: виховувати активність увагу...
54142. Загальна схема дослідження функції та побудова її графіка 624 KB
  Узагальнити та систематизувати знання студентів з теми Дослідження функції і побудова її графіка за допомогою похідної. Знайдемо стаціонарні точки функції. За допомогою другої похідної знаходимо напрямки опуклості і точки перегину графіка функції: критична точка другого роду.
54143. Додавання і віднімання десяткових дробів 44.5 KB
  –Перевіримо чи всі документи готові для експедиції – перевірка готовності робочих місць наявність домашнього завдання. Підготовка до експедиції. – При виконанні завдань експедиції необхідно вміння перевіряти себе. До експедиції готові то ж у путь ІІІ.