2.2 Другие модели
Модель неструктурированных нитей. Программа представляется как совокупность нитей (threads), способных выполняться параллельно и имеющих общее адресное пространство. Имеющиеся средства синхронизации нитей позволяют организовывать доступ к общим ресурсам. Многие системы программирования поддерживают эту модель: Win32 threads, POSIX threads, Java threads.
Модель параллелизма по данным. Основным её представителем является язык HPF [3]. В этой модели программист самостоятельно распределяет данные последовательной программы по процессорам. Далее последовательная программа преобразуется компилятором в параллельную, выполняющуюся либо в модели передачи сообщений, либо в модели с общей памятью. При этом каждый процессор производит вычисления только над теми данными, которые на него распределены.
Модель параллелизма по управлению. Эта модель возникла в применении к мультипроцессорам. Вместо терминов нитей предлагалось использовать специальные конструкции - параллельные циклы и параллельные секции. Создание, уничтожение нитей, распределение на них витков параллельных циклов или параллельных секций - всё это брал на себя компилятор. Стандартом для этой модели сейчас является интерфейс OpenMP [4].
Гибридная модель параллелизма по управлению с передачей сообщений. Программа представляет собой систему взаимодействующих MPI - процессов, каждый из которых программируется на OpenMP.
Модель параллелизма по данным и управлению - DVM (Distributed Virtual Machine, Distributed Virtual Memory) [5]. Эта модель была разработана в Институте прикладной математики им. М. В. Келдыша РАН.
- 1. Введение
- 2. Модели параллельного программирования
- 2.1 Модель передачи сообщений MPI
- 2.2 Другие модели
- 3. Отладка параллельных программ
- 3.1 Обзор методик отладки
- 3.2 Обзор существующих средств отладки
- 3.2.2 MAD EMU и ATTEMPT (Johannes Kepler University Linz)
- 3.2.3 Total View (Etnus LLC), Prism(Sun), p2d2(NAS Ames), Ladebug(Compaq), GDB(GNU), DBX(Sun)
- 3.2.4 Assure(Intel), DVM debugger(KIAM RAS), UMPIRE (LLNL)
- 3.2.6 Guard (Monash University), DVM debugger (KIAM RAS), NASA/Ames support for debugging automatically parallelized programs
- 3.2.7 HOWCOME demonstrator, DD.py (Saarland University)
- 4. Пользовательский интерфейс
- 4.1 Создание интерфейса
- 4.2 Современные подходы к созданию пользовательского интерфейса
- 5. Диалоговая оболочка отладчика MPI-программ
- 5.1 Постановка задачи
- 5.2 Общая схема использования
- 5.3 Входная информация
- 5.4 Основные объекты визуализации
- 5.5 Основные функции визуализатора
- 5.6 Общая схема визуализации
- окно обобщенных ошибок (Error location)
- 5.8 Окно обобщенных ошибок (Error location)
- 5.9 Окно топологии процессоров (Topology control)
- 5.10 Окно конкретных ошибок (Errors list)
- 5.11 Окно событий (Event line)
- 5.12 Окно просмотра стека и исходных текстов (Text control)
- 5.13 Окно просмотра трасс (Trace control)
- Заключение
- Запуск mpi-программ
- Исполнение программы под отладчиком
- 2. Программы – отладчики.
- Запуск mpi-программ
- Настройка и запуск отладчика mpi-кластера
- Отладка одного или нескольких процессов mpi в кластере
- Пошаговое руководство. Запуск отладчика mpi-кластера в Visual Studio 2010
- Отладка нескольких процессов mpi на локальном компьютере
- Требования для использования отладчика mpi-кластера
- Отладка одного процесса mpi на локальном компьютере