Основа построения МДА


Это автоматный способ организации вычислений, основанный на теории динамических автоматных сетей.

Программа МДА – это сеть, каждому узлу которой соответствует некоторый автомат, способный не только изменять свое состояние и перерабатывать данные, но также изменять свои связи с другими узлами, порождать новые автоматы(узлы), уничтожать самого себя или узлы с которыми он связан. Заметьте, что систем в окружающем нас мире не существует, мы просто их наблюдаем. Выполнение программы сводится к автотрансформации сети, входе выполнения которой исходная сеть растет(развивается) и в конечном итоге теряет способность к изменению, что соответствует окончанию решения задачи.

Как нам реализовать эти представления?

В жизни реализовать динамическую автоматную сеть(ДАС) в чистом виде очень сложно, то есть устройство, которое является вычислительным одновременно является и устройством, которое производит технологически эти автоматы, более того уничтожает или утилизирует продукты их распада. В биологических системах такое наблюдается. Так как у нас получается некие отличные от биологических поэтому нам надо это вместить в рамки известных технологий. Как это сделать? Есть 2 подхода:

1. Упростить на одном уровне

2. Приведем этот уровень к почти традиционным системам с известыми ранее программами, процессами и т.д.

Виртуальная динамическая автоматная сеть(ВДАС).

Любой ДАС поставим в соответствие виртуальную машину, организация которой динамически изменяется в соответствии с изменением структуры сети в ходе решения задачи.

Организация МДА

Организация МДА

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

Недостаток этой системы в том, что если есть 4 автомата, то их можно только уменьшать, увеличить их нельзя.

Состав МДА: состоит из операционной и коммутационной частей. Операционная часть обеспечивает хранение данных и реализацию автоматных операторов. Коммутационная часть обеспечивает динамическое изменение связи между операционными автоматами. Состоит из специализированных коммутационных автоматов.

Недостаток: ДАС обладает способностью ограниченного роста.

Вывод: необходимость виртуализации коммутационной и операционной части.

Структура конкретной МДАС.

Структура конкретной МДАС

Рисуем блок операционных автоматов. То есть операционная часть нашего мультипроцессора представляет собой мультипроцессорную систему с общей памятью. Далее нарисуем правее коммутационное поле(позволяет соединить каждого с каждым, но кратковременно). Потребуется 4 типа процессоров: административный, исполнительный, управляющий, коммутационный. Каждый процессор имеет очередь запросов на обработку, то есть у нас процессор один, а моделирует он произвольное число автоматов. Поэтому у нас есть блоки данных, которые передаются от одного процессора к другому и представляют собой задание на выполнение порождения, уничтожения автомата в автоматной сети и т.д. Существуют следующие связи: АП определяет тип элементарного задания, которое необходимо выполнить и ставит их в ту или иную очередь. То есть АП получает задания или сообщения и смотрит: это сообщение связано с управлением или исполнением и взависимости от этого ставит в очередь эти задания к УП или ИП. Может оказаться, что текущий акт элементарной обработки является актом коммутации возникновения связи или же ее уничтожения, поэтому вполне возможно, что разобравшись с тем, что за задание текущее или структура данных находится в его очереди направляет это задание одному из коммутационных процессоров. Понятно что ИП или УП, отработав свое задание могут породить какое-то свое задание и поэтому рисуем так, что есть выход и блоки данных с этого выхода поступают на вход АП. Также вполне возможно, что нам потребуется точно такой же выход от КП. КП, в свою очередь, записывает или читает эти блоки данных из основной памяти в область того или иного ОА. КП-ы обеспечивают возможность взаимной адресации двух таких ОА через коммутационное поле, т.е. в коммутационном поле хранится текущее состояние связей между этими автоматами. Требуется внешний выход, чтобы система не была замкнута – внешняя среда.

ОА-ты отображаются в вычислительные модули, каждый из которых состоит из процессоров(реализация автоматных функций), основная и внешняя память, хранение описания автоматов и их состояний, каналы ввода/вывода взаимодействия автоматов между собой и с внешними устройствами. Коммутационная часть отображается в коммутационные модули.

АП управляет ресурсами и организует совместное функционирование процессоров управляющего модуля и коммутационного модуля.

ИП реализует выполнение автоматных операторов.

УП выполняет интерпритацию элементов динамической автоматной сети.

КП реализует внутреннюю, межмодульную и внешнюю коммутацию.

Ситуация следующая: мы должны виртуализовать наше представление о ДАС. Сделаем это следующим образом: введем множество специализированных процессоров, которые будут обмениваться сообщениями, но эта специализация процессоров обеспечит нам эффективное решение задачи связанное с представлением ДАС. Мы берем описываем каждый ОА(они не обязательно одинаковы). Описание состоит из автоматной функции и состояния или на языке программирования – это тело функции и те статические данные которые она использует. АП формирует очереди заданий для каждого процессора в системе по типам. Самая 1-я команда АП в момент нажатия кнопки “пуск” – выбрать описание 1-го ОА и “посмотреть”, что он должен делать. АП выдает команду УП: выбери описание автомата через коммутационную сеть из ОП. Это описание выбирается и поступает в УП. Он смотрит, что это описание автомата и надо его исполнить. Он говорит АП-ру: “посмотри есть ли свободный ИП и поставь его в очередь там. Далее после того как вычислилась функция надо восстановить описание, потому что его может кто-то использовать, поэтому этот ИП говорит: “ сохрани новое состояние такого-то автомата в ОП”, что он через КП, отправляя туда новое состояние. Далее предположим надо установить связь между 2-мя автоматами. ИП видит, что автомат породил новую связь и говорит тогда АП: “сохрани состояние и установи новую связь между двумя узлами”.

Недостатки:

— Невозможно использовать один и тот же шаблон повторно ( одновременно), т.е. отсутствует повторная входимость в ГПД ( он не является рентабельным);

— Каждый элемент данных автономный и неделимый объект ? сложность работы со структурными данных.

Реализация повторной входимости:

1. Блокировка цикла. Цикл заблокирован и он никогда не будет работать.

2. Не завершившийся цикл.

Создание новых переменных while (G2(x)) x=G1(x);

1.недостаток метода создания новой переменной x является возможная ….. из-за того, что новые токены x0 могут поступать во …… порты этого графа окончания итерационных вычислений.

2. Элементы создания новой переменной должны создаваться для каждой переменной изменяемой в цикле.

x=y=0;

while (G1(x)) {

x++,y+=x;

}

Загрузка...