ТЕХНИЧЕСКИЕ НАУКИ/ TECHNICAL SCIENCE
УДК 004.02
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ И АЛГОРИТМ УСТРОЙСТВА ПЛАНИРОВАНИЯ ПРОГРАММ В СИСТЕМАХ НА КРИСТАЛЛЕ
MATHEMATICAL MODELS AND ALGORITHMS PLANNING UNIT PROGRAMS IN
THE SYSTEM-ON-CHIP
©Масюков И. И.
Юго-Западный государственный университет
г. Курск, Россия ilmas46ru@gmail.com ©Masyukov I.
Southwest State University Kursk, Russia ilmas46ru@gmail.com
Аннотация. В настоящее время актуальной является проблема отказоустойчивых систем. Такие системы широко используются во многих сферах современной жизни, начиная от промышленности, заканчивая военной индустрией. В реконфигурируемых системах неисправный блок или обходится, или заменяется из резервной области.
Abstract. The present is a very urgent problem of fault-tolerant systems. Such systems are widely used in many areas of modern life, from industry, ending the military industry. The reconfigurable systems, the faulty unit or dispense, or replaced from the reserve area.
Ключевые слова: ПЛИС, граф, матрица смежности, алгоритм.
Keywords: FPGA, graph adjacency matrix algorithm.
В настоящее время актуальной является параллельная организация вычислительных систем, являющихся основой построения многозадачных систем логического управления (СЛУ), представляющих собой множества многопроцессорных мультиконтроллеров или реконфигурируемых программируемых логических интегральных схем (ПЛИС). Такой подход к организации планирования позволяет повысить производительность СЛУ (мультиконтроллеров), а также отказоустойчивость систем высокой готовности (системы бортовой авиации, слежения, прогнозирования и т. п.).
Теория параллельной организации и отказоустойчивой работы мультиконтроллеров достаточно широко разработана. Большой вклад в эту область внесли работы отечественных ученых: В. В. Воеводина, А. В. Каляева, И. И. Левина, А. П. Типикина, а также зарубежных ученых: М. Флинна, К. Ванга, Д. Скилликорна, Э. А. Трахтенгерца. В данных работах вопросы построения отказоустойчивых реконфигурируемых СЛУ высокой готовности рассматривались частично. Однако, в случае возникновения функционального отказа при использовании устройств на ПЛИС, необходима оперативная ее реконфигурация.
Наиболее эффективным решением этой задачи является изменение организации внутренних модулей ПЛИС. Однако при этом существенно возрастает время коммуникационной задержки. Снижение этого времени можно достичь путем оперативного перераспределения параллельных процедур, это позволяет достичь максимально возможного
быстродействия многозадачных отказоустойчивых систем в основном режиме их функционирования. При этом возникает необходимость планирования переразмещения параллельных процедур, что приводит к снижению коэффициента готовности СЛУ. Последнее обстоятельство усугубляется тем, что известные методы и алгоритмы решения задачи размещения имеют большую вычислительную сложность и решаются в основном программно [2].
Централизованное решение в хост-ЭВМ задач планирования размещения и многократного переразмещения параллельных процедур сложно осуществить, так как программная реализация их многократного решения требует больших временных затрат машинного времени. Предварительное формирование множества возможных вариантов размещения на стадии проектирования специализированной ПЛИС и организация их хранения во внешней памяти хост-ЭВМ ведет к увеличению временных затрат. Кроме затрат машинного времени на получение множества вариантов размещения и ресурсов внешней памяти на их долговременное хранение, ее использование неэффективно из-за сравнительно большого времени обращения к внешней памяти ЭВМ, увеличения времени восстановления и перезагрузки задач управления. Это приводит к существенному уменьшению величины коэффициента готовности и поэтому сдерживает реализацию планирования размещения и переразмещения параллельных процедур как средства повышения быстродействия многозадачных СЛУ.
В связи с этим в настоящее время существует противоречие между объективной необходимостью повышения производительности СЛУ высокой готовности и недостаточностью средств, обеспечивающих оперативную реакцию на отказ и переконфигурирование внутренних связей в случае выхода из строя одного из внутренних модулей СЛУ.
В соответствии с вышеизложенным, актуальной является задача разработки метода, алгоритмов и аппаратных средств планирования и реконфигурирования многозадачных СЛУ в динамическом режиме, обеспечивающего повышение надежности систем высокой готовности.
В данной статье представлено описание устройства, которое на аппаратном уровне позволит изменять внутреннюю структуру устройства таким образом, что длина связей между различными внутренними модулями ПЛИС становится наименьшей. Это позволяет сократить коммутационные задержки в системе, тем самым повысив ее производительность. Также система сможет изменить структуру системы при выходе из строя какого-либо элемента, что позволит увеличить производительность системы, работающей в критическом режиме.
Рассмотрим математическое описание и ведем определения, для описания алгоритма работы устройства:
Представим конфигурацию ПЛИС графом H, который представлен как:
' /'LI РЦ - Риг,9 - !\п ' Pl.\ Р22 - Pmß Pl.n
Н —
Рщ,\ Рщ, 2 - Ра7,9 -где — отдельные модули ПЛИС, причем (ш = 1,т, в = 1,п).
Рш,в=Г{0,Х)
Модуль ю-Р представляется в виде функции /• (0,Х), т. е. ' ' ' , где О = 01,0x2,..., — множество входных модуля, а X = Х1, Х2,..., множество выходов. Выводы модулей ПЛИС соединяется с выводами других модулей.
Под смежными модулями (СМ) в ПЛИС будем понимать модули, которые соединены между собой межсоединениями одного вывода Ог или х/ (1=(1,£),]=(1,£)) к другому.
Матрицей смежности модулей (МСМ) будем называть прямоугольную матрицу Ы=(¥(0,Х), ¥(0,Х)), в ячейках которой даны выводы, используемые для соединения модулем.
Граф смежности модулей (ГСМ) представляет собой граф, построенный по МСМ. Ребра графа описывают межсоединения между модулями, а вершины описывают сами модули. Вес ребра показывает количество межсоединений между модулями.
Для достижения наименьшей суммарной длинны межсоединений следует выполнить 2 критерия:
1) Модули, имеющие наибольшее количество смежностей у имеет минимальное расстояние а до смежных модулей
Г
—> max 7-1 '
(1).
2) Смежные модули с наибольшим количеством одинаковых инцидентных ребер X должны располагаться таким образом, чтобы расстояние а до смежных модулей было минимальным
(А -»max
.
(2).
Тогда размещение модулей в ПЛИС может быть описано отображением:
(3),
где Б = 1,ЛГ!. В матрице символ —► означает отображение одной из вершин хщ,к^Хна один из модулей рч,к£Н. Здесь ^ — это номер очередной перестановки, соответствующий 5"—му варианту размещения. Мощность множества всевозможных отображений /А
равна числу всевозможных перестановок подпрограмм хд,кеХв матрице М\ \ 1р\ = N1.
гу шах
Пусть — множество всевозможных отображений вида | ^ . Тогда задачу
размещения можно сформулировать как поиск отображения такого, что
min
где 'IJ соответствует поиску минимальных суммарных межсоединений о , для условия max у и max X.
Таким образом, на содержательном уровне задача размещения модулей ПЛИС согласно условию 3 заключается в поиске такого варианта размещения, при котором выполняется условие 1, 2, 4.
Разобрав полученные математические определения и критерии можно заметить, что размещение всех вершин xq,ksX на один из модулей pq,k£H по трем полученным критериям 1, 2, 4 является трудоемкой переборной задачей. Эту задачу условно можно разбить на 2 этапа:
1) Выборка вершины их множества xq,ksX,
2) Расположение полученной вершины на один из модулей pq,k£H по 3-м критериям 1 2 4
Исходя из условий, описанных выше, был получен алгоритм планирования размещения подпрограмм. Алгоритм описан следующей последовательностью шагов:
1. Выбираем из множества xq,k£X вершины с наибольшим количеством инцидентностей. Если количество выбранных вершин равно 1, то берем полученную вершину как опорную (вокруг нее будет строится конфигурация) и переходим к пункту 3. Если вершин нет, переходим к пункту 4.
2. Для выбранных вершин в пункте 1 используем следующие критерии выбора:
а) Выбираем вершины с наибольшим весом ребра (при размещении размещаются обе вершины, соединенные этим ребром).
б) Выбираем вершины, которые имеют большее количество инцидентностей с уже установленными вершинами.
Вершины, полученные в пунктах а), б), располагаются на модули pq,k£H в обратной последовательности от вершин, выбранных в пункте б) к вершинам в пункте а. Выставленные вершины не используются в дельнейшем поиске. Возвращаемся к пункту 1.
3. Выбираем инцидентные вершины к вершине, полученной в пункте 1, и отсеиваем их по следующим критериям:
а) Выбираем вершины с наибольшим числом инцидентных ребер.
б) Выбираем вершины с наибольшим весом ребра (при размещении размещаются обе вершины, соединенные этим ребром).
в) Выбираем вершины, которые имеют большее количество уже установленных инцидентных вершин.
Вершины, полученные в пунктах а) в), располагаются на модули pqk£H в обратной последовательности от вершин, выбранных в пункте б к вершинам в пункте а). Выставленные вершины не используются в дельнейшем поиске. Возвращаемся к пункту 1.
4. Восстановление соединений.
5. Конец алгоритма.
Размещение выбранной на каждом этапе вершины(-ин) происходит вокруг уже выставленных вершин с учетом поиска наименьшей длинны соединения между блоками среди возможных вариантов размещения. Если установленных вершин нет, то вершина(-ы) принимаются как опорные. Варианты размещения ограничиваются максимальным размером конфигурации.
Особенностью предложенного алгоритма является выбор конкретной вершины(-ин) и ее дальнейшее расположение, удовлетворяя критериям 1, 2, 4. Предложенные теоретические положения позволят сократить количество возможных поисковых перестановок тем самым повышая производительность мультипроцессорной системы и повысить коэффициент ее работоспособности. Также разработанный алгоритм планирования конфигурации ПЛИС допускает аппаратную реализацию, так как может быть реализован на существующей элементной схемотехнической базе.
В дальнейших работах будет рассмотрено преимущество аппаратной реализации данного алгоритма, по сравнению с программной реализацией. Также будут рассмотрены структурная и функциональная схемы устройства, построенные по данному алгоритму.
Список литературы:
1. Каляев И. А., Левин И. И., Семерников Е. А., Шмойлов В. И. Реконфигурируемые мультиконвейерные вычислительные структуры. Изд-во ЮНЦ РАН, 2008. 320 с.
2. Воеводин В. В., Жуматий С. А. Вычислительное дело и кластерные системы. М.: Изд-во МГУ, 2007. 150 с.
References:
1. Kalyaev I. A., Levin I. I., Semernikov E. A., Shmoilov V. I. Rekonfiguriruemye mul'tikonveiernye vychislitel'nye struktury. Izd-vo YuNTs RAN, 2008, 320 p.
2. Voevodin V. V., Zhumatii S. A. Vychislitel'noe delo i klasternye sistemy. Moscow, Izd-vo MGU, 2007, 150 p.
Работа поступила в редакцию Принята к публикации
17.04.2016 г. 20.04.2016 г.