Главная ЭВМ и системы » Файлы » Методички » ЭВМ и системы [ Добавить материал ]

Л/Р: Программирование многопроцессорных систем и использование векторных команд

[Скачать с сервера (221.6 Kb) - бесплатно] 20.06.2010, 02:53
Цели лабораторной работы:
  1. Познакомиться с программированием многопроцессорных систем с общей памятью на примере ПЭВМ с многоядерными процессорами.
  2. Познакомиться с программированием векторных процессоров на примере векторных команд SSE.
  3. Познакомиться с некоторыми возможностяими современных оптимизирующих компиляторов и математических библиотек.
  4. Познакомиться с программированием кластеров с использованием интерфейса MPI Electronics Workbench, ее возможностями и приемами работы в программе.

Введение
.

Данная работа посвящена предварительному знакомству с многопроцессорными системами и векторными процессорами на примере современных многоядерных процессоров фирмы Intel и с некоторыми технологиями их программирования. Материал работы в значительной степени основан на материалах курса «Введение в методы параллельного программирования» ННГУ (авт. В.П. Гергель, А.А.Лабутина и др.).


Классификация и некоторые основные понятия многопроцессорных ВС.

Согласно классификации Флинна ВС по взаимодействию потоков команд и данных делятся на 4 группы :
  • SISD (ОКОД – одиночный поток команд и данных)
  • SIMD (ОКМД – одиночный поток команд и много потоков данных)
  • MISD (МКОД – много потоков команд и один поток данных)
  • MIMD (МКМД – много потоков команд и данных)
В данной работе нас в основном интересуют SIMD системы (векторные процессоры) и MIMD (основной класс многопроцессорных систем).

Согласно другим классификациям, в основном касающимся MIMD, можно выделить т.н. системы с общей памятью (разделяемой), которые обычно относят к мультипроцессорам, и системы с передачей собщений (мультикомпьютеры или кластеры). В системах с общей памятью процессоры могут иметь однородный доступ к памяти (UMA) и даже – симметричный доступ (все процессоры равноправные и вся система симметрична и однородна), в последнем случае системы называют SMP, либо – неоднородный доступ (NUMA - время доступа зависит от адреса).

Другой классификационный признак – используемый системами тип параллелизма (или – тип параллелизма, на который они расчитаны). Это параллелизм независимых ветвей, естественный (векторный или матричный) параллелизм, параллелизм смежных операций и др. К естественному параллелизму можно отнести также задачи с параллелизмом по данным, в том числе – независимые по данным. В последнем случае обмен между независимыми ветвями может быть минимальным. Кроме того, выделяют мелкозернистый параллелизм и крупнозернистый параллелизм, в зависимости от масштаба и количества параллельных ветвей.

Многопроцессорные системы могут использовать разный тип параллелизма задачи, но, как правило, не параллелизм смежных операций – его используют суперскалярные процессоры и процессоры с длинным командным словом. При этом для задач с интенсивным обменом по понятным причинам предпочтительнее сильносвязанные SMP системы. С другой стороны, естественный параллелизм и мелкозернистые задачи при сравнительно низкой интенсивности обмена могут максимально использоваться в кластерах.
Похожие материалы:

Добавил: mauzer (20.06.2010) | Категория: ЭВМ и системы
Просмотров: 3461 | Загрузок: 1036 | Рейтинг: 0.0/0 |
Теги: лабораторная, SSE, openMP, MPI
Комментарии (0)

Имя *:
Email *:
Код *: