Математика

Физика

Химия

Биология

Техника и    технологии

Параллельные вычисления-Воеводин В. В Петербург, 2004. — 608 с.: ил.
Воеводин В. В., Воеводин Вл. В.
Параллельные вычисления. — СПб.: БХВ-Петербург, 2004. — 608 с.: ил.
ISBN 5-94157-160-7
Книга известных российских ученых посвящена обсуждению ключевых проблем современных параллельных вычислений. С единых позиций рассматриваются архитектуры параллельных вычислительных систем, технологии параллельного программирования, численные методы решения задач. Вместе со строгим описанием основных положений теории информационной структуры программ и алгоритмов, книга содержит богатый справочный материал, необходимый для организации эффективного решения больших задач на компьютерах с параллельной архитектурой.
Содержание
Предисловие.....................................................................................................1
Много ли надо знать о параллельных вычислениях?...........................................1
ЧАСТЬ I. ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ..............................11
Глава 1. Что скрывают "обыкновенные" компьютеры.......................................13
§ 1.1. Немного об устройстве компьютера...........................................................14
Представление информации. Общее устройство компьютера. Операции и операнды. Команды. Управление. Арифметико-логическое устройство. Память. Устройство ввода/вывода. Центральный процессор. Вопросы и задания.
§ 1.2. Операции с числами.....................................................................................19
Двоичное представление чисел. Разряды. Фиксированная и плавающая запятая. Округление чисел. Ошибка округления. Сравнение представлений чисел. Вопросы и задания.
§ 1.3. Иерархия памяти...........................................................................................25
Различные виды памяти. Время доступа. Виртуальная память. Влияние на время решения задачи. Трудности работы с медленной памятью. Вопросы и задания.
§ 1.4. Языки программирования и программы....................................................31
Языки низкого и высокого уровня. Проблемно-ориентированные языки. Контроль эффективности программ. Компьютерная зависимость. Портабельность программ. Компиляторы и эффективность программ. Необходимость привлечения дополнительной информации. Вопросы и задания.
§ 1.5. Узкие места....................................................................................................37
Иллюстративная модель компьютера. Пиковая и реальная производительность. Взаимодействие отдельных узлов компьютера. Эффективность. Узкие места. Вопросы и задания.
Глава 2. Как повышают производительность компьютеров................................42
§ 2.1. Усложнение и наращивание аппаратных средств,....................................43
Уменьшение размеров. Скалярная, конвейерная и параллельная обработка. Иерархия памяти. Опережающий просмотр команд. Локальность вычислений и использования данных. Примеры. Вопросы и задания.
§ 2.2. Повышение интеллектуальности управления компьютером...................60
Закон Мура. Спецпроцессоры. Суперскалярные и VLlW-архитектуры. Коммутационные схемы. Топологии связей процессоров. SMP-компьютеры. Архитектуры NUMA и ccNUMA, Развитие программного обеспечения. Примеры. Вопросы и задания.
§ 2.3. Система функциональных устройств............_............................................78
Простые и конвейерные устройства. Стоимость работы. Загруженность. Пиковая и реальная производительность. Эффективность. Различные соотношения. Законы Амдала и Густавсона—Барсиса. Взаимосвязь законов. Вопросы и задания.
Глава 3. Архитектура параллельных вычислительных систем............................94
§ 3.1. Классификация параллельных компьютеров и систем............................96
Классификация Флинна, Хокни, Фенга, Хендлера, Шнайдера, Скилликорна. Взаимосвязь классификаций. Архитектура компьютеров и структура задач. Вопросы и задания.
§ 3.2. Векторно-конвейерные компьютеры.........................................................114
Детальное рассмотрение компьютера Cray C90. Структура оперативной памяти. Регистровая структура. Функциональные устройства. Пиковая и реальная производительность. Вопросы и задания.
§ 3.3. Параллельные компьютеры с общей памятью.........................................134
Детальное рассмотрение компьютера HP Superdome. Ячейка компьютера. Локальные и удаленные ячейки. Процессор РА-8700. Работа с памятью. Вопросы и задания.
§ 3.4. Вычислительные системы с распределенной памятью............................142
Детальное рассмотрение компьютеров Cray T3D/T3E. Управляющие и вычислительные узлы. Процессорный элемент. Сетевой интерфейс. Сетевой маршрутизатор. Коммуникационная сеть. Память. Кластерные проекты. Вопросы и задания.
§ 3.5. Концепция GRID и метакомпьютинг.......................................................154
Метакомпьютер как огромная распределенная система. Особенности распределения задач и передачи данных. Различные проекты. Концепция GRID. Проблемы пользователей. Вопросы и задания.
§ 3.6. Производительность параллельных компьютеров....................................162
Сравнение вычислительных систем. Пиковая производительность и формат данных. Вычислительные и коммуникационные ядра. Тесты. Вопросы и задания.
ЧАСТЬ II. ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ........................................179
Глава 4. Большие задачи и параллельные вычисления.....................................181
§ 4.1. Большие задачи и большие компьютеры..................................................183
Моделирование климатической системы. Обтекание летательных аппаратов. Математические модели и вычислительная техника. Огромные объемы вычислений и размеры памяти. Вопросы и задания.
§ 4.2. Граф алгоритма и параллельные вычисления...........................................191
Порядок вычислений. Граф алгоритма. Параллельные формы графа. Ярус и высота. Инвариантность к ошибкам округления. Граф алгоритма и информационное ядро. Параметризация в графе. Вопросы и задания.
§ 4.3. Концепция неограниченного параллелизма.............................................198
Параллельные алгоритмы. Принцип сдваивания. Примеры алгоритмов малой высоты. Ограниченность концепции. Новые алгоритмы — новые свойства. Трудности в проблеме портабельности. Вопросы и задания.
§ 4.4. Внутренний параллелизм............................................................................206
Преимущества внутреннего параллелизма. Примеры. Обнаружение новых свойств. Декомпозиция алгоритмов. Использование медленной памяти. Структура алгоритмов и программ. Вопросы и задания.
Содержание_________________________________________V
Глава 5. Технологии параллельного программирования....................................219
§ 5.1. Использование традиционных последовательных языков......................221
Обилие средств параллельного программирования. Трудности применения. Необходимость дополнительной информации. Системы программирования ОрепМР, DVM, mpC. Примеры использования. Вопросы и задания.
§ 5.2. Системы программирования на основе передачи сообщений................268
Системы параллельного программирования Linda, MPI, MPI-2. Интерфейсы для последовательных языков Fortran, С, C++. Примеры использования. Вопросы и задания.
§ 5.3. Другие языки и системы программирования...........................................301
Т-система. Система программирования НОРМА. Приближенность к математическим записям. Примеры использования. Вопросы и задания.
Глава 6. Тонкая информационная структура программ.....................................320
§ 6.1. Графовые модели программ........................................................................324
Информационная структура программы. Операционная и информационная связь. Графы управления, операционно-логической истории, информационный, истории реализации, зависимостей, влияния. Минимальные графы зависимостей. Снова граф алгоритма. Примеры графов. Вопросы и задания.
§ 6.2. Выбор класса программ...............................................................................337
Статический анализ структуры программ. Статистическая значимость отдельных операторов. Линейный класс программ. Вопросы и задания.
§ 6.3. Графы зависимостей и минимальные графы............................................342
Опорные оператор, гнездо циклов, область. Пространства итераций. Лексикографический порядок. Типы зависимостей. Максимальный и минимальный графы зависимостей и их свойства. Теорема об информационном покрытии. Вопросы и задания.
§ 6.4. Простые и элементарные графы................................................................351
Простые и элементарные графы и программы. Расщепление минимальных графов на простые. Погружение минимального графа в объединение элементарных. Сведение к анализу элементарных программ. Вопросы и задания.
§ 6.5. Лексикографический порядок и /--свойство матриц...............................355
Лексикографический максимум в многограннике. L-свойство матриц. Критерий лексикографического максимума. Дополнительные свойства матриц с i-свойством. Вопросы и задания.
§ 6.6. Построение минимальных графов зависимостей.....................................363
Основная задача. Конструктивные алгоритмы построения элементарных, простых и минимальных графов зависимостей для программ из линейного класса. Вопросы и задания.
§ 6.7. Циклы ParDOvi избыточные вычисления.................................................373
Лексикографически правильные графы. Параллельные множества. Параллельная структура программ. Критерий цикла ParDO. Избыточные вычисления и критерий их обнаружения. Вопросы и задания.
§6.8. Примеры.......................................................................................................378
Формализованное построение графов алгоритмов для конкретных программ. Сложнейшие графы алгоритмов для простейших программ. Зависимость параллельной структуры от порядка выполнения операций.
Глава 7. Эквивалентные преобразования программ..........................................393
§ 7.1. Развертки графа............................................................................................394
Строгая и обобщенная развертки. Свойства разверток. Развертки и параллельные множества. Конструктивный алгоритм построения кусочно-линейных разверток. Выделение в графах строгих и нестрогих зависимостей. Вопросы и задания.
§ 7.2. Макрографы зависимостей.........................................................................404
Макровершины и макродуги. Укрупненное представление зависимостей. Развертки и декомпозиция алгоритмов. Распределенные вычисления. Работа с медленной памятью. Вопросы и задания.
§ 7.3. Эквивалентные программы.........................................................................408
Эквивалентные преобразования программ. Эквивалентные по вычислениям программы. Преобразования, гарантирующие эквивалентность. Вопросы и задания.
§ 7.4. Наиболее распространенные преобразования программ........................415
Перестановка циклов. Слияние циклов. Переупорядочивание операторов. Распределение цикла. Скашивание цикла. Расщепление пространства итераций. Выполнение итераций цикла в обратном порядке. Треугольные преобразования. Вопросы и задания.
§ 7.5. Две сопутствующие задачи..........................................................................421
Оценивание длины критического пути графа зависимостей. Распределение массивов по модулям памяти.
§ 7.6. Примеры.......................................................................................................426
Формализованное построение разверток и макрографов для конкретных программ. Определение циклов ParDO. Распределение массивов по модулям памяти. Эквивалентное преобразование подпрограммы OLDA из пакета тестов Perfect Club Benchmarks. Самые лучшие результаты. Система V-Ray.
ЧАСТЬ III. СМЕЖНЫЕ ПРОБЛЕМЫ и ПРИМЕНЕНИЕ.....................................441
Глава 8. Вычислительные системы и алгоритмы..............................................443
§ 8.1. Расширение и уточнение линейного класса.............................................448
Прямая подстановка. Вычисляемый цикл go to. Вычисляемые ветвления. Нелинейные индексные выражения. Уточнение описания внешних переменных. Подпрограммы и функции. Функции mm и max. Прямое вычисление графов. Вопросы и задания.
§ 8.2. Граф-машина................................................................................................459
Локальность управления. Свойства различных реализаций. Гомоморфная свертка. Граф-машина и граф вычислительной системы. Сохранение временных режимов. Вопросы и задания.
§ 8.3. Регулярные и направленные графы...........................................................471
Итерационные процессы и регулярные графы. Расщепление бесконечного регулярного графа. Главный регулярный подграф. Критерий отсутствия контуров. Линейные развертки регулярного графа. Гомоморфная свертка регулярных графов. Вопросы и задания.
§ 8.4. Математические модели систолических массивов...................................482
Систолические массивы как вычислительные системы. Локальность управления. Минимальные коммуникационные связи. Реализация регулярных графов алгоритмов. Примеры построения систолических массивов для заданных алгоритмов. Вопросы и задания.
§ 8.5. Математическая модель алгебраического вычислителя..........................499
Структура алгебраических задач. Спецпроцессор для алгебраических задач. Использование систолического массива для матричной операции А + ВС. Вопросы и задания.
§ 8.6. Матрицы и структура алгоритмов..............................................................503
Общие вычислительные процессы. Вариационная матрица алгоритма. Матрицы смежностей и инциденций. Критерий развертки. Уравновешенные графы. Критерий уравновешенности. Вопросы и задания.
§ 8.7. Новое применение сведений о структуре.....................................................511
Восстановление линейного функционала. Вычисление градиента. Анализ ошибок округления. Всюду вариационная матрица алгоритма. Вопросы и задания.
§ 8.8. Примеры.......................................................................................................528
Техника ускоренного вычисления градиента функции. Выполнение анализа ошибок по формальным правилам. Нахождение малых относительных эквивалентных возмущений.
Глава 9. Пользователь в среде параллелизма...................................................533
§ 9.1. Типичные ситуации в вопросах и ответах.................................................534
Конкретные вопросы из практики параллельного программирования. Исследование возникших ситуаций. Возможные идеи и пути решения. Что следует из перечисленных примеров? Вопросы и задания.
§ 9.2. Программный сервис в параллельных вычислениях...............................558
Почему в программе что-то не так? Компиляторы, отладчики, профилировщики, анализаторы, конверторы. Система V-Ray. Статические и динамические характеристики параллельных программ. Анализ структуры программ. Графовые структуры программ на практике. Вопросы и задания.
§ 9.3. Организационная поддержка пользователя..............................................581
Инфраструктура поддержки работы пользователей. Информационно-аналитический центр по параллельным вычислениям Parallel.ru. Вопросы и задания.
Заключение. Параллельные вычисления: интеграция от А до Я........................585
Список литературы........................................................................................588
Интернет-ресурсы..........................................................................................592
Предметный указатель...................................................................................593

Цена: 300руб.

Назад

Заказ

На главную страницу

Hosted by uCoz