504384b357122692a8adb5d6e8ee87ae.ppt
- Количество слайдов: 23
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ (национальный исследовательский университет) Факультет прикладной математики и физики Кафедра вычислительной математики и программирования Лекция 6 «Различные типы параллельных систем. Классическая и гибридная схема» Выполнил: Семенов С. А. Руководитель: Ревизников Д. Л.
Возможные виды параллелизма Ø Классификация Флина (SISD, SIMD, etc. ) не вполне отражает вариации архитектур современных выч. устройств üСложно отнести к какому-то определённому классу üФизическая многоядерность VS Одно ядро над различными контекстами во времени ØРазличные виды конвейеров ØБуферизованные / не буферизованные | синхронные / асинхронные ØРазбиение на независимые пути выполнения на высоком и низком уровне ØCPU – высокий уровень / GPU – низкий уровень ØПараллелизм на различных данных, на независимых путях исполнения или на уровне инструкций üGPU – над данными / CPU – на путях исполнения üВекторные VS скалярные АЛУ Московский авиационный институт (национальный исследовательский университет) 2 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Параллелизм задач –возможность применения праллельных методов Ø Если параллелизм отсутствует в исходной задаче – параллелизм счётного устройства не даст выигрыша Ø Большие задачи в подавляющем количестве случаев – параллельны ü Способ мышления человека – составление сложных объектов и методов как комбинаций простых (от простого к сложному) – модель газа состоит из одинаковых частиц ü Свойства физического мира (принцип локальности взаимодействия) - задачи динамики газов и жидкостей ü Свойства математических объектов – перебор / независимые испытания Ø Хорошее приложение это: ü Много входов / много выходов ü Существование параллельных путей ведения расчетов ü Ограниченность взаимодействия между отдельными путями ü Большое кол-во вычислений на обращение к памяти Московский авиационный институт (национальный исследовательский университет) 3 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Оптимизация Optimization consists of analyzing and tuning software code to make it perform faster and more efficiently on Intel processor architecture. www. intel. com/products/glossary/body. htm Московский авиационный институт (национальный исследовательский университет) 4 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Типы отимизаций Ø По производительности Ø По памяти Ø По масштабируемости Ø Оптимизация коммуникаций Далее занимаемся только оптимизацией по производительности Московский авиационный институт (национальный исследовательский университет) 5 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Дональд Кнут Ø Преждевременная оптимизация является корнем всего зла ü Если ваш код уже работает, его оптимизация верный путь к внедрению новых, и, возможно, более тонких ошибок ü Оптимизация делает код сложнее для понимания и поддержки Ø Некоторые методы оптимизации по увеличению скорости снижают расширяемость код Ø На оптимизацию можно потратить много времени и получить небольшой выигрыш в производительности. Кроме того это может привести к запутыванию кода Московский авиационный институт (национальный исследовательский университет) 6 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Ø Быстрые программы требуют больше памяти Ø Чтобы создать более быструю программу требуется больше времени для оптимизации. Ø Оптимизация кода для одной платформы может фактически сделать его хуже, на другой платформе НО !!!!! Майкл Абраш (Quake, Unreal Tournament, Space Strike, Half-Life): Ø Производительность должна всегда измеряется Ø Любая оптимизация, заметная пользователем, должна быть сделана. Московский авиационный институт (национальный исследовательский университет) 7 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Стадии оптимизации Ø Дизайн программы –Выбор алгоритмов и структур данных – Ускорение – 100. . . 1000+ Ø Реализация программы – Языки программирования – Ускорение – 10. . . 100+ Ø Профилирование программы – «Заточка» программы под архитектуру – Ускорение – 1. . . 10+ (не для CELL BE) Московский авиационный институт (национальный исследовательский университет) 8 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Схема суперкомпьютерной системы Московский авиационный институт (национальный исследовательский университет) 9 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Опыт использования Используются на производстве и, уже можно сказать, используются массово: в общей сложности, 10 тысяч узлов на вычислительных рабочих кластерах в нефтегазовом секторе по всему миру – в США, в Китае, возможно, в Европе (европейские компании еще не делали официальных объявлений на этот счет). То же на Ближнем Востоке. Московский авиационный институт (национальный исследовательский университет) 10 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Взрывная волна ~10^8 частиц – 8000 вычислительных ячеек Московский авиационный институт (национальный исследовательский университет) 11 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Кластеры и суперкомпьютеры на гибридной схеме ØКластерные системы ØГибридные системы ØТоп 500 Московский авиационный институт (национальный исследовательский университет) 12 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Кластерные системы Кластер — группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс. Один из первых архитекторов кластерной технологии Грегори Пфистер (Gregory F. Pfister) дал кластеру следующее определение: «Кластер — это разновидность параллельной или распределённой системы, которая: ü состоит из нескольких связанных между собой компьютеров; ü используется как единый, унифицированный компьютерный ресурс» . Обычно различают следующие основные виды кластеров: ü отказоустойчивые кластеры (High-availability clusters, HA, кластеры высокой доступности) ü кластеры с балансировкой нагрузки (Load balancing clusters) ü вычислительные кластеры (Computing clusters) ü grid-системы Московский авиационный институт (национальный исследовательский университет) 13 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Кластеры высокой доступности Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Отказоустойчивые кластеры и системы вообще строятся по трем основным принципам: Ø с холодным резервом или активный/пассивный. Активный узел выполняет запросы, а пассивный ждет его отказа и включается в работу, когда таковой произойдет. Пример — резервные сетевые соединения, в частности, Алгоритм связующего дерева. Ø с горячим резервом или активный/активный. Все узлы выполняют запросы, в случае отказа одного нагрузка перераспределяется между оставшимися. То есть кластер распределения нагрузки с поддержкой перераспределения запросов при отказе. Примеры — практически все кластерные технологии, например, Microsoft Cluster Server. Open. Source проект Open. Mosix. Ø с модульной избыточностью. Применяется только в случае, когда простой системы совершенно недопустим. Все узлы одновременно выполняют один и тот же запрос (либо части его, но так, что результат достижим и при отказе любого узла), из результатов берется любой. Необходимо гарантировать, что результаты разных узлов всегда будут одинаковы (либо различия гарантированно не повлияют на дальнейшую работу). Примеры — RAID и Triple modular redundancy. Московский авиационный институт (национальный исследовательский университет) 14 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Кластеры распределения нагрузки Принцип их действия строится на распределении запросов через один или несколько входных узлов, которые перенаправляют их на обработку в остальные, вычислительные узлы. Первоначальная цель такого кластера — производительность, однако, в них часто используются также и методы, повышающие надёжность. Подобные конструкции называются серверными фермами. Московский авиационный институт (национальный исследовательский университет) 15 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Вычислительные кластеры Кластеры используются в вычислительных целях, в частности в научных исследованиях. Вычислительные кластеры позволяют уменьшить время расчетов, по сравнению с одиночным компьютером, разбивая задание на параллельно выполняющиеся ветки, которые обмениваются данными по связывающей сети. (Обозначаются англ. аббревиатурой HPC Cluster — High-performance computing cluster) Московский авиационный институт (национальный исследовательский университет) 16 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Системы распределенных вычислений (grid) Главное отличие — низкая доступность каждого узла, то есть невозможность гарантировать его работу в заданный момент времени (узлы подключаются и отключаются в процессе работы), поэтому задача должна быть разбита на ряд независимых друг от друга процессов. Московский авиационный институт (национальный исследовательский университет) 17 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Гибридная вычислительная система Система с гетерогенной аппаратной вычислительной структурой. Комбинация любых вычислительных устройств или блоков, например вычисления с помощью CPU и GPU совместно. Московский авиационный институт (национальный исследовательский университет) 18 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Схематическое изображение GPU «Fermi» Московский авиационный институт (национальный исследовательский университет) 19 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Вычислительные возможности GPU Московский авиационный институт (национальный исследовательский университет) 20 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
GPU кластеры Московский авиационный институт (национальный исследовательский университет) 21 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
TOP 500 Рейтинг по состоянию на июнь 2011 Московский авиационный институт (национальный исследовательский университет) 22 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Вопросы Московский авиационный институт (национальный исследовательский университет) 23 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования


