Лекция 2 icon

Лекция 2


Смотрите также:
Вводный семинар, вводная лекция, занятия по целе-полаганию, лекция-беседа...
Лекция 20. 03. 12. Модели для исследования и оценки в pr лекция 27. 03. 12...
Лекция Фьючерсные контракты Лекция Фьючерсы на акции...
Курс лекций Лекция Введение в земледелие. Лекция Научные основы земледелия...
Лекция Историография как научная дисциплина Лекция Исторические знания в Древней Руси...
Лекция Сионизм в оценке Торы Лекция Государство Израиль испытание на прочность...
Лекция Введение в социологию 6 Лекция Становление и основные этапы развития социологии. 20...
План лекционных занятий Лекция Развитие аудиальных средств информации. Лекция 2...
Курс лекций Москва 2008 Содержание Лекция Введение 4 Лекция Научные знания в средневековой Руси...
Лекция Историография как научная дисциплина Лекция Исторические знания в Древней Руси...
Лекция №2 от 25. 09. 2008г. Упанишады...
Лекция Введение в бд и субд. Модели данных 2 Лекция Инфологическая модель «Сущность-связь»...



Загрузка...
скачать
Курс «Архитектура Вычислительных Систем»,

Университет «Дубна»

Лекция 2.

Архитектура векторно-конвейерных вычислительных систем и систем с распределенной памятью


Архитектура CRAY C90

Архитектура CRAY T3D


Архитектура векторно-конвейерного компьютера

(на примере CRAY Y-MP C90 – начало 90х)


История в\к ЭВМ началась с CRAY1 в 1976.

Хотя прообразом векторных ФУ были «групповые операции», реализованные на советской ЭВМ «Стрела» еще в 60е годы.


Развитие распределенных вычислительных систем, казалось бы, поставило точку в истории в\к компьютеров. Ан нет:

2002 The Earth Simulator Center (Japan) – сейчас 30e место – кластер из 5120 в\к процессоров, объединенных в вычислительные узлы по 8 штук. Пиковая производительность 41Тфлопс (трл оп\сек)


Итак, CRAY Y-MP C90 в максимальной конфигурации объединяет 16 процессоров, работающих над общей памятью. Время такта 4.1 нс, тактовая частота 250Мгц.


^ Разделяемые ресурсы (общие для всех процессоров)


1. Структура оперативной памяти.

Оперативная память этого компьютера разделяется всеми процессорами и секцией ввода/вывода. Каждое слово состоит из 80-ти разрядов: 64 для хранения данных и 16 для коррекции ошибок. Для увеличения скорости выборки данных память разделена на множество банков, которые могут работать одновременно.

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

В максимальной конфигурации вся память разделена на 1024 банка: 8 секций, каждая секция на 8 подсекций, каждая подсекция на 16 банков. Адреса идут с чередованием по каждому из данных параметров:

^ Конфликты памяти. При одновременном обращении к одной и той же секции из разных портов возникает задержка в 1 такт, а при обращении к одной и той же подсекции одной секции задержка варьируется от 1 до 6 тактов. При выборке последовательно расположенных данных или при выборке с любым нечетным шагом конфликтов не возникает.


^ 2. Секция ввода/вывода

Компьютер поддерживает три типа каналов с различной скоростью передачи:

Low-speed (LOSP) channels - 6 Mbytes/s

High-speed (HISP) channels - 200 Mbytes/s

Very high-speed (VHISP) channels - 1800 Mbytes/s


^ 3. Секция межпроцессорного взаимодействия

Секция межпроцессорного взаимодействия содержит разделяемые регистры и семафоры, предназначенные для передачи данных и управляющей информации между процессорами. Регистры и семафоры разделены на одинаковые группы (кластеры), каждый кластер содержит 8 (32-разрядных) разделяемых адресных (SB) регистра, 8 (64-разрядных) разделяемых скалярных (ST) регистра и 32 однобитовых семафора.


^ Особенности структуры процессоров.


Вычислительная секция

Все процессоры имеют одинаковую вычислительную секцию, состоящую из регистров, ФУ и сети коммуникаций. Регистры и ФУ могут обрабатывать и хранить три типа данных - адреса, скаляры и вектора.


РЕГИСТРЫ


^ Адресные регистры – для хранения и вычисления адресов, индексации, указания величины сдвигов, числа итераций, циклов и тд.


Скалярные регистры – хранение результатов и аргументов скалярной арифметики.


Векторные регистры – хранят аргументы и результаты векторных команд.


^ ФУНЦИОНАЛЬНЫЕ УСТРОЙСТВА


Все ФУ - конвейерные и могут работать одновременно друг с другом.


Адресные ФУ – сложение-вычитание-умножение целых чисел

Скалярные ФУ – целочисленное сложение-вычитание, логические поразрядные операции, сдвиг.

Векторные ФУ – то же, но для векторных команд + умножение битовых матриц.


ФУ с плавающей точкой - сложение-вычитание-умножение + обратная величина – и для скалярных, и векторных команд.


Векторные и пл.т. ФУ продублированы – элементы векторных регистров разбиваются на четные и нечетные и обрабатываются одновременно двумя конвейерами. Результат записывается в соответствующие позиции (четные и нечетные) выходного регистра. Когда завершается выполнение очередной пары операций, результаты записываются на соответствующие четные и нечетные позиции выходного регистра.


В полностью скалярных операциях, использующих ФУ с плавающей точкой, работает только один конвейер.


Длина векторных регистров 128 элементов


ФУ имеют несколько ступеней конвейера, каждая ступень срабатывает за 1 такт.


Архитектура CRAY Y-MP C90 позволяет использовать регистр результатов векторной операции в качестве входного регистра для последующей векторной операции, т.е. выход сразу подается на вход. Это называется зацеплением векторных операций. Вообще говоря, глубина зацепления может быть любой, например, чтение векторов, выполнение операции сложения, выполнение операции умножения, запись векторов.


^ Параллельное выполнение программ


Все основные операции, выполняемые процессором – обращение в память, обработка команд, выполнение инструкций – являются конвейерными.


Все ФУ являются независимыми, поэтому несколько операций могут выполняться одновременно.


Пример. Для операции A=(B+C)*D*E порядок выполнения может быть следующим (все аргументы загружены в S регистры). Генерируются три инструкции: умножение D и E, сложение B и C и умножение результатов двух предыдущих операций. Первые две операции выполняются одновременно, затем третья.


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


Do i = 1, n

A(i) = B(i)+C(i)

End Do


в скалярном режиме требуется сгенерировать последовательность команд:

-прочитать элемент B(I),

-прочитать элемент C(I),

-выполнить сложение,

-записать результат в A(I),

-увеличить параметр цикла,

-проверить условие цикла и т.д.


В векторном режиме этот фрагмент преобразуется в:

-загрузить порцию массива B,

-загрузить порцию массива C (эти две операции будут выполняться со сдвигом в один такт, т.е. практически одновременно),

-векторное сложение,

-запись порции массива в память,

-если размер массивов больше длины векторных регистров, то повторить эту последовательность некоторое число раз.


Условно – при векторизации цикл (*) преобразуется в следующий

Do j = 1, [n/128]

Do j=1,128

k = j*128+j

B1(j) = B(k)

C1(j) = C(k)

A1(j) = B1(j)+C1(j)

A(k) = A1(j)

End Do

End Do

Плюс выполнение операции над остатком n-[n/128]. Это сегментация.


Перед тем, как векторная операция начнет выдавать результаты, проходит некоторое время, связанное с заполнением конвейера и подкачкой аргументов. Это называется инициализация (startup). Чем больше длина векторов, тем менее заметным оказывается влияние данного начального промежутка времени на все время выполнения программы.


Пусть нужно выполнить n операций будут выполнены на L-ступенчатом скалярном конвейерном ФУ со временем такта t. Время работы


TК = (L + n - 1) * t.


Для векторного ФУ будем иметь


TВК = (s + L + N - 1) * t.,


где s – затраты времени на инициализацию и сегментацию, N= [n/128]+1.

Соответственно, производительность E определяется соотношением


Е(N) = N/T = N/{(s+L+N-1)*t} = 1/{t+(s+L-1)*(t/N)}.


L,t и s не зависят от N, поэтому при стремлении N к бесконечности реальная производительность в\к устройства Е асимптотически стремится к значению пиковой производительности Епик=1/t. График. E(N).


Следствие. Поскольку L,t и s не равны нулю, пиковая производительность любого в\к ФУ никогда не достижима на практике.


Векторные операции, использующие различные ФУ и регистры, могут выполняться параллельно.


^ Многопроцессорная обработка данных – (1) выполнение нескольких независимых программ на различных процессорах (2) выполнение одной программы на нескольких процессорах.


Итак – основные особенности архитектуры, обеспечивающие параллельную обработку данных.


  1. Все основные операции - конвейерные

  2. Векторные ФУ

  3. дублирование ФУ для одновременной обработки данных с четными и нечетными индексами

  4. зацепление ФУ

  5. все ФУ – независимые

  6. многопроцессорная обработка данных


Пиковая производительность – 1.е+9 оп\сек на одном процессоре.

(всего при полной загрузке 16 процессоров – 16.е+9 оп\сек).


Факторы, уменьшающие реальную производительность


  1. Конфликты в памяти

  2. Ограниченная пропускная способность каналов связи

  3. Секционирование векторных операций

  4. Разгон конвейера

  5. Неэффективность векторизации = зависимость по данным, вложенные циклы, обращение внутри цикла к неизвестной функции

  6. Ограниченный набор векторных регистров

  7. Несбалансированность использования векторных ФУ

  8. Нет операции деления



Архитектура параллельных компьютеров с распределенной памятью. (на примере CRAY Т3D - начало 90х)


От 32 до 2048 процессоров DEC ALPHA частотой 150 Мгц в базовой конфигурации, объединенных по два в вычислительные узлы.


Т3Е-1350 Альфа 675 Мгц, конец 90х,

пиковая производительность 1.35у+9 оп\сек.


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


Вся предварительная обработка и подготовка программ проходит на хост-компьютере (например, С90). Связь хост-машины с Т3D идет через высокоскоростной канал 200 Мбайт\сек.


^ Вычислительные узлы и процессорные элементы

Бывают управляющие узлы, узлы ОС, вычислительные узлы (ВУ).


Каждый ВУ состоит из двух процессорных элементов (ПЭ), независимых друг от друга и идентичных, сетевого интерфейса, контроллера блочных передач.

Каждый ПЭ содержит микропроцессор, локальную память и ряд вспомогательных схем.


Микропроцессор - это 64-х разрядный RISC (Reduced Instruction Set Computer) процессор ALPHA фирмы DEC, работающий на тактовой частоте 150 MHz. Микропроцессор имеет внутреннюю кэш-память команд и кэш-память данных.


^ Локальная память каждого ПЭ является частью физически распределенной, но логически разделяемой (или общей), памяти всего компьютера. В самом деле, память физически распределена, так как каждый ПЭ содержит свою локальную память. В тоже время, память разделяется всеми ПЭ, так как каждый ПЭ может обращаться к памяти любого другого ПЭ, не прерывая его работы, но в 6 раз медленнее, чем к ПЭ из своего ВУ.

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

Контроллер блочных передач - это контроллер асинхронного прямого доступа в память, который помогает перераспределять данные, расположенные в локальной памяти разных ПЭ компьютера CRAY T3D, без прерывания работы самих ПЭ.

^ Коммуникационная сеть обеспечивает обмен информацией между ВУ и узлами ввода-вывода с максимальной скоростью 140 Мбайт\сек. Сеть образует трехмерную решетку. Каждая элементарная связь между двумя ВУ состоит из двух однонаправленных каналов, что допускает одновременный обмен данными в противоположных направлениях.


^ Сеть организована в виде двунаправленного трехмерного тора.

Плюсы

Быстрая связь граничных узлов;

Небольшое среднее число перемещений при взаимодействии ПЭ (максимальное расстояние в сети для конфигурации из 128 ПЭ равно 6, а для 2048 ПЭ равно 12);

Возможность обхода (выбора другого маршрута) поврежденных участков.


Минимизирована длина максимального физического соединения между ПЭ за счет чередования узлов в размерностях Х и Z.


^ Маршрутизация в сети и сетевые маршрутизаторы.

При выборе маршрута для обмена данными между двумя узлами сетевые маршрутизаторы всегда сначала выполняют смещение по размерности X, затем по Y, а в конце по Z. Так как смещение может быть как положительным, так и отрицательным, то этот механизм помогает минимизировать число перемещений по сети и обойти поврежденные связи.


Сетевые маршрутизаторы каждого вычислительного узла определяют путь перемещения каждого пакета и могут осуществлять параллельный транзит данных по каждому из трех измерений X, Y, Z.


Каждому ПЭ в системе присвоен уникальный физический номер, определяющий его физическое расположение, который и используется непосредственно аппаратурой.


Не обязательно все физические ПЭ принимают участие в формировании логической конфигурации компьютера. Например, 512-процессорная конфигурация компьютера CRAY T3D реально содержит 520 физических ПЭ, 8 из которых находятся в резерве. Каждому физическому ПЭ присваиваится логический номер, определяющий его расположение в логической конфигурации компьютера, которая уже и образует трехмерный тор.


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

Снхронизация процессорных элементов


Для поддержки синхронизации процессорных элементов предусмотрена аппаратная реализация одного из наиболее "тяжелых" видов синхронизации - барьеров синхронизации. Барьер - это точка в программе, при достижении которой каждый процессор должен ждать до тех пор, пока остальные также не дойдут до барьера, и лишь после этого момента все процессы могут продолжать работу дальше.

В схемах поддержки каждого ПЭ предусмотрены два 8-ми разрядных регистра, причем каждый разряд регистров соединен со своей независимой цепью реализации барьера (всего 16 независимых цепей). Каждая цепь строится на основе схем AND и ДУБЛИРОВАНИЕ (1-2). До барьера соответствующие разряды на всех ПЭ обнуляются, а как только процесс на ПЭ доходит до барьера, то записывает в свой разряд единицу. На выходе схемы AND появляется единица только в том случае, когда на обоих входах выставлены 1. Устройство 1-2 просто дублирует свой вход на выходы:

Если схемы AND заменить на OR, то получится цепь для реализации механизма "эврика": как только один ПЭ выставил значение 1, эта единица распространяется всем ПЭ, сигнализируя о некотором событии на ПЭ. Это исключительно полезно, например, в задачах поиска.

Факторы, влияющие на производительность распределенных вычислительных систем

  1. Реальная производительность одного процессора

  2. скорость передачи информации между процессорами

  3. Взаимодействие процессоров – время инициализации посылки и время самой передачи сообщения

  4. Ожидание завершения взаимодействие процессоров (особенно если нет асинхронной передачи данных)

  5. Ожидание прихода сообщения

  6. Неравномерность загрузки (простой части процессоров)









Скачать 120.46 Kb.
оставить комментарий
Дата13.10.2011
Размер120.46 Kb.
ТипЛекция, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх