Лекции
Номер лекции
| Информация
| 1
| Назначение, область применения и способы оценки производительности многопроцессорных вычислительных систем
| Описываются сферы применения и типы многопроцессорных вычислительных систем. Приводятся определения пиковой и реальной производительности вычислительной системы, а также способы их оценки
| 2
| Архитектура вычислительных систем. Классификация архитектур по параллельной обработке данных
| Дается определение понятия архитектуры высокопроизводительной системы, приводится классификация архитектур, основанная на рассмотрении числа потоков инструкций и потоков данных
| 3
| Архитектура вычислительных систем. SMP и MPP архитектуры. Гибридная архитектура (NUMA). Организация когерентности многоуровневой иерархической памяти
| Описываются симметричная многопроцессорная, массивно-параллельная и гибридная архитектуры вычислительных систем. Приводятся основные преимущества и недостатки каждой архитектуры, а также соответствующие парадигмы программирования
| 4
| Архитектура вычислительных систем. PVP-архитектура. Кластерная архитектура
| Описывается параллельная архитектура с векторными процессорами (PVP) и кластерная архитектура многопроцессорных вычислительных систем. Приводятся основные преимущества и недостатки каждой архитектуры, а также соответствующие парадигмы программирования. Описываются наиболее популярные вычислительные системы, имеющие данные архитектуры
| 5
| Способы организации высокопроизводительных процессоров.
| Обзор современных центральных процессоров. Рассматриваются вопросы построения архитектуры современных процессоров. Суперскалярные процессоры. Конвейерность. Векторная обработка данных. Многопоточность
| 6
| Кластерные многоядерные процессоры.
| История развития кластерных многоядерных процессоров. Архитектуры и технологии построения многоядерных процессоров. Многоядерные процессоры AMD64. Архитектура PowerPC от IBM. Многоядерные процессоры Intel.
| 7
| Кластерные многоядерные процессоры
| Многоядерные процессоры нового поколения различных фирм-производителей. Cell (IBM) с архитектурой Cell Broadband Engine. Процессор SUN UltraSPARC T1. Процессор UltraSPARC IV+
| 8
| Кластерные многоядерные процессоры.
| Перспективы развития многоядерной индустрии. Многоядерные проекты Intel, AMD, IBM
| 9
| Коммутаторы для многопроцессорных вычислительных систем. Простые коммутаторы
| Описываются типы простых коммутаторов, используемых в коммуникационных средах вычислительных систем, алгоритмы арбитража, применяемые в них, и особенности реализации шинных структур
| 10
| Коммутаторы для многопроцессорных вычислительных систем. Составные коммутаторы. Распределенные составные коммутаторы
| Описываются типы составных коммутаторов, используемых в коммуникационных средах вычислительных систем, в частности, коммутатор Клоза и баньян-сети, распределенные составные коммутаторы и графы межмодульных связей систем SPP-1000, МВС-100 и МВС-1000
| 11
| Решения в области архитектуры межпроцессорных коммуникаций
| Общие характеристики. Fast Ethernet. Gygabit Ethernet. Myrinet. Quadrics. Infiniband. PathScale. SCI. NUMAlink
| 12
| Требования к компонентам МВС
| Рассматриваются требования, предъявляемые к вычислительной системе, с точки зрения получения оптимального соотношения между производительностью системы и ее стоимостью. Анализируются особенности масштабирования систем и совместимость программной среды
| 13
| Надежность и отказоустойчивость МВС
| Определяются понятия надежности и отказоустойчивости вычислительных систем. Приводятся решения, с помощью которых достигается устойчивая работа систем
| 14
| Кластеры и массивно-параллельные системы различных производителей. Примеры кластерных решений IBM. Примеры кластерных решений HP. Примеры кластерных решений SGI.
| Описываются концептуальные подходы и технические решения компаний IBM, HP и SGI, используемые ими при построении кластерных систем, предназначенных для высокопроизводительных вычислений.
| 15
| Кластеры и массивно-параллельные системы различных производителей. SMP Power Challenge фирмы Silicon Graphics. Семейство SUN Ultra Enterprise компании SUN.
| Описываются SMP-система Power Challenge фирмы SGI и семейство серверов SUN Ultra Enterprise.
| 16
| Кластеры и массивно-параллельные системы различных производителей.
| Приводится описание массивно-параллельных систем МВС-100 и МВС-1000. Приводятся характеристики четырех современных суперкомпьютерных систем, созданных крупнейшими мировыми компаниями: Hitachi, IBM, Cray Inc. и Fujitsu. Рассматриваются системы с векторно-параллельной, псевдовекторной, кластерной и массивно-параллельной архитектурами
| Лекция №1
Назначение, область применения и способы оценки производительности многопроцессорных вычислительных систем
В настоящее время сфера применения многопроцессорных вычислительных систем (МВС) непрерывно расширяется, охватывая все новые области в различных отраслях науки, бизнеса и производства. Стремительное развитие кластерных систем создает условия для использования многопроцессорной вычислительной техники в реальном секторе экономики.
Если традиционно МВС применялись в основном в научной сфере для решения вычислительных задач, требующих мощных вычислительных ресурсов, то сейчас из-за бурного развития бизнеса резко возросло количество компаний, отводящих использованию компьютерных технологий и электронного документооборота главную роль. В связи с этим непрерывно растет потребность в построении централизованных вычислительных систем для критически важных приложений, связанных с обработкой транзакций, управлением базами данных и обслуживанием телекоммуникаций. Можно выделить две основные сферы применения описываемых систем: обработка транзакций в режиме реального времени (OLTP, on-line transaction processing) и создание хранилищ данных для организации систем поддержки принятия решений (Data Mining, Data Warehousing, Decision Support System). Система для глобальных корпоративных вычислений — это, прежде всего, централизованная система, с которой работают практически все пользователи в корпорации, и, соответственно, она должна все время находиться в рабочем состоянии. Как правило, решения подобного уровня устанавливают в компаниях и корпорациях, где даже кратковременные простои сети могут привести к громадным убыткам. Поэтому для организации такой системы не подойдет обыкновенный сервер со стандартной архитектурой, вполне пригодный там, где нет жестких требований к производительности и времени простоя. Высокопроизводительные системы для глобальных корпоративных вычислений должны отличаться такими характеристиками, как повышенная производительность, масштабируемость, минимально допустимое время простоя.
Наряду с расширением области применения по мере совершенствования МВС происходит усложнение и увеличение количества задач в областях, традиционно использующих высокопроизводительную вычислительную технику. В настоящее время выделен круг фундаментальных и прикладных проблем, эффективное решение которых возможно только с использованием сверхмощных вычислительных ресурсов. Этот круг, обозначаемый понятием "Grand challenges", включает следующие задачи:
- Предсказания погоды, климата и глобальных изменений в атмосфере - Науки о материалах - Построение полупроводниковых приборов - Сверхпроводимость - Структурная биология - Разработка фармацевтических препаратов - Генетика - Квантовая хромодинамика - Астрономия - Транспортные задачи - Гидро- и газодинамика - Управляемый термоядерный синтез - Эффективность систем сгорания топлива - Геоинформационные системы - Разведка недр - Наука о мировом океане - Распознавание и синтез речи - Распознавание изображений
Многопроцессорные вычислительные системы могут существовать в различных конфигурациях. Наиболее распространенными типами МВС являются:
Системы высокой надежности.
Системы для высокопроизводительных вычислений.
Многопоточные системы.
Отметим, что границы между этими типами МВС до некоторой степени размыты, и часто система может иметь такие свойства или функции, которые выходят за рамки перечисленных типов. Более того, при конфигурировании большой системы, используемой как система общего назначения, приходится выделять блоки, выполняющие все перечисленные функции.
МВС являются идеальной схемой для повышения надежности информационно-вычислительной системы. Благодаря единому представлению отдельные узлы или компоненты МВС могут незаметно для пользователя заменять неисправные элементы, обеспечивая непрерывность и безотказную работу даже таких сложных приложений, как базы данных.
Катастрофоустойчивые решения создаются на основе разнесения узлов многопроцессорной системы на сотни километров и обеспечения механизмов глобальной синхронизации данных между такими узлами.
МВС для высокопроизводительных вычислений предназначены для параллельных расчетов. Имеется много примеров научных расчетов, выполненных на основе параллельной работы нескольких недорогих процессоров, обеспечивающих одновременное проведение большого числа операций.
МВС для высокопроизводительных вычислений обычно собраны из многих компьютеров. Разработка таких систем - процесс сложный, требующий постоянного согласования таких вопросов, как инсталляция, эксплуатация и одновременное управление большим числом компьютеров, технических требований параллельного и высокопроизводительного доступа к одному и тому же системному файлу (или файлам), межпроцессорной связи между узлами и координации работы в параллельном режиме. Эти проблемы проще всего решаются при обеспечении единого образа операционной системы для всего кластера. Однако реализовать подобную схему удается далеко не всегда, и обычно она применяется лишь для небольших систем.
Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться). Типичным примером может служить группа web-серверов.
Главной отличительной особенностью многопроцессорной вычислительной системы является ее производительность, т.е. количество операций, производимых системой за единицу времени. Различают пиковую и реальную производительность. Под пиковой понимают величину, равную произведению пиковой производительности одного процессора на число таких процессоров в данной машине. При этом предполагается, что все устройства компьютера работают в максимально производительном режиме. Пиковая производительность компьютера вычисляется однозначно, и эта характеристика является базовой, по которой производят сравнение высокопроизводительных вычислительных систем. Чем больше пиковая производительность, тем (теоретически) быстрее пользователь сможет решить свою задачу. Пиковая производительность есть величина теоретическая и, вообще говоря, недостижимая при запуске конкретного приложения. Реальная же производительность, достигаемая на данном приложении, зависит от взаимодействия программной модели, в которой реализовано приложение, с архитектурными особенностями машины, на которой приложение запускается.
Существует два способа оценки пиковой производительности компьютера. Один из них опирается на число команд, выполняемых компьютером за единицу времени. Единицей измерения, как правило, является MIPS (Million Instructions Per Second). Производительность, выраженная в MIPS, говорит о скорости выполнения компьютером своих же инструкций. Но, во-первых, заранее не ясно, в какое количество инструкций отобразится конкретная программа, а во-вторых, каждая программа обладает своей спецификой, и число команд от программы к программе может меняться очень сильно. В связи с этим данная характеристика дает лишь самое общее представление о производительности компьютера.
Другой способ измерения производительности заключается в определении числа вещественных операций, выполняемых компьютером за единицу времени. Единицей измерения является Flops (Floating point operations per second) – число операций с плавающей точкой, производимых компьютером за одну секунду. Такой способ является более приемлемым для пользователя, поскольку ему известна вычислительная сложность программы и, пользуясь этой характеристикой, пользователь может получить нижнюю оценку времени ее выполнения.
Однако пиковая производительность получается только в идеальных условиях, т.е. при отсутствии конфликтов при обращении к памяти при равномерной загрузке всех устройств. В реальных условиях на выполнение конкретной программы влияют такие аппаратно-программные особенности данного компьютера, как: особенности структуры процессора, системы команд, состав функциональных устройств, реализация ввода/вывода, эффективность работы компиляторов.
Одним из определяющих факторов является время взаимодействия с памятью, которое определяется ее строением, объемом и архитектурой подсистем доступа в память. В большинстве современных компьютеров в качестве организации наиболее эффективного доступа к памяти используется так называемая многоуровневая иерархическая память. В качестве уровней используются регистры и регистровая память, основная оперативная память, кэш-память, виртуальные и жесткие диски, ленточные роботы. При этом выдерживается следующий принцип формирования иерархии: при повышении уровня памяти скорость обработки данных должна увеличиваться, а объем уровня памяти - уменьшаться. Эффективность использования такого рода иерархии достигается за счет хранения часто используемых данных в памяти верхнего уровня, время доступа к которой минимально. А поскольку такая память обходится достаточно дорого, ее объем не может быть большим. Иерархия памяти относится к тем особенностям архитектуры компьютеров, которые имеют огромное значение для повышения их производительности.
|