на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Диалоговая оболочка отладчика MPI-программ
p align="left">На вход описываемому в данной работе программному средству подается отладочная информация, записанная по ходу выполнения программы, а также информация от компаратора, реализующего сравнительную отладку.

Отладчик, для которого реализуется визуализатор, описываемый в данной работе, реализует два метода отладки: post-mortem анализ и сравнительная отладка.

3.2 Обзор существующих средств отладки

3.2.1 LockInt (Sun)

· Метод отладки: статическая отладка.

· Эффект вмешательства: отсутствует.

· Гибкость: отсутствует (не использует процессы выполнения программы).

· Удобство использования и простота изучения: пользователю необходимо указать, какие блокировки, за какие разделяемые переменные отвечают. Обучиться использовать просто.

· Языки программирования и операционные системы: Sun WorkShop ANSI C с Pthreads на ОС Solaris.

· Использование ресурсов: не требует выполнения на параллельной ЭВМ, т.к. процессы выполнения программы не используются.

· Локализация ошибок: ошибки синхронизации (дедлоки и условия гонок) ищутся по спецкомментариям пользователя и исходному коду. Возможен пропуск ошибок, в случае нехватки информации от пользователя.

· Успешность на рынке: входит в SunTM ONEStudio 7. Использовался для отладки программы, вычисляющей множество Мандельброта [15].

3.2.2 MAD EMU и ATTEMPT (Johannes Kepler University Linz)

· Метод отладки: post-mortem анализ.

· Эффект вмешательства: имеется, в связи с сохранением трассировки. Для многопоточных приложений может быть очень сильным.

· Гибкость: отсутствует, (анализ происходит после завершения выполнения программы).

· Удобство использования и простота изучения: сбор и анализ информации происходит автоматически. Возможны визуализация и анализ производительности. Обучиться использовать просто.

· Языки программирования и операционные системы: работает с интерфейсом MPI. Поддержки языков программирования нет.

· Использование ресурсов: трассировка может достигать больших размеров.

· Локализация ошибок: класс ошибок определён и ограничен (изолированный send/receive, различная длина событий-сообщений при посылке/приёме, ...)

· Успешность на рынке: информации об использовании MAD за пределами Johannes Kepler University Linz не имеется.

3.2.3 Total View (Etnus LLC), Prism(Sun), p2d2(NAS Ames), Ladebug(Compaq), GDB(GNU), DBX(Sun)

· Метод отладки: интерактивная отладка.

· Эффект вмешательства: имеется. Остановка нитей/процессов нарушает стандартное расписание их выполнения.

· Гибкость: максимальна по определению.

· Удобство использования и простота изучения: от пользователя требуется самостоятельная установка точек останова, изучение состояния программы, ее перезапуск, изменение значений переменны и т.д. Обучение эффективному использованию может быть не простым.

· Языки программирования и операционные системы: Поддержка традиционных языков программирования и их параллельных расширений не представляет проблем. Наиболее развитые средства параллельной отладки разработаны для ОС Unix..

· Использование ресурсов: ресурсы ЭВМ используются эффективно, может потребовать много усилий со стороны человека.

· Локализация ошибок: класс ошибок достаточно широк, но их локализация сильно зависит от умения программиста.

· Успешность на рынке: широко используются. Total View и PDBX(IBM) используются на ASCI White.

3.2.4 Assure(Intel), DVM debugger(KIAM RAS), UMPIRE (LLNL)

· Метод отладки: динамический контроль.

· Эффект вмешательства: имеется, в процессе работы отладчик сохраняет данные и выполняет операции по идентификации ошибок.

· Гибкость: возможна, если после обнаружения ошибки отладчик переходит в интерактивный режим.

· Удобство использования и простота изучения: отладка полностью автоматическая. Обучиться использовать просто.

· Языки программирования и операционные системы: поддержка традиционных языков программирования, их параллельных расширений, операционных систем не представляет проблем.

· Использование ресурсов: отладка больших приложений может требовать больших объемов оперативной памяти и времени.

· Локализация ошибок: класс ошибок ограничен.

· Успешность на рынке: Assure встраивается в VTune Environment.

Выходят новые версии системы DVM, доступна в исходных кодах.

Umpire используется на ASCI White.

3.2.5 DejaVu (IBM)

· Метод отладки: record & replay

· Эффект вмешательства: имеется, при сохранении последовательности событий в программе.

· Гибкость: возможна, на втором этапе (replay).

· Удобство использования и простота изучения: отладка полностью автоматическая. Обучиться использовать просто.

· Языки программирования и операционные системы: реализован прототипный отладчик для многопоточных приложений написанных на Java.

· Использование ресурсов: требуется как минимум два прогона.

· Локализация ошибок: полезен для локализации трудновоспроизводимых ошибок.

· Успешность на рынке: примеры успешного использования можно найти в [16].

3.2.6 Guard (Monash University), DVM debugger (KIAM RAS), NASA/Ames support for debugging automatically parallelized programs

· Метод отладки: сравнительная отладка.

· Эффект вмешательства: имеется, при сравнении данных, нарушается планирование выполнения процессов/нитей.

· Гибкость: возможна, в случае реализации интерактивного метода отладки.

· Удобство использования и простота изучения: отладчик удобно и просто использовать, если он имеет графический интерфейс и средства визуализации различий в сравниваемых данных. Обучиться использовать просто.

· Языки программирования и операционные системы: проблем с поддержкой традиционных языков программирования, их параллельных расширений и операционных систем не выявлено.

· Использование ресурсов: возможно использование трассировки вместо выполнение программы.

· Локализация ошибок: класс локализуемых ошибок широк, возможны трудности с локализацией трудновоспроизводимых ошибок - дедлоков и эффектов состязаний - не при каждом запуске могут проявиться.

· Успешность на рынке: Guard, DVM - некоммерческие разработки. Прототипная поддержка для отладки полуавтоматически распараллеленных программ, разработана в NASA/Ames.

3.2.7 HOWCOME demonstrator, DD.py (Saarland University)

· Метод отладки: дельта отладка.

· Эффект вмешательства: отсутствует в случае перебора входных данных и строк исходного кода. Имеется при переборе возможностей планировки процессов/нитей.

· Гибкость: отсутствует.

· Удобство использования и простота изучения: пользователю достаточно указать параметры перебора. Обучиться использовать просто.

· Языки программирования и операционные системы: могут возникнуть проблемы с перебором планировки процессов.

· Использование ресурсов: неэффективно по времени - многократные запуски и/или перекомпиляция.

· Локализация ошибок: реально локализовать некоторые ошибки может быть сложно (например, из-за больших временных затрат)

методика не позволяет локализовать трудновоспроизводимые ошибки.

· Успешность на рынке: средства доступны для использования в Интернете.

4. Пользовательский интерфейс

В понятие пользовательского интерфейса (ПИ) входит не только, способ визуализации данных (трехмерные, анимированные изображения), но и способы взаимодействия пользователя с системой. Дизайн имеет подчиненное положение, его главная цель - облегчить использование системы [11].

4.1 Создание интерфейса

При создании пользовательского интерфейса первой решается задача: создать способ общения пользователя с компьютером (программой). Первое, на что следует обратить внимание при разработке, это то, для кого создается интерфейс. Здесь необходимо отличать профессиональных пользователей, от непрофессиональных. Профессиональный пользователь располагает достаточным объемом времени и достаточно мотивирован, чтобы освоить сколь угодно сложный и противоестественный интерфейс, особенно, если нет аналогичного средства с более удобным интерфейсом.

Рассмотрим кратко этапы разработки пользовательского интерфейса.

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

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

Концептуальный дизайн интерфейса должен базироваться на идее интерфейсной среды. Здесь термин "среда" применяется как обозначение типичной для поведения человека в различных средах связки "сигнал-действие".

Эта идея принадлежит психологу Гибсону [10]. Он утверждает, что восприятие человека основано на мотивации. То есть внимание человека в конкретный момент будет обращено именно на те окружающие его предметы, в которых у него на данный момент существует потребность.

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

4.2 Современные подходы к созданию пользовательского интерфейса

Важный принцип построения дизайна интерфейса - баланс между интерактивными возможностями программы и сложностью ее изобразительного ряда.

Во всех центрах, известных разработкой новых интерфейсов (XEROX PARC, MIT Media Lab, Apple Computer, Carnegie Mellon University), разрабатываются концепции дизайна интерфейсов, использующие возможности анимации.

Две анимированные среды интерфейса разработаны в фирме XEROX PARC, в которой была разработана идея оконного интерфейса. Авторство идеи оконного интерфейса принадлежит Стюарду Карду. Обе модели разработаны для отображения файловой системы. Рассмотрим эти модели.

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

· «Стена в перспективе». Данная модель не учитывает иерархию файловой системы при ее отображении. Файлы и директории упорядочиваются согласно двум выбранным параметрам, например, частоте обращения к файлу и его размеру.

Достоинства анимационного интерфейса:

· Анимация за счет увеличения времени перехода от одного изображения к другому, существенно сокращает время осознания нового изображения на экране.

· Динамические визуальные сигналы - предоставление пользователю дополнительной информации о работе программы.

К функциональному и интерфейсному уровням программы добавляется новый - визуальный.

Использование трехмерной графики, распознавания речи, жестов, позволяет создавать принципиально новые пользовательские интерфейсы.

5. Диалоговая оболочка отладчика MPI-программ

5.1 Постановка задачи

Целью данной дипломной работы является создание диалоговой оболочки отладчика MPI-программ для DVM-системы.

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

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.