Документ взят из кэша поисковой машины. Адрес оригинального документа : http://sp.cs.msu.ru/courses/progs2006/par_data_proc12.doc
Дата изменения: Tue Jul 7 15:58:50 2009
Дата индексирования: Mon Oct 1 21:55:27 2012
Кодировка: koi8-r

Параллельная обработка данных
4 курс, 1 и 2 потоки, 7-й семестр
лекции (34 часа), зачет
Кафедра, отвечающая за курс: АСВК
Составитель программы: чл.-кор. РАН, доктор физ.-мат. наук Воеводин Вл.В.,
Лекторы: чл.-кор. РАН, доктор физ.-мат. наук Воеводин Вл.В.


Аннотация

В курсе обсуждаются общие вопросы организации параллельных вычислений.
Рассматриваются особенности архитектур современных параллельных
вычислительных систем, изучаются основные методы и парадигмы
программирования в параллельных средах.
Для 1-го и 2-го потоков обсуждаются подходы к согласованию особенностей
архитектуры параллельных систем и структуры алгоритмов, вопросы теории
анализа структуры программ и алгоритмов, модели в параллельных
вычислениях.

Программа

1. Большие задачи и суперкомпьютеры. Параллельная и конвейерная
обработка данных. Параллелизм и конвейерность в архитектуре современных
высокопроизводительных компьютеров. Скалярные и векторные команды.
Скалярные, конвейерные и векторные устройства. Иерархия памяти в
компьютерах как средство повышения скорости выполнения программ,
локальность вычислений и локальность использования данных. Закон Амдала и
его следствия, суперлинейное ускорение.
2. Основные классы современных параллельных вычислительных систем.
Компьютеры с общей памятью, примеры, причины снижения производительности на
реальных программах. Архитектуры SMP, NUMA, ccNUMA. Коммутация процессоров
и модулей памяти, шина, матричный коммутатор, омега-сеть. Векторно-
конвейерные вычислительные системы, примеры, причины снижения
производительности. Компьютеры с распределенной памятью, примеры, причины
снижения производительности. Топология связи между процессорами: звезда,
решетка, трехмерный тор, двоичный гиперкуб, их свойства. Вычислительные
кластеры, примеры, латентность и пропускная способность различных
коммуникационных технологий. Архитектуры с параллелизмом на уровне машинных
команд, VLIW, суперскалярность.
3. Технологии параллельного программирования. Традиционные
последовательные языки и распараллеливающие компиляторы, проблемы.
Спецкомментарии и директивы компилятору, расширения существующих языков.
Специальные языки параллельного программирования. Программирование с
использованием библиотек и интерфейсов передачи сообщений. Параллельные
предметные библиотеки, специализированные пакеты и программные комплексы
высокого уровня. Технологии параллельного программирования MPI, OpenMP,
Linda.
4. Производительность параллельных вычислительных систем.
Универсальность и специализация компьютеров, производительность
спецпроцессоров. Закон Мура. Методы оценки производительности. Введение
единого числового параметра, Mflops, MIPS. Пиковая и реальная
производительность компьютеров. Тест Linpack и его варианты. Наборы
взаимодополняющих тестовых программ, STREAM и NPB.
5. Графовые модели программ. Граф управления и информационный граф
программы. Информационная и операционная история реализации программ. Граф
алгоритма как компактная параметрическая форма представления информационной
истории. Информационная независимость операций и возможность их
параллельного исполнения. Длина критического пути графа алгоритма как мера
степени параллельности. Конечный и массовый параллелизм, координатный и
скошенный параллелизм. Эквивалентные преобразования программ, элементарные
преобразования циклов.
6. Неоднородные распределенные вычислительные системы. Метакомпьютеры
и метакомпьютинг, существующие метакомпьютерные проекты. Отличительные
свойства метакомпьютеров. Понятие GRID, базовые компоненты и сервисы,
существующие проекты GRID-сегментов, понятие виртуальной организации.

Литература

1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-
Петербург, 2002. - 608 с.
2. Королев Л.Н. Архитектура процессоров электронных вычислительных машин. -
М.: Изд. факультета ВМК МГУ, 2003.
3. В.В.Корнеев. Параллельные вычислительные системы. - М.: Изд-во "Нолидж",
1999. - 320с.
4. Материалы информационно-аналитического центра по параллельным
вычислениям Parallel.ru.

Дополнительная литература

1. Антонов А.С. Параллельное программирование с использованием технологии
MPI: Учебное пособие. - М.: Изд-во МГУ, 2004. - 71 с.

2. Лацис А.О. Как построить и использовать суперкомпьютер. - М.: Изд-во
"Бестселлер", 2003.