ВС-2008.ppt
- Количество слайдов: 87
Интернет Университет Суперкомпьютерных технологий Введение Учебный курс Основы параллельных вычислений Гергель В. П. , профессор, д. т. н. Нижегородский университет
Определение вычислительной системы Вычислительная система (ВС) – совокупность взаимосвязанных и взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенная для сбора, хранения, обработки и распределения информации.
Понятие параллельных вычислений… q Под параллельными вычислениями (parallel or concurrent computations) можно понимать процессы решения задач, в которых в один и тот же момент времени могут выполняться одновременно несколько вычислительных операций q Параллельные вычисления составляют основу суперкомпьютерных технологий и высокопроизводительных расчётов Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 4
Понятие параллельных вычислений q Параллельные вычисления не сводятся к использованию только многопроцессорных вычислительных систем (существуют ли последовательные компьютеры !? ) q Одновременные выполняемые операции должны быть направлены на решение общей задачи q Параллельные вычисления следует отличать от многозадачных (многопрограммных) режимов работы последовательных ЭВМ Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 5
Необходимость параллельных вычислений… q Опережение потребности вычислений быстродействия существующих компьютерных систем (ex. , Problems of Grand Challenge) – – – моделирование климата, генная инженерия, проектирование интегральных схем, анализ загрязнения окружающей среды, создание лекарственных препаратов и др. Оценка необходимой производительности – 1012 операций (1 Tflops) FLOPS (флопс) — величина, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 6
Необходимость параллельных вычислений Теоретическая ограниченность роста производительности последовательных компьютеров q Резкое снижение стоимости многопроцессорных (параллельных) вычислительных систем q – ПК на базе четырехядерного процессора Intel Core 2 Quad – 20 GFlops ($1500), – Персональный мини кластер T Edge Mini на базе четырехядерных процессоров Intel Xeon – 240 GFlops ($20000) q Смена парадигмы построения высокопроизводительных процессоров многоядерность Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 7
Необходимость параллельных вычислений Технические характеристики мини-кластера T-Edge Mini: До 5 -ти двухпроцессорных узлов на базе четырехъядерных процессоров Intel Xeon. Память до 64 Гб. 3 блока питания мощностью 600 Вт. Порты ввода/вывода на передней панели: VGA port, USB ports, Keyboard and Mouse. Порты ввода/вывода на задней панели: 2 RJ-45 Gb. E ports, 1 RJ-45 FE port, 4 порта для мониторинга узлов по протоколу RS 485. Встроенный DVD привод. Встроенный KVM and Gb. E коммутатор. Операционная система: ОС SUSE Linux Enterprise Server 9, Red. Hat Enterprise Linux 4 или Microsoft Windows Compute Cluster Server 2003. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 8
Примеры приложений: Науки о Земле q Анализ изменений климата q q Прогнозирование погоды Состояние атмосферы Суперкомпьютерный центр в Барселоне Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 9
Примеры приложений: Науки о жизни q Новые лекарства и q Геномика методы лечения q Поиск в базах данных Национальный Институт Здоровья США Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 10
Примеры приложений: Инженерные расчёты q Виртуальное проектирование Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. q Оптимизация 11
Значимость параллельных вычислений… Принятие обоснованных решений практически в любой сфере человеческой деятельности с необходимостью предполагает проведение расширенного математического моделирования с тщательным исследованием возможных вариантов деятельности с помощью вычислительных экспериментов q При этом, появление столь радикально возросших возможностей суперкомпьютерных технологий позволяет разрабатывать углублённые математические модели, максимально точно описывающих объекты реального мира, и требующие для своего анализа проведения масштабных вычислений q Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 12
Значимость параллельных вычислений… Области приложений, в которых суперкомпьютерные вычисления имеют особую значимость: q Невозможность (недопустимость) натурных экспериментов: изучение процессов при ядерном взрыве или серьезных воздействий на природу q Изучение влияния экстремальных условий (температур, магнитных полей, радиации и др. ) — старение материалов, безопасность конструкций, боевое применение q Моделирование наноустройств и наноматериалов q Науки о жизни — изучение генома человека, разработка новых лекарственных препаратов и т. п. q Науки о Земле — обработка геоинформации: полезные ископаемые; селевая, сейсмическая и т. п. безопасность, прогнозы погоды, модели изменения климата. . . q Моделирование при разработке новых технических устройств — инженерные расчеты Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 13
Значимость параллельных вычислений q Конкурентоспособность страны в современных условиях во многом определяется уровнем развития суперкомпьютерных вычислительных технологий q Суперкомпьютерные технологии становятся одним из решающих факторов научно технического прогресса и могут служить точно таким стимулом развития страны, как ранее были авиация, атом, ракетная техника и космос Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 14
Интернет Университет Суперкомпьютерных технологий Учебный курс Основы параллельных вычислений Лекция 1: Параллельные вычислительные системы: краткий обзор и классификация Гергель В. П. , профессор, д. т. н. Нижегородский университет
Пути достижения параллелизма… Под параллельными вычислениями понимаются процессы обработки данных, в которых одновременно могут выполняться несколько операций компьютерной системы Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 16
Пути достижения параллелизма… q Достижение параллелизма возможно только при выполнимости следующих требований: – независимость функционирования отдельных устройств ЭВМ (устройства ввода вывода, обрабатывающие процессоры и устройства памяти), – избыточность элементов вычислительной системы • использование специализированных устройств (например, отдельные процессоры для целочисленной и вещественной арифметики, устройства многоуровневой памяти), • дублирование устройств ЭВМ (например, использование нескольких однотипных обрабатывающих процессоров или нескольких устройств оперативной памяти), – Дополнительная форма обеспечения параллелизма конвейерная реализация обрабатывающих устройств Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 17
Пути достижения параллелизма… q Возможные режимы выполнения независимых частей программы: – многозадачный режим (режим разделения времени), при котором для выполнения нескольких процессов используется единственный процессор (данный режим является псевдопараллельным, в каждый момент времени исполняемым может быть единственный процесс), – параллельное выполнение, когда в один и тот же момент времени может выполняться несколько команд обработки данных (обеспечивается при наличии нескольких процессоров или при помощи конвейерных и векторных обрабатывающих устройств), – распределенные вычисления, при которых для параллельной обработки данных используется несколько обрабатывающих устройств, достаточно удаленных друг от друга, а передача данных по линиям связи приводит к существенным временным задержкам. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 18
Пути достижения параллелизма Основное внимание будем уделять второму типу организации параллелизма, реализуемому на многопроцессорных вычислительных системах Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 19
Параллельное выполнение программы Параллельным называется такое выполнение программы, когда две или более части одной и той же программы выполняются одновременно двумя или более центральными процессорами одного компьютера или вычислительной системы. В первом случае архитектура вычислительной системы считается многопроцессорной (мультипроцессорной), а во втором многомашинной (мульти компьютерной). Вычислительные системы, содержащие более одного центрального процессора, называются параллельными.
Примеры параллельных вычислительных систем… q Суперкомпьютеры Суперкомпьютер – это вычислительная система, обладающая предельными характеристиками по производительности среди имеющихся в каждый конкретный момент времени компьютерных систем Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 21
Примеры параллельных вычислительных систем… q Суперкомпьютеры. Программа ASCI (Accelerated Strategic Computing Initiative) – 1996, система ASCI Red, построенная Intel, производительность 1 TFlops, – 1999, ASCI Blue Pacific от IBM и ASCI Blue Mountain от SGI, производительность 3 TFlops, – 2000, ASCI White с пиковой производительностью свыше 12 TFlops (реально показанная производительность на тесте LINPACK составила на тот момент 4938 GFlops) Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 22
Примеры параллельных вычислительных систем… q Суперкомпьютеры. ASCI White… – Система с 512 ю симметричными мультипроцессорными (SMP) узлами, каждый узел имеет 16 процессоров, – Процессоры IBM RS/6000 POWER 3 с 64 х разрядной архитектурой и конвейерной организацией с 2 устройствами по обработке команд с плавающей запятой и 3 устройствами по обработке целочисленных команд, они способны выполнять до 8 команд за тактовый цикл и до 4 операций с плавающей запятой за такт, тактовая частота 375 MHz, – Оперативная память системы – 4 TB, – Емкость дискового пространства 180 TB Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 23
Примеры параллельных вычислительных систем… q Суперкомпьютеры. ASCI White… Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 24
Примеры параллельных вычислительных систем… q Суперкомпьютеры. ASCI White – Операционная система представляет собой версию UNIX – IBM AIX, – Программное обеспечение ASCI White поддерживает смешанную модель программирования – передача сообщений между узлами и многопотоковость внутри SMP узла, – Поддерживаются библиотеки MPI, Open. MP, потоки POSIX и транслятор директив IBM, имеется параллельный отладчик IBM. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 25
Примеры параллельных вычислительных систем… q Суперкомпьютеры. Система Blue. Gene – Первый вариант системы представлен в 2004 г. и сразу занял 1 позицию в списке Top 500 – Расширенный вариант суперкомпьютера (ноябрь 2007 г. ) по прежнему на 1 месте в перечне наиболее быстродействующих вычислительных систем: • 212992 двухядерных 32 битных процессоров Power. PC 440 0. 7 GHz, • пиковая производительность около 600 TFlops, производительность на тесте LINPACK – 478 TFlops Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 26
Примеры параллельных вычислительных систем… q Суперкомпьютеры. Система Blue. Gene Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 27
Примеры параллельных вычислительных систем… q Суперкомпьютеры. Система Road. Runner – Road. Runner является наиболее быстродействующей вычислительной системой (2008) и первым в мире суперкомпьютером, производительность которого превысила рубеж 1 PFlops (1000 TFlops): • 12960 процессоров IBM Power. XCell 8 i и 6480 двухядерных процессоров AMD Opteron, • пиковая производительность около 1700 TFlops, производительность на тесте LINPACK – 1026 TFlops Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 28
Примеры параллельных вычислительных систем… q Суперкомпьютеры. МВС-15000… (Межведомственный Суперкомпьютерный Центре РАН) 2005 – Общее количество узлов 276 (552 процессора). Каждый узел представляет собой: • 2 процессора IBM Power. PC 970 с тактовой частотой 2. 2 GHz, кэш L 1 96 Kb и кэш L 2 512 Kb, • 4 Gb оперативной памяти на узел, • 40 Gb жесткий диск IDE, – Операционная система Su. Se Linux Enterprise Server версии 8 для платформ x 86 и Power. PC, – Пиковая производительность 4857. 6 GFlops и максимально показанная на тесте LINPACK 3052 GFlops. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 29
Примеры параллельных вычислительных систем… q Суперкомпьютеры. МВС-15000 Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 30
Примеры параллельных вычислительных систем… q Суперкомпьютеры. МВС-15000 Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 31
Примеры параллельных вычислительных систем… q Суперкомпьютеры. СКИФ МГУ… (НИВЦ МГУ) 2008 – Общее количество двухпроцессорных узлов 625 (1250 четырехядерных процессоров Intel Xeon E 5472 3. 0 ГГц), – Общий объем оперативной памяти – 5, 5 Тбайт, – Объем дисковой памяти узлов – 15 Тбайт, – Операционная система Linux, – Пиковая производительность 60 TFlops, быстродействие на тесте LINPACK 47 TFlops. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 32
Примеры параллельных вычислительных систем… q Кластеры Кластер – группа компьютеров, объединенных в локальную вычислительную сеть (ЛВС) и способных работать в качестве единого вычислительного ресурса. Предполагает более высокую надёжность и эффективность, нежели ЛВС, и существенно более низкую стоимость в сравнении с другими типами параллельных вычислительных систем (за счет использования типовых аппаратных и программных решений). Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 33
Примеры параллельных вычислительных систем… q Кластеры Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 34
Примеры параллельных вычислительных систем… q Кластеры. Beowulf… – В настоящее время под кластером типа “Beowulf” понимается вычислительная система, состоящая из одного серверного узла и одного или более клиентских узлов, соединенных при помощи сети Ethernet или некоторой другой сети передачи данных. Это система, построенная из готовых серийно выпускающихся промышленных компонент, на которых может работать ОС Linux/Windows, стандартных адаптеров Ethernet и коммутаторов. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 35
Примеры параллельных вычислительных систем… q Кластеры. Beowulf… – 1994, научно космический центр NASA Goddard Space Flight Center, руководители проекта Томас Стерлинг и Дон Бекер: • 16 компьютеров на базе процессоров 486 DX 4, тактовая частота 100 MHz, • 16 Mb оперативной памяти на каждом узле, • три параллельно работающих 10 Mbit/s сетевых адаптера, • операционная система Linux, компилятор GNU, поддержка параллельных программ на основе MPI. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 36
Примеры параллельных вычислительных систем… q Кластеры. Beowulf – 1998, Система Avalon, Лос Аламосская национальная лаборатория (США) , руководители проекта астрофизик Майкл Уоррен: • 68 процессоров (позднее расширен до 140) Alpha 21164 A с тактовой частотой 533 MHz, • 256 Mb RAM, 3 Gb HDD, Fast Ethernet card на каждом узле, • операционная система Linux, • пиковая производительность в 149 GFlops, производительность на тесте LINPACK 48. 6 GFlops. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 37
Примеры параллельных вычислительных систем… q Кластеры. AC 3 Velocity Cluster – 2000, Корнельский университет (США), результат совместной работы университета и Advanced Cluster Computing Consortium, образованного компаниями Dell, Intel, Microsoft, Giganet: • 64 четырехпроцессорных сервера Dell Power. Edge 6350 на базе Intel Pentium III Xeon 500 MHz, 4 GB RAM, 54 GB HDD, 100 Mbit Ethernet card, • 1 восьмипроцессорный сервер Dell Power. Edge 6350 на базе Intel Pentium III Xeon 550 MHz, 8 GB RAM, 36 GB HDD, 100 Mbit Ethernet card, • операционная система Microsoft Windows NT 4. 0 Server Enterprise Edition, • пиковая производительность AC 3 Velocity 122 GFlops, производительность на тесте LINPACK 47 GFlops. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 38
Примеры параллельных вычислительных систем… q Кластеры. NCSA NT Supercluster – 2000, Национальный центр суперкомпьютерных технологий (National Center for Supercomputing Applications): • 38 двухпроцессорных систем Hewlett Packard Kayak XU PC workstation на базе Intel Pentium III Xeon 550 MHz, 1 Gb RAM, 7. 5 Gb HDD, 100 Mbit Ethernet card, • операционная система ОС Microsoft Windows, • пиковая производительностью в 140 GFlops и производительность на тесте LINPACK 62 GFlops. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 39
Примеры параллельных вычислительных систем… q Кластеры. Thunder – 2004, Ливерморская Национальная Лаборатория (США): • 1024 сервера, в каждом по 4 процессора Intel Itanium 1. 4 GHz, • 8 Gb оперативной памяти на сервер, • общая емкость дисковой системы 150 Tb, • операционная система CHAOS 2. 0, • пиковая производительность 22938 GFlops и максимально показанная на тесте LINPACK 19940 GFlops (5 ая позиция списка Top 500 ). Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 40
Примеры параллельных вычислительных систем… q Кластеры. Вычислительный кластер ННГУ… – 2001, Нижегородский государственный университет, оборудование передано в рамках Академической программы Интел: • 2 вычислительных сервера, каждый из которых имеет 4 процессора Intel Pentium III 700 MHz, 512 MB RAM, 10 GB HDD, 1 Gbit Ethernet card, • 12 вычислительных серверов, каждый из которых имеет 2 процессора Intel Pentium III 1000 MHz, 256 MB RAM, 10 GB HDD, 1 Gbit Ethernet card, • 12 рабочих станций на базе процессора Intel Pentium 4 1300 MHz, 256 MB RAM, 10 GB HDD, 10/100 Fast Ethernet card, • операционная система Microsoft Windows. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 41
Примеры параллельных вычислительных систем… q Кластеры. Вычислительный кластер ННГУ… Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 42
Примеры параллельных вычислительных систем… q Кластеры. Вычислительный кластер ННГУ – 2007, Модернизация в рамках Инновационной образовательной программы ННГУ: • 64 вычислительных сервера, каждый из которых имеет 2 двухядерных процессора Intel Core Duo 2, 66 GHz, 4 GB RAM, 100 GB HDD, 1 Gbit Ethernet card, • пиковая производительность ~3 Tflops • операционная система Microsoft Windows. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 43
Примеры параллельных вычислительных систем q Персональные мини-кластеры T-Edge Mini - см. http: //www. t platforms. ru/ru/temini. php – 4 двухпроцессорных узла на базе четырехядерных процессоров Intel Xeon (всего 32 вычислительных ядер) – Оперативная память – до 128 Гбайт – Сеть передачи данных Gigabit Ethernet или Infini. Band – Операционная система SUSE Linux Enterprise Server, Red. Hat Enterprise Linux или Microsoft Windows Compute Cluster Server 2003 – Пиковая производительность – 384 GFlops – Размеры (см) 57 х33 х76 Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 44
Классификация вычислительных систем… Под потоком понимается последовательность элементов, команд или данных, обрабатываемая процессором. q Потоком команд называется последовательность команд программы, выполняемая одним процессорным элементом ВС. q Потоком данных называется последовательность данных, выдаваемая на обработку в один из процессорных элементов. q Если количество одновременно выполняемых различными процессорными элементами ВС команд больше одной, то поток команд называется множественным. q Если в ВС на одной и той же стадии обработки находится более одного набора операндов, которые поступают в различные процессорные элементы, то поток данных называется множественным. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 45
Классификация вычислительных систем… q Систематика Флинна (Flynn)… – Классификация по способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных: • SISD (Single Instruction, Single Data) • SIMD (Single Instruction, Multiple Data) • MISD (Multiple Instruction, Single Data) • MIMD (Multiple Instruction, Multiple Data) Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 46
Классификация вычислительных систем… q Систематика Флинна (Flynn)… – SISD – Один поток команд, Один поток данных: Поток данных Поток команд Вычислительная система "Обычные" последовательные компьютеры ОКОД - одиночный поток команд - одиночный поток данных, или SISD (Single Instruction Single Data) охватывает все однопроцессорные и одномашинные варианты систем, т. е. ВС с одним вычислителем (рис). Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путём совмещения выполнения операций отдельными блоками АЛУ, а также парал лельная работа устройств ввода вывода информации и процессора. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 47
Классификация вычислительных систем… q Систематика Флинна (Flynn)… – SIMD – Один поток команд, Множественный поток данных: Поток данных Поток команд Вычислительная система Н. Новгород, 2008 г. Вычислительные системы с синхронным управлением, векторные компьютеры – классический пример – система ILLIAC IV Основы параллельных вычислений: Введение © Гергель В. П. 48
Классификация вычислительных систем… q Систематика Флинна (Flynn)… ОКМД — одиночный поток команд - множественный поток данных, или SIMD (Single Instruction Multiple Data) предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные, т. е. процессорные элементы, входящие в систему, идентичны, и все они управля ются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно обеспечивать соединения между процессорами, соответствующие реализуемым математическим зависимостям. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними. Векторный или матричный тип вычислений является необходимым атрибутом любой супер ЭВМ. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 49
Классификация вычислительных систем… q Систематика Флинна (Flynn)… – MISD – Множественный поток команд, Один поток данных: Поток данных Поток команд Вычислительная система Конвейерная обработка ? Пустой класс ? МКОД — множественный поток команд - одиночный поток данных, или MISD (Multiple Instruction Single Data) К классу MISD ряд исследователей относит конвейерные ЭВМ, однако это не нашло окончательного признания, поэтому можно считать, что реальных систем — представителей данного класса ещё не существует. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 50
Классификация вычислительных систем… q Систематика Флинна (Flynn)… – MIMD – Множественный поток команд, Множественный поток данных: Поток данных Поток команд Вычислительная система Многопроцессорные вычислительные системы МКМД — множественный поток команд - множественный поток данных, или MIMD (Multiple Instruction Multiple Data) предполагает, что все процессоры системы работают по своим программам с собственным потоком команд. В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется на многих крупных вычислительных центрах для увеличения пропускной способности центра. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 51
Классификация вычислительных систем q Систематика Флинна (Flynn) Практически все виды параллельных систем, несмотря на их существенную разнородность, относятся к одной группе MIMD Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 52
Заключение q Приведена общая характеристика способов организации параллельных вычислений q Рассмотрено различие между многозадачным, параллельным и распределенным режимами выполнения программ q Приведен ряд примеров параллельных вычислительных систем q Дано описание одного из наиболее известных способов классификации вычислительных систем – систематики Флинна Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 53
Интернет Университет Суперкомпьютерных технологий Учебный курс Основы параллельных вычислений Лекция 2: Общая характеристика многопроцессорных вычислительных систем Гергель В. П. , профессор, д. т. н. Нижегородский университет
Классификация вычислительных систем… q Систематика Флинна (Flynn) – Классификация по способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных: • SISD (Single Instruction, Single Data) • SIMD (Single Instruction, Multiple Data) • MISD (Multiple Instruction, Single Data) • MIMD (Multiple Instruction, Multiple Data) Практически все виды параллельных систем, несмотря на их существенную разнородность, относятся к одной группе MIMD Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 55
Классификация вычислительных систем… q Детализация систематики Флинна… – Дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти, – Позволяет различать два важных типа многопроцессорных систем: • multiprocessors (мультипроцессоры или системы с общей разделяемой памятью), • multicomputers (мультикомпьютеры или системы с распределенной памятью). Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 56
Классификация вычислительных систем… q Детализация систематики Флинна… Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 57
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти (shared memory)… – Обеспечивается однородный доступ к памяти (uniform memory access or UMA), – Являются основой для построения: • векторных параллельных процессоров (parallel vector processor or PVP). Примеры: Cray T 90, • симметричных мультипроцессоров (symmetric multiprocessor or SMP). Примеры: IBM e. Server, Sun Star. Fire, HP Superdome, SGI Origin. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 58
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 59
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблемы: • Доступ с разных процессоров к общим данным и обеспечение, в этой связи, однозначности (когерентности) содержимого разных кэшей (cache coherence problem), • Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 60
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблема: Обеспечение однозначности (когерентности) содержимого разных кэшей (cache coherence problem) При изменении данных необходимо проверять наличие "старых" значений в кэш-памяти всех процессоров (обеспечивается на аппаратном уровне, но становится сложным при большом количестве процессоров) Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 61
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд… Пример: Пусть процессоры выполняют последовательность команд N=N+1 Печать N над общей переменной N (в скобках указывается значение этой переменной) Вариант исполнения 1 Вариант исполнения 2 Временная последовательность команд может быть различной – необходима синхронизация при использовании общих переменных ! Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 62
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти… Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд… Рассмотренный пример может рассматриваться как проявление общей проблемы использования разделяемых ресурсов (общих данных, файлов, устройств и т. п. ) q Для организации разделения ресурсов между несколькими потоками команд необходимо иметь возможность: определения доступности запрашиваемых ресурсов (ресурс свободен и может быть выделен для использования, ресурс уже занят одним из потоков и не может использоваться дополнительно каким либо другим потоком); выделения свободного ресурса одному из процессов, запросивших ресурс для использования; приостановки (блокировки) потоков, выдавших запросы на ресурсы, занятые другими потоками. q Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 63
Классификация вычислительных систем… q Мультипроцессоры с использованием единой общей памяти Проблема: Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд q Доступ к общей переменной в рассмотренном примере в самом общем виде должен быть организован следующим образом: <Получить доступ> N=N+1 Печать N <Завершить доступ> q Полное рассмотрение проблемы синхронизации будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с общей памятью Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 64
Классификация вычислительных систем… q Мультипроцессоры с использованием физически распределенной памяти (distributed shared memory or DSM): – Неоднородный доступ к памяти (non-uniform memory access or NUMA), – Среди систем такого типа выделяют: • cache-only memory architecture or COMA (системы KSR 1 и DDM), • cache-coherent NUMA or CC-NUMA (системы SGI Origin 2000, Sun HPC 10000, IBM/Sequent NUMA Q 2000), • non-cache coherent NUMA or NCC-NUMA (система Cray T 3 E). Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 65
Классификация вычислительных систем… q Мультипроцессоры с использованием физически распределенной памяти… Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 66
Классификация вычислительных систем… q Мультипроцессоры с использованием физически распределенной памяти: – Упрощаются проблемы создания мультипроцессоров (известны примеры систем с несколькими тысячами процессоров), – Возникают проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков). Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 67
Классификация вычислительных систем… q Мультикомпьютеры… – Не обеспечивают общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA), – Каждый процессор системы может использовать только свою локальную память Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 68
Классификация вычислительных систем… q Мультикомпьютеры… – Для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations), – Основные операции передачи данных: • Отправить сообщение (send), • Получить сообщение (receive) Пример: Процессор 1 <Отправить сообщение> <Продолжение вычислений> q Процессор 2 <Получить сообщение> <Продолжение вычислений с использованием данных полученного сообщения> Полное рассмотрение проблемы передачи сообщений будет выполнено позднее при изучении вопросов параллельного программирования для вычислительных систем с распределенной памятью Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 69
Классификация вычислительных систем… q Мультикомпьютеры Данный подход используется при построении двух важных типов многопроцессорных вычислительных систем: – массивно-параллельных систем (massively parallel processor or MPP), например: IBM RS/6000 SP 2, Intel PARAGON, ASCI Red, транспьютерные системы Parsytec, – кластеров (clusters), например: AC 3 Velocity и NCSA NT Supercluster. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 70
Классификация вычислительных систем… q Мультикомпьютеры. Кластеры… Кластер - множество отдельных компьютеров, объединенных в сеть, для которых при помощи специальных аппаратно-программных средств обеспечивается возможность унифицированного управления (single system image), надежного функционирования (availability) и эффективного использования (performance) Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 71
Классификация вычислительных систем… q Мультикомпьютеры. Кластеры… Преимущества: – Могут быть образованы на базе уже существующих у потребителей отдельных компьютеров, либо же сконструированы из типовых компьютерных элементов; – Повышение вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества отдельных компьютеров (lowly parallel processing), – Для параллельного выполнения в алгоритмах достаточно выделять только крупные независимые части расчетов (coarse granularity). Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 72
Классификация вычислительных систем q Мультикомпьютеры. Кластеры Недостатки: – Организация взаимодействия вычислительных узлов кластера при помощи передачи сообщений обычно приводит к значительным временным задержкам, – Дополнительные ограничения на тип разрабатываемых параллельных алгоритмов и программ (низкая интенсивность потоков передачи данных) Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 73
Классификация вычислительных систем
Признак классификации Многопроцессорная ВС Многомашинная ВС Состав структуры Вид связи между элементами структуры (вид коммутатора) CP*, PM, BM, EM, I/O, SW Матричный SW, многоступенчатый SW, общая шина ВМ (ЭВМ, МПВС), EM, I/O, SW Шинные (многошинный SW и др. ) или линковые ( SW с регулярными связями и др. ) Организация памяти Общая память Распределенная память Способ передачи данных Параллельный (сильная связь) Приемник передаваемых данных Инициатор передачи данных Операционная система (ОС), управление – Общая, централизованное Параллельнопоследовательный (ослабленная связь) Кэш-память или оперативная память Процесс-последователь или процесс-предшественник Копии ОС и общая надстройка, смешанное На одной плате или в одном блоке В одном блоке, в одной стойке и т. д. (в одном помещении) Пространственное размещение элементов структуры –
Обозначения к таблице q CP – центральный процессор (не содержит кэш памяти СМ); PM – процессорный модуль, т. е. CP+СМ, при этом СМ может быть двухуровневой; BM – оперативная память, которая может состоять из одного или нескольких модулей ММ (2, 4, 8 …); ММ – модуль оперативной памяти, который представляет собой секционированную память с числом секций, равным числу слов в блоке СМ (обычно 4), ЕМ – внешняя память на магнитных или оптических носителях информации; I/O – устройства ввода/вывода; SW – коммутатор, т. е. совокупность средств, обеспечивающих взаимодействие между элементами структуры. В состав SW помимо ключевых элементов входит устройство управления, выполняющее функции маршрутизации, арбитража и т. п. , ВМ – вычислительный модуль (это ЭВМ или МПВС).
Характеристика типовых схем коммуникации… При организации параллельных вычислений в мультикомпьютерах для взаимодействия, синхронизации и взаимоисключения параллельно выполняемых процессов используется передача данных между процессорами вычислительной среды. Топология сети передачи данных - структура линий коммутации между процессорами вычислительной системы Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 77
Характеристика типовых схем коммуникации… q Топология сети передачи данных… – полный граф (completely-connected graph or clique) – система, в которой между любой парой процессоров существует прямая линия связи, Полный граф (completelyconnected graph or clique ) – линейка (linear array or farm) – система, в которой все процессоры перенумерованы по порядку и каждый процессор, кроме первого и последнего, имеет линии связи только с двумя соседними, Н. Новгород, 2008 г. Линейка (linear array or farm ) Основы параллельных вычислений: Введение © Гергель В. П. 78
Характеристика типовых схем коммуникации… q Топология сети передачи данных… – кольцо (ring) – данная топология получается из линейки процессоров соединением первого и последнего процессоров линейки, Кольцо (ring ) – звезда (star) – система, в которой все процессоры имеют линии связи с некоторым управляющим процессором, Звезда (star ) Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 79
Характеристика типовых схем коммуникации… q Топология сети передачи данных… – решетка (mesh) – система, в которой граф линий связи образует прямоугольную сетку, Решетка (mesh) – гиперкуб (hypercube) – данная топология представляет частный случай структуры решетки, когда по каждой размерности сетки имеется только два процессора. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 80
Характеристика типовых схем коммуникации… q Топология сети вычислительных кластеров Для построения кластерной системы во многих случаях используют коммутатор (switch), через который процессоры кластера соединяются между собой. Одновременность выполнения нескольких коммуникационных операций является ограниченной. В любой момент времени каждый процессор может принимать участие только в одной операции приема - передачи данных Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 81
Характеристика типовых схем коммуникации… q Характеристики топологии сети… – диаметр – максимальное расстояние между двумя процессорами сети; характеризует максимально необходимое время для передачи данных между процессорами, – связность (connectivity) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области, – ширина бинарного деления (bisection width) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области одинакового размера, – стоимость – общее количество линий передачи данных в многопроцессорной вычислительной системе. Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 82
Определить архитектуру ВС….
Определить архитектуру ВС….
Определить архитектуру ВС….
Определить архитектуру ВС….
Контакты Гергель В. П. , профессор, д. т. н. , декан факультета вычислительной математики и кибернетики Нижегородский университет gergel@unn. ru http: //www. software. unn. ru/? dir=17 Н. Новгород, 2008 г. Основы параллельных вычислений: Введение © Гергель В. П. 87
ВС-2008.ppt