Опубликован: 22.12.2006 | Уровень: специалист | Доступ: свободно | ВУЗ: Московский государственный университет путей сообщения    
     Излагаются основные структурные решения, воплощённые в параллельных вычислительных системах и способствующие их высокой производительности. Изучаются основные популярные архитектуры. Исследуются принципы  оптимизации выполнения параллельных программ.
                Излагаются основные структурные решения, воплощённые в параллельных вычислительных системах и способствующие их высокой производительности. Изучаются основные популярные архитектуры. Исследуются принципы  оптимизации выполнения параллельных программ.    
                Производится классификация параллельных вычислительных систем и способов распараллеливания. Приводятся «исторические» примеры параллельных ВС.
Изучается проблема распараллеливания на уровне исполнительных устройств. Рассматривается организация конвейеров операций, векторных конвейеров, выполнения операций на стеке. Исследуются принципы динамического распараллеливания в многофункциональном арифметическо-логическом устройстве.
Изучаются принципы «статического» составления потактового расписания работы процессора, управляемого в каждом такте. Такая компоновка командных слов характерна для суперскалеров VLIW- и EPIC-архитектуры. Освещается проблема организации интенсивного ветвления вычислений с помощью команды выполнения логического оператора и механизма предикатов, без традиционного использования команд условного перехода. Иллюстрируется возможность эффективного программирования конкретных задач.
Рассматриваются некоторые «нетрадиционные» архитектуры, отражающие альтернативный поиск и эффективные решения при создании современных архитектур многопроцессорных вычислительных систем.
Рассматривается проблема использования языка высокого уровня в качестве ассемблера - единственно доступного языка пользователя, включающего сложные алгоритмические конструкции. Аппаратная поддержка такого языка выполнена в отечественном семействе «Эльбрус».
Обсуждается проблема практического применения принципа data flow при построении асинхронных вычислительных систем. Приводятся примеры программирования.
Рассматривается архитектура вычислительной системы, основанная на принципе SPMD - «одна программа – много потоков данных». Анализируется возможность применения SPMD-технологии к решению задач логического вывода. Рассматривается проблема когерентности кэш-памяти в многопроцессорной системе.    
    План занятий
| Занятие | Заголовок << | Дата изучения | 
|---|---|---|
| - | ||
| Введение26 минут | ВведениеОглавление | - | 
| Лекция 157 минут | Параллельные структуры вычислительных систем
      Лекция посвящена начальному знакомству с основными структурными
решениями, воплощенными в параллельных вычислительных системах. Производится их
классификация. Приводятся "исторические" примеры параллельных ВС. Оглавление | - | 
| Тест 118 минут | - | |
| Лекция 251 минута | Микропроцессорные системы и способы распараллеливания
      Лекция посвящена проблемам комплексирования микропроцессоров в
вычислительной системе. Рассматриваются транспьютерные технологии и
способы межпроцессорного обмена данными. Обсуждается идея применения
микропроцессорной ВС как внешнего устройства персонального компьютера или
рабочей станции. Исследуется вопрос объединения вычислительного ресурса
многопроцессорной системы в единое решающее поле для его оптимизированного
совместного использования. Производится классификация способов
распараллеливания. Оглавление | - | 
| Тест 218 минут | - | |
| Лекция 340 минут | Распараллеливание в ВС на уровне исполнительных устройств
      Изучается проблема второго уровня распараллеливания  — уровня
исполнительных устройств. Рассматривается организация конвейеров операций,
векторных конвейеров, выполнения операций на стеке. Исследуются принципы
динамического распараллеливания в многофункциональном
арифметическо-логическом устройстве. Оглавление | - | 
| Тест 312 минут | - | |
| Лекция 451 минута | Параллельная обработка стека и статическое распараллеливание в решающем поле
      Рассматривается проблема параллельного выполнения программы,
которая представлена в безадресной системе команд, имитирующей выполнение операций
на стеке. Параллельная обработка стека применима к программам счёта
арифметических операторов, содержащих условия. Это позволяет значительно
сократить количество условных переходов. Оглавление | - | 
| Тест 418 минут | - | |
| Лекция 545 минут | Аппаратная поддержка языка пользователя — основная концепция мультипроцессорных систем
      Рассматривается проблема использования языка высокого уровня в
качестве ассемблера — единственно доступного языка пользователя,
включающего сложные алгоритмические конструкции. Их применение эффективно
лишь при наличии средств аппаратной поддержки. Такая поддержка выполнена в
отечественном семействе "Эльбрус". Оглавление | - | 
| Тест 518 минут | - | |
| Лекция 61 час 27 минут | Оптимальное потактовое расписание выполнения работ в многофункциональном арифметическо-логическом устройстве
      Рассматривается проблема составления потактового расписания работы
процессора, управляемого в каждом такте. Компоновка "длинных"
командных слов производится на завершающей стадии трансляции и характерна для
суперскалеров VLIW-  и EPIC -архитектуры.
Освещаются как не оптимизированная, "быстрая", компоновка, так и компоновка,
использующая решающие правила на основе исследования графа работ внутри
непрерываемого участка программы. При компоновке учитываются и команды
вида if-then-else, 
не использующие условный переход. Оглавление | - | 
| Тест 612 минут | - | |
| Лекция 743 минуты | Оптимальное программирование в архитектуре управления каждым тактом
      Обсуждаются вопросы технологии и рекомендации для оптимального
программирования процессора VLIW- или EPIC-архитектуры, управляемого в каждом такте. Приводится
пример составления программы расчета нейронной сети. Рассматривается
оптимизированная компоновка командных слов одной из "исторических"
архитектур (предположительно - 5Э73) с элементами синхронизации исполнительных
устройств. Оглавление | - | 
| Тест 718 минут | - | |
| Лекция 858 минут | Оптимальное программирование процессоров EPIC-архитектуры
      Освещается проблема организации интенсивного ветвления вычислений
с помощью механизма предикатов без традиционного использования команд условного перехода,
значительно увеличивающего время выполнения программы. Применение предикатов
характерно для процессоров EPIC-архитектуры, лежащей в основе новейших
разработок ряда "Эльбрус". Рассматриваются примеры таких
ветвящихся алгоритмов, как сортировка и поиск, в которых теоретическая оценка сложности значительно
отличается от сложности, практически достижимой при
программировании. Оглавление | - | 
| Тест 89 минут | - | |
| Лекция 946 минут | Вычислительные системы нетрадиционной архитектуры
      Рассматриваются некоторые "нетрадиционные"
архитектуры, отражающие альтернативный поиск и эффективные решения при создании современных
архитектур многопроцессорных вычислительных систем. Среди таких архитектур:
однородные вычислительные среды, легшие в основу транспьютерных сетей;
"гиперкуб", совмещающий адресацию со структурой связей,
систолические матрицы. Исследуется способ построения самообучающихся систем управления на основе
применения ассоциативной памяти. Приводится пример практического построения
масспроцессорной системы. Изучаются вопросы построения
нейрокомпьютеров. Оглавление | - | 
| Тест 915 минут | - | |
| Лекция 1046 минут | Асинхронная ВС на принципах "data flow"
      Обсуждается проблема практического применения принципа data flow
при построении асинхронных вычислительных систем. В таких системах коммутация взаимодействия
процессорных элементов решающего поля для выполнения программы отделена от
собственно вычислений и слабо зависит от них. Формулируются принципы
составления программы коммутации и анализируется ее выполнение. Оглавление | - | 
| Тест 1015 минут | - | |
| Лекция 111 час 4 минуты | Программирование задач для асинхронной ВС архитектуры "data flow"
      Приводятся примеры программирования в архитектуре асинхронной ВС
на принципах data flow. Рассматриваются задачи численного интегрирования, умножения матриц,
решения системы линейных уравнений. Исследуются основы трансляции с языков
высокого уровня. Оглавление | - | 
| Тест 1118 минут | - | |
| Лекция 121 час 21 минута | SPMD-технология на базе симметричной ВС
      Рассматривается архитектура вычислительной системы, основанная на
принципе "одна программа — много потоков данных".
Показывается, что этот принцип, реализующий распараллеливание "по информации", характерен и
эффективен при решении задач, сводящихся к обработке больших массивов
данных, а также при решении задач на основе перебора многих вариантов
поиска такого решения. Представлены общая структура и основные особенности
системы команд. Оглавление | - | 
| Тест 1215 минут | - | |
| Лекция 131 час 14 минут | Задача логического вывода и когерентность кэш-памяти в ВС SPMD-архитектуры
      Продолжается рассмотрение SPMD-технологии и ее применения к
решению задач логического вывода. Исследуется проблема согласования оперативного совместного
использования результатов счета, находящихся в кэш-памяти процессоров, до их
поступления в общую память, — проблема когерентности кэшей. Предлагается
решать эту проблему с помощью механизма закрытия адресов, что совпадает с общей идеей 
data flow. Освещается возможность применения памяти предикатов при решении
задач по SPMD-технологии. Оглавление | - | 
| Тест 1312 минут | - | |
| 5 часов | - | 
 
                             
