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

Аппаратная модель для определения минимального числа блоков при декомпозиции параллельных алгоритмов логического управления Текст научной статьи по специальности «Математика»

CC BY
118
21
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Ватутин Э.И., Зотов И.В.

Описана аппаратная модель для определения минимально возможного числа блоков разбиения при декомпозиции параллельных алгоритмов логического управления с учетом заданных ограничений на сложность блоков. Приведено описание устройства (акселератора) на ее основе. Представлены результаты оценки его быстродействия.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Ватутин Э.И., Зотов И.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Аппаратная модель для определения минимального числа блоков при декомпозиции параллельных алгоритмов логического управления»

УДК 681.3.00+681.326

Э. И. Ватутин, И. В. Зотов

Курский государственный технический университет

АППАРАТНАЯ МОДЕЛЬ ДЛЯ ОПРЕДЕЛЕНИЯ МИНИМАЛЬНОГО ЧИСЛА БЛОКОВ ПРИ ДЕКОМПОЗИЦИИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ ЛОГИЧЕСКОГО

УПРАВЛЕНИЯ

Описана аппаратная модель для определения минимально возможного числа блоков разбиения при декомпозиции параллельных алгоритмов логического управления с учетом заданных ограничений на сложность блоков. Приведено описание устройства (акселератора) на ее основе. Представлены результаты оценки его быстродействия.

Декомпозиция управляющих алгоритмов на блоки является ключевым этапом структурно-функционального проектирования систем логического управления [1]. Высокая трудоемкость выбора разбиения при декомпозиции обусловливает целесообразность перехода от его программной реализации к аппаратным решениям. Одно из таких решений, основанное на упрощенной последовательной процедуре разбиения, было предложено в работе [2], в которой содержится дальнейшее развитие методологии аппаратного выбора разбиения в части схемного воплощения методов, способных дать более высокое качество решений, но в то же время обладающих существенной трудоемкостью, в частности параллельно-последовательного метода [3].

При формировании разбиения с использованием параллельно-последовательного метода необходимо нахождение так называемого базового сечения алгоритма [4], позволяющего оценить минимально возможное число блоков разбиения, а также задать начальное распределение множества вершин в нескольких формируемых блоках, что способствует повышению качества решений. Для его построения применяются подстановочные правила и- и d-поглощения, основанные на редукционных преобразованиях деревьев, представляющих сечения алгоритма [5]. Пример сечения и его представление в виде дерева и таблицы приведены на рис. 1 (через ai здесь обозначены вершины алгоритма управления). Правила и- и d-поглощения включают более простые операции над деревьями, основной из которых является определение ш-мощности сечения [4].

Аппаратной моделью сечения является схемно-реализованное дерево T (см. рис. 1), включающее набор узлов (D0, D1,..., DN _1) и регистр текущего количества узлов (ТКУ). Каждый узел дерева представляется регистром со следующими полями: ТУ (тип узла), МВС (множество вершин/ссылок), СП (ссылка на предка). Каждый узел дерева также включает поле мощности узла (МУ), используемое при определении ш-мощности сечения. Здесь и далее NT — максимальное количество узлов в дереве, Lmax — максимальное количество листьев в

дереве (вершин в алгоритме управления), NR = max (Lmax, NT) — размер битового вектора ссылок на другие элементы дерева (или вектора листьев), штах — максимальное значение ш-мощности сечения (дающее минимально возможное число блоков разбиения алгоритма).

Поле ТУ может принимать следующие значения: „1*" („10" или „11") — узел является листом дерева, „00" — параллельное объединение вершин (• ), „01" — альтернативное объе-

динение вершин ( | ). Поле МВС хранит битовый вектор ссылок на потомков узла дерева, в случае если узел параллельный или альтернативный; или битовый вектор листьев, если узел является листом дерева. Поле СП хранит номер узла-предка в дереве.

Рис. 1

Алгоритм вычисления о-мощности сечения включает два этапа.

1. Подсчитать и записать в поля МУ листьев количество листьев в наборах листьев, предком которых является параллельный узел; записать значения „00...01" в листья, предком которых является альтернативный узел; записать значения „00.0" во все остальные узлы.

2. Просмотреть все узлы дерева, кроме корня, в направлении от узлов с большим номером к узлам с меньшим номером. Обновить значение поля МУ предка рассматриваемого узла: если предок является альтернативным узлом, то выбрать максимальное значение МУ текущего узла и МУ его предка; если предок является параллельным узлом, то вычислить сумму значений МУ рассматриваемого узла и МУ его предка (листом в данном случае предок не может быть, поэтому этот случай не рассматривается).

В результате выполнения описанного алгоритма в поле МУ корня дерева будет содержаться искомое значение о-мощности сечения. Следует отметить, что при подобном итеративном способе вычисления о -мощности (в отличие от рекуррентного, предложенного в [4] и реализованного в [5]) крайне важен порядок следования узлов дерева в его табличном представлении: узлы-предки должны иметь меньшие номера (быть записаны в табличном представлении раньше), чем их потомки. В нашем случае это требование легко обеспечивается обходом дерева по ярусам сверху вниз (см. рис. 1).

Порядок вычисления о-мощности сечения, приведенного на рис. 1, в соответствии с описанным алгоритмом представлен в табл. 1.

Таблица 1

Пример определения ю-мощности сечения

Номер итерации Номер рассматриваемого узла, его предок и новое значение МУ предка Значение поля МУ узла

0 1 2 3 4 5 6 7 8 9

1 - 0 1 0 1 0 4 0 0 1 1

2.1 9^7 Б7.МУ=шах(0, 1)=1 0 1 0 1 0 4 0 1 1 1

2.2 8^6 Б6.МУ=шах(0, 1)=1 0 1 0 1 0 4 1 1 1 1

2.3 7^4 Б4.МУ=0+1=1 0 1 0 1 1 4 1 1 1 1

2.4 6^4 Б4.МУ=1+1=2 0 1 0 1 2 4 1 1 1 1

2.5 5^4 Б4.МУ=4+2=6 0 1 0 1 6 4 1 1 1 1

2.6 4^2 Б2.МУ=шах(6, 0)=6 0 1 6 1 6 4 1 1 1 1

2.7 3^2 Б2.МУ=шах(1, 6)=6 0 1 6 1 6 4 1 1 1 1

2.8 2^0 Б0.МУ=6+0=6 6 1 6 1 6 4 1 1 1 1

2.9 1^0 Б0.МУ=1+6=7 7 1 6 1 6 4 1 1 1 1

С учетом принятого представления узлов дерева (см. рис. 1) аппаратная модель первого этапа алгоритма вычисления ю-мощности может быть описана схемой (рис. 2).

а)

С2.1.

ТУ

мвс

СП

СПБ

сопп

Ж р

сомнл

б)

ТУ1

ТУ2

ТУ NR

......t

д)

а1-р'-

п-

ре;

СОПУ

00

0-

Рис. 2

I

СП

ТУ

to

а

в

У

У

У

to

в

Л

ю

ю

ю

ю

У

Модель включает схему подсчета бит (СПБ), предназначенную для определения мощности вектора листьев, схему определения параметров предка (СОПП), используемую для определения типа узла предка (параллельный или альтернативный) и схему определения мощности набора листьев (СОМНЛ), формирующую исходное значение мощности битового вектора листьев в соответствии с типом текущего узла и его предка, где а, в, у — двоичные признаки типа узла (лист, параллельный и альтернативный соответственно), Ь — битовый вектор листьев (| Ь| — его мощность), ЮЬ — начальное значение ю-мощности узла, С21 — синхросигнал записи значений в поля МУ узлов.

На рис. 2 символ „Т" обозначает предка, а — потомка. Комбинационная часть схемы вычисляет мощность битового вектора листьев и в зависимости от значения признака а^

Т Т

рассматриваемого узла и признаков в и у его предка выдает начальное значение мощно-

сти узла оь. Данное значение записывается в поле МУ по синхросигналу С21 , появление

которого свидетельствует о завершении первого этапа алгоритма. Блок СПБ является логическим преобразователем и может быть реализован на ПЛМ или ПМЛ.

Схема определения начальных значений мощностей узлов (а) и ее составляющие приведены на рис. 2, где б — схема определения параметров предка СОПП; в — схема определения признаков узла СОПУ, предназначенная для преобразования поля ТУ в признаки а, в и

у; г — схема определения мощности узла СОМУ, используемая для вычисления о-мощности

Т

узла, а также для получения признаков в и у типа узла предка; д — схема определения мощности набора листьев СОМНЛ, позволяющая получить результирующее значение оь в соответствии с типом текущего узла и типом узла-предка.

Логика СОМНЛ достаточно проста: если Р^ = 1, значение проходит на выход схемы через элементы ИЗ и ИЛИ4, так как на выходе элемента И2 присутствует сигнал логического

нуля благодаря значению у ; если Р1 = 0 и у = 1 (значения признаков Р и у ортого-

Т Т

нальны для узлов-предков, не являющихся листьями: Р ©у = 0), на выходе элемента И

присутствует сигнал логического нуля благодаря нулевому значению Р^, а на выходе элемента ИЛИ4 - значение «00.01» из-за сигнала логической единицы на выходе элемента И.

В случае если рассматриваемый узел не является листом, нулевое значение а^ обеспечивает нули на выходах элементов И1, 2 и, соответственно, на выходе схемы.

Второй этап алгоритма вычисления о-мощности сечения описывается схемой, представленной на рис. З. По синхросигналу С2.1 счетчик СчНУ инициализируется значением поля ТКУ сечения, синхросигнал С23 используется для декремента СчНУ, синхросигналы С2 21 обеспечивают запись новых значений в поля МУ, признак 8 сигнализирует об оконча-

нии работы схемы.

_пл_л

Рис. 3

Итерация работы данной схемы сводится к следующим действиям. Текущий номер узла /, выдаваемый счетчиком СчНУ, коммутирует поля СП и МУ /-го узла, требуемые для работы СОПП, на выходы мультиплексоров 1 и 2. В результате работы СОПП на ее выходе появляются обновленные значения о'к полей МУ (обновленным фактически является значение для предка текущего узла, остальные равны нулю), которые записываются в соответствующие поля МУ предка /-го узла дерева посредством одного из синхросигналов С22к , получаемых с выхода демультиплексора 3 (на каждой итерации активен только один синхросигнал). В результате итеративной работы схемы поле МУ корневого узла дерева получает искомое значение о-мощности сечения, которое может быть использовано в дальнейших преобразованиях.

Оценки асимптотической временной сложности нахождения о-мощности сечения для программной реализации [6] и предлагаемой аппаратной модели приведены в табл. 2.

Таблица 2

Оценки асимптотической временной сложности программной и аппаратной реализаций вычисления га-мощности сечения

Номер этапа Программная реализация [6] Аппаратная реализация

1 О (N • ¿тах ) = О (Щ) о (1)

2 О (Щ ) = О (Щ) о (щ )=о (щ)

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Исследования И. В. Зотова выполнены при поддержке гранта Президента Российской Федерации для молодых ученых МК-30 73.2007.8.

СПИСОК ЛИТЕРАТУРЫ

1. Организация и синтез микропрограммных мультимикроконтроллеров / И. В. Зотов, В. А. Колосков, В. С. Титов и др. Курск: КурскГТУ, 1999. 368 с.

2. Борзов Д. Б., Ватутин Э. И., Зотов И. В., Титов В. С. К задаче субоптимального разбиения параллельных

алгоритмов // Изв. вузов. Приборостроение. 2004. Т. 47, № 12. С. 34—39.

3. Зотов И.В., Колосков В.А., Титов В.С. Выбор оптимальных разбиений алгоритмов при проектировании мик-

роконтроллерных сетей // Автоматика и вычислительная техника. 1997. № 5. С. 51—62.

4. Ватутин Э. И., Зотов И. В. Поиск базового сечения в задаче разбиения параллельных алгоритмов // Рус. деп.

в ВИНИТИ 24.11.03 № 2036-В2003. Курск, 2003. 30 с.

5. Ватутин Э. И., Зотов И. В. Метод формирования субоптимальных разбиений параллельных управляющих

алгоритмов // Параллельные вычисления и задачи управления (РАС0'04). М.: Институт проблем управления, 2004. С. 884—917.

6. Ватутин Э. И., Зотов И. В. Параллельно-последовательный метод формирования субоптимальных разбиений

параллельных управляющих алгоритмов // Свидетельство об официальной регистрации программы для ЭВМ №2005613091 от 28.11.05.

Рекомендована кафедрой Поступила в редакцию

вычислительной техники 01.09.07 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.