Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 02.10.2012 | Доступ: свободный | Студентов: 1755 / 200 | Длительность: 17:47:00
Специальности: Программист
Лекция 2:

Архитектурные аспекты параллелизма

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >

Класс MIMD

Представителей класса MIMD можно разделить на системы с общей (tightly coupled) или распределенной (loosely coupled) памятью.

Системы с общей памятью (мультипроцессоры) строятся посредством увеличения количества процессоров в машине. Такая мультипроцессорная система симметрична по процессорам. Т.е. задание, вытесненное на одном из предыдущих квантов времени, может быть возобновлено на любом из процессоров. С точки зрения ОС каждый процессор – обычный ресурс, который перераспределяется между заданиями (потоками). Безусловно, ОС стремится к минимизации частоты смены процессора для исполняемых программ. Это позволяет наиболее эффективно использовать ресурсы каждого из процессоров (кешей, буфера BTB, буфера TLB и т.д.). Такой режим симметричного мультипроцессирования (Symmetric Multiprocessor, SMP) поддерживается во всех современных ОС.

Количественные изменения по закону Мура в настоящее время привели к возможности размещения на одном чипе сразу нескольких процессоров (Chip Multiprocessor, CMP). Такой многоядерный (Multi-Core) процессор с точки зрения ОС выглядит как несколько одноядерных и допускает симметричное мультипроцессирование. Иногда различные ядра имеют общий кеш второго или третьего уровней.

Мультикомпьютерные системы (мультикомпьютеры) – системы с распределенной памятью. Такие системы представляют собой массив мощных серверов, объединенных в единый вычислительный ресурс при помощи высокопроизводительной коммуникационной сети (Massively Parallel Processing, MPP). Кластерные системы – упрощенный вариант MPP. Например, несколько персональных компьютеров в сети Ethernet плюс некоторый механизм распределения вычислительной нагрузки – это уже простейший кластер!

Итак, в настоящее время мощные центры вычислений базируются на крупнозернистом параллелизме и строятся либо как SMP, либо как MPP. Какой подход лучше?

Процессоры в SMP системе представляют собой монолитный ресурс. Программа может быть легко переброшена с перегруженного процессора на недогруженный процессор. Многопоточной программе динамически выделяется то или иное количество процессоров в зависимости от загруженности системы в целом. Всплески вычислительной нагрузки легко перераспределяются планировщиком ОС. Более того, даже зависание одной или нескольких программ не приводит ОС в режим голодания! Но такие позитивные черты обусловлены общей памятью, к которой предъявляются очень высокие требования по производительности. Именно память ограничивает масштабируемость SMP.

В MPP частая передача вычислительной нагрузки между серверами противопоказана, так как приводит к медленным процедурам внешнего ввода/вывода. Фактически, это не единый мощный ресурс. Это объединение ресурсов для решения той или иной задачи, требующее программирования специального вида. Требование специальной организации вычислений вынуждает либо существенно модифицировать имеющееся программное обеспечение, либо разрабатывать его вновь, что, безусловно, затрудняет переход от SMP к MPP. Ключевым преимуществом MPP является отличная масштабируемость, которая ограничивается только предельными параметрами коммуникационной сети.

Симметричное мультипроцессирование

Архитектура SMP. Система состоит из нескольких однородных процессоров и массива общей памяти. Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Аппаратно поддерживается когерентность кешей. Процессоры подключены к памяти либо с помощью общей шины, либо с помощью crossbar- коммутатора. Коммутатор, базируясь на принципе локальности программ, с целью распараллеливания банков памяти коммутирует процессоры с банками памяти.

Фактически, в каждый текущий момент времени каждый процессор имеет доступ только к некоторому фрагменту общей памяти.

Масштабируемость SMP. Наличие общей памяти сильно упрощает взаимодействие процессоров между собой, однако накладывает существенные ограничения на их число. В реальных системах установлено не более 32 ядер (сами ядра, как правило, многопоточные).

Операционная система для SMP. Вся система работает под управлением единой ОС, которая автоматически распределяет процессы по процессорам. Модель программирования в SMP. Достаточно организовать классические потоки POSIX.

Массивно-параллельные системы

Архитектура MPP. Система состоит из однородных вычислительных узлов, включающих один или несколько центральных процессоров, локальную память (прямой доступ к памяти других узлов невозможен), коммуникационный процессор. К системе могут быть добавлены специальные узлы ввода/вывода и управляющие узлы.

Узлы связаны через некоторую коммуникационную среду.

Масштабируемость MPP. Общее число процессоров в реальных системах достигает нескольких сотен тысяч!

Операционная система для MPP. Полноценная ОС работает только на управляющей машине. На каждом узле работает сильно урезанный вариант ОС, обеспечивающий только работу расположенной в нем ветви параллельного приложения.

Модель программирования в MPP. Программирование производится в рамках модели передачи сообщений (MPI, PVM, BSPlib).

Кластерные системы

После появления однокристальных микропроцессоров (СБИС технология, четвертое поколение развития вычислительной техники) строительство суперкомпьютеров ориентировалось на построение специализированных многопроцессорных систем из массовых микросхем. До середины 1990-x годов в развитии суперкомпьютерных технологий преобладали SMP и MPP подходы.

При симметричном мультипроцессировании процессоры объединяются с использованием общей памяти, что существенно облегчает программирование (достаточно организовать классические потоки POSIX), но предъявляет высокие требования к производительности самой памяти. Более дешевым и хорошо масштабируемым подходом (в сравнении с SMP) является построение мультикомпьютерной системы с распределенной памятью. Такой мультикомпьютер представляет собой массив независимых специализированных вычислительных модулей, объединенных в единый вычислительный ресурс при помощи высокопроизводительной коммуникационной сети со специализированными каналами связи. И вычислительные модули, и каналы связи создаются исключительно под конкретный суперкомпьютер.

Идея создания так называемого кластера рабочих станций явилась развитием МРР подхода. К концу 1990-х годов, благодаря развитию шины PCI (PCI-X, PCI-E), появлению гигабитного Ethetnet и т.п., стандартные персональные компьютеры, объединенные обычной локальной сетью, стали догонять специализированные MPP системы по коммуникационным возможностям. Таким образом, появилась возможность построения полноценной МРР системы из стандартных рабочих станций общего назначения при помощи серийных коммуникационных технологий. Причем стоимость такого кластера оказывалась ниже в среднем на два порядка!

В настоящее время кластер состоит из процессорных элементов (стандартных вычислительных узлов на базе стандартных процессоров), соединенных высокоскоростной сетью передачи данных. Большинство передовых современных кластерных систем (из списка Top500) базируется на процессорах Intel (Quad-Core Intel Xeon, Dual-Core Intel Itanium 2). В качестве процессорных элементов обычно используются SMP сервера 1U в 19-дюймовом форм-факторе. Процессоры других производителей также используются (IBM Power 6, IBM PowerPC, Sun UltraSPARC Niagara II, DEC Alpha (в Cray T3E) и т.д.).

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >
Дмитрий Остапенко
Дмитрий Остапенко

поддерживаю выше заданые вопросы

 

Павел Каширин
Павел Каширин

Скачал архив и незнаю как ничать изучать материал. Видео не воспроизводится (скачено очень много кодеков, различных плееров -- никакого эффекта. Максимум видно часть изображения без звука). При старте ReplayMeeting и Start в браузерах google chrome, ie возникает script error с невнятным описанием. В firefox ситуация еще интереснее. Выводится: 

Meet Now: Кукаева Светлана Александровна. 

Meeting Start Time: 09.10.2012, 16:58:04
Meeting Stop Time: 09.10.2012, 18:45:18
Recording Duration:01:47:14

Downloading...

Your Web browser is not configured to play Windows Media audio/video files.

Make sure the features are enabled and available.