Вычислительная математика
На сегодняшний день наблюдается недостаток в инструментальных средствах, проверяющих корректность использования функций стандарта MPI на этапе выполнения параллельной программы.
Поэтому в КемГУ разрабатывается программная система для ОС семейства Windows NT, обладающая графическим интерфейсом, возможностью компиляции и запуска MPI-программ, а также способностью анализировать вызовы MPI-функций на соответствие правилам, описанным в документе MPI Standard.
Система работает по следующему алгоритму:
1. В среде разработки пользователь создаёт и редактирует файл исходного кода MPI-программы (поддерживаются языки C/C++). Здесь он может установить контрольные точки на строках исходного кода и процессы, которые должны останавливаться на данных строках.
2. Производится трансляция программы компилятором gcc (используется пакет MinGW) с прилинковкой lib-библиотеки собственной разработки и библиотек из пакета mpich. Возникшие при этом синтаксические ошибки выводятся пользователю в отдельном окне.
3. После этого пользователь вводит требуемое число процессов в поле ввода и запускает программу на выполнение. При этом в многозадачной ОС Windows на компьютере пользователя загружается указанное число процессов под управлением отладчика gdb, входящего в пакет MinGW. Для каждого процесса открывается консольное окно, где осуществляются операции ввода/вывода данным процессом.
4. Каждый вызов MPI-функций перехватывается библиотекой, которая передаёт параметры вызванной функции и время вызова в процесс-оболочку через механизм сообщений Windows.
5. Оболочка записывает параметры вызова в список. После каждой записи вызывается функция-обработчик, которая выбирает из списка предыдущие элементы, удовлетворяющие некоторым условиям, формируемым из переданных в оболочку параметров.
6. После этого обработчик проводит анализ на наличие ошибок в последовательности вызванных MPI-функций.
На данный момент разработаны алгоритмы для поиска начавшихся, но не завершённых функций некоторых потенциальных и реальных дедлоков, непарных операций типа точка-точка и несоответствия типов данных в операциях посылки/приёма.
Примечание. Тезисы докладов публикуются в авторской редакции
Ваши комментарии Обратная связь |
[Головная страница] [Конференции] |
© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск
Дата последней модификации: 06-Jul-2012 (11:48:14)