Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Лекция 2. Принципы построения параллельных.

Презентация:



Advertisements
Похожие презентации
Общая характеристика многопроцессорных вычислительных систем.
Advertisements

Интернет Университет Суперкомпьютерных технологий Общая характеристика многопроцессорных вычислительных систем Учебный курс Основы параллельных вычислений.
Интернет Университет Суперкомпьютерных технологий Параллельные вычислительные системы: краткий обзор и классификация Учебный курс Основы параллельных вычислений.
Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Образовательный комплекс Введение в методы.
Программная система для изучения и исследования параллельных методов решения сложных вычислительных задач Нижегородский государственный университет им.
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 8: Параллельные вычисления ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н.,
1 Внутрипроцессорная многопоточность (1) (a) – (c) Три потока. Пустые квадраты означают простой в ожидании данных из памяти (d) Мелкомодульная многопоточность.
1 Параллельное программирование Минакова Е.О. Студентка 6 курса ОНУ им.И.И.Мечникова.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Методы построения и программное обеспечение вычислительных кластеров Дмитрий Лайком гр. 8ВМ23.
Вычислительная система (ВС) - это взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для.
Образовательный комплекс Параллельные вычисления Гергель В.П., проф., д.т.н., кафедра МО ЭВМ ф-та ВМК ННГУ Нижегородский государственный университет им.
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Параллельные вычисления.
1. Этапы развития вычислительной техники и программного обеспечения. 2.Структура вычислительной системы. Ресурсы ВС- физические ресурсы, виртуальные ресурсы.
1. Определить последовательность проезда перекрестка
Лабораторный практикум по курсу Принципы построения современных ОС Линёв А.В. – ассистент, кафедра ИИСиГИ ВМК ННГУ Свистунов А.Н. – ассистент, кафедра.
История создания ОС. Семейство ОС MS Windows.. Операционная система базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
1 МФТИ Потери производительности Параллельные алгоритмы Якобовский Михаил Владимирович д.ф.-м.н. Институт математического моделирования РАН, Москва.
ОСНОВЫ МЕТРИЧЕСКОЙ ТЕОРИИ ВС, СИСТЕМАТИКА ФЛИННА И ДРУГИЕ КЛАССИФИКАЦИИ. Нургазинова Асель Инфб 14 1 р 5 В
Транксрипт:

Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Лекция 2. Принципы построения параллельных вычислительных систем Образовательный комплекс Введение в методы параллельного программирования Гергель В.П., профессор, д.т.н. Кафедра математического обеспечения ЭВМ

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 2 из 61 Пути достижения параллелизма Примеры параллельных вычислительных систем –Суперкомпьютеры –Кластеры Классификация многопроцессорных вычислительных систем –Мультипроцессоры –Мультикомпьютеры Типовые схемы коммуникации процессоров Системные платформы для построения кластеров Заключение Содержание

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 3 из 61 Пути достижения параллелизма… Под параллельными вычислениями понимаются процессы обработки данных, в которых одновременно могут выполняться несколько операций компьютерной системы

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 4 из 61 Достижение параллелизма возможно только при выполнимости следующих требований: –независимость функционирования отдельных устройств ЭВМ (устройства ввода-вывода, обрабатывающие процессоры и устройства памяти), –избыточность элементов вычислительной системы использование специализированных устройств (например, отдельные процессоры для целочисленной и вещественной арифметики, устройства многоуровневой памяти), дублирование устройств ЭВМ (например, использование нескольких однотипных обрабатывающих процессоров или нескольких устройств оперативной памяти), –Дополнительная форма обеспечения параллелизма - конвейерная реализация обрабатывающих устройств Пути достижения параллелизма…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 5 из 61 Возможные режимы выполнения независимых частей программы: –многозадачный режим (режим разделения времени), при котором для выполнения нескольких процессов используется единственный процессор (данный режим является псевдопараллельным, в каждый момент времени исполняемым может быть единственный процесс), –параллельное выполнение, когда в один и тот же момент времени может выполняться несколько команд обработки данных (обеспечивается при наличии нескольких процессоров или при помощи конвейерных и векторных обрабатывающих устройств), –распределенные вычисления, при которых для параллельной обработки данных используется несколько обрабатывающих устройств, достаточно удаленных друг от друга, а передача данных по линиям связи приводит к существенным временным задержкам. Пути достижения параллелизма…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 6 из 61 Пути достижения параллелизма Основное внимание будем уделять второму типу организации параллелизма, реализуемому на многопроцессорных вычислительных системах

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 7 из 61 Суперкомпьютеры Суперкомпьютер – это вычислительная система, обладающая предельными характеристиками по производительности среди имеющихся в каждый конкретный момент времени компьютерных систем Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 8 из 61 Суперкомпьютеры. Программа 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)ASCI White Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 9 из 61 Суперкомпьютеры. ASCI White… –система с 512-ю симметричными мультипроцессорными (SMP) узлами, каждый узел имеет 16 процессоров, –процессоры IBM RS/6000 POWER3 с 64-х разрядной архитектурой и конвейерной организацией с 2 устройствами по обработке команд с плавающей запятой и 3 устройствами по обработке целочисленных команд, они способны выполнять до 8 команд за тактовый цикл и до 4 операций с плавающей запятой за такт, тактовая частота 375 MHz, –оперативная память системы – 4 TB, –емкость дискового пространства 180 TB Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 10 из 61 Суперкомпьютеры. ASCI White –Операционная система представляет собой версию UNIX – IBM AIX, –Программное обеспечение ASCI White поддерживает смешанную модель программирования – передача сообщений между узлами и многопотоковость внутри SMP-узла, –Поддерживаются библиотеки MPI, OpenMP, потоки POSIX и транслятор директив IBM, имеется параллельный отладчик IBM. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 11 из 61 Суперкомпьютеры. Система BlueGene –Первый вариант системы представлен в 2004 г. и сразу занял 1 позицию в списке Top500 –Расширенный вариант суперкомпьютера (ноябрь 2007 г.) по прежнему на 1 месте в перечне наиболее быстродействующих вычислительных систем: двухядерных 32-битных процессоров PowerPC GHz, пиковая производительность около 600 TFlops, производительность на тесте LINPACK – 478 TFlops Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 12 из 61 Суперкомпьютеры. МВС-1000… (Межведомственный Суперкомпьютерный Центре РАН) 2001 –Пиковая производительность 1024 GFlops, максимально показанная на тесте LINPACK производительность734 GFlops, –384 двухпроцессорных модуля на базе Alpha MHz (кэш L2 4 Mb), собранные в виде 6 базовых блоков, по 64 модуля в каждом, –Каждый вычислительный модуль имеет по 2 Gb оперативной памяти, HDD 20 Gb, сетевые карты Myrinet (2000 Mbit) и Fast Ethernet (100 Mbit), –Операционные системы управляющего сервера и вычислительных модулей – ОС Linux RedHat 6.2 с поддержкой SMP. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 13 из 61 Суперкомпьютеры. МВС-1000 Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 14 из 61 Суперкомпьютеры. МВС-15000… (Межведомственный Суперкомпьютерный Центре РАН) 2005 –Общее количество узлов 276 (552 процессора). Каждый узел представляет собой: 2 процессора IBM PowerPC 970 с тактовой частотой 2.2 GHz, кэш L1 96 Kb и кэш L2 512 Kb, 4 Gb оперативной памяти на узел, 40 Gb жесткий диск IDE, –Операционная система SuSe Linux Enterprise Server версии 8 для платформ x86 и PowerPC, –Пиковая производительность GFlops и максимально показанная на тесте LINPACK 3052 GFlops. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 15 из 61 Суперкомпьютеры. МВС Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 16 из 61 Кластеры Примеры параллельных вычислительных систем… Кластер – группа компьютеров, объединенных в локальную вычислительную сеть (ЛВС) и способных работать в качестве единого вычислительного ресурса. Предполагает более высокую надежность и эффективность, нежели ЛВС, и существенно более низкую стоимость в сравнении с другими типами параллельных вычислительных систем (за счет использования типовых аппаратных и программных решений).

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 17 из 61 Кластеры. Beowulf… –В настоящее время под кластером типа Beowulf понимается вычислительная система, состоящая из одного серверного узла и одного или более клиентских узлов, соединенных при помощи сети Ethernet или некоторой другой сети передачи данных. Это система, построенная из готовых серийно выпускающихся промышленных компонент, на которых может работать ОС Linux/Windows, стандартных адаптеров Ethernet и коммутаторов. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 18 из 61 Кластеры. Beowulf… –1994, научно-космический центр NASA Goddard Space Flight Center, руководители проекта - Томас Стерлинг и Дон Бекер: 16 компьютеров на базе процессоров 486DX4, тактовая частота 100 MHz, 16 Mb оперативной памяти на каждом узле, Три параллельно работающих 10Mbit/s сетевых адаптера, Операционная система Linux, компилятор GNU, поддержка параллельных программ на основе MPI. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 19 из 61 Кластеры. Beowulf –1998, Система Avalon, Лос-Аламосская национальная лаборатория (США), руководители проекта - астрофизик Майкл Уоррен: 68 процессоров (позднее расширен до 140) Alpha 21164A с тактовой частотой 533 MHz, 256 Mb RAM, 3 Gb HDD, Fast Ethernet card на каждом узле, Операционная система Linux, Пиковая производительность в 149 GFlops, производительность на тесте LINPACK 48.6 GFlops. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 20 из 61 Кластеры. AC3 Velocity Cluster –2000, Корнельский университет (США), результат совместной работы университета и Advanced Cluster Computing Consortium, образованного компаниями Dell, Intel, Microsoft, Giganet:Корнельский университет 64 четырехпроцессорных сервера Dell PowerEdge 6350 на базе Intel Pentium III Xeon 500 MHz, 4 GB RAM, 54 GB HDD, 100 Mbit Ethernet card, 1 восьмипроцессорный сервер Dell PowerEdge 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, Пиковая производительность AC3 Velocity 122 GFlops, производительность на тесте LINPACK 47 GFlops. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 21 из 61 Кластеры. NCSA NT SuperclusterNT 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,Hewlett-Packard Kayak XU PC workstation Операционная система ОС Microsoft Windows, Пиковая производительностью в 140 GFlops и производительность на тесте LINPACK 62 GFlops. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 22 из 61 Кластеры. ThunderThunder –2004, Ливерморская Национальная Лаборатория (США): 1024 сервера, в каждом по 4 процессора Intel Itanium 1.4 GHz, 8 Gb оперативной памяти на сервер, общая емкость дисковой системы 150 Tb, операционная система CHAOS 2.0, пиковая производительность GFlops и максимально показанная на тесте LINPACK GFlops (5-ая позиция списка Top500 ). Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 23 из 61 Кластеры. Вычислительный кластер ННГУ… –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 MHz, 256 MB RAM, 10 GB HDD, 10/100 Fast Ethernet card, Операционная система Microsoft Windows. Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 24 из 61 Кластеры. Вычислительный кластер ННГУ… Примеры параллельных вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 25 из 61 Кластеры. Вычислительный кластер ННГУ –2007, Модернизация в рамках Инновационной образовательной программы ННГУ: 64 вычислительных сервера, каждый из которых имеет 2 двухядерных процессора Intel Core Duo 2,66 GHz, 4 GB RAM, 100 GB HDD, 1 Gbit Ethernet card, Пиковая производительность ~3 Tflops Операционная система Microsoft Windows. Примеры параллельных вычислительных систем

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 26 из 61 Систематика Флинна (Flynn) –классификация по способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных: SISD (Single Instruction, Single Data) SIMD (Single Instruction, Multiple Data) MISD (Multiple Instruction, Single Data) MIMD (Multiple Instruction, Multiple Data) Классификация вычислительных систем… Практически все виды параллельных систем, несмотря на их существенную разнородность, относятся к одной группе MIMD

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 27 из 61 Детализация систематики Флинна… –дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти, –позволяет различать два важных типа многопроцессорных систем: multiprocessors (мультипроцессоры или системы с общей разделяемой памятью), multicomputers (мультикомпьютеры или системы с распределенной памятью). Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 28 из 61 Детализация систематики Флинна… Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 29 из 61 Мультипроцессоры с использованием единой общей памяти (shared memory)… –обеспечивается однородный доступ к памяти (uniform memory access or UMA), –являются основой для построения: векторных параллельных процессоров (parallel vector processor or PVP). Примеры: Cray T90, симметричных мультипроцессоров (symmetric multiprocessor or SMP). Примеры: IBM eServer, Sun StarFire, HP Superdome, SGI Origin. Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 30 из 61 Мультипроцессоры с использованием единой общей памяти… Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 31 из 61 Мультипроцессоры с использованием единой общей памяти Проблемы: Доступ с разных процессоров к общим данным и обеспечение, в этой связи, однозначности (когерентности) содержимого разных кэшей (cache coherence problem), Необходимость синхронизации взаимодействия одновременно выполняемых потоков команд Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 32 из 61 Мультипроцессоры с использованием физически распределенной памяти (distributed shared memory or DSM): –неоднородный доступ к памяти (non-uniform memory access or NUMA), –Среди систем такого типа выделяют: Сache-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 T3E). Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 33 из 61 Мультипроцессоры с использованием физически распределенной памяти… Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 34 из 61 Мультипроцессоры с использованием физически распределенной памяти: –упрощаются проблемы создания мультипроцессоров (известны примеры систем с несколькими тысячами процессоров), –возникают проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков). Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 35 из 61 Мультикомпьютеры… –не обеспечивают общий доступ ко всей имеющейся в системах памяти (no-remote memory access or NORMA), –каждый процессор системы может использовать только свою локальную память, –для доступа к данным, располагаемых на других процессорах, необходимо явно выполнить операции передачи сообщений (message passing operations). Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 36 из 61 Мультикомпьютеры… Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 37 из 61 Мультикомпьютеры Данный подход используется при построении двух важных типов многопроцессорных вычислительных систем: –массивно-параллельных систем (massively parallel processor or MPP), например: IBM RS/6000 SP2, Intel PARAGON, ASCI Red, транспьютерные системы Parsytec, –кластеров (clusters), например: AC3 Velocity и NCSA NT Supercluster. Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 38 из 61 Мультикомпьютеры. Кластеры… Классификация вычислительных систем… Кластер - множество отдельных компьютеров, объединенных в сеть, для которых при помощи специальных аппаратно-программных средств обеспечивается возможность унифицированного управления (single system image), надежного функционирования (availability) и эффективного использования (performance)

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 39 из 61 Мультикомпьютеры. Кластеры… Преимущества: –Могут быть образованы на базе уже существующих у потребителей отдельных компьютеров, либо же сконструированы из типовых компьютерных элементов; –Повышение вычислительной мощности отдельных процессоров позволяет строить кластеры из сравнительно небольшого количества отдельных компьютеров (lowly parallel processing), –Для параллельного выполнения в алгоритмах достаточно выделять только крупные независимые части расчетов (coarse granularity). Классификация вычислительных систем…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 40 из 61 Мультикомпьютеры. Кластеры Недостатки: –Организация взаимодействия вычислительных узлов кластера при помощи передачи сообщений обычно приводит к значительным временным задержкам, –Дополнительные ограничения на тип разрабатываемых параллельных алгоритмов и программ (низкая интенсивность потоков передачи данных) Классификация вычислительных систем

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 41 из 61 Характеристика типовых схем коммуникации… При организации параллельных вычислений в мультикомпьютерах для взаимодействия, синхронизации и взаимоисключения параллельно выполняемых процессов используется передача данных между процессорами вычислительной среды. Топология сети передачи данных - структура линий коммутации между процессорами вычислительной системы

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 42 из 61 Топология сети передачи данных… –полный граф (completely-connected graph or clique) – система, в которой между любой парой процессоров существует прямая линия связи, –линейка (linear array or farm) – система, в которой все процессоры перенумерованы по порядку и каждый процессор, кроме первого и последнего, имеет линии связи только с двумя соседними, Характеристика типовых схем коммуникации… Полный граф (completely- connected graph or clique ) Линейка (linear array or farm )

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 43 из 61 Топология сети передачи данных… –кольцо (ring) – данная топология получается из линейки процессоров соединением первого и последнего процессоров линейки, –звезда (star) – система, в которой все процессоры имеют линии связи с некоторым управляющим процессором, Характеристика типовых схем коммуникации… Кольцо (ring ) Звезда (star )

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 44 из 61 Топология сети передачи данных… –решетка (mesh) – система, в которой граф линий связи образует прямоугольную сетку, –гиперкуб (hypercube) – данная топология представляет частный случай структуры решетки, когда по каждой размерности сетки имеется только два процессора. Характеристика типовых схем коммуникации… Решетка (mesh)

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 45 из 61 Топология сети вычислительных кластеров Для построения кластерной системы во многих случаях используют коммутатор (switch), через который процессоры кластера соединяются между собой. Одновременность выполнения нескольких коммуникационных операций является ограниченной. Характеристика типовых схем коммуникации… В любой момент времени каждый процессор может принимать участие только в одной операции приема - передачи данных

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 46 из 61 Характеристики топологии сети… –диаметр – максимальное расстояние между двумя процессорами сети; характеризует максимально- необходимое время для передачи данных между процессорами, –связность (connectivity) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области, –ширина бинарного деления (bisection width) – минимальное количество дуг, которое надо удалить для разделения сети передачи данных на две несвязные области одинакового размера, –стоимость – общее количество линий передачи данных в многопроцессорной вычислительной системе. Характеристика типовых схем коммуникации…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 47 из 61 Характеристики топологии сети ТопологияДиаметрШирина бисекции СвязностьСтоимость Полный граф1p 2 /4(p-1)p(p-1)/2 Звезда211(p-1) Линейкаp-111(p-1) Кольцо22p Гиперкубlog 2 pp/2log 2 pp log 2 p/2 Решетка (N=2)42p Характеристика типовых схем коммуникации

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 48 из 61 В качестве системной платформы для построения кластеров используют обе наиболее распространенные в настоящий момент операционные системы Unix/Linux и Microsoft Windows. Далее подробно будет рассмотрено решение на основе ОС семейства Microsoft Windows; характеристика подхода на базе ОС Unix может быть получена, например, в Sterling, T. (Ed.) Beowulf Cluster Computing with Linux. - Cambridge, MA: The MIT Press, Характеристика системных платформ для построения кластеров…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 49 из 61 Microsoft Compute Cluster Server 2003… Интегрированная платформа для поддержки высокопроизводительных вычислений на кластерных системах CCS 2003 состоит из операционной системы Microsoft Windows Server 2003 и Microsoft Compute Cluster Pack (CCP) – набора интерфейсов, утилит и инфраструктуры управления Вместе с CCP поставляется SDK, содержащий необходимые инструменты разработки программ для CCS, включая собственную реализацию MPI (Microsoft MPI) Характеристика системных платформ для построения кластеров…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 50 из 61 Microsoft Compute Cluster Server 2003… В качестве вычислительных узлов кластера могут быть использованы 64-битные процессоры семейства x86 с, как минимум, 512 Мб оперативной памяти и 4 Гб свободного дискового пространства На вычислительных узлах кластера должна быть установлена операционная система Microsoft Windows Server 2003 (Standard, Enterprise или Compute Cluster Edition) Характеристика системных платформ для построения кластеров…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 51 из 61 Microsoft Compute Cluster Server 2003 В состав CCP входит удобная система планирования заданий, позволяющая просматривать состояния всех запущенных задач, собирать статистику, назначать запуски программ на определенное время, завершать "зависшие" задачи и пр. В состав CCP входит Microsoft MPI – версия реализации стандарта MPI 2 от Argonne National Labs. MS MPI совместима с MPICH 2 и поддерживает полнофункциональный API с более чем 160 функциями Microsoft Visual Studio 2005 включает параллельный отладчик, работающий с MS MPI Характеристика системных платформ для построения кластеров

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 52 из 61 Заключение Приведена общая характеристика способов организации параллельных вычислений Рассмотрено различие между многозадачным, параллельным и распределенным режимами выполнения программ Приведен ряд примеров параллельных вычислительных систем Дано описание одного из наиболее известных способов классификации вычислительных систем – систематики Флинна Даны ключевые определения мультипроцессора и мультикомпьютера Рассмотрены основные характеристики сетей передачи данных в многопроцессорных вычислительных системах

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 53 из 61 В чем заключаются основные способы достижения параллелизма? В чем могут состоять различия параллельных вычислительных систем? Что положено в основу классификация Флинна? В чем состоит принцип разделения многопроцессорных систем на мультипроцессоры и мультикомпьютеры? В чем состоят положительные и отрицательные стороны кластерных систем? Какие топологии сетей передачи данных наиболее широко используются при построении многопроцессорных систем? В чем состоят особенности сетей передачи данных для кластеров? Каковы основные характеристики сетей передачи данных? Какие системные платформы могут быть использованы для построения кластеров? Вопросы для обсуждения

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 54 из 61 Приведите дополнительные примеры параллельных вычислительных систем Выполните рассмотрение дополнительных способов классификации компьютерных систем Рассмотрите способы обеспечения когерентности кэшей в системах с общей разделяемой памятью Подготовьте обзор программных библиотек, обеспечивающих выполнение операций передачи данных для систем с распределенной памятью Рассмотрите топологию сети передачи данных в виде двоичного дерева Выделите эффективно реализуемые классы задач для каждого типа топологий сети передачи данных Темы заданий для самостоятельной работы

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 55 из 61 Гергель В.П. Теория и практика параллельных вычислений. - М.: Интернет-Университет, БИНОМ. Лаборатория знаний, Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.: БХВ-Петербург, Корнеев В.В. Параллельные вычислительные системы. – М.: Нолидж, Таненбаум Э. (2002). Архитектура компьютера. – СПб.: Питер. Литература…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 56 из 61 Barker, M. (Ed.) (2000). Cluster Computing Whitepaper at Buyya, R. (Ed.) (1999). High Performance Cluster Computing. Volume1: Architectures and Systems. Volume 2: Programming and Applications. - Prentice Hall PTR, Prentice- Hall Inc. Culler, D., Singh, J.P., Gupta, A. (1998) Parallel Computer Architecture: A Hardware/Software Approach. - Morgan Kaufmann. Dally, W.J., Towles, B.P. (2003). Principles and Practices of Interconnection Networks. - Morgan Kaufmann. Flynn, M.J. (1966) Very high-speed computing systems. Proceedings of the IEEE 54(12): P Литература…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 57 из 61 Hockney, R. W., Jesshope, C.R. (1988). Parallel Computers 2. Architecture, Programming and Algorithms. - Adam Hilger, Bristol and Philadelphia. (русский перевод 1 издания: Хокни Р., Джессхоуп К. Параллельные ЭВМ. Архитектура, программирование и алгоритмы. - М.: Радио и связь, 1986) Kumar V., Grama A., Gupta A., Karypis G. (1994). Introduction to Parallel Computing. - The Benjamin/Cummings Publishing Company, Inc. (2nd edn., 2003) Kung, H.T. (1982). Why Systolic Architecture? Computer P Patterson, D.A., Hennessy J.L. (1996). Computer Architecture: A Quantitative Approach. 2d ed. - San Francisco: Morgan Kaufmann. Литература…

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 58 из 61 Pfister, G. P. (1995). In Search of Clusters. - Prentice Hall PTR, Upper Saddle River, NJ (2nd edn., 1998). Sterling, T. (ed.) (2001). Beowulf Cluster Computing with Windows. - Cambridge, MA: The MIT Press. Sterling, T. (ed.) (2002). Beowulf Cluster Computing with Linux. - Cambridge, MA: The MIT Press Xu, Z., Hwang, K. (1998). Scalable Parallel Computing Technology, Architecture, Programming. – Boston: McGraw- Hill. Литература

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 59 из 61 Моделирование и анализ параллельных вычислений Следующая тема

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 60 из 61 Гергель В.П., профессор, д.т.н., руководитель Гришагин В.А., доцент, к.ф.м.н. Сысоев А.В., ассистент (раздел 1) Лабутин Д.Ю., ассистент (система ПараЛаб) Абросимова О.Н., ассистент (раздел 10) Гергель А.В., аспирант (раздел 12) Лабутина А.А., магистр (разделы 7,8,9, система ПараЛаб) Сенин А.В. (раздел 11) Авторский коллектив

Н.Новгород, 2005 г. Основы параллельных вычислений: Матричное умножение © Гергель В.П. 61 из 61 Целью проекта является создание образовательного комплекса "Многопроцессорные вычислительные системы и параллельное программирование", обеспечивающий рассмотрение вопросов параллельных вычислений, предусматриваемых рекомендациями Computing Curricula 2001 Международных организаций IEEE-CS и ACM. Данный образовательный комплекс может быть использован для обучения на начальном этапе подготовки специалистов в области информатики, вычислительной техники и информационных технологий. Образовательный комплекс включает учебный курс "Введение в методы параллельного программирования" и лабораторный практикум "Методы и технологии разработки параллельных программ", что позволяет органично сочетать фундаментальное образование в области программирования и практическое обучение методам разработки масштабного программного обеспечения для решения сложных вычислительно-трудоемких задач на высокопроизводительных вычислительных системах. Проект выполнялся в Нижегородском государственном университете им. Н.И. Лобачевского на кафедре математического обеспечения ЭВМ факультета вычислительной математики и кибернетики ( Выполнение проекта осуществлялось при поддержке компании Microsoft. О проекте