УДК 004.031
Е.А. Титенко
исчислительная продукционная система и реконфигурируемый мультипроцессор для ее реализации
Интеграция телекоммуникационных средств и вычислительных устройств или систем с однородной реконфигурируемой структурой [1], ориентированных на параллельные процессы обработки данных и знаний, перспективное направление развития современной вычислительной техники (ВТ). Математические, программные и технические средства обработки информации в значительной степени ориентируются на проблемно-поисковые задачи и задачи поддержки принятия решений, использующие модели представления и обработки знаний.
Общая объединяющая особенность данного класса задач связывается с возможностью символьного представления предметной области и обработки на единых математических началах символьной информации (ОСИ) как конструктивных объектов [2, 3].
Другая объединяющая особенность связана с тем, что задачи ОСИ описываются ветвящимися конструктивными процессами, выполняемыми не в едином, а в разветвленном пространстве времени. Эта особенность определяет создание высокопроизводительных дискретных преобразователей информации с неединичным набором исполнителей и реконфигурируемых однородных вычислительных устройств и многопроцессорных систем. Таким образом, интеллектуализация процессов поиска, доступа, передачи и преобразования символьной информации становится магистральным направлением развития ВТ и средств телекоммуникации.
Вместе с тем, в рамках теории алгоритмов не существует дескриптивно универсальных моделей (абстрактных систем) с неединичным набором исполнителей, эффективно реализующих ветвящиеся конструктивные процессы. Известные модели параллельных вычислений (клеточные автоматы, модели обработки информации на основе ассоциативной памяти, сети Петри и др.) имеют ограниченные дескриптивные возможности и предназначены для решения задач
в определенных предметных областях (обработка изображений, обработка реляционных отношений, маршрутизация данных в сетях и т. д.). Сложившаяся ситуация не позволяет создавать перспективные архитектуры устройств и систем ВТ, ориентированные на реализацию параллельных символьных вычислений под произвольную структуру графа решения задачи, что определяет актуальность исследования.
Проблема выбора генератора ветвящихся конструктивных процессов для ОСИ
Символьная информация, имеющая более высокий уровень абстракции, чем числовая информация, является основой моделей представления знаний. Она характеризуется динамически изменяемыми коллекциями данных со сложной внутренней логической структурой, недетерминированным характером обработки больших размеров данных, размытыми границами размера минимальной единицы обработки, множественными структурными зависимостями между элементами, комбинированием локальных и глобальных процессов преобразования, многообразием вариантов вычислительных траекторий. Задачи ОСИ традиционно трактуются как задачи поиска и/или порождения новых конструктивных объектов на основе имеющегося набора исходных объектов (исходных данных) и набора правил преобразования (вставка, замещение, удаление групп символов), имеющих разрешительный смысл исполнения, т. е. на основе исчислительных систем.
Вместе с тем, современный этап средств обработки характеризуется двояким отношением к исчислительным системам. В большинстве случаев термин «разрешительные правила» исчис-лительной системы уточняется в соответствии с соглашением Э. Поста как альтернативные в срабатывании правила. Следствием такого способа уточнения является последовательный с возвратами механизм поиска и/или порождения новых конструктивных объектов. При этом возвратный механизм, являющийся основным источником не-
продуктивных затрат, основан на существовании единственного экземпляра исходных объектов, подлежащих обработке. Правило, приводящее к изменению состава или структуры единственного экземпляра объекта, понимается как альтернативное, а избыточные затраты времени идут на восстановление экземпляра объекта для последовательного генерирования следующих вариантов. Исходя из этого, генерация множества вариантов и ветвящиеся конструктивные процессы исчислительной системы подменяются работой алгоритмической системы с последовательным порождением ветвящихся процессов в линейном пространстве времени. Другими словами, статус исчислительных систем как самостоятельных объектов de facto нивелируется до статуса вспомогательного объекта. И, как следствие данной ситуации, - несоответствие алгоритмических и исчислительных законов генерации ветвящихся процессов, что порождает проблему временной избыточности функционирования исчислитель-ных систем и не позволяет создавать реконфи-гурируемые однородные устройства и вычислительные системы ОСИ.
Постановка задачи
В рамках теории алгоритмов [2] для исчис-лительных систем термин «разрешительные правила» будет уточнен как равноправные в срабатывании правила. Следствием такого уточнения является параллельная реализация ветвящихся конструктивных процессов с механизмом безвозвратного порождения новых конструктивных объектов по необходимому для ветвления количеству копий экземпляра обрабатываемого конструктивного объекта.
Исходя из особенностей задач ОСИ, наиболее подходящими для задания параллельных вычислений являются исчислительные продукционные системы. Вычислительный продукционный формализм основан на применении единственного типа правил структурного преобразования - продукций, формализующих базовую схему мышления естественного интеллекта «условие-действие». Исчислительная продукционная система (ПС) состоит из однородного по составу набора разрешительных продукций и естественным образом ориентирована на вариативное многообразие активаций продукций и динамическую изменчивость структуры символьных данных для параллельной генерации ветвящихся продукционных процессов.
Вместе с тем, известные исчислительные ПС (ассоциативные исчисления Туе, нормальные исчисления Э. Поста, неограниченные грамматики Н. Хомского и др.) [4] имеют недостаточные возможности для эффективной по времени генерации ветвящихся конструктивных процессов. Основные проблемы связаны с отсутствием информации о динамически изменяемых коэффициентах ветвления, задающих общие оценки пространства вывода, и с неприспособленностью известных ПС описывать скоординированную работу неединичного множества исполнителей, параллельно генерирующих экземпляры конструктивных объектов. Данные проблемы определяют необходимость модификации исчислительной ПС, создания абстрактной продукционной машины-генератора ветвящихся процессов и на ее основе - структурно-функциональной организации динамически реконфигурируемого мультипроцессора ОСИ с однородным набором продукционных устройств.
Модификация исчислительной продукционной системы
Модифицированная исчислительная ПС будет рассматриваться как набор продукций, выполняемых на основе неединичного множества элементарных исполнителей правил, количество которых и связи между которыми динамично ре-конфигурируются в процессе вывода (генерации) новых конструктивных объектов. Исчислитель-ный характер продукционной системы определяется тем, что схема управления имеет не процедурную, а декларативную основу исполнения. Это означает, что в текущий момент времени к исполнению пригодно несколько продукций, причем достоверной информации предпочтения нет. Таким образом, существенное преимущество исчислительной ПС для организации ветвящихся вычислительных процессов определяется тем, что управление фактически осуществляется потоком готовых к обработке данных на недетерминированных началах, что позволяет теоретически обеспечить предельный параллелизм вычислений.
Важным элементом новизны модифицированной исчислительной ПС как модели быстродействующего дискретного генератора ветвящихся продукционных процессов является уточнение недетерминированной схемы активации продукций и порождения новых конструктивных объектов. Недетерминированность шагов вычисле-
нии предлагается уточнить как потенциальную равноправность всех применимых на текущем шаге продукции. Работа исчислительной ПС на текущем шаге вывода заключается в применении на равноправных началах к входному конструктивному объекту всех возможных продукций, параллельном порождении всех выходных конструктивных объектов и рекурсивном вызове ПС с обновленными входными конструктивными объектами.
Пусть задан алфавит А, непустое множество слов А* в нем. Пусть задана исчислительная ПС, ориентированная на генерацию ветвящихся продукционных процессов
Oi^Pi
(1)
УОп->Рп
где Ок ^ Рк - правило преобразования слов (продукция), k = 1 — п, пеЩ О1 — Оп - заменяемые слова-образцы в рабочем алфавите А; Р1 - Рп -модифицирующие слова-подстановки в рабочем алфавите А; ^ г А.
Действия, допустимые над словом 5" (в рабочем алфавите А) относительно к-й продукции, описываются как конструктивный процесс разложения 5 на три части ( собственное начало, тело и собственное окончание) с минимально возможной длиной собственного начала и замены в слове 5 первого вхождения Ь*0*R левой части к-й продукции ее правой частью Р. Аналитически работу продукции над словом 5" можно описать выражением, представленным на рис. 1
Конечное число вариантов разложения слова 5 и возникающая от этого недетерминированность исчислительного процесса генерации новых слов в вычислительных процессах ОСИ устраняются
1-- 5=1! 07?!
8=Ь№1 8=ЬтОЯ„
S = LOR, О Р S' = LPR
Рис. 1. Срабатывание продукции над 5 т - число вариантов разложения слова 5; Ь1 - Ьт - упорядоченные по длине префиксы (Ь1 с.Ь.с Ьт); R1 - Ят - упорядоченные по длине суффиксы (Кт с...Л.... с R1)
обработкой конструктивных объектов [2], которая предписывает при срабатывании использовать минимальную от начала позицию вхождения слова O, т. е. отыскивать минимальную длину собственного начала: Len(L1)^- min.
Для системы (1) бинарное отношение непосредственной выводимости слова ß из слова а обозначается как а ^ ß. Оно означает, что слово ß смежно со словом а, если существуют такие слова L, ReA* что а = L*Ok *ReA*, ß = L*Pk *ReA* и существует продукция Ok ^ Pk.
Пусть meN, а, ß, а., а,, ..., а ,, а eA*,
j ? ? г? 0 р ? m-P m '
- m -я степень бинарного отношения ^, а ^ — рефлексивное и транзитивное замыкание бинарного отношения ^. Тогда линейным выводом длины m слова ß из слова а в исчислительной ПС называется последовательность слов а
а
, для которых справедливо
■а ^^ (2)
а
.V , —> а , а = В.
т-1 т ' т I
Слово в, выводимое из слова а за т шагов в исчислительной ПС, обозначается как а в . Слово в, выводимое из слова а в исчислительной ПС, обозначается как а ^ *в .
Для описания, исследования и временной оптимизации ветвящихся продукционных процессов в исчислительной ПС вводится р-значное отношения равноправной выводимости.
Пусть реЫ и заданы слова а, в1, ..., вр-1, вреА*. Р-значное отношение непосредственной выводимости слов в1, .., вр-1, вр из слова а обозначается как а ^ {в}р. Оно означает, что слова в1, ..., вр-1, вр смежны со словом а, если существуют такие активационные продукции количеством р:
Oi ^ P
h h
Oh ^ Pt
h 2
(3)
О ^ Р
'р р
и слова Ь,,Ri е А*, Ь ,Ri е А*, ..., Ь, ,Л еА*,
11 п Ч гр 1 р
что равноправно возможны следующие представления а = {Ь,. * О, * }р е А* и {в}р = {Ь,к * л, * л, }р е А'1 для k = 1-р.
Ветвящимся выводом длины т множества слова в1, в2.. в л из слова а в исчислительной ПС называется последовательность множеств слов а0, {а1}, ..., {ат-1}, {ат}, для которых справедливо
а ,, а
m-17 m
а =а, а
а0 = а ^ , а1 ^ {а2 а2 ^ {аз }р , (4)
ая_1 ^ {ат}рт , К}ря ^Р2, Р,.
Соответственно множество слов в в2, ..., в^ выводимое из слова а за т шагов в исчислитель-ной ПС, обозначается как а {в},. Множество слов в!, в2, . ., в^ , выводимое из слова а в исчис-лительной ПС, обозначается как а ^ {в}й.
Для модифицированной исчислительной ПС задаются отношения линейного и ветвящегося непосредственного следования слов, определяющие два типа преобразований:
преобразование единственного экземпляра исходного слова за т шагов вывода и получение одного выходного слова (линейная генерация);
преобразование необходимого количества копий исходного слова за т шагов вывода и получение множества выходных слов на равноправных началах (ветвящаяся генерация).
Для ускорения эффективной линейной генерации слов в модифицированной исчислитель-ной ПС наряду со стандартным бинарным отношением а ^ в непосредственной выводимости слов вводится его модификация, обозначаемая как а в и понимаемая как р-значное отношение независимой выводимости на р независимых вхождениях. Данная модификация относится к множеству таких активационных продукций (3), что существуют слова Ь, Т1, Т2,..., Тр-2,Я е А и возможен один из альтернативных вариантов представления смежных слов а и в
а = Ь *01 *Т1*01 *Г2*...
к} к}
В * Тр-2* 0к * Я е А*
(5)
(6)
и, соответственно,
в = ь*р *Т*р *т2*...
к •ки 1 к 2
...Р * Т 2* Р * Я е А*,
к р-2 к
где к. = {1, 2, ..., р} - номера активационных продукций из множества (3).
Новизна вводимого р-значного отношения независимой выводимости определяется параллельным срабатыванием р независимых активационных продукций (3) на одном шаге вывода с формированием единственного выходного слова вида (6).
Таким образом, работа исчислительной ПС вида (1) связана с рекурсивным порождением множества слов. Каждый шаг вывода в (1) (каж-
дый рекурсивный вызов) осуществляется путем выбора одного из трех отношений выводимости: бинарное отношение непосредственной выводимости;
р-значное отношение равноправной выводимости ( ИЛИ-вывод);
р-значное отношение независимой выводимости (И-вывод).
Необходимое количество копий исходного слова на текущем шаге вывода для ИЛИ-вывода определяется в соответствии с конструктивной дизъюнкцией вида [5]:
(яр н 0о) V (О0 н 0р) V (0 н 0р0ро) V V (0, = 0Р000) н 1,
(7)
где 0р, 0о - собственное начало и окончание /-го образца; 01р, 0оО - собственное начало и окончание ,-го образца.
Первые два члена конструктивной дизъюнкции (7) задают алгоритм поиска пересечений слов, понимаемых в параллельном выводе как конфликтные слова [6]. Третий и четвертый члены конструктивной дизъюнкции (7) задают алгоритм поиска вхождения поискового слова в структуру обрабатываемого слова.
Важнейшую роль в организации ветвящихся конструктивных процессов в исчислитель-ной ПС (ветвящихся продукционных процессов) играет абстрактная машина-генератор продукционных выводов (МГПВ), являющаяся основой аппаратной поддержки параллельных выводов. МГПВ - это модель устройства, конкретизирующая состав, функциональное назначение и взаимодействие неединичного множества исполнителей. Степенью свободы МГПВ будет называться характеристика самостоятельного функционирования отдельного исполнителя в составе скоординированной работы МГПВ в целом.
Исчислительная ПС с неединичным множеством исполнителей в рамках МГПВ конкретизируется п+1 исполнителем, среди которых выделяются п рабочих исполнителей и один исполнитель-координатор (рис. 2). За каждым рабочим исполнителем закрепляется ровно одна продукция, чем и достигается прямое соответствие между МГПВ и исчислительной ПС вида (1). Рабочий исполнитель имеет собственную внутреннюю ленту. Свойство «свободы рабочих исполнителей» выгодно отличает данную МГПВ, т. к. структура технического устройства будет наследовать свойства естественного распараллели-
вания вычислений по мере готовности данных, что позволяет реализовать предельный параллелизм потока данных. В функции исполнителя-координатора входит создание необходимого числа копий слов для рабочих исполнителей, синхронизации завершения параллельной работы исполнителей и объединение слов-результатов в единое результирующее слово для следующего рекурсивного вызова исчислительной ПС (1) с обновленными данными.
Разработка структуры реконфигурируемого мультипроцессора
Одна из основных причин ограничения области применения известных многопроцессорных устройств для реализации ветвящихся вычислений - существование конфликтных ситуаций между словами, не позволяющих динамически распараллеливать их обработку в силу отсутствия информации о степени ветвления процессов.
Сущность конфликтной ситуации заключается в разрушении структуры образца у-й продукции в обрабатываемом слове и ее неприменимости для срабатывания г-й продукции при пересечении образцов г, у (г ф у) исчислительной ПС вида (1). Парные пересечения образцов г, у (г ф у) по (7) являются логическим индикатором зависимости между исполнителями продукций (устройствами), вследствие чего образовываются непродуктивные затраты времени на поиск, распознавание и обработку таких конфликтных си-
туаций на каждом шаге работы МГПВ. В связи с этим важнейшая задача аппаратной поддержки МГПВ - синтез оригинальной структуры мультипроцессора, имеющего встроенные средства распознавания конфликтов и динамической реконфигурации соединений устройств-исполнителей продукций.
Под реконфигурируемым мультипроцессором понимается вычислительная система, состоящая из совокупности одинаковых процессоров, обладающих равными возможностями доступа к общей разделяемой рабочей памяти (РП) [7] и встроенными средствами динамического изменения соединений под структуру графа решаемой задачи. Основу реконфигурируемого мультипроцессора составляет решающее поле однородных продукционных вычислительных устройств (ПВУ) общим количеством N х Ы, где N — число рабочих устройств-исполнителей продукций (рис. 3 а). Каждое из ПВУ реализует только одну продукцию из (1), взаимодействуя с удаленными ПВУ через распределенную коммутационную структуру. Основу ПВУ (рис. 3 б) составляет вычислительно-коммутационная часть, содержащая собственно блоки поиска и подстановки, входной мультиплексор (МХ), выходной демультиплексор ^МХ), управляемые настроечными битами 01 ^ и 02 ... Введение двух коммутирующих узлов в ПВУ обеспечивает гибкую настройку соединений под различные типы параллелизма с объединением необходимого ко-
...АЬСсКеРгх...
Буфер
Входное слово входного ~Т слова
...ТеЬСсКеРгх...
К О П И Р О в
А Н И Е
Рабочий ис-юлнитель№1
01
► р^ [ак
Те
Рабочий исполнитель
Ог
Рабочий исполнитель №г
Оп
►Рп} {гх>-
ш
к о н
к
А
т Е Н
А Ц
И
я
Обнаружение результирующего слова
...ТеЬСКеР\Л/а...
Выходное слово
Удале- Исклю-
I—I—I—I—I—I—I—п—Г ние "ТП—I—I—I—I—п—I—г чение '— —^—'—'—'—'—ловто- ^—'—^—^—'—пустых
ров слов
..ЬС#Ж8#Рп... _ ...ЬС#Н№3#1-№>.!. _
...ЬС#$#ШЗ#$..
Рис. 2. Абстрактная машина-генератор продукционного вывода
личества ПВУ в один ярус вывода. Важнейшая структурная единица реконфигурируемого мультипроцессора - блок анализа конфликтных ситуаций и генерации конфликтных слов. Распознавание конфликтных ситуаций в составе входных данных позволяет выполнять динамическую реконфигурацию ПВУ с многообразием вариантов соединений. Блок реконфигурации (БРК) вырабатывает для каждого шага работы мультипроцессора настроечные управляющие вектора, каждый бит которых осуществляет коммутацию ПВУ и реконфигурацию решающего поля устройств под различные типы параллелизма (ИЛИ-, И-вывод) на нескольких ярусах вывода.
Другим структурным признаком новизны организации мультипроцессора является модульно-распределенная рабочая память с частичной дешифрацией адреса со стороны младших разрядов, что позволяет распределить физически смежные информационные единицы (слова) по различным модулям. Данное распределение служит основой для организации параллельной работы ПВУ по нескольким ярусам вывода в пределах решающего поля однородных устройств.
Таким образом, для реализации параллельных ветвящихся вычислений на основе модифицированной исчислительной ПС создан реконфигури-
а)
И
21
N1
12
22
N2
Ш
2К
NN
Решающая матрица ПВУ
РПу
РП.
РП!
^_^ ^_^ ^ ^
I
Блок анализа и генерации
О1
0„
Блок реконфигурации
б)
от РП
МХ
ПВУг-17
л
РгР
от БРК
Блок поиска вхождений
Блок подстановки
ПВУ//
РгО
<- 1 1 к РП
1 1)МХ -^
/ \
ПВУ,-+1/
от БРК
Рис. 3. Реконфигурируемый мультипроцессор: а - структурная схема; б - структура продукционного вычислительного устройства
руемый мультипроцессор, управляемый потоком данных и имеющий в своем составе встроенные средства для реконфигурации операционной части под структуру графа задачи. Реконфигурация выполняется путем вычисления управляющих двоичных векторов настроек соединений ПВУ под различные типы параллелизма. Главные отличи-
тельные особенности мультипроцессора - однородность структуры решающего поля устройств, реализация ПВУ только одной продукции, динамическая реконфигурация связей ПВУ, максимизация загрузки ПВУ путем выбора соответствующего набора входных данных с вычисленными коэффициентами параллелизма на них.
СПИСОК ЛИТЕРАТУРЫ
1. Каляев, А.В. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений [Текст] / А.В. Каляев, И.И. Левин. -М.: Янус-К, 2003. -380 с.
2. Успенский, В.А. Теория алгоритмов: основные открытия и приложения [Текст] / В.А. Успенский, А.Л. Семенов. -М.: Наука, 1987. -288с.
3. Довгаль, В.М Методы модификации формальных систем обработки символьной информации [Текст] / В.М. Довгаль. -Курск: КурскГТУ, 1996. -114 с.
4. Марков, А.А. Теория алгоритмов и конструктивная математика, математическая логика, информа-
тика и смежные вопросы [Текст] / А.А. Марков // Избранные труды: Т. 2. -М.: МЦНМО, 2007. -650 с.
5. Титенко, Е.А. Продукционная система для реализации параллельных символьных вычислений [Текст] / Е.А. Титенко // Системы управления и информационные технологии. -2006. -№ 1 (23). -С. 187-191.
6. Титенко, Е.А. Продукционные системы и теорема о конфликтных словах [Текст] / Е.А. Титенко, В.С. Евсюков // Изв. Тульского гос. ун-та. -2006. -Вып. 15. -С. 92-98.
7. Корнеев, В.В. Вычислительные системы [Текст] / В.В. Корнеев. -М.: Гелиос АРВ, 2004. -512 с.