Параллельная Обработка Данных, 05 лекция (от 02 октября)

Материал из eSyr's wiki.

(Различия между версиями)
Перейти к: навигация, поиск
(Архитектура параллельный вычислительных систем)
(Отмена правки № 1341 участника 88.191.68.198 (обсуждение))
 
(3 промежуточные версии не показаны)
Строка 2: Строка 2:
== Рекомендуемая литература ==
== Рекомендуемая литература ==
-
* В. В. Воеводин, Вл. В. Воеводин, «Паралельные вычисления», издательство БХВ Петербург
+
* В. В. Воеводин, Вл. В. Воеводин, «Параллельные вычисления», издательство БХВ Петербург
В основном рассказывать лектор будет по книге. Если появляется что-то новое, то будут использоваться другие материалы. Если изменяются только количественные характеристики, то это тоже будет отмечаться. Все новое отображается на [http://parallel.ru parallel.ru].
В основном рассказывать лектор будет по книге. Если появляется что-то новое, то будут использоваться другие материалы. Если изменяются только количественные характеристики, то это тоже будет отмечаться. Все новое отображается на [http://parallel.ru parallel.ru].
Строка 22: Строка 22:
==== HP SuperDome ====
==== HP SuperDome ====
-
Рссмотрим подробнее HP SuperDome. Он появился в 2000 году, архитектура ccNUMA, до 64 CPU. Архитектура оказалась очень удачной, причем он был одним из первых себе подобных. Вскоре 140 из 500 позиций в [http://www.top500.org/ TOP500] были построены на нём.
+
Рассмотрим подробнее HP SuperDome. Он появился в 2000 году, архитектура ccNUMA, до 64 CPU. Архитектура оказалась очень удачной, причем он был одним из первых себе подобных. Вскоре 140 из 500 позиций в [http://www.top500.org/ TOP500] были построены на нём.
Основное понятие данного компьютера — вычислительная ячейка. Сейчас идет с процессорами PA-8700, 8900, но готова к IA64 и сейчас большинство инсталляций с Intel Itanium II.
Основное понятие данного компьютера — вычислительная ячейка. Сейчас идет с процессорами PA-8700, 8900, но готова к IA64 и сейчас большинство инсталляций с Intel Itanium II.
-
Скорость обмена данными между контроллером и процессрами и банками памяти&nbsp;— 2 гб/сек, с внешним миром&nbsp;— 8 гб/сек. CCP разрешает контроллер вычислительной ячейки. <!-- В целом каждой ячека&nbsp;— честный ICMP компьютер. -->
+
Скорость обмена данными между контроллером и процессорами и банками памяти&nbsp;— 2 гб/сек, с внешним миром&nbsp;— 8 гб/сек. CCP разрешает контроллер вычислительной ячейки. <!-- В целом каждой ячека&nbsp;— честный ICMP компьютер. -->
Процессоры PA8700, 750 MHz. 10 функциональных устройств, суперскалярный, выполняет до 4 операций за такт. Пиковая производительность одного процессора&nbsp;— 3 GFlops. Пиковая производительность всего компьютера&nbsp;— 192 GFlops. Но реальная производительность намного ниже. Рассмотрение каждой архитектуры мы будем заканчивать выписывая причины, по которым отличаются реальная и пиковая производительности.
Процессоры PA8700, 750 MHz. 10 функциональных устройств, суперскалярный, выполняет до 4 операций за такт. Пиковая производительность одного процессора&nbsp;— 3 GFlops. Пиковая производительность всего компьютера&nbsp;— 192 GFlops. Но реальная производительность намного ниже. Рассмотрение каждой архитектуры мы будем заканчивать выписывая причины, по которым отличаются реальная и пиковая производительности.
Строка 37: Строка 37:
===== Причины =====
===== Причины =====
-
# Закон Омдала (10 процентов последовательные операции, 90 процентов параллельные. При увеличении количества процессоров уменьшается время на исполнение параллельных операций. Значит, больше чем в 10 раз ускорения не будет никогда) Для реальных программ закон Омдала очень важен. Все прикладные программы не полностью распараллеливаются (всегда есть ввод-вывод, инициализация, и&nbsp;т.&nbsp;п.). И именно эта доля последовательных операций определяет потенциальное ускорение.
+
# Закон Амдала (10 процентов последовательные операции, 90 процентов параллельные. При увеличении количества процессоров уменьшается время на исполнение параллельных операций. Значит, больше чем в 10 раз ускорения не будет никогда) Для реальных программ закон Амдала очень важен. Все прикладные программы не полностью распараллеливаются (всегда есть ввод-вывод, инициализация, и&nbsp;т.&nbsp;п.). И именно эта доля последовательных операций определяет потенциальное ускорение.
-
# ccNUMA. Акцент на NUMA. Если программа устроена хорошо и обладает свойствами локальности, то это хороший вариант, но далеко не всегда бывает так (работа с разреженными матриами, например)
+
# ccNUMA. Акцент на NUMA. Если программа устроена хорошо и обладает свойствами локальности, то это хороший вариант, но далеко не всегда бывает так (работа с разреженными матрицами, например)
# ccNUMA. Акцент на сс. Решение CCP тоже забирает время.
# ccNUMA. Акцент на сс. Решение CCP тоже забирает время.
-
# Блансировка вычислительной нагрузки.
+
# Балансировка вычислительной нагрузки.
-
Если напишем программу, у которой ускорение при распараллеливании в 50%&nbsp;— зачет поставят сразу. //Не на ассембелере, без использования специальных библиотек.
+
Если напишем программу, у которой ускорение при распараллеливании в 50%&nbsp;— зачет поставят сразу. //Не на ассемблере, без использования специальных библиотек.
Это были компьютеры с общей памятью.
Это были компьютеры с общей памятью.
Строка 48: Строка 48:
== Компьютеры с распределенной памятью ==
== Компьютеры с распределенной памятью ==
-
Большой класс систем. Общую схему мы разбирали, она незатейлива. Есть некоторая коммуникационная среда, к которой подключено какое-то кол-во выч. устройств, под каждым из которых может быть либо компьютер, либо процессор, либо система с общей памятью. Важно, что у каждого узла есть своя память. При запросе к памяти идет запрос в коммуникационную среду. Такие компы начали активно развиваться с начала 90 годов.Надо было иметь гибкую архитектуру, так чтобы в зависимости от нужд и бюджета пользователи моги бы подбирать нужную им конфигурацию.(Одинаковая архитектура дл 2 и 200 процессоров). Массивно-паралельные выч системы, выч системы с массовым параллелизмом. По большому счету все системы отличаются в двух вещах -- как устроена коммуникациоая среда, и что вместо выч узла.
+
Большой класс систем. Общую схему мы разбирали, она незатейлива. Есть некоторая коммуникационная среда, к которой подключено какое-то кол-во вычислительных устройств, под каждым из которых может быть либо компьютер, либо процессор, либо система с общей памятью. Важно, что у каждого узла есть своя память. При запросе к памяти идет запрос в коммуникационную среду. Такие компьютеры начали активно развиваться с начала 90 годов.Надо было иметь гибкую архитектуру, так чтобы в зависимости от нужд и бюджета пользователи моги бы подбирать нужную им конфигурацию.(Одинаковая архитектура дл 2 и 200 процессоров). Массивно-параллельные вычислительные системы, вычислительные системы с массовым параллелизмом. По большому счету все системы отличаются в двух вещах -- как устроена коммуникационная среда, и что вместо вычислительного узла.
-
Один из первых таких компьютеров - комп от интела
+
Один из первых таких компьютеров - комп от Intel - Intel Paragon.
-
Intel Paragon.
+
*Коммуникационная среда -- прямоугольная решетка, в каждом узле решетки процессор.Каждый процессор может общаться с непосредственными соседями. Угловые узлы были ущербными -- неудобно, несимметрично.
-
*Ком среда -- прямоугольная решетка, в каждом узле решетки проессор.Каждый процессор может общаться с непосредственными соседями. Угловые узлы были ущербными -- неудобно, несимметрично.
+
*Процессор i860
-
*Процессор i860/
+
Макс конфигурация примерно 1800 процессоров.
Макс конфигурация примерно 1800 процессоров.
Другой вариант
Другой вариант
IBM SP 1/2
IBM SP 1/2
-
*Ком среда:Несколько процессоров связаны между собой при помощи высокопроизводительного коммутатора, потенциально обеспечивалась связь каждого с каждым. Системы были из сотен процессоров. Центральная часть естественно коммутатор.
+
*Коммуникационная среда:Несколько процессоров связаны между собой при помощи высокопроизводительного коммутатора, потенциально обеспечивалась связь каждого с каждым. Системы были из сотен процессоров. Центральная часть естественно коммутатор.
-
*Узел: PowerPC, Power3. Сейчас выпустили уже Power 6. В каждом узле есть своя локал память, данных лежащих вовне он не видит, для запроса таких данных формируется пакет и получает данные через коммуникационную среду. Но даже через коммутатор -- надо время чтобы установить связ. То есть невыгодно общаться с разными. К тому же коммутатор был очень дорогой.
+
*Узел: PowerPC, Power3. Сейчас выпустили уже Power 6. В каждом узле есть своя локальная память, данных лежащих вовне он не видит, для запроса таких данных формируется пакет и получает данные через коммуникационную среду. Но даже через коммутатор -- надо время чтобы установить связь. То есть невыгодно общаться с разными. К тому же коммутатор был очень дорогой.
Мы архитектуру компьютера будем разбирать на примере Cray T3D/T3E. Сейчас используют элементную базу XT3, XT4.
Мы архитектуру компьютера будем разбирать на примере Cray T3D/T3E. Сейчас используют элементную базу XT3, XT4.
{{Параллельная Обработка Данных}}
{{Параллельная Обработка Данных}}

Текущая версия

Предыдущая лекция | Следующая лекция

Содержание

[править] Рекомендуемая литература

  • В. В. Воеводин, Вл. В. Воеводин, «Параллельные вычисления», издательство БХВ Петербург

В основном рассказывать лектор будет по книге. Если появляется что-то новое, то будут использоваться другие материалы. Если изменяются только количественные характеристики, то это тоже будет отмечаться. Все новое отображается на parallel.ru.

«Вы думаете мел закончится и лекции закончатся? Не-ет...»

[править] Архитектура параллельных вычислительных систем

На прошлой лекции начали разбирать архитектуру параллельных вычислительных систем, разобрали класс с общей памятью, отметили плюсы и минусы. С распределенной памятью можно сильно наращивать мощность (до 100 000 процессоров). С общей памятью — проще программировать. В результате, возникла архитектура NUMA, в которой мы жертвуем однородностью доступа к памяти. Мы рассмотрели Cm* и BBN Butterfly — разные архитектуры, но обе являются NUMA. Казалось бы, по этому пути можно смело двигаться дальше, но нет. Оказалось, что то, что полезно на персональных компьютерах, мешает на параллельных компьютерах. Одним из таких мешающих факторов является необходимость согласования содержимых данных в кэше процессоров.

[править] Проблема синхронизации кэшей (Cash Coherence Problem, CCP)

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

Все большие компьютеры (та же Regatta) устроены именно по архитектуре ccNUMA. Например, SGI (Silicon Graphics) Altix 4700 — 1024 процессора на общей памяти. На данный момент это рекорд для архитектуры ccNUMA.

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

[править] HP SuperDome

Рассмотрим подробнее HP SuperDome. Он появился в 2000 году, архитектура ccNUMA, до 64 CPU. Архитектура оказалась очень удачной, причем он был одним из первых себе подобных. Вскоре 140 из 500 позиций в TOP500 были построены на нём.

Основное понятие данного компьютера — вычислительная ячейка. Сейчас идет с процессорами PA-8700, 8900, но готова к IA64 и сейчас большинство инсталляций с Intel Itanium II. Скорость обмена данными между контроллером и процессорами и банками памяти — 2 гб/сек, с внешним миром — 8 гб/сек. CCP разрешает контроллер вычислительной ячейки. Процессоры PA8700, 750 MHz. 10 функциональных устройств, суперскалярный, выполняет до 4 операций за такт. Пиковая производительность одного процессора — 3 GFlops. Пиковая производительность всего компьютера — 192 GFlops. Но реальная производительность намного ниже. Рассмотрение каждой архитектуры мы будем заканчивать выписывая причины, по которым отличаются реальная и пиковая производительности.

[править] Задержки обращения к памяти
  • Каждый вычислительный узел — 4 процессора. Пока процессор обращается в свою память, задержки минимальны.
  • Прохождение через коммутатор
  • Прохождение через 2 коммутатора (максимальная задержка)

Если необходимо ловить тонкие эффекты, то все это надо учитывать. Качество любой ccNUMA системы определяется рзбросом между временем из пункта 1 и временем из пункта 3. Пока разница до 2 раз — это имеет смысл. Больше — уже нет. У SuperDome примерно 1,6.

[править] Причины
  1. Закон Амдала (10 процентов последовательные операции, 90 процентов параллельные. При увеличении количества процессоров уменьшается время на исполнение параллельных операций. Значит, больше чем в 10 раз ускорения не будет никогда) Для реальных программ закон Амдала очень важен. Все прикладные программы не полностью распараллеливаются (всегда есть ввод-вывод, инициализация, и т. п.). И именно эта доля последовательных операций определяет потенциальное ускорение.
  2. ccNUMA. Акцент на NUMA. Если программа устроена хорошо и обладает свойствами локальности, то это хороший вариант, но далеко не всегда бывает так (работа с разреженными матрицами, например)
  3. ccNUMA. Акцент на сс. Решение CCP тоже забирает время.
  4. Балансировка вычислительной нагрузки.

Если напишем программу, у которой ускорение при распараллеливании в 50% — зачет поставят сразу. //Не на ассемблере, без использования специальных библиотек.

Это были компьютеры с общей памятью.

[править] Компьютеры с распределенной памятью

Большой класс систем. Общую схему мы разбирали, она незатейлива. Есть некоторая коммуникационная среда, к которой подключено какое-то кол-во вычислительных устройств, под каждым из которых может быть либо компьютер, либо процессор, либо система с общей памятью. Важно, что у каждого узла есть своя память. При запросе к памяти идет запрос в коммуникационную среду. Такие компьютеры начали активно развиваться с начала 90 годов.Надо было иметь гибкую архитектуру, так чтобы в зависимости от нужд и бюджета пользователи моги бы подбирать нужную им конфигурацию.(Одинаковая архитектура дл 2 и 200 процессоров). Массивно-параллельные вычислительные системы, вычислительные системы с массовым параллелизмом. По большому счету все системы отличаются в двух вещах -- как устроена коммуникационная среда, и что вместо вычислительного узла. Один из первых таких компьютеров - комп от Intel - Intel Paragon.

  • Коммуникационная среда -- прямоугольная решетка, в каждом узле решетки процессор.Каждый процессор может общаться с непосредственными соседями. Угловые узлы были ущербными -- неудобно, несимметрично.
  • Процессор i860

Макс конфигурация примерно 1800 процессоров.

Другой вариант IBM SP 1/2

  • Коммуникационная среда:Несколько процессоров связаны между собой при помощи высокопроизводительного коммутатора, потенциально обеспечивалась связь каждого с каждым. Системы были из сотен процессоров. Центральная часть естественно коммутатор.
  • Узел: PowerPC, Power3. Сейчас выпустили уже Power 6. В каждом узле есть своя локальная память, данных лежащих вовне он не видит, для запроса таких данных формируется пакет и получает данные через коммуникационную среду. Но даже через коммутатор -- надо время чтобы установить связь. То есть невыгодно общаться с разными. К тому же коммутатор был очень дорогой.

Мы архитектуру компьютера будем разбирать на примере Cray T3D/T3E. Сейчас используют элементную базу XT3, XT4.


Параллельная Обработка Данных


01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16


Календарь

вт вт вт вт вт
Сентябрь
04 11 18 25
Октябрь
02 09 16 23 30
Ноябрь
06 13 20 27
Декабрь
04 11 18

Материалы к зачету

Вопросы к зачету по курсу Параллельная обработка данных


Эта статья является конспектом лекции.
Личные инструменты
Разделы