- •Оглавление
- •Глава 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.5.1. Вопросы к разделу 3.5
- •3.6. Реализация модели отказоустойчивых систем
- •3.6.1. Горячий резерв
- •3.6.2. Репликация
- •3.6.3. Кластеры высокой готовности
- •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.7.1. Вопросы к разделу 1.7
1. В чём заключается сущность модульности и близкодействия ВС?
2. Дайте определение близкодействию?
3. В чём достоинства и недостатки децентрализованности управления ВС?
4. Почему в ВС отдаётся предпочтение асинхронным схемам?
5. Как увеличить значение живучести ВС?
1.8. Архитектурные особенности вс
1.8.1. Архитектурные свойства вс
Следует отметить, что структура ВС приобретает ряд важнейших свойств, которые обеспечивают вычислительной системе большие преимущества перед ранее создаваемыми вычислительными комплексами. К таким свойствам относятся: универсальность, масштабируемость, производительность, реконфигурируемость, надёжность и живучесть, самоконтроль и самодиагностика, технико-экономическая эффективность ВС.
Универсальность ВС заключается в том, что она состоит из вычислительных модулей, имеющих фон-нейманскую или гарвардскую архитектуру, поэтому любая задача, для которой составлен алгоритм, может быть решена на вычислительной системе. Эффективность решения этой задачи зависит от того – на сколько хорошо распараллеливается рассматриваемый алгоритм, сколько вычислителей может быть использовано для решения поставленной задачи.
Масштабируемость обеспечивает способность к наращиванию и сокращению производительности ВС, что даёт возможность в течение длительного времени быть адекватным средством решения сложных задач. Это означает, в частности, что производительность, достигнутую ВС на заданном количестве ВМ можно увеличить, подключив к ВС новый вычислительный модуль. Свойство наращивания производительности предоставляет потенциальную возможность для решения задачи любой сложности.
Производительность ВС достигается за счет усложнения структуры (наращивание количества ВМ). Пределы увеличения производительности полностью зависят от свойства масштабируемости.
Реконфигурируемость ВС бывает статической и динамической. В статическом режиме приспособление структуры ВС под класс решаемых задач – выбор количества вычислительных модулей и структуры сети, определяется предварительно на этапе подготовки задачи к выполнению. При этом возможен, при наличии соответствующего времени, оптимальный или квазиоптимальный подбор конфигурации сети. При решении задач в случае дефицита времени их решения, например, решение задач в реальном масштабе времени, конфигурация сети определяется динамически на основе быстро решаемых эвристических алгоритмов.
Важнейшими свойствами ВС является их надёжность и живучесть.
Определение 1.8.1. Под надёжностью ВС понимается ее способность к автоматической настройке и функционированию таких структурных схем, которые при отказах и восстановлениях вычислительных модулей обеспечивают заданный уровень производительности.
Заданный уровень производительности, как правило, обеспечивается за счёт возможности использования определённого числа исправных ВМ, находящихся в резерве.
При изучении надёжности ВС под отказом понимается событие, при котором система теряет способность выполнять функции, связанные с реализацией параллельной программы с заданным числом ветвей. Если ВС находится в состоянии отказа, то число неисправных ВМ, превосходит число вычислительных модулей, составляющих структурную избыточность. Понятие надёжности ВС, таким образом, совпадает с общепринятым понятием надёжности сложных систем.
Определение 1.8.2. Под живучестью ВС понимаются свойства вычислительной системы, которые в условиях отказов и восстановлений вычислителей, гарантируют производительность в заданных пределах при выполнении параллельной программы даже в случае отсутствия зарезервированных вычислительных модулей .
Понятие живучести ВС характеризует её способности по организации отказоустойчивых вычислений или, говоря иначе, по организации выполнения параллельных программ, допускающих изменение плана распределения ветвей программ по ВМ в известных пределах. При рассмотрении живучести ВС выделяются полные и частичные отказы.
Определение 1.8.3. Под полным отказом понимается событие, состоящие в том, что система теряет способность выполнения параллельной программы.
Определение 1.8.4. Частичным отказом считают события, при которых имеют место отказы вычислительных модулей, однако сохраняется возможность реализации на ВС параллельной программы.
Важным фактором функционирования ВС является самоконтроль и самодиагностика, что обеспечивает её высокую надёжность и живучесть. В качестве контрольно-диагностического подмножества ВС могут быть использованы любые исправные ВМ, а в пределах этого подмножества – любой исправный вычислительный модуль.
Выбор диагностического подмножества ВС производится, как правило, автоматически.
Не менее ценным свойством ВС является конструктивная однородность, что резко повышает её технико-экономическую эффективность. Это свойство ВС позволяет резко сократить сроки её разработки, приводит к высокой технологичности производства, упрощает статическую и динамическую реконфигурацию, облегчает их техническую эксплуатацию.
