- •Оглавление
- •Глава 1. Архитектура вычислительных систем 11
- •Глава 2. Реализация параллельных алгоритмов 63
- •Глава 3. Надежность и живучесть вычислительных систем 96
- •Глава 4. Библиотека параллельных программ 120
- •Глава 5. Граф-схемы параллельных алгоритмов 150
- •Глава 6. Исследование информационных граф-схем со скалярными весами для планирования параллельных вычислений 182
- •Глава 7. Исследование информационных граф-схем решаемых задач с векторными весами для планирования параллельных вычислений 204
- •1.Количественные характеристики, применяемые для оценок параметров вычислительных систем
- •Глава 1. Архитектура вычислительных систем
- •Для случая неоднородной системы номинальное быстродействие выразится как
- •Здесь – вероятность выбора j-й операции, , . Для однородной вс её быстродействие по Гибсону выразится соотношением
- •Для неоднородной вс это быстродействие может быть определено, как
- •1.1.1. Вопросы к разделу 1.1.
- •2.Понятие о современных вычислительных системах
- •Пример графа регулярной вычислительной системы представлен на рисунке 1.2.1.
- •Примечание: Для регулярной вычислительной системы
- •2.1. Вопросы к разделу 1.2.
- •3.Структура современных вычислительных систем
- •3.1.Схема обмена с помощью структуры «Общая шина»
- •3.2.Схема обмена с помощью структуры «Линейка»
- •3.3.Вычислительная система, имеющая структуру типа «Кольцо»
- •3.4.Схема обмена с помощью структуры типа «Решётка»
- •1.3.5. Схема обмена с помощью структуры типа «Двумерный тор»
- •3.1.Схема обмена с помощью структуры типа «n-мерный двоичный гиперкуб» или «nD-куб»
- •3.2.Реализация обмена с помощью структуры типа «Обобщенный nD-куб»
- •3.3.Структура вс типа «n-мерный обобщённый тор»
- •3.4.Структура вс с сетью типа «Циркулянт»
- •1.3.10. Вычислительная система «Максимальный обхват»
- •1.3.11. Вычислительные системы со структурой сетей типа «Симметричные графы»
- •На рисунке 1.3.11. Представлена вс с симметричным графом.
- •1.3.12. Вычислительные системы с сетью связей типа «Гомоморфные графы»
- •1.3.13. Вычислительные системы с сетью связей типа «Граф л(n,V,g)»
- •1.3.14. Структура вычислительной системы типа «Бинарное дерево t0(n) глубины n»
- •1.3.15. Структура вычислительной системы типа «Мультидерево глубины n и ширины k t1(n,k)»
- •3.5. Вопросы к разделу 1.3
- •4.Коммуникационные среды вычислительных систем
- •Коммуникационная среда должна удовлетворять следующим требованиям:
- •4.1.Коммуникационная среда на основе масштабируемого когерентного интерфейса sci
- •4.2.Коммуникационная среда на основе технологии Myrinet
- •1.4.3. Краткая характеристика коммуникационной среды QsNet II
- •4.3. Вопросы к разделу 1.4
- •5.Коммутаторы вычислительных систем
- •1.5.1. Типы коммутаторов
- •5.1. Управление коммутаторами
- •5.2. Алгоритмы определения маршрутов
- •5.3. Дедлоки в составных коммутаторах
- •5.4.Вопросы к разделу 1.5
- •6.Процесс функционирования вычислительных систем
- •6.1. Вопросы к разделу 1.6.
- •7.Принципы технической реализации вс
- •1.7.1. Вопросы к разделу 1.7
- •1.8. Архитектурные особенности вс
- •1.8.1. Архитектурные свойства вс
- •1.8.2. Схема обмена информацией между ветвями параллельных алгоритмов
- •7.1.Опыт применения методики крупноблочного распараллеливания сложных задач
- •7.2.Архитектурные аспекты при создании ос вс
- •7.3.Структурные характеристики вс
- •7.4.Классификация структур вс
- •7.5.Вопросы к разделу 1.8.
- •Глава 2. Реализация параллельных алгоритмов
- •2.1. Реализация параллельных алгоритмов
- •2.1.1. Определение параллельного алгоритма
- •7.6.Организация динамического распараллеливания в суперскалярных микропроцессорах
- •2.1.3. Предварительная выборка команд и предсказание переходов
- •7.7.Декодирование команд, переименование ресурсов и диспетчеризация
- •7.8.Исполнение команд
- •2.1.6. Работа с памятью
- •2.1.7. Завершение выполнение команды
- •2.1.8. Направления развития суперскалярной архитектуры
- •7.9.Мультитредовая модель выполнения программы
- •7.10.Аппаратные и программные средства, необходимые для мультитредовой архитектуры
- •2.1.11. Специфика мультитредовых моделей распараллеливания
- •2.1.12. Вопросы к разделу 2.1
- •2.2.Организация распараллеливания на уровне программных модулей
- •2.2.1. Примеры организации вычислений на уровне программных модулей
- •2.2.2. Решение системы линейных уравнений методом Гаусса с помощью вс типов «решётка» и «линейка»
- •2.2.3. Исполнение алгоритма Гаусса на «решётке» n*n вm
- •2.2.4. Исполнение алгоритма Гаусса на «линейке», состоящей из n вм
- •2.2.5. Показатели эффективности параллельных алгоритмов
- •2.2.6. Понятие о сложных задачах
- •2.2.7. Вопросы к разделу 2.2
- •Глава 3. Надежность и живучесть вычислительных систем
- •8.Основные задачи создания отказоустойчивых систем
- •8.1.Вопросы к разделу 3.1
- •9.Классификация типов отказоустойчивости сложных систем и ее критерии
- •9.1.Вопросы к разделу 3.2
- •10.Способы обеспечения отказоустойчивого функционирования вс
- •3.3.1. Диагностическое тестирование вс
- •3.3.3. Способы восстановления отказоустойчивых вс
- •10.1.Вопросы к разделу 3.3
- •3.4. Построение живучих вс на основе экспоненциально- надежностного подхода
- •3.4.1. Показатели надежности вс
- •10.2. Методика расчета показателей надежности вс
- •3.4.3. Живучесть вс
- •3.4.4. Вопросы к разделу 3.4
- •11.Построение живучих вс, работоспособных в расчетном диапазоне кратностей отказов
- •3.6.1. Горячий резерв
- •3.6.2. Репликация
- •3.6.3. Кластеры высокой готовности
- •3.5.1. Вопросы к разделу 3.5
- •3.6. Реализация модели отказоустойчивых систем
- •4.1.2. Принципиальная схема программирования в OpenMp
- •11.2. Описание основных конструкций open mp
- •4.1.4. Способы построения параллельных программ
- •4.1.6. Вопросы к разделу 4.1
- •4.2. Основы построения библиотеки mpi
- •4.2.1. Основные понятия
- •4.2.2. Структура программ в mpi
- •4.2.3. Определение структуры приходящего сообщения
- •4.2.4. Определение базовых характеристик коммуникационной сети
- •11.4.Анализ тупиковых ситуаций при обмене
- •4.2.6. Организация передачи-приёма сообщений без блокировки
- •4.2.7. Реализация отложенных запросов на взаимодействие
- •4.2.8. Сравнительная оценка различных способов обмена данными
- •4.2.9. Использование глобальных операций в mpi
- •4.2.10. Взаимодействие процессов в mpi
- •4.2.11. Вопросы к раделу 4.2
- •Глава 5. Граф-схемы параллельных алгоритмов
- •5.1. Представление параллельных алгоритмов в виде граф-схем
- •5.1.1. Преобразование последовательных алгоритмов в параллельные
- •5.1.2.Использование граф-схем для представления параллельных алгоритмов
- •5.1.3. Вопросы к разделу 5.1
- •5.2.1. Вычисление матриц следования, расширенных матриц следования и матриц следования с транзитивными связями
- •5.2.2. Вопросы к разделу 5.2
- •11.5.Построение матрицы логической несовместимости.
- •5.3.2. Построение матрицы логической несовместимости операторов
- •5.3.3. Вопросы к разделу 5.3
- •5.4.1. Построение множеств взаимно независимых операторов.
- •5.4.2. Вопросы к разделу 5.4
- •Глава 6. Исследование информационных граф-схем со скалярными весами для планирования параллельных вычислений
- •6.1. Численные характеристики информационных граф-схем со скалярными весами
- •6.1.1 Определение ранних и поздних сроков окончания выполнения операторов.
- •11.6.Определение функций плотности загрузки, и минимальной загрузки для информационных граф-схем
- •6.1.3. Вопросы к разделу 6.1
- •6.2.1. Распределение операторов по вм вычислительной системы с общим полем памяти для информационной граф-схемы
- •6.2.2. Распределение операторов по вм вычислительной системы с общим полем памяти для информационно-логической граф-схемы
- •При срабатывании условного оператора «один», дуги 1.1 требуется 10 вм. Время решения задачи составит 22 условные единицы.
- •6.2.3. Распределение операторов по вм вычислительной системы с распределённой памятью для информационной граф-схемы
- •6.2.4. Реализация диаграмм для общепринятых способов обмена данными между вм вычислительной системы с распределённой памятью для информационной граф-схемы
- •6.2.5. Вопросы к разделу 6.2
- •Глава 7. Исследование информационных граф-схем решаемых задач с векторными весами для планирования параллельных вычислений
- •7.1 Информационная граф-схема решаемых задач с векторными весами вершин
- •7.1.1 Понятие об неоднородных системах
- •7.1.2. Основные определения, используемые для неоднородных вс
- •7.1.3. Вопросы к разделу 7.1
- •Литература
1.1.1. Вопросы к разделу 1.1.
Чем отличается пиковая нагрузка ЭВМ от пиковой нагрузки ВС ?
В чём особенность унифицированного быстродействия ?
Какие особенности перехода от оценок быстродействия для ЭВМ к оценкам быстродействия для ВС ?
Почему для оценок быстродействия используется система тестов ?
Чем отличается оценка быстродействия для однородных систем от оценки быстродействия для неоднородных систем ?
Какие типы тестов существуют ?
Какие принципы положены в формирование единиц измерения параметров ВС ?
2.Понятие о современных вычислительных системах
Повышение быстродействия вычислений в случае необходимости в эпоху отсутствия компьютеров осуществлялся за счёт увеличения коллектива вычислителей (людей, занятых вычислениями). В этом коллективе существовала определённая технология проведения вычислений, которая, в конечном счёте, позволяла производить необходимые вычисления. Как показала практика, организация вычислений в современных ВС во многом копирует опыт, накопленный коллективами вычислителей. В связи с этим, целесообразно при формулировании исходных определений для ВС использовать понятия, выработанные при выполнении соответствующих работ человеческими коллективами вычислителей. Иными словами, можно сказать, что сущность ВС составляет коллектив аппаратно-программных вычислителей, акцентируя внимание на методах взаимодействия между вычислителями в этих коллективах. В дальнейшем, при изложении материала вычислитель назван вычислительным модулем (ВМ), который подразумевает использование процессора или ЭВМ. В литературе вместо использования термина «вычислительный модуль» можно встретить термины - «элементарный процессор», «элементарная машина» и др. Кроме того, архитектура процессоров всё время совершенствуется – появляются транспьютерные, мультискалярные, мультитредовые, и т. д. процессоры. В тех случаях, когда это необходимо, будут делаться необходимые разъяснения и ссылки. В настоящее время разница между понятиями процессор или ЭВМ достаточно условна. В дальнейшем, под ЭВМ будем понимать процессор, оснащённый собственной операционной системой и периферийными устройствами. Связи между процессорами или ЭВМ осуществляются с помощью сетей связи, которые, в общем случае, представляют собой сосредоточенные или распределённые коммутаторы с шинами связи. Наиболее удачной была шина PCI, разработанная в 1991 году фирмой Intel. При рассмотрении проблемы оптимизации структуры ВС надо иметь в виду , что при выборе графа в качестве математической модели ВС одно ребро на графе, который описывает структуру ВС, физически может соответствовать коммутируемой шине, содержащей большое количество дополнительного дорогостоящего оборудования. Поэтому всякое упрощение структуры вычислительной сети, при прочих равных условиях, уменьшает её стоимость. Это обстоятельство порождает на мировом рынке всё новые конфигурации вычислительных сетей, имеющих определённые достоинства и недостатки в зависимости от предъявляемых к ним требований. Некоторые из них будут рассмотрены ниже.
Определение 1.2.1. Система, представленная множеством описаний W={K,A}, где K – описание конструкций ВС, А – описание алгоритма работы множества вычислительных модулей, называется вычислительной. Описание К составляет множества значений {M,S}, где М – множество базовых вычислительных устройств {mi}, i=0, ... , N-1, где под базовыми вычислительными устройствами понимаются ЭВМ, процессоры, блоки памяти, внешние устройства. S – сеть связей между множествами элементов базиса.
В конструкцию К должны быть заложены следующие принципы:
а) параллелизм при обработке информации, т.е. организация вычислений одновременно на множестве вычислительных модулей М с организацией в случае необходимости обмена данными через сеть S;
б) адаптация конфигурации сети S к решаемой задаче. Алгоритм А обеспечивает наряду с требуемой обработкой управление одновременной работой определённым множеством ВМ и необходимым обменом данными между ними.
Изучаемый здесь курс вычислительных систем основывается, в основном, на теории графов, поэтому напомним несколько определений из этой теории, которые в дальнейшем будут часто использоваться [12].
Определение 1.2.2. Графы изоморфны, если отличаются только нумерацией вершин.
Определение 1.2.3. Графы гомоморфные, если второй получен из первого заменой нескольких вершин графа одной с сохранением оставшихся связей.
Определение 1.2.4. Графы гомеоморфные, если второй получен из первого разбиением его рёбер (p,q) на (p,r) и (r,q), где r – новая вершна.
Определение 1.2.5. Граф регулярен, если степени вершин одинаковы.
Определение 1.2.6. Граф F называется частью графа G, F G, если множество его вершин V(F) содержится в множестве V(G), а множество рёбер R(F) – в множеств рёбер R(G).
Определение 1.2.7. Часть графа F G называется суграфом, если множество его вершин V(F) = V(G).
Определение 1.2.8. Часть графа F G называется подграфом, если множество его вершин V(F) содержится в множестве вершин V(G), а множество рёбер связывает только вершины V(G).
Структура вычислительных систем
представляется в виде графа GS=(М,S),
каждой вершине которого поставлены в
соответствие вычислительные модули mi
, i = 0, … , N-1, а ребра sj,k
S – связи между ними, j,k
{0, … ,N-1}.
Набор связей j,k
зависит от конфигурации сети S.
Для возможности оценки времени, затрачиваемого на обмен информацией между вычислительными модулями, а также других характеристик, вводятся понятия: регулярная вычислительная система, диаметр и средний диаметр вычислительной системы.
Определение 1.2.9. Регулярная вычислительная система представляется неориентированным графом, в котором все вершины графа имеют одинаковую степень вершин графа, где под степенью вершины понимается количество рёбер, примыкающих к вершине графа.
