Автор: Аркадий Барский | Московский государственный университет путей сообщения
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
16:07:00
Студентов:
2436
Выпускников:
567
Качество курса:
4.07 | 4.02
Излагаются основные структурные решения, воплощённые в параллельных вычислительных системах и способствующие их высокой производительности. Изучаются основные популярные архитектуры. Исследуются принципы оптимизации выполнения параллельных программ.
Производится классификация параллельных вычислительных систем и способов распараллеливания. Приводятся «исторические» примеры параллельных ВС. Изучается проблема распараллеливания на уровне исполнительных устройств. Рассматривается организация конвейеров операций, векторных конвейеров, выполнения операций на стеке. Исследуются принципы динамического распараллеливания в многофункциональном арифметическо-логическом устройстве. Изучаются принципы «статического» составления потактового расписания работы процессора, управляемого в каждом такте. Такая компоновка командных слов характерна для суперскалеров VLIW- и EPIC-архитектуры. Освещается проблема организации интенсивного ветвления вычислений с помощью команды выполнения логического оператора и механизма предикатов, без традиционного использования команд условного перехода. Иллюстрируется возможность эффективного программирования конкретных задач. Рассматриваются некоторые «нетрадиционные» архитектуры, отражающие альтернативный поиск и эффективные решения при создании современных архитектур многопроцессорных вычислительных систем. Рассматривается проблема использования языка высокого уровня в качестве ассемблера - единственно доступного языка пользователя, включающего сложные алгоритмические конструкции. Аппаратная поддержка такого языка выполнена в отечественном семействе «Эльбрус». Обсуждается проблема практического применения принципа data flow при построении асинхронных вычислительных систем. Приводятся примеры программирования. Рассматривается архитектура вычислительной системы, основанная на принципе SPMD - «одна программа – много потоков данных». Анализируется возможность применения SPMD-технологии к решению задач логического вывода. Рассматривается проблема когерентности кэш-памяти в многопроцессорной системе.
Специальности: Разработчик аппаратуры
ISBN: 978-5-9556-0071-0
 

План занятий

Занятие
Заголовок <<
Дата изучения
Введение
26 минут
Введение

Оглавление
    -
    Лекция 1
    57 минут
    Параллельные структуры вычислительных систем
    Лекция посвящена начальному знакомству с основными структурными решениями, воплощенными в параллельных вычислительных системах. Производится их классификация. Приводятся "исторические" примеры параллельных ВС.
    Оглавление
      -
      Лекция 2
      51 минута
      Микропроцессорные системы и способы распараллеливания
      Лекция посвящена проблемам комплексирования микропроцессоров в вычислительной системе. Рассматриваются транспьютерные технологии и способы межпроцессорного обмена данными. Обсуждается идея применения микропроцессорной ВС как внешнего устройства персонального компьютера или рабочей станции. Исследуется вопрос объединения вычислительного ресурса многопроцессорной системы в единое решающее поле для его оптимизированного совместного использования. Производится классификация способов распараллеливания.
      Оглавление
        -
        Лекция 3
        40 минут
        Распараллеливание в ВС на уровне исполнительных устройств
        Изучается проблема второго уровня распараллеливания — уровня исполнительных устройств. Рассматривается организация конвейеров операций, векторных конвейеров, выполнения операций на стеке. Исследуются принципы динамического распараллеливания в многофункциональном арифметическо-логическом устройстве.
        Оглавление
          -
          Лекция 4
          51 минута
          Параллельная обработка стека и статическое распараллеливание в решающем поле
          Рассматривается проблема параллельного выполнения программы, которая представлена в безадресной системе команд, имитирующей выполнение операций на стеке. Параллельная обработка стека применима к программам счёта арифметических операторов, содержащих условия. Это позволяет значительно сократить количество условных переходов.
          Оглавление
            -
            Лекция 5
            45 минут
            Аппаратная поддержка языка пользователя — основная концепция мультипроцессорных систем
            Рассматривается проблема использования языка высокого уровня в качестве ассемблера — единственно доступного языка пользователя, включающего сложные алгоритмические конструкции. Их применение эффективно лишь при наличии средств аппаратной поддержки. Такая поддержка выполнена в отечественном семействе "Эльбрус".
            Оглавление
              -
              Лекция 6
              1 час 27 минут
              Оптимальное потактовое расписание выполнения работ в многофункциональном арифметическо-логическом устройстве
              Рассматривается проблема составления потактового расписания работы процессора, управляемого в каждом такте. Компоновка "длинных" командных слов производится на завершающей стадии трансляции и характерна для суперскалеров VLIW- и EPIC -архитектуры. Освещаются как не оптимизированная, "быстрая", компоновка, так и компоновка, использующая решающие правила на основе исследования графа работ внутри непрерываемого участка программы. При компоновке учитываются и команды вида if-then-else, не использующие условный переход.
              Оглавление
                -
                Лекция 7
                43 минуты
                Оптимальное программирование в архитектуре управления каждым тактом
                Обсуждаются вопросы технологии и рекомендации для оптимального программирования процессора VLIW- или EPIC-архитектуры, управляемого в каждом такте. Приводится пример составления программы расчета нейронной сети. Рассматривается оптимизированная компоновка командных слов одной из "исторических" архитектур (предположительно - 5Э73) с элементами синхронизации исполнительных устройств.
                Оглавление
                  -
                  Лекция 8
                  58 минут
                  Оптимальное программирование процессоров EPIC-архитектуры
                  Освещается проблема организации интенсивного ветвления вычислений с помощью механизма предикатов без традиционного использования команд условного перехода, значительно увеличивающего время выполнения программы. Применение предикатов характерно для процессоров EPIC-архитектуры, лежащей в основе новейших разработок ряда "Эльбрус". Рассматриваются примеры таких ветвящихся алгоритмов, как сортировка и поиск, в которых теоретическая оценка сложности значительно отличается от сложности, практически достижимой при программировании.
                  Оглавление
                    -
                    Лекция 9
                    46 минут
                    Вычислительные системы нетрадиционной архитектуры
                    Рассматриваются некоторые "нетрадиционные" архитектуры, отражающие альтернативный поиск и эффективные решения при создании современных архитектур многопроцессорных вычислительных систем. Среди таких архитектур: однородные вычислительные среды, легшие в основу транспьютерных сетей; "гиперкуб", совмещающий адресацию со структурой связей, систолические матрицы. Исследуется способ построения самообучающихся систем управления на основе применения ассоциативной памяти. Приводится пример практического построения масспроцессорной системы. Изучаются вопросы построения нейрокомпьютеров.
                    Оглавление
                      -
                      Лекция 10
                      46 минут
                      Асинхронная ВС на принципах "data flow"
                      Обсуждается проблема практического применения принципа data flow при построении асинхронных вычислительных систем. В таких системах коммутация взаимодействия процессорных элементов решающего поля для выполнения программы отделена от собственно вычислений и слабо зависит от них. Формулируются принципы составления программы коммутации и анализируется ее выполнение.
                      Оглавление
                        -
                        Лекция 11
                        1 час 4 минуты
                        Программирование задач для асинхронной ВС архитектуры "data flow"
                        Приводятся примеры программирования в архитектуре асинхронной ВС на принципах data flow. Рассматриваются задачи численного интегрирования, умножения матриц, решения системы линейных уравнений. Исследуются основы трансляции с языков высокого уровня.
                        Оглавление
                          -
                          Лекция 12
                          1 час 21 минута
                          SPMD-технология на базе симметричной ВС
                          Рассматривается архитектура вычислительной системы, основанная на принципе "одна программа — много потоков данных". Показывается, что этот принцип, реализующий распараллеливание "по информации", характерен и эффективен при решении задач, сводящихся к обработке больших массивов данных, а также при решении задач на основе перебора многих вариантов поиска такого решения. Представлены общая структура и основные особенности системы команд.
                          Оглавление
                            -
                            Лекция 13
                            1 час 14 минут
                            Задача логического вывода и когерентность кэш-памяти в ВС SPMD-архитектуры
                            Продолжается рассмотрение SPMD-технологии и ее применения к решению задач логического вывода. Исследуется проблема согласования оперативного совместного использования результатов счета, находящихся в кэш-памяти процессоров, до их поступления в общую память, — проблема когерентности кэшей. Предлагается решать эту проблему с помощью механизма закрытия адресов, что совпадает с общей идеей data flow. Освещается возможность применения памяти предикатов при решении задач по SPMD-технологии.
                            Оглавление
                              -
                              1 час 40 минут
                              -