Модель общей памяти
Модель параллелизма данных
Модель передачи сообщений
Основные особенности данного подхода:
· Программа порождает несколько задач.
· Каждой задаче присваивается свой уникальный идентификатор.
· Взаимодействие осуществляется посредством отправки и приема сообщений.
· Новые задачи могут создаваться во время выполнения параллельной программы, несколько задач могут выполняться на одном процессоре.
Основными инструментами программирования являются специализированные библиотеки
(MPI - Message Passing Interface, PVM - Parallel Virtual Machines).
Основные особенности данного подхода:
· Одна операция применяется к множеству элементов структуры данных. Программа содержит последовательность таких операций.
· "Зернистость" вычислений мала.
· Программист должен указать транслятору, как данные следует распределить между задачами.
При программировании на основе параллелизма данных часто используются специализированные языки или надстройки над языками. DVM Fortran, HPF (High Perfomance Fortran) и другие.
В модели общей (разделяемой) памяти задачи обращаются к общей памяти, имея общее адресное пространство и выполняя операции считывания/записи. Управление доступом к памяти осуществляется с помощью разных механизмов, таких, например, как семафоры. В рамках этой модели не требуется описывать обмен данными между задачами в явном виде.
Это упрощает программирование. Вместе с тем особое внимание приходится уделять соблюдению детерминизма, таким явлениям, как «гонки за данными» и т. д.
Начиная с версии 2005 в Visual Studio входит поддержка OpenMP. OpenMP – набор директив компилятору (прагм), библиотечных функций и переменных окружения для поддержки парадигмы параллельного программирования для систем с общей памятью.
Способы классификации ВС: по назначению, по типу устройств и комплексирования, по типу ЭВМ или процессоров, по степени территориальной разобщенности, по методам управления элементами и по режиму работы
А) Универсальные ВС предназначаются для решения самых различных задач.
Б) Специализированные системы ориентированы на решение узкого класса задач.
Специализация ВС может устанавливаться различными средствами:
1) структурой системы (количеством параллельно работающих элементов, связи между ними и т.д.). Структура может быть ориентирована на определенные виды обработки информации: матричные вычисления, решение алгебраических, дифференциальных и интегральных уравнений и т.п. (Из практики разработки ВС: чем выше производительность, тем уже класс эффективно решаемых ВС задач);
2) включением в состав ВС специального оборудования и специальных пакетов обслуживания техники.