УДК 519.6
В. И. Кудрявцев, д-р техн. наук (БГТУ);
А. С. Кобайло, канд. техн. наук (БГТУ); Н. А. Жиляк, ассистент (БГТУ)
МОДИФИКАЦИЯ АЛГОРИТМА СИНТЕЗА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ
В статье речь идет о модификации алгоритма, разработанного на базе теории синтеза вычислительных структур реального времени. Согласно базовому алгоритму, предполагается многократное выполнение значительного числа его блоков, так как выбор оптимальной структуры из множества работоспособных вариантов в соответствии с данным алгоритмом осуществляется на заключительном этапе его выполнения, при этом объем памяти, требуемой для хранения информации об альтернативных вариантах, и трудоемкость алгоритма пропорциональны числу этих вариантов, которые представляют NP-полный перебор всех комбинаций функциональных устройств, удовлетворяющих требованиям реализации вычислительного процесса в реальном времени. Таким образом, одной из центральных задач, решаемых при проектировании сложных технических объектов, к которым относятся ВСРВ, является поиск снижения трудоемкости проектирования.
The paper deals with a modified algorithms developed on the basis of a theory of real-time computing structures synthesis (RTCS). The basic algorithm suggests multiple execution of a significant number of its blocks because an optimum structure is selected according to this algorithm from a multiplicity of void variants during the final stage algorithm. Storage required for data of alternative variants and algorithm labor content are proportional to a number of these variants. Said number a NP off all combinations of functional devices vouch satisfy the requirements imposed on realization of real-time copulation process. This one of central tasks to be solved when developing complex technical objects, the RTCS being one of them, is Bunting for a way to minims labor consumption in development tasks.
Введение. Базовый алгоритм (БА), разработанный на основе теории синтеза вычислительных структур реального времени, предполагает многократное выполнение значительного числа его блоков, так как выбор оптимальной структуры из множества работоспособных вариантов в соответствии с данным алгоритмом осуществляется на заключительном этапе выполнения алгоритма, при этом объем памяти, требуемой для хранения информации об альтернативных вариантах, и трудоемкость алгоритма пропорциональны числу этих вариантов, которые представляют КР-полный перебор всех комбинаций функциональных устройств (ФУ), удовлетворяющих требованиям реализации вычислительного процесса в реальном времени [1, 2].
Таким образом, одной из центральных задач, решаемых при проектировании сложных технических объектов, к которым относятся вычислительные системы реального времени (ВСРВ), является поиск снижения трудоемкости проектирования [3, 4].
Автоматизированное проектирование как вычислительный процесс в основном может быть охарактеризовано по использованию следующих вычислительных ресурсов: время работы процессора, которое может быть вычислено из известной трудоемкости алгоритма, и объем выделенной памяти. Для осуществимости и эффективности вычислительного процесса требуется, чтобы данные вычислительные ресурсы потреблялись в минимальном объеме и масштабировались по ограничению ресурса, т. е. впи-
сывались в отведенные для вычислительного процесса ограничения по тому или иному ресурсу. От этого напрямую зависит доступный уровень сложности синтезируемых структур и надежность производимых вычислений. Кроме того, соответствие процесса ограничениям создает возможности для его распараллеливания, что позволяет дополнительно минимизировать ресурс времени, отводимого для вычислений.
Основная часть. Теория синтеза ВСРВ подразумевает выполнение последовательности процедур, которые основываются на выделении временной иерархии для вершин графа алгоритма и на условии реализуемости путей алгоритма в реальном времени, и может быть представлена в виде следующих основных этапов (рисунок):
- синтез графа базовой структуры (ГБС) первого уровня (шаги 1-3 БА);
- синтез ГБС второго уровня (шаги 4-6 БА);
- синтез графов вычислительного алгоритма (ВГА) листового уровня (шаги 7-10 БА);
- проверка работоспособности ВС (шаг 11 БА);
- расчет временных параметров ВГА (шаги 12-14 БА);
- синтез графа вычислительной структуры (ГВС) (шаги 15-16 БА);
- определение исходных данных для синтеза математической модели блока управления (шаги 17-18 БА);
- оценка и выбор из множества работоспособных структур оптимальной по заданным критериям (шаг 19 БА).
Модифицированный алгоритм синтеза ВСР: 7 (Ь) - множество индексов вершин, принадлежащих к усеченному пути Ь; [ 1 ] - мощность множества альтернативных вариантов структуры; [ 1ВГАБП ] - мощность сформированного вычислительного графа алгоритма с буферной памятью (ВГАБП); [ 1Н ] - мощность множества нерассмотренных вариантов структуры
Синтез ГБС первого уровня включает в себя следующие шаги алгоритма
1. Формирование ГВА, который определяется множеством вершин и дуг.
2. Определение полных путей ГВА.
3. Назначение уровней временной иерархии вершинам ГВА и получение в результате этого ГБС первого уровня.
Синтез ГБС второго уровня определяется следующими шагами алгоритма.
4. Назначение функциональных устройств вершинам ГВА и формирование кэша векторов назначений.
5. Формирование для каждого вектора назначения соответствующего вектора реализации. По определению вектор реализации - это вектор-строка, каждый элемент т7 которого равен времени выполнения операции, отождествленной с 7-й вершиной ФУ, назначенных в соответствии с вектором назначения.
6. Формирование на основании векторов реализации графов алгоритма с буферной памятью (ГАБП).
Синтез ВГА листового уровня включает в себя следующие шаги алгоритма.
7. Формирование усеченных путей уровней временной иерархии.
8. Определение конвейеризируемых путей и ступеней конвейера.
В ступень конвейера должны входить ФУ, для которых суммарное время выполнения операций меньше или равно его циклу.
9. Определение множества свертываемых вершин (для неконвейеризированных путей).
Множеством свертываемых вершин называется множество вершин ГВА, являющихся прообразами одной из вершин графа вычислительной структуры.
В результате реализации процедуры формируется иерархическое множество свертываемых вершин.
10. Построение вычислительного графа алгоритма (добавление вершин при необходимости введения служебных устройств (в частности, мультиплексоров)).
Этап проверки работоспособности основывается на следующем шаге алгоритма.
11. Предварительная проверка работоспособности вычислительной структуры реального времени. Выполняются на соответствие условию реализуемости [1] пути графов алгоритма в реальном масштабе времени с накоплением корректных решений в кэше.
Расчет временных параметров ВГА включает в себя следующие шаги алгоритма.
12. Формирования вектора временной развертки.
13. Формирование вектора требований к памяти для хранения промежуточных результатов.
14. Анализ работоспособности вычислительной структуры. Структура является работоспособной на выбранном векторе назначения при отсутствии отрицательных элементов вектора требования к памяти.
Синтез ГВС определяется следующими шагами алгоритма.
15. Построение вычислительного графа алгоритма с регистровыми файлами (ВГАРФ).
ВГАРФ строится из ВГА путем последовательного выполнения операции дополнения вершины для дуг, соответствующих положительным элементам вектора требования к памяти.
16. Разработка графа вычислительной структуры.
Определение исходных данных для синтеза математической модели блока управления.
17. Построение функционала временной развертки (определяет программу взаимодействия функциональных устройств, составляющих вычислительную систему, на одном цикле ее функционирования).
18. Определение такта вычислительной структуры.
Оценка и выбор из множества работоспособных структур оптимальной по заданным критериям основывается на следующем шаге алгоритма.
19. Выбор из множества работоспособных синтезированных структур структуры, наилучшим образом удовлетворяющей заданным критериям оптимальности в соответствии с заданными условиями [4, 5].
Под оптимизацией вычислительного процесса по ресурсу будем понимать минимизацию ресурсов в процессе автоматизированного синтеза и возможность масштабирования этого процесса по ограничению ресурса.
В процессе синтеза следует выделить два принципиально отличающихся объекта оптимизации по вычислительным ресурсам. Первый объект - процесс оценки и выбора оптимальных проектных решений, требующий структурной оптимизации математической модели, а второй объект - процесс синтеза и перебора векторов назначений, который требует алгоритмической оптимизации.
В результате анализа вычислительных ресурсов в процессе синтеза и перебора векторов назначения выявляются следующие возможности их минимизации. Минимизация временного ресурса может быть осуществлена путем дублирования этапа выбора оптимального решения после этапа предварительной оценки ВСРВ. При этом происходит усечение дерева поиска, сокращение трудоемкости операций на стадии окончательной проверки работоспособности и на стадии определения исходных данных для синтеза математической модели блока управления. Минимизация ресурса памяти возможна на этапе расширенного
синтеза путем отказа от затратного процесса формирования кэша векторов назначений. При этом вектора назначений синтезируются последовательно и, не накапливаясь в кэше, проходят шаги алгоритма до шага 11 «Предварительная проверка работоспособности вычислительной структуры реального времени» базового алгоритма. Масштабирование по ресурсу памяти заключается в усечении кэша, сформированного на шаге 11 базового алгоритма, при превышении процессом перебора выделенного ему ресурса памяти.
Масштабирование по ресурсу времени заключается в возможности прекращения процесса вычислений в любой момент времени при исчерпании ресурса времени с выявлением оптимального решения среди уже синтезированных векторов назначения, что хоть и с некоторой потерей точности оптимизации, но тем не менее позволяет реализовать процесс синтеза практически любой сложности в ресурсоограниченных вычислениях при условии осуществимости хотя бы нескольких вычислительных циклов с шага 4 «Назначение функциональных устройств вершинам ГВА и формирование кэша векторов назначений» по шаг 11.
При анализе выявлена возможность применения шага 19 на более ранней стадии базового алгоритма (БА) сразу после шага 11, что позволит резко сократить объем производимых вычислений на шагах 12-18 в связи с уменьшением обрабатываемых в этих шагах вариантов на 3-4 порядка, что в свою очередь сократит время работы процессора и потребность в машинной памяти.
При ограниченном ресурсе времени работы процессора алгоритм синтеза должен иметь возможность получения частично оптимизированных решений в пределах выделенного ресурса времени. БА не позволяет осуществить такие решения, что связано с принятым порядком полного формирования второго и листового уровней иерархии проектных решений. С целью преодоления этого недостатка предлагается не формировать полный набор решений второго и листового уровней на шагах 4-11, а выполнять их последовательным прохождением одиночных решений с циклическим перебором вариантов вплоть до шага 11, после которого формируется набор решений листового уровня для обработки в шаге 19 БА. На шаге 19 производится выбор из оставленных при выполнении блока 11' для дальнейшего рассмотрения вариантов проектируемой системы одного или нескольких вариантов, наилучшим образом соответствующих заданным критериям.
Одновременно высвобождается память, занятая хранением полных наборов вариантов второго и листового уровней иерархии на шагах 4-11. Тем не менее хранение набора решений листового уровня после шага 11 создает риск превышения выделенного ресурса памяти и остановки вычис-
лительного процесса, так как количество решений может составлять миллионы единиц хранения. С целью преодоления этого недостатка предлагается при превышении выделенной памяти производить частичную обработку решений в последующих шагах алгоритма с усечением кэша решений.
Эффективность использования рассмотренной методологии выбора оптимальной структуры оценивается следующим образом:
Э =
6б - 6м &
100%,
(1)
где 6б, 6м - трудоемкость базового и модифицированного алгоритма соответственно.
При этом трудоемкость базового алгоритма характеризуется выражением
6б = 6л + Ш + + 6з, (2)
где 6л - трудоемкость линейной части алгоритма (шаги 1-4 БА); 61 - трудоемкость шагов 5-14 БА; 62 - трудоемкость шагов 15-18 БА; 63 - трудоемкость шага 19 БА; Ж - мощность множества векторов назначения; N определяется из выражения
IП !
N = ^=1 т=1 к=1
(к( - к))
(3)
где М„ = - мощность множества множеств свертываемых вершин для вектора назначения Я„; Км - мощность М-го множества свертываемых вершин вектора Лм,.
Трудоемкость модифицированного алгоритма определяется
6м = 6л + Ш + 6о + N062 + 63, (4)
где Ж, 6ь 62 имеют тот же смысл, что и в (2); N -количество вариантов структуры, отобранных для дальнейшего рассмотрения после решения оптимизационных задач, найденных на шаге 11'; 63 -трудоемкость алгоритма выбора оптимального варианта из множества потенциальных вариантов.
Пример. Предположим, что при проектировании системы получены следующие результаты.
Количество векторов назначения Ж = 10. Средняя мощность множества множеств свертываемых вершин для любого вектора назначения составляет
У^ = 1, Ж: Мш [^ ] = 3;
мощность каждого из множеств свертываемых вершин равна
Ут = 1, Мш :Кт ГЯ 1 = 3.
' w т^ Г mw 1
Тогда множество альтернативных вариантов N структуры проектируемой системы в соответствии в выражением (3) будет равно 4590.
Предположим, что в некоторых условных единицах трудоемкость 6л = 15, 61 = 25, 62 = = 20, 63 = 35, 60 = 30, ¿'3 = 5 и на шаге 11' N0 = 10, тогда 6б = 116 900, 6м = 25 250.
Тогда эффективность использования рассмотренной методологии выбора оптимальной структуры будет равна
Э = 100% = 116900 - 25250.100% = 78,4%.
6б
116900
Рассмотренный пример подтверждает высокую эффективность предложенного метода выбора оптимальной структуры и алгоритма, использующего данный метод.
Заключение. При реализации метода снизилась трудоемкость базового алгоритма, при применении которого потребовался бы большой объем времени на обработку информации. Количество операций могло бы быть 5 миллионов. При уменьшении трудоемкости количество операций сократилось в 15 раз. При этом увеличилась надежность расчетов и скорость обработки информации, освободились другие не менее важные машинные ресурсы.
Литература
1. Кобайло, А. С. Базовый алгоритм синтеза вычислительных структур реального времени / А. С. Кобайло, Н. А. Жиляк // Труды БГТУ. Сер. VI, Физ.-мат. науки и информатика. - 2007. -Вып. XV. - С. 147-150.
2. Жиляк, Н. А. Базовый алгоритм синтеза вычислительных структур реального времени для теплоэнергетических измерений / Н. А. Жи-ляк, С. И. Акунович // Труды БГТУ. Сер. VI, Физ.-мат. науки и информатика. - 2008. -Вып. XVI. - С. 129-132.
3. Жиляк, Н. А. Методы синтеза вычислительных структур / Н. А. Жиляк // Автоматический контроль и автоматизация производственных процессов: материалы Междунар. науч.-техн. конф., Минск, 28-29 окт. 2009 г. / Белорус. гос. технол. ун-т. - Минск, 2009. -С.71-73.
4. Жиляк, Н. А. Синтез вычислительных структур реального времени / Н. А. Жиляк // Автоматический контроль и автоматизация производственных процессов: материалы Междунар. науч.-техн. конф., Минск, 6-8 июня 2006 г. / Белорус. гос. технол. ун-т. - Минск, 2006. - С. 208-211.
5. Жиляк, Н. А. Автоматизация конфигурирования вычислительных систем реального времени / Н. А. Жиляк // НИРС - 2005: сб. тез. докл. X Респуб. науч. конф. студентов и аспирантов ВУЗов Респ. Беларусь. - Минск, 2006. - С. 147.
Поступила в редакцию 31.03.2010