Архитектура и принципы программирования потоковых вычислительных систем




НазваниеАрхитектура и принципы программирования потоковых вычислительных систем
страница1/14
Дата публикации27.07.2013
Размер0.82 Mb.
ТипЛитература
lit-yaz.ru > Информатика > Литература
  1   2   3   4   5   6   7   8   9   ...   14
ОГЛАВЛЕНИЕ

Введение 4

1. Архитектура и принципы программирования потоковых вычислительных систем 7

1.1. Организация потоковой обработки информации 7

1.2. Построение программ коммутации 12

1.3. Программирования ветвящихся структур 17

1.4. Виртуализация ресурса 20

1.5. Индексация и выполнение векторных операций 22

1.6. Алгоритмы коммутации и выполнения команд 26

1.7. Система команд 28

1.7.1. Арифметические операции 29

1.7.2. Логические операции 30

1.7.3. Операции отношения 30

1.7.4. Условные арифметические операции 30

1.7.5. Команды передачи управления 31

1.7.6. Операции индексации 33

1.7.7. Операции пересылки и преобразований 33

1.7.8. Векторные операции 33

1.8. Выполнение системных операций 34

1.9. Выводы 35

2. Устройства потоковой вычислительной системы 36

2.1. Выполнение команд процессором 36

2.2. Формирование физических адресов вычислителей 44

2.3. Процессор памяти 49

2.4. Информационное взаимодействие устройств 52

2.5. Выводы 56

3. Разработка имитационной модели ПВС 57

3.1. Архитектура имитационной модели ПВС 57

3.2. Модуль режима программирования 58

3.3. Модуль режима визуализации процесса работы ПВС 60

3.4. Модуль проверки синтаксиса написанной пользователем программы 61

3.5. Модуль справочной системы 61

3.6. Модуль имитации работы ПВС 62

3.6.1. Архитектура модуля имитации работы ПВС 62

3.6.2. Память команд 63

3.6.3. Процессор коммутации 64

3.6.4. Вычислительное поле 64

3.6.5. Генерация адресов 64

3.6.6. Подсистема оперативной памяти данных 64

3.6.7. Подсистема доступа к оперативной памяти данных 64

3.7. Демонстрация работы иммитационной модели 65

3.8. Выводы 67

Заключение 69

Литература 70

Введение


Потоковая (data flow) обработка информации и соответствующие способы организации процесса вычислений известны уже около 50 лет (первая работа, [1]). Ее важнейшие принципы – это:

  • асинхронность вычислений, позволяющая выполнять операции сразу же при готовности операндов;

  • функциональный характер вычислений, обеспечивающий отсутствие побочных эффектов.

  • Это позволяет устранить из архитектуры компьютеров счетчик команд и общую переиспользуемую память, препятствующие параллельному выполнению программ.

Усилия исследователей в прошедшие десятилетия были сосредоточены в основном на следующих направлениях:

  • создание адекватной математической модели вычислений;

  • разработка архитектур, реализующих эти модели;

  • поддержка процесса вычислений на уровне языков программирования.

Известны две основные модели вычислений. Более раннюю можно назвать «чистым потоком данных». Программа в этих моделях имеет вид ориентированного графа, состоящего из именованных узлов (соответствующих командам) и дуг, задающих зависимости по данным между командами. Данные циркулируют вдоль дуг в форме токенов (tokens), состоящих из значения и тега. Известны две основные разновидности потоковых компьютеров, основанных на модели «чистого потока данных»:

  • статические;

  • динамические.

В статических моделях вычисления граф потока данных (data flow graph) представляется набором заготовок команд, содержащих код операции, поля для хранения поступающих операндов и поля адресов назначения, по которым должен быть отправлен вырабатываемый командой результат. Таким образом, каждая дуга графа может содержать одновременно не более одного токена. Выходные дуги вершин графа не должны содержать выработанный, но еще не потребленный другой вершиной результат. Вследствие этого необходимо введение подтверждающих сигналов, распространяющихся вдоль дополнительно введенных дуг в направлении, противоположном движению токенов.

Среди проектов статических потоковых можно назвать машину Д. Денниса (^ Jack Dennis), реализованную в Массачусетском технологическом институте (MIT, США) [2-5], системы LAU (Тулуза, Франция) [6, 7], DDP (Distributed Data Processor) фирмы Texas Instruments (США) [8], DDM1 (Data Driven Machine), построенную в Университете штата Юта (США) [Error: Reference source not found], а также первый потоковый микропроцессор uPD7281 фирмы NEC Electronics (Япония), предназначенный для обработки изображений [10].

Статическая модель принципиально крайне проста, но при ее реализации возникает немало проблем, препятствующих эффективному использованию (фактическое удвоение объема циркулирующей в системе информации, невозможность реализации современных языковых концепций и др.). Практически в ней достижим только конвейерный эффект распараллеливания.

Динамическая модель потоковых вычислений явилась попыткой устранить эти проблемы. Она предполагает возможность параллельного исполнения различных итераций цикла  концептуально это приводит к необходимости формирования в реентерабельном виде многих копий подграфов исходного графа потока данных. Однако такое копирование является сугубо виртуальным, поэтому возникает необходимость хранить в токенах дополнительную информацию  контекст их использования (colour). Теперь каждая дуга графа может содержать множество токенов, и команда выполняется, как только становятся доступными все токены одного цвета.

Пусть необходимо произвести вычисления по формуле:

,

где x и y  это некоторые ранее вычисленные значения, а a и b  константы.

На рис. а) приведен фрагмент написанной на некотором автокоде программы, вычисляещей значение переменной z. На рис. б) показан соответствующий фрагмент графа потока данных. Если этот фрагмент требуется выполнять в цикле (формула тогда примет вид:

,

то необходимо сопоставлять токены, относящиеся к одной итерации цикла.



Рис. Фрагмент программы и граф потока данных

Такая модель была впервые разработана в Манчестерском университете (Англия) И. Ватсоном (^ I. Watson) и Д. Гурдом (J. Gurd) [11-13], и, независимо, в Калифорнийском университете (Ирвин, США) под руководством д-ра Арвинда (Arvind) [14, 15]. Известны и другие проекты динамических потоковых ВС [16-19] и др.

Основная проблема при создании динамических потоковых систем – разработка устройства, «собирающего» токены одного цвета, которое требует наличия ассоциативной памяти очень большого объема. Компромиссом являются различные виды хеширования, которые снижают потенциальную производительность.

Более поздние разработки стали все дальше отходить от «чистого потока данных», используя самые разные гибридные подходы. Именно сочетание свойств потоковой и последовательной обработки данных представляется многим экспертам одним из наиболее перспективных путей создания вычислительных систем сверхвысокой производительности [20]. Основной вопрос, который при этом требует решения  выбор соотношения свойств потоковой и последовательной обработки в конкретном архитектурном воплощении. Предлагаемая архитектура, описанная Барским А.Б. и Шиловым В.В. в работе [21], представляет один из многих возможных ответов на него.

Так как архитектура dataflow является нестандартной и обладает интересными решениями, то ее имеет смысл преподнести студентам. Для облегчения освоения архитектуры было решено разработать инструмент, который позволит студентам на практике попробовать данную модель. Помимо этого студенты получат навык программирования на низко-уровневом языке программирования. Различные настройки, которыми обладает, разработанная имитационная модель, дает возможность поэксперементировать и поисследовать систему.

Имитационное моделирование – это метод, позволяющий строить модели, описывающие процессы так, как если бы они проходили в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества.

При имитационном моделировании изучаемая система заменяется моделью с достаточной точностью описывающей реальную систему и с ней проводятся эксперименты с целью получения информации об этой системе.

Имитационное моделирование – это частный случай математического моделирования. Существует класс объектов, для которых по различным причинам не разработаны аналитические модели, либо не разработаны методы решения полученной модели. В этом случае математическая модель имитационной моделью.

К имитационному моделированию прибегают, когда:

  • дорого или невозможно экспериментировать на реальном объекте;

  • невозможно построить аналитическую модель: в системе есть время, причинные связи, последствие, нелинейности, случайные переменные;

  • необходимо сымитировать поведение системы во времени.

Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между ее элементами или другими словами — разработке симулятора исследуемой предметной области для проведения различных экспериментов.

Имитация, как метод решения нетривиальных задач, получила начальное развитие в связи с созданием ЭВМ в 1950х — 1960х годах. Одной из таких задач является разработка имитационной модели потоковой вычислительной системы.

Целью выпускной квалификационной работы является разработка имитационной модели потоковой вычислительной системы на основе предлагаемого архитектурного решения. Имитационная модель позволит проанализировать «поведение» потоковой вычислительной системы в зависимости от различных факторов: количества исполняющих устройств, объема модулей памяти, времени исполнения команд и др.
  1   2   3   4   5   6   7   8   9   ...   14

Добавить документ в свой блог или на сайт

Похожие:

Архитектура и принципы программирования потоковых вычислительных систем iconАрхитектура и принципы программирования потоковых вычислительных систем
Имитационное моделирование – это метод, позволяющий строить модели, описывающие процессы так, как если бы они проходили в действительности....

Архитектура и принципы программирования потоковых вычислительных систем iconАрхитектура параллельных вычислительных систем
Потоковая (data flow) обработка информации и соответствующие способы организации процесса вычислений известны уже около 50 лет (первая...

Архитектура и принципы программирования потоковых вычислительных систем iconАрхитектура параллельных вычислительных систем
Первый одноядерный микропроцессор (Intel 4004) был представлен 15 ноября 1971 г корпорацией Intel. Он содержал 2300 транзисторов,...

Архитектура и принципы программирования потоковых вычислительных систем iconКафедра автоматизации систем вычислительных комплексов автоматическое...
Формулируются критерии, проводится сравнительный анализ и выбирается один метод для реализации в рамках метода обнаружения уязвимостей....

Архитектура и принципы программирования потоковых вычислительных систем iconЗадача проекта создание Информационной системы изучения дисциплины...
Задача проекта создание Информационной системы изучения дисциплины «Архитектура эвм, систем и сетей», состоящую из электронных пособий,...

Архитектура и принципы программирования потоковых вычислительных систем icon«Алгоритм» и«Об­щие принципы работы эвм»
Программы: «Алгоритмизация и основы программирования» и «Общие принципы организа­ции и работы компьютера»

Архитектура и принципы программирования потоковых вычислительных систем iconУчебная программа курса или дисциплины «Основы программирования»
В частности, в курсе рассматриваются основные конструкции языков программирования, анализируются основные типы и структуры данных,...

Архитектура и принципы программирования потоковых вычислительных систем iconЛабораторная работа №6 Итоговое задание «Логическое программирование на языке Visual Prolog»
Получить практические навыки применения систем и языков логического программирования для построения систем, основанных на знаниях....

Архитектура и принципы программирования потоковых вычислительных систем iconЛекция Архитектура 32-разрядных ос windows 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Архитектура и принципы программирования потоковых вычислительных систем icon«Организация эвм» Контрольно курсовая работа «Проектирование вычислительной системы»
Данная контрольно-курсовая работа выполняется с целью закрепления знаний по курсу «Организация ЭВМ и систем» и получения практических...



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница