В.А. Фисун 14.12.2000
Московский Государственный Университет им. М.В.Ломоносова
Факультет Вычислительной математики и кибернетики
ПРОГРАММА
курса Параллельная обработка данных (1-я ступень)
с уточнениями, дополнительной литературой и экзаменационными вопросами
Эволюционная классификация вычислительных систем на примере развития
отечественной техники.
- Критерий, положенный в основу эволюционной классификации ЭВМ.
- Основоположники отечественной вычислительной техники.
Б.Н. Малиновский. История вычислительной техники в лицах. - К.,фирма
<КИТ>, ПТОО <А.С.К.>, 1995. -384 с.
А.Д. Смирнов. Архитектура вычислительных систем.-М. Наука.1990.320 с.
Вычислители фон-Неймановской архитектуры. Суперскалярные, векторные и VLIW
системы команд микропроцессоров. Конвейерная обработка данных и команд.
Зацепление конвейеров. Предсказание переходов. Архитектура памяти. Кэш-память.
Особенности программирования для вычислителей фон-Неймановской архитектуры.
- Принципы фон-Неймановской архитектуры ЭВМ.
- CISC и RISC архитектуры ЭВМ.
- Принципы VLIW архитектуры.
- Конвейеризация вычислений.
- Векторные вычислители.
- Внеочередное и спекулятивное выполнения команд.
- Механизмы предсказания переходов.
- Виртуальная память.
- Алгоритмы подкачки страниц.
- Иерархия оперативной памяти.
- Ассоциативная память.
- Расслоение памяти.
- Полностью ассоциативная кэш-память.
- Кэш-память с прямым отображением.
- Частично ассоциативная кэш-память.
- Стратегии записи в кэш-память.
- Определить среднее время выборки для кэшей L1 и L2, если: вероятность
попадания в прямоадресуемый кэш L1 составляет 80%, а время выборки из него 20
нс; в частично-ассоциативный кэш L2 вероятность попаданий - 87%, время выборки
24 нс. Цена кэш-промаха у L1 и L2 - 200 нс.
- Привести пример программы, вызывающей перезагрузку кэша с прямым
распределением.
- Привести пример программы, для которой расслоение памяти не
эффективно.
- Алгоритмы оптимизации объектных программ, которые могут повлиять на
точность вычислений.
В.В. Корнеев, А.В. Киселев. Современные микропроцессоры.-М. <Нолидж>,
1998.-240 с.
Тенденции развития вычислительных архитектур. Классификация параллельных
вычислительных систем по Флинну.
- Принципы классификации вычислительных систем по Флинну.
- Примеры классификации вычислителей по Флинну.
- Недостатки способа классификации вычислительных систем по Флинну.
МКМД системы: сильно и слабо связанные распределенные системы.
Масштабируемость мультипроцессорных вычислителей.
- Архитектурные особенности МКМД мультипроцессоров.
- Особенности масштабирования SMP и MPP мультипроцессоров.
Симметричные мультипроцессорные системы. Архитектура ccNUMA (SPP-XXXX).
- Описать схему симметричного мультипроцессора.
- Особенности архитектуры ccNUMA.
Топологии коммутаторов MPP систем: полный коммутатор, решетка, пирамида,
гиперкуб.
- Статические и динамические сети МРР систем.
- Параметры статических коммутационных сетей.
- Свойства полного коммутатора.
- Топология гиперкуба.
- Согласование сеточных алгоритмов со структурой типа гиперкуб.
Кун С. Матричные процессоры на СБИС: -М.: Мир, 1991. - 672с.
ОКМД системы: матричные системы, конвейерные вычислительные системы.
- Матричные процессоры (AP120-B).
- Современные ОКМД системы.
- Использование элементов Крей архитектуры в процессорах ЭВМ.
Производительность вычислительных систем. Пиковая производительность. Методы
оценки производительности, Бенч-марки.
- Единицы измерения пиковой производительности.
- Реальная производительность.
- Закон Амдала.
Нетрадиционные архитектуры: потоковые и нейронные вычислители.
- Принципы потоковой обработки информации.
- Схема потокового вычислителя.
- Нейронные сети.
- Области применения нейронных сетей.
В.А. Вальковский, И.Б. Вирбицкайте. Сб.Потоковые вычислительные системы.
Системная информатика. Вып. 2. - Новосибирск:ВО "Наука", 1993. -247с.
Ф.Уоссерман. Нейрокомпьютерная техника. М.: Мир, 1992.
Модели программирования для систем с разделяемой, распределенной памятью.
Синхронизация параллельных процессов. Семафоры. Элементы параллельного
программирования в Фортране-90.
- Критические секции. Двоичные и общие семафоры.
- Разделение программ на нити при автоматическом распараллеливании.
Ограничения на распараллеливание циклов.
- Упорядоченные секции. Распараллелить цикл, используя упорядоченные
секции и семафоры:
DO I=2,N
A(I) = 2*A(I) + C(I)
B(I) = C(I)*sin(X(I))
Y(I) = Y(I-1) + X(I)
D(I) = P(I)*B(I)/A(I)
ENDDO
- Средства параллельного программирования в Фортране-90.
Протоколы обмена в системах передачи сообщений. Фортран-GNS для МВК-100.
Системы PVM, MPI.
- Статический и динамический способы образования параллельных
процессов,
- Требования с системам программирования методом передачи сообщений.
- Назначение систем PVM, MPI.
- Средства описания и создания процессов в языке Фортран-GNS.
- Средства передачи и приема сообщений в языке Фортран-GNS.
- Протоколы передачи и приема сообщений в языке Фортран-GNS.
- Идентификация абонентов при передачи сообщений в языке Фортран-GNS.
Допускаются ответы на пп 4 - 7 в терминах PVM, MPI.
Горелик А.М., Задыхайло И.Б. Расширение Фортрана для многопроцессорных
систем с распределенной памятью. -М. Препринт ИПМ РАН 1992. N32
Адаптация последовательных программ к параллельным архитектурам. Векторизация
и распараллеливание циклов. Методы координат, гиперплоскостей.
- Автоматическое распараллеливание последовательных программ.
- Семантика циклов, выполняемых параллельно на ОКМД системах.
- Алгоритмы преобразования программ методом координат.
- Схема преобразования программ методом гиперплоскостей.
- Оценить возможность параллельного выполнения цикла:
DO i = 2,N
A(i) = (B(i) + C(i))/A(i+CONST)
ENDDO
- Определить возможность выполнения циклов на ОКМД системах:
DO 2 I=2,N,2
2 A(I) = (A(I)+A(I-1))/2.0
DO 3 I=2,N
A(I) = B(I)+A(I+1)
3 B(I) = (A(I)+A(I+1))/2.0
DO 4 I=1,N
A(I) = B(I)+A(I+1)
4 C(I) = (A(I)+A(I+1))/2.0
DO 5 I=1,N
A(I) = B(I)+A(I+1)
5 С(I) = A(I+1)
Ручное распараллеливание. Стандарт OpenMP.
- Назначение OpenMP.
М. Кузьминский. Открытые системы N3/98
Воеводин В.В. Математические модели и методы в параллельных процессах.-М.:
Наука. 1986.-296 с.
Э, А. Трахтенгерц. Введение в теорию анализа и распараллеливания программ ЭВМ
в процессе трансляции. -М.: Наука,1981.-254с.
Распараллеливание алгоритмов обработки информации. Том 1. -Киев: Наук.думка,
1985.-280 с.
Доклады В.В. Воеводина, Вл.В. Воеводина, А.В. Забродина на Всесоюзной
молодежной школе "Суперкомпьютерные вычислительно-информационные технологии в
физических и химических исследованиях" 1999 г. Черноголовка
http://parallel.ru:81/info/education/chg99.html
Особенности выполнения арифметических выражения на ЭВМ. Распараллеливание
вычислительных алгоритмов. Метод распараллеливания алгоритма общей рекурсии
1-го порядка.
- Распараллеливание алгоритмов сложения методом редукции.
- Метод распараллеливания алгоритма общей рекурсии 1-го порядка.
- Арифметика машинных чисел.
- Погрешности при вычислениях чисел на параллельных системах. Оценить
полную ошибку для суммирования положительных чисел.
- Точность плавающей арифметики.
Р.Хокни, К.Джасхоуп. Параллельные ЭВМ. М.: Радио и связь. 1986.
Г.К. Боровин и др. Ошибки-ловушки при программировании на Фортране.-М.
Наука. 1987. 144 с.
Литература
- В.В. Корнеев. Параллельные вычислительные системы.-М. <Нолидж>,
-320с.
- Б.А.Головкин. Вычислительные системы с большим числом
процессоров.-М.: Радио и связь, 1995.-320с.
- М. Амамия, Ю.Танака. Архитектура ЭВМ и искусственный интеллект:
- Языки и параллельные ЭВМ. Сб."Алгоритмы и алгоритмические языки", М.:
Наука, 1990.
- http://parallel.ru:81