- •Понятия эвм и вс. Понятие архитектуры вс
- •Архитектура как набор взаимодействующих компонентов. Архитектура как интерфейс между уровнями физической системы
- •Теория эволюции компьютеров. Закон Мура. Дуализм в развитии техники Теория эволюции компьютеров
- •Дуализм в развитии техники
- •Механическая эра вычислений
- •Счетно-аналитические машины
- •Общее описание и анализ вычислительной машины eniac
- •Общее описание и анализ вычислительной машины edvac Анализ eniac
- •Принципы фон-Неймана. Поколения эвм
- •Многоуровневая компьютерная организация. Уровни для прикладных и системных программистов
- •Многоуровневая компьютерная организация
- •Архитектура системы команд
- •Cisc и risc архитектуры процессоров Архитектура системы команд
- •Cisc и risc архитектуры процессоров
- •Организация risc мп dec Alpha 21x64 Организация risc мп dec Alpha 21x64
- •Развитие архитектур современных мп. Расширение архитектуры x86 Развитие архитектур современных мп
- •Архитектура vliw
- •Архитектура epic
- •Технология ia-64
- •Предпосылки развития вс. Закон Гроша для вс
- •Модель вычислителя
- •Возможности совершенствования эвм
- •Модель коллектива вычислителей
- •Структура коллектива вычислителей
- •Алгоритм работы коллектива вычислителей
- •Принципы технической реализации модели коллектива вычислителей
- •Архитектурные свойства вс Архитектурные свойства вычислительных систем
- •Системы (языки) параллельного программирования Системы (языки) параллельного программирования
- •Параллельные модели программирования. Модель передачи сообщений. Реализация на основе mpi.
- •Параллельные модели программирования. Модель общей памяти. Реализация на основе OpenMp Системы (языки) параллельного программирования
- •1. По назначению (универсальные и специализированные)
- •2. По типу (многомашинные и многопроцессорные) (ниже)
- •3. По типу эвм или процессоров (однородные и неоднородные)
- •4. По степени территориальной разобщенности (сосредоточенные и распределенные)
- •6. По режиму работы вс (оперативные и неоперативные)
- •Многомашинные вс. Режимы работы. Отличия от многопроцессорных вс
- •Классификация Флинна архитектур
- •Основные классы вычислительных систем
- •Параллельные алгоритмы. Параллельная программа. Локальное и глобальное распараллеливание
- •Модель вычислений в виде графа "операции-операнды"
- •Показатели эффективности параллельных вычислений: ускорение, эффективность, масштабируемость
- •Оценка максимально достижимого параллелизма. Закон Амдала. Парадокс параллелизма
- •Многомашинные вс. Режимы работы. Отличия от многопроцессорных вс
- •Уровни комплексирования в вычислительных системах Многомашинные вс. Режимы работы. Отличия от многопроцессорных вс
- •Уровни комплексирования в вс
- •Алгоритмы маршрутизации. Методы передачи данных. Латентность и пропускная способность сети
- •Передача данных между двумя процессорами и широковещательная передача. Реализация точечных методов передачи и широковещательной рассылки в mpi
- •Сложные задачи. Масштабируемость параллельных вычислений. Функция изоэффективности
- •Системы с общей и распределенной памятью. Многоуровневая организация общей памяти
- •Память с чередованием адресов
- •Симметричные (smp) многопроцессорные вс. Архитектура типа uma, coma, numa
- •Мультипроцессор Sun Enterprise 10000
- •Мультипроцессоры numa
- •Векторные системы. Понятие вектора и размещение данных в памяти. Векторный процессор. Pvp-система
- •Структура векторного процессора Структуры типа "память-память" и "регистр-регистр". Ускорение вычислений в векторных системах
- •Вычислительная система star-100
- •Вычислительная система cray c-90
- •Матричные вычислительные системы. Обобщенная модель матричной вс. Интерфейсная вм. Контроллер массива процессоров
- •Вычислительная система illiac IV
- •Ассоциативная память. Ассоциативные вс Ассоциативная память
- •Систолические структуры Систолические структуры
- •Кластеры. Виды кластеров
- •Топологии кластеров. Кластер Beowulf
- •Топологии кластеров
- •Кластер Beowulf
- •Архитектура с массовой параллельной обработкой Системы с массовым параллелизмом (mpp-системы)
Модель коллектива вычислителей
Структура коллектива вычислителей
Алгоритм работы коллектива вычислителей
Модель коллектива вычислителей
Коллектив аппаратурно-программных вычислителей суть вычислительная система (ВС). Архитектура ВС основывается на структурной и функциональной имитации коллектива (ансамбля) людей-вычислителей.
Каноническую основу конструкции вычислительной системы и ее функционирования составляет модель коллектива вычислителей. Эта модель представляется парой:
S = <H, A>
где H и A – описание конструкции (или просто: конструкция) и алгоритм работы коллектива вычислителей.
Конструкция коллектива вычислителей описывается в виде:
H = <C, G>
где C={ci}– множество вычислителей сi (i =0..N-1), N– мощность множества C, G– описание макроструктуры коллектива вычислителей, т.е. структуры сети связей между вычислителями ci(или структура коллектива). Конструкция коллектива вычислителей есть отражение следующихосновополагающих архитектурных принципов:
параллелизма при обработке информации (параллельного выполнения операций на множестве C вычислителей, взаимодействующих через связи структуры G);
программируемости структуры (настраиваемости структуры G сети связей между вычислителями, достигаемой программными средствами);
однородности конструкции H (однородности вычислителей ci и структуры G)
Суть принципов становится ясной, если учесть, что они противоположны принципам, лежащим в основе конструкции вычислителя. Целесообразно подчеркнуть лишь то, что принцип программируемости структуры является столь же фундаментальным в области архитектуры средств обработки информации, сколь основательны предложения Дж. фон Неймана. (Напомним, что он предложил хранить программу работы ЭВМ в ее памяти и модифицировать программу с помощью самой же машины). Требования принципа программируемости структуры сводятся к тому, чтобы в коллективе вычислителей была заложена возможность хранения описания его изначальной физической структуры, априорной автоматической (программной) настройки проблемно-ориентированных (виртуальных) конфигураций и их перенастройки в процессе функционирования с целью обеспечения адекватности структурам и параметрам решаемых задач и достижения эффективности при заданных условиях эксплуатации.
Уровень развития вычислительной математики и техники, а также технологии микроминиатюризации (микроэлектроники и наноэлектроники) уже сейчас позволяет в некоторых областях вместо принципа конструктивной однородности (однородности состава C и структуры G) использовать принцип квазиоднородности (или виртуальной однородности) конструкции H. Более того, можно ограничиться лишь требованием совместимости вычислителей в коллективе и использовать неоднородные структуры.
Структура коллектива вычислителей
Структура коллектива вычислителей представляется графом G, вершинам (узлам) которого сопоставлены вычислители ci, а ребрам – линии связи между ними. Проблема выбора (синтеза) структур вычислительных систем не является тривиальной. В самом деле, универсальное решение – структура в виде полного графа, однако такие структуры практически реализуемы при небольшом числе вычислителей. Для достижения производительности ВС в диапазоне 109– 1015 оп/с при существующих интегральных технологиях требуется число вычислителей порядка 100 – 106. Следовательно, структуры последних систем не могут быть организованы по типу полного графа хотя бы из-за ограничений на число выводов с корпусов интегральных схем. Какие же структуры сети связей между вычислителями используются при формировании ВС?
Простейшие структуры ВС – нульмерные, одномерные и двумерные. Увеличение размерности структуры повышает структурную надёжность ВС. В самом деле, двумерные структуры предоставляют каждому вычислителю непосредственную связь с четырьмя соседними. В качестве примеров двумерных структур может служить «решетка» (точнее 2D-решетка) и тop (2D-тор). Следовательно, в системах с двумерной структурой при отказах некоторых вычислителей и (или) связей между ними сохраняется возможность организации связных подмножеств исправных вычислителей.
В n-мерных структурах каждый вычислитель связан с 2n соседними вычислителями. Ясно, что имеются технико-экономические и технологические ограничения в наращивании размерности структуры ВС.
Гиперкубы или структуры в виде булевых n-мерных кубов нашли широкое применение при построении современных высокопроизводительных ВС с массовым параллелизмом. Гиперкуб, по определению, это однородный граф, для которого справедливо
n = log2N,
где N– количество вершин, а n– число ребер, выходящих из каждой вершины; n – называют также размерностью гиперкуба. Итак, каждый вычислитель в гиперкубической ВС имеет связь ровно с n другими вычислителями. На рис. представлены одно-, дву-, трех- и четырехмерный гиперкубы. Гиперкуб размерности n называют также nD-кубом, где D означает размерность (Dimension).
В гиперкубе максимальное расстояние (число ребер) между двумя вершинами совпадает с его размерностью. Удвоение числа вычислителей в гиперкубической ВС увеличивает расстояние между максимально удаленными друг от друга вычислителями только на единицу.
Если вершины гиперкуба пронумеровать от 0 до n-1 в двоичной системе счисления так, что каждый разряд соответствует одному из n-направлений, то это будет булев n-мерный куб.
Гиперкуб N=16, n=4 является также двумерным тором.
Алгоритм работы коллектива вычислителей
Алгоритм A работы коллектива S обеспечивает согласованную работу всех вычислителей ci и сети связей между ними (структуры G) в процессе решения общей задачи. Данный алгоритм может быть представлен в виде суперпозиции:
где
D - исходный массив данных, подлежащих обработке в процессе решения задачи,
Di – индивидуальный массив данных для вычислителя ci из C, причем в общем случае
P – параллельная программа решения общей задачи,
Следует отметить, что условие информационной избыточности позволяет организовать отказоустойчивые параллельные вычисления. В самом деле, за счет локальной информационной избыточности в каждом вычислителе имеется потенциальная возможность к восстановлению всей исходной информации (или по крайней мере, необработанных данных) при отказе отдельных вычислителей.
Ясно, что решение общей задачи осуществляется по некоторому параллельному алгоритму, и именно он кладется в основу параллельной программы. Распределенные по вычислителям данные и параллельная программа инициируют работу алгоритма A и определяют функционирование конструкции H коллектива вычислителей до конца решения задачи.
Эквивалентное представление алгоритма работы коллектива вычислителей есть композиция
где (Ai*Ai’) осуществляет функционирование вычислителя ci среди других вычислителей множества C, Ai и Ai’ – соответственно алгоритм автономной работы ci и алгоритм реализации взаимодействий с вычислителями cj = C\ci. Последний алгоритм является суперпозицией
Ai’(P(G))
в которой G – описание структуры коллектива C вычислителей, Pi’ – программа для установления связей и выполнения взаимодействий между вычислителем ci и другими вычислителями подмножества C\ci. Программа Pi’ является, как правило, частью ветви Piпараллельной программы.
Многообразие архитектурных реализаций модели коллектива вычислителей (многообразие типов вычислительных систем) является следствием разницы в способах воплощения совокупности алгоритмов {Ai’} i=0..N-1, задания {Pi} и выбора структуры G, а также разнообразия в правилах композиции алгоритмов.
Аппаратурные средства, с помощью которых реализуется совокупность алгоритмовA0’,A1’…,Ai’,…AN-1’ и которые вместе с сетью связей составляют среду для осуществления взаимодействий между вычислителями коллектива, называются коммутатором. От способа реализации коммутатора во многом зависит эффективность ВС параллельного действия. Коммутатор настолько же необходим при создании ВС, насколько нужны процессор и оперативная память для построения ЭВМ.
При полном воплощении принципа однородности имеют место отношения эквивалентности:
которые, в частности, обеспечивают высокую технологичность в проектировании и в производстве технических реализаций вычислителей, приводят к распределенному коммутатору, состоящему из N локальных идентичных коммутаторов (находящихся во взаимно однозначном соответствии с вычислителями), не вызывают ни каких сложностей в формировании сети связей между вычислителями.
Принцип однородности приводит к простоте при разработке параллельного программного обеспечения. Он обеспечивает высокую технико-экономическую эффективность коллектива вычислителей как единого аппаратурно-программного комплекса.