- •Оглавление
- •Глава 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
- •Литература
6.1.3. Вопросы к разделу 6.1
1. Определите соотношения, задающие последовательность следования в граф-схеме алгоритма.
2. В каких пределах изменяется время выполнения оператора?
3. В каких случаях может наступить равенство ранних и поздних сроков окончания выполнения операторов?
4. На чём основано утверждение леммы 6.1.1?
5. Как связаны точки SR-мерного многоугольника МТ с точками интервала [a, b]?
6. Объясните, почему на интервале [0, 1] рисунка 6.1.3 минимальная загрузка равна 0.
7. Объясните, в каких ситуациях используется теорема 6.1.2.
8. Почему важен порядок следования интервалов при выполнении алгоритма 6.1.5.
9. Не является ли Ткр нижней оценкой минимального времени выполнения данного алгоритма
10. Согласно теореме 6.1.2 всегда ли можно найти величину g, удовлетворяющую поставленным условиям?
15.Чем вызвана необходимость коррекции поздних сроков окончания выполнения операторов в алгоритме 6.1.5 шага 5?
12. Объясните, почему при выборе последовательности отрезков, как в алгоритме 6.1.4 пункте 2, значение T можно увеличивать, не пересчитывая при этом ранее вычисленные поздние сроки окончания выполнения операторов?
13. Как можно дополнить алгоритм 6.1.5, если Ткр по определённым причинам нельзя определить?
14. Чем объясняется выбор интервалов для определения минимальной загрузки вносимой оператором, который случайным образом ложится на рассматриваемый интервал?
6.2.1. Распределение операторов по вм вычислительной системы с общим полем памяти для информационной граф-схемы
Построенные диаграммы (см. рисунок 6.1.2.) является удобным средством построения плана распределения операторов по ВМ вычислительной системы. Строки временной диаграммы будем интерпретировать как нити алгоритма решаемой задачи, в соответствии с установившейся терминологией. Для удобства размещения операторов алгоритма на вычислительные модули ВС, представим структуру ВС в виде матрицы дистанций между вычислительными модулями ВС, в которой указаны расстояния между ВМ, измеренные в количестве ВМ между двумя рассматриваемыми. В качестве примера возьмём обобщённый 3-х мерного гиперкуба 2х3х3, представленный на рисунке 6.2.1.
Рисунок 6.2.1. Схема представления обобщенного 3-х мерного гиперкуба 2х3х3
Построим для него матрицу дистанций, которую, в дальнейшем удобно использовать для размещения нитей решаемой задачи. Нумерация ВМ производится, как показано в таблице 6.2.1.
Матрица дистанций представлена в таблице 6.2.2. В последней строке приведены итоговые суммы по столбцам. Минимальная сумма определяет лучший ВМ, который имеет минимальное расстояние ко всем остальным ВМ. В данном случае лучшими ВМ являются вычислительные модули с номерами 9 и 11.
Рассмотрим алгоритм, представленный граф-схемой на рисунке 6.2.2.
3 5
4 6 7 9
5 5 ••• 5 3
6 3 3 3 3
3 4 7 8 5
Рисунок 6.2.2. Граф-схема примера алгоритма решаемой задачи. Вершины 7, …, 16 представляют ветви цикла. Вершина 19, …, 22 отображает так же распараллеленный цикл
Для построения нитей решаемой задачи построим диаграмму ранних сроков окончания выполнения операторов. Используя алгоритм 6.1.1, вычислим t1,1, …, t1,27. Вычисленные данные представлены в таблице 6.2.3. Диаграмма ранних сроков окончания выполнения операторов представлена на рисунке 6.2.3.
Tак как рассматривается ВС с общей памятью, обмена данными через каналы связи между процессорами нет, и количество нитей меньше, чем число процессоров, поэтому распределение нитей между ВМ может осуществляться, например, следующим образом: первая нить загружается в первый ВМ, вторая – во второй и т. д. Процессоры с шестого по тринадцатый освобождаются в момент относительного времени Т=18 и могут быть распределены для решения других задач. Аналогично процессоры 6,7,8,9,10,11,12 также могут быть использованы другими задачами по мере их освобождения, что наглядно видно из рисунка 6.2.3.
Таблица 6.2.1
-
Кордината ВМ(х, у, z)
000
100
010
020
110
120
001
101
011
Номер ВМ
1
2
3
4
5
6
7
8
9
Кордината ВМ(х, у, z)
021
111
121
002
102
012
022
112
122
Номер ВМ
10
11
12
13
14
15
16
17
18
Построим нити для диаграммы, представленной на рисунке 6.2.2. Первую нить составят операторы: Н1={1, 3, 7, 18, 24}, H2={2, 8, 19, 23}, H3={9, 20, 26}, H4={10, 21, 25}, H5={11, 22, 25}, H6={12}, H6={12}, H7={13}, H8={14}, H9={15}, H10={16}, H11={4}, H12={5}, H13={6,14}.
Таблица 6.2.2
-
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
0
1
1
2
2
3
1
2
2
3
3
4
2
3
3
4
4
5
2
1
0
2
3
1
2
2
1
3
4
2
3
3
2
4
5
3
4
3
1
2
0
1
1
2
2
3
1
2
2
3
3
4
2
3
3
4
4
2
3
1
0
2
1
3
4
2
1
3
2
4
5
3
2
4
3
5
2
1
1
2
0
1
3
2
2
3
1
2
4
3
3
4
2
3
6
3
2
2
1
1
0
4
3
3
2
2
1
5
4
4
3
3
2
7
1
2
2
3
3
4
0
1
1
2
2
3
1
2
2
3
3
4
8
2
1
3
4
2
3
1
0
2
3
1
2
2
1
3
4
2
3
9
2
3
1
2
2
3
1
2
0
1
1
2
2
3
1
2
2
3
10
3
4
2
1
3
2
2
3
1
0
2
1
3
4
2
1
3
2
11
3
2
2
3
1
2
2
1
1
2
0
1
3
2
2
3
1
2
12
4
3
3
2
2
1
3
2
2
1
1
0
4
3
3
2
2
1
13
2
3
3
4
4
5
1
2
2
3
3
4
0
1
1
2
2
3
14
3
2
4
5
3
4
2
1
3
4
2
3
1
0
2
3
1
2
15
3
4
2
3
3
4
2
3
1
2
2
3
1
2
0
1
1
2
16
4
5
3
2
4
3
3
4
2
1
3
2
2
3
1
0
2
1
17
4
3
3
4
2
3
3
2
2
3
1
2
2
1
1
2
0
1
18
5
4
4
3
3
2
4
3
3
2
2
1
3
2
2
1
1
0
45
45
39
45
39
45
39
39
33
39
33
39
45
45
39
45
39
45
Таблица 6.2.3
-
t1,1
t1,2
t1,3
t1,4
t1,5
t1,6
t1,7
t1,8
t1,9
t1,10
t1,11
t1,12
t1,13
t1,14
5
7
11
12
14
12
12
12
12
12
12
12
12
t1,15
t1,16
t1,17
t1,18
t1,19
t1,20
t1,21
t1,22
t1,23
t1,24
t1,25
t1,26
t1,27
12
12
14
18
17
17
17
17
21
22
24
25
22
Н
омера
вычислтельных модулей
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
22 |
|
27 |
|
|
|
|
|
|
|
|
|||
4 |
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
2
|
|
25 |
|
|
|
|
|
|
|
|
|||
3 |
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
2 |
|
26 |
|
|
|
|
|
|
|
|
||
2 |
2 |
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
1 |
2
|
|
|
|
|
|
|
|
|
||
|
1 |
|
|
3 |
|
|
|
7 |
|
|
|
|
18 |
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
Относительное время
Рисунок 6.2.3. Диаграмма ранних сроков окончания выполнения операторов
Паузы, возникшие на 6, 7, 12, 13 моментах времени связаны с синхронизацией вычислений, определяемой структурой рассматриваемой граф-схемы. Общее время решения этой задачи составляет 28 условных единиц.
Анализируя представленный способ построения плана решения задач на ВС, можно сделать вывод, что достаточно простыми средствами можно построить достаточно эффективную процедуру организации решения параллельных задач на ВС.

1
0
9
4
1