КнигоПровод.Ru25.11.2024

/ИТ-книги

Введение в параллельные методы решения задач: Учебное пособие — Якобовский М. В.
Введение в параллельные методы решения задач: Учебное пособие
Учебное издание
Якобовский М. В.
год издания — 2013, кол-во страниц — 328, ISBN — 978-5-211-06382-2, тираж — 1800, язык — русский, тип обложки — твёрд. 7БЦ матов., масса книги — 410 гр., издательство — МГУ
серия — Суперкомпьютерное образование
КНИГА СНЯТА С ПРОДАЖИ
Формат 60x84 1/16. Бумага офсетная №1. Печать офсетная
ключевые слова — суперкомпьютер, параллельн, алгоритм, распределённ, масштабируем, многопроцессор, многоядерн, высокопроизводительн, сортировк

Курс, изложенный в учебном пособии, посвящён описанию базовых методов построения параллельных алгоритмов и программ для вычислительных систем с общей и с распределённой памятью. В первых четырёх главах даётся краткая характеристика архитектур параллельных вычислительных систем, рассматриваются основные области их применения, модели параллельных алгоритмов и программ, обсуждаются вопросы создания масштабируемых алгоритмов и излагаются базовые параллельные методы решения широкого круга задач. В следующих двух главах подробно рассмотрены методы построения масштабируемых параллельных алгоритмов сортировки больших объёмов данных и особенности согласованной параллельной генерации последовательностей псевдослучайных чисел. Последние три главы посвящены обсуждению общих проблем применения многопроцессорных систем для решения сеточных задач: декомпозиции графов, динамической балансировки загрузки, визуализации сеточных данных.

В курсе обсуждаются методы построения эффективных масштабируемых параллельных алгоритмов, направленных на сокращение времени решения задач описываемых большими объёмами данных. В связи с этим, существенное внимание уделяется анализу эффективности базовых параллельных алгоритмов и параллельных методов решения ряда задач обработки данных.

Пособие предназначено для широкого круга студентов, аспирантов и специалистов, желающих изучить и практически использовать методы создания алгоритмов для решения вычислительно трудоёмких задач на параллельных вычислительных системах.

Учебное пособие основано на материалах лекций, читавшихся на протяжении многих лет в Московском физико-техническом институте (государственном университете).

Рекомендовано Советом учебно-методического объединения классических университетов по прикладной математике и информатике.

ОГЛАВЛЕНИЕ

Глава 1. Введение11
 
1.1. Современный компьютер — инструмент параллельной обработки данных11
1.2. Области применения многопроцессорных систем16
1.3. Рассматриваемые параллельные архитектуры19
1.4. Пример параллельного алгоритма20
1.4.1. Последовательный рекурсивный алгоритм21
1.4.2. Параллельный рекурсивный алгоритм21
1.4.3. Последовательное вычисление членов ряда22
1.4.4. Последовательный матричный алгоритм23
1.4.5. Параллельный матричный алгоритм24
 
Глава 2. Основные понятия28
 
2.1. Параллельная программа как ансамбль взаимодействующих
последовательных процессов28
2.2. Внутренний параллелизм29
2.2.1. Сложение многоразрядных чисел30
2.3. Ускорение и эффективность параллельных алгоритмов38
2.4. Ускорение и эффективность относительно наилучшего
последовательного алгоритма41
2.4.1. Неравноправность условий выполнения — первая причина
    сверхлинейного ускорения43
2.4.2. Алгоритмическая причина сверхлинейного ускорения44
2.4.3. Формальное преобразование параллельного алгоритма
    в «наилучший» последовательный47
2.5. Априорная оценка эффективности параллельного алгоритма49
 
Глава 3. Модели параллельных программ53
 
3.1. Вычислительные системы с распределённой памятью54
3.2. Вычислительные системы с общей памятью56
3.3. Гибридные архитектуры58
3.4. Модель выполнения параллельной программы на распределённой
памяти59
3.5. Модель выполнения параллельной программы на обшей памяти60
3.6. Средства взаимодействия последовательных процессов62
3.6.1. Свойства канала передачи данных62
3.6.2. Методы передачи данных63
3.6.3. Семафор72
3.6.4. Барьерная синхронизация75
 
Глава 4. Базовые параллельные методы77
 
4.1. Метод сдваивания78
4.1.1. Быстрый алгоритм выбора частичных сумм84
4.1.2. Барьерная синхронизация на основе синхронных обменов86
4.1.3. Стена Фокса88
4.2. Метод геометрического параллелизма88
4.3. Метод конвейерного параллелизма98
4.4. Метод коллективного решения107
4.5. Причины потери эффективности114
 
Глава 5. Сортировка данных117
 
5.1. Постановка задачи117
5.2. Последовательные алгоритмы сортировки120
5.2.1. Быстрая сортировка (runtime qsort, wsort)123
5.2.2. Простое двухпутевое слияние (dsort) и слияние списков
    (lsort)124
5.2.3. Пирамидальная сортировка (hsort)126
5.3 Свойства последовательных алгоритмов128
5.3.1. Сортировка методом простого двухпутевого слияния128
5.3.2. Пирамидальная сортировка135
5.3.3. Наилучший последовательный алгоритм сортировки dhsort139
5.4. Масштабируемые алгоритмы сортировки141
5.4.1. Сети сортировки141
5.4.2. Сеть чётно-нечётной сортировки144
5.4.3. Сеть обменной сортировки со слиянием Бэтчера145
5.4.4. Сортировка больших массивов150
5.4.5. Сравнение алгоритмов сортировки153
5.5. Результаты численных экспериментов157
 
Глава 6. Генерация псевдослучайных чисел161
 
6.1. Требования к генераторам псевдослучайных чисел для МВС162
6.2. Линейно-конгруэнтные генераторы168
6.3. M-последовательности170
6.4. Проверка примитивности полиномов176
6.5. Тестирование генераторов177
 
Глава 7. Декомпозиция сеточных графов180
 
7.1. Пример двумерной сетки180
7.2. Критерии декомпозиции графов182
7.2.1. Критерий 1: классический критерий декомпозиции графа183
7.2.2. Критерий 2: выделение обособленных доменов184
7.2.3. Критерий 3: минимизация максимальной степени домена185
7.2.4. Критерий 4: обеспечение связности графов каждого
    из доменов186
7.3. Декомпозиция на основе исходной нумерации узлов189
7.4. Рекурсивная бисекция191
7.5. Декомпозиция регулярных графов192
7.6. Методы декомпозиции произвольных графов196
7.6.1. Иерархическая декомпозиция196
7.6.2. Спектральная бисекция205
7.6.3. Алгоритм инкрементного роста210
7.7. Декомпозиция больших сеток217
7.7.1. Координатная рекурсивная бисекция218
7.7.2. Двухуровневая стратегия обработки и хранения сеток220
 
Глава 8. Динамическая балансировка загрузки процессоров223
 
8.1. Стратегии балансировки загрузки223
8.2. Метод диффузной балансировки224
8.3. Моделирование горения метанового факела229
8.3.1. Постановка задачи динамической балансировки235
8.3.2. Алгоритм серверного параллелизма236
8.4. Адаптивное интегрирование248
8.4.1. Последовательные алгоритмы249
8.4.2. Параллельные алгоритмы256
 
Глава 9. Визуализация сеточных данных278
 
9.1. Клиент-серверная технология280
9.2. Online или Offline-визуализация: плюсы и минусы281
9.2.1. Online-визуализация Offline-визуализация281
9.3. Этапы визуализации285
9.4. Визуализация изоповерхностей290
9.4.1. Аппроксимация изоповерхности293
9.4.2. Виды данных, описывающих триангуляцию296
9.4.3. Метод редукции299
9.4.4. Заполняющие пространство триангуляции302
9.4.5. Параллельные алгоритмы построения аппроксимирующих
    триангуляций303
9.4.6. Многоуровневое огрубление больших сеток304
9.4.7. Примеры визуализации306
9.5. Ввод-вывод сеточных данных308
9.5.1. Соотношение времени чтения данных и времени их обработки308
9.5.2. Распределённый ввод-вывод309
9.5.3. Огрубление и сжатие скалярных сеточных функций310
 
Список ссылок317
Предметный указатель323

Книги на ту же тему

  1. Численные методы, алгоритмы и программы. Введение в распараллеливание: Учебное пособие для вузов, Карпов В. Е., Лобанов А. И., 2014
  2. Технологии параллельного программирования MPI и OpenMP: Учебное пособие, Антонов А. С., 2012
  3. Современные языки и технологии параллельного программирования: Учебник, Гергель В. П., 2012
  4. Параллельное программирование в среде MATLAB для многоядерных и многоузловых вычислительных машин: Учебное пособие, Кепнер Д., 2013
  5. Параллельные алгоритмы целочисленной оптимизации, Хохлюк В. И., 1987
  6. Введение в алгоритмы параллельных вычислений, Молчанов И. Н., 1990
  7. Многоядерное программирование, Эхтер Ш., Робертс Д., 2010
  8. Социальное моделирование — новый компьютерный прорыв (агент-ориентированные модели), Макаров В. Л., Бахтизин А. Р., 2013
  9. Распределённые системы. Принципы и парадигмы, Таненбаум Э., ван Стеен М., 2003
  10. Операционные системы. Параллельные и распределённые системы, Бэкон Д., Харрис Т., 2004
  11. Параллельные вычислительные системы, Головкин Б. А., 1980
  12. Параллельная обработка информации: Т. 5: Проблемно-ориентированные и специализированные средства обработки информации, Малиновский Б. Н., Грицык В. В., ред., 1990
  13. Библиотека алгоритмов 151б—200б: Справочное пособие. Вып. 4, Агеев М. И., Алик В. П., Марков Ю. И., сост., 1981
  14. Анализ алгоритмов. Вводный курс, Макконнелл Д., 2002
  15. Суперкомпьютерное моделирование в физике климатической системы: Учебное пособие, Лыкосов В. Н., Глазунов А. В., Кулямин Д. В., Мортиков Е. В., Степаненко В. М., 2012

© 1913—2013 КнигоПровод.Ruhttp://knigoprovod.ru