Научная статья на тему 'Метод и алгоритм планирования топологии ПЛИС в многопроцессорных системах'

Метод и алгоритм планирования топологии ПЛИС в многопроцессорных системах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
285
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД / ТОПОЛОГИЯ / ПЛИС / ПЛАНИРОВАНИЕ / ПЕРЕСТАНОВКА / МНОГОПРОЦЕССОРНАЯ СИСТЕМА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Борзов Дмитрий Борисович, Минайлов Виктор Викторович, Титов Виталий Семенович

Рассмотрена проблема составления плана топологии ПЛИС, показана сложность ее практической реализации в системах высокой готовности, предложен метод и алгоритм, основанный на последовательных поисковых перестановках

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Борзов Дмитрий Борисович, Минайлов Виктор Викторович, Титов Виталий Семенович

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

Текст научной работы на тему «Метод и алгоритм планирования топологии ПЛИС в многопроцессорных системах»

МЕТОД И АЛГОРИТМ ПЛАНИРОВАНИЯ ТОПОЛОГИИ ПЛИС В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ

Д.Б. Борзов, В.В. Минайлов, В.С. Титов

Аннотация. Рассмотрена проблема составления плана топологии ПЛИС, показана сложность ее практической реализации в системах высокой готовности, предложен метод и алгоритм, основанный на последовательных поисковых перестановках.

Ключевые слова: метод, топология, ПЛИС, планирование, перестановка, многопроцессорная система.

В настоящее время все большее распространение получает параллельная организация вычислительных систем [1], которые организовано в виде множества реконфигурируемых ПЛИС или СБИС [2]. В них могут возникать внештатные ситуации, например, выход из строя одного из внутренних модулей либо необходимость оперативной перестройки внутренней конфигурации связей. В этом случае применение таких методов, как моделирования отжига [3-4] и методы генетической эволюции [5], реализуемые в основном программными средствами, не удовлетворяют системам высокой готовности из-за недостаточного быстродействия. Применение для этих целей заранее заготовленных планов топологий также нецелесообразно из-за достаточно долгого времени обращения и поиска в памяти ЭВМ. Поэтому необходимо применение других подходов и аппаратных средств. В работе предлагается методика и соответствующий алгоритм планирования топологии ПЛИС.

Программу (подпрограмму) исходной задачи будем

представлять направленным графом взаимодействия

задач О=<Х,Е>, где X - множество вершин графа О,

вершины х (е X которого соответствуют подпро-цк

граммам, а дуги еу е Е связям между ними и могут быть сведены в матрицу смежности (МС)

М = 1 |т..|| , где N = X . Топологию ПЛИС будем II УШх\Е 1 1

задавать графом Н, который представим в виде прямо-

Л,1 Л,2 ... Рш,в ... Р\,п угольника н = 1р2,\ Р2,2 ... ртд Р2,п

рш,1 рт,2 ... рШ,в ... рт,п _

где Рт д - это модули ПЛИС, причем (V = 1, т,

6 = 1.п). Модуль Рт д представляется функцией

^(О, X), т.е. Ртд = ^(О, X), где

О = с\, с>2,..., Ор - это множество входных выводов

модуля, а X = Х1, Х2, к, Хр - это множество выходных выводов. Выводы модулей ПЛИС соединяются с выводами других модулей. При этом общее количество сигналов, которые передаются в ПЛИС от одного мо-

дуля к другому, определяют итоговую коммуникационную задержку [6], которую необходимо минимизировать для увеличения производительности ПЛИС.

Введем дополнительные определения. Каналом в модуле ПЛИС называется проложенная трасса от одного вывода О<1 или Хj (1 = (1, р), / = (1, р)) модуля к

другому. Матрицей цепей (МЦ) называется описывающая вариант размещения модулей ПЛИС прямоуголь-

V = \уА , где 1 = 1,N, / = 1,а,

ная матрица

п = | X], а представляет собой суммарное количество

каналов, полученных в результате размещения подпрограмм в модулях ПЛИС. На рисунке 1 проиллюстрировано понятие канала и МЦ.

1 2 3

3 2

ГТП

12 3 4

к

5

1 1 0 0

2 0 1 0

3 1 0 1

4 1 0 0

5 0 1 1

а)

б)

Рисунок 1 - Понятие канала и МЦ: а) каналы; б) матрица цепей

На рисунке 1а черными кружками обозначены выводы гипотетических модулей ПЛИС, числа над пунктирными линиями обозначают степени загрузки каналов между парами смежных выводов. На рисунке 1б приведена МЦ, соответствующая варианту размещения на рисунке 1 а, в ней строкам соответствуют выводы модуля(ей) ПЛИС, а столбцам соответствующие каналы.

Мощность зависит от числа каналов, полученных в результате размещения модулей в ПЛИС. Параметр a соответствует количеству каналов. С учетом этого должно выполняться соотношение: min

Тогда размещение модулей в ПЛИС может быть описано отображением:

Ч1 XS1.2 . . Xs ■1.a A,1 A,2 . . Pu . . A,a

XS2.1 XS2.2 . . XS2k . . XS2.a P2,1 P2,2 . . P2,k . . P2,a

h= XSq.1 . . %k . xS Pq,1 Pq,2 . . Pq,k . . Pq,a

XSn.1 XSn.2 . XSnk . . Xc ^n.a Pn,1 Pn,2 . . Pn,k . . Pn,a

n.a

2

1

где 5 = 1, N!. В (2) символ ^ означает отображение одной из вершин Хс а X на один из модулей

ц,к

Рд к е Н. Здесь х5 - это номер очередной перестановки, соответствующий 5 -му варианту размещения. Пусть ¥ - множество всевозможных отображений вида (2). Мощность множества у = {Дс} всевозможных отображений (2) равна числу всевозможных перестановок задач Хдк е X в матрице М: || = N!.

Тогда задача размещения формулируется как поиск отображения Д е¥, такого, что

Тд = ™{тах,{тд5 (МРпк )}}

Y bseY

(3)

l = 1, N) матрицы M =

m,

Nx E

в вектор-строку

М', причем к = 1, N, 1 = 1, N. При этом > ъ2 и ъ\,

72 - порядковые номера элементов в М'. 2. Положить

j=1E

Tf = I mi

i=1

(4)

где Tb ( V ) - задержка при передаче данных в

bs 'Pq,k

модуле Pq k , соответствующая отображению bs ■ В

выражении (3) max означает поиск максимальной bs eY

задержки при передаче данных в процессоре Pq,k

где 1 = 1, | Щ, г = 1, Щ , т - мощность множества Е в графе О; т - одноименные элементы вектора М'.

Для решения задачи планирования размещения в ПЛИС предлагается процедура, в которой критерием оптимальности размещения является степень отклонения Т мин-максного значения критерия (3) от Тп£

(4). Цель задачи стоит в снижении по критерию (4) коммуникационной задержки, возникающей при обработке назначенных на ПЛИС подпрограмм, описываемых графом О, и определяемой как максимальная задержка между обрабатываемыми в ПЛИС подпрограммами:

Я Щ

Т = тах{ £ т\}, (5)

1=1

где

q = 1, n, k = 1, a; выражение mm соответствует по-

Y

иску минимально возможного значения задержки для максимального max \Tn I V If ■

bse Y1 bs U pq,k J J

Таким образом, на содержательном уровне задача размещения модулей ПЛИС согласно критерию (3) состоит в поиске такого варианта размещения, при котором выполняется условие (1).

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

в матрице V: = N !■ Оно может быть принято в

результате анализа величины отношения значения (3) к гипотетической минимально возможной ее величине. При ее вычислении будем назначать дуги графа G на самые короткие маршруты в графе H, не обращая внимания на ограничения, накладываемые фактическими связями между подпрограммами в графе G. Процедура поиска минимальной нижней оценки можно представить в виде алгоритма.

1. Переписать элементы mki Ф 0 (k = 1, N,

где 1, у = 1, Щ . Это может быть сделано путем целенаправленных поисковых перестановок, заключающихся в перестановке строк МЦ.

Таким образом, с учетом приведенных выше теоретических положений методика поиска плана топологии ПЛИС будет состоять из следующих этапов: 1) выполняется первичное произвольное размещение вершин графа О, представляющего исходный комплекс решаемых в ПЛИС подпрограмм, описанным графом Н. Размещение реализуется путем наложения матрицы МС

М = ||т;;1кТ..ы на матрицу МЦ V = у . . По фор-

ijllNx E

муле (5) находим максимальную задержку Тн

соответ-

ствующую данному начальному варианту размещения; 2) для сопоставления вариантов размещения по критерию (3) выполняется поиск Тн по алгоритму поиска нижней оценки. Затем вычисляется степень близости максимальной задержки Тн к нижней оценке Т^ в виде:

h =

T

T

(6)

inf

M' = |ImkJ , где z - это порядковый номер элемента в

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

3) начиная с элемента ту а Н, которому соответствует тах{£ Уу} в первичном варианте, перемещаем строку на место другой строки так, чтобы оценка:

Т

Т = — (7)

снижалась по сравнению с Тн (6) и оценками т по предыдущим вариантам размещения; 4) анализ достигнутой величины т (7) и оценка степени улучшения размещения выполняется по следующей формуле выигрыша в снижении коммуникационной задержки.

s

Тн

(8)

] т

Вывод результатов перестановки в виде новой матрицы МС и соответствующей новой МЦ. Обобщенный алгоритм планирования топологии ПЛИС представлен ниже.

1. Записать МС (М) размером NX N и С размером N X а, где а - это суммарное количество каналов в результате первичного размещения в ПЛИС.

2. Создать области М1, М2 размерами NХа.

М1 = V.

3. Найти Т^ как нижнюю оценку размещения по формуле (4).

4. Найти Тн как начальное значение коммуникационной задержки.

5. Рассчитать ]]н

T

T

М

6. Записать Т0 = Тн и инициализировать

М1 = М.

7. Просматривать по порядку элементы М1 начиная со строки N — 1 столбца N до столбца 1 текущей строки. Для этого ввести счетчик столбцов к = N и счетчик строк ¡=N-1.

8. Найти первую единицу, что означает наличие канала, соединяющего данный столбец с данной строкой. Найти разницу к — 1 и если она > 1 то п. 9, иначе фиксируем текущий элемент как просмотренный

М 2к =—1

9. Выполнить перестановку в матрице М строк 1 и (к — 1 +1) и сформировать новую матрицу М1.

10. Вычислить по матрице М1 значение Т Если Т £ Т0, то перейти к п.12. Иначе к = к — 1 и - п.13.

Т

Н ^

11. Рассчитать ] = — если ] £ остановить

Т1

работу, иначе перейти к п. 13.

12. М = М1.

13. T) = T1, зафиксировать текущий элемент в

M 2 как просмотренный M 2k = — 1.

14. Изменить по порядку счетчик i и k и перейти к п.8, если i < 1 то конец.

В результате в M1 будет содержаться план топологии ПЛИС. В дальнейших исследованиях планируется формализовать предложенный алгоритм и разработать соответствующее устройство.

В дальнейших исследованиях предполагается формализация предложенного алгоритма и дальнейшая разработка соответствующего устройства планирования топологии ПЛИС

Список использованных источников

1 Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ- Петербург, 2002.- 608 с.

2 Грушвицкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики.- СПб.: БХВ-Петербург, 2002.-608 с.

3 LaPotin Б.Рю, Director S.W. «Mason; A global floorplan-ing tool» IEEE Int. Conf. on Computer - Aided Design, Santa Clara, CA, 1985, p.p. 143-145.

4 Sechen C., Sangiovanni A., «The Timberwolf placement and routing package».IEEE Journal of Solid-State circuits, vol. sc-20, no. 2, 1985, p.p. 510-522.

5 Cohoon J.P., Hegde S.U., Martin W.N. Richards D., «Dis-tributed genetic algorithms for the floorplan design problem», in Proc. IEEE Transactions on Computer - Aided Design, Vol.10. №4, 1991. p.p. 483-492.

6 Gogniat, G. "Communication synthesis and HW/SW integration for embedded system design/ M. Auguin, L. Bianco, A. Pegatoquet.- " CODES 1998, pp 49-53.

Информация об авторах

Борзов Дмитрий Борисович, кандидат технических наук, доцент кафедры вычислительной техники, ФГБОУ ВПО «Юго-Западный государственный университет», E-mail: borzovdb@kursknet.ru, тел. (4712) 58-71-05.

Минайлов Виктор Викторович, аспирант кафедры вычислительной техники, ФГБОУ ВПО «Юго-Западный государственный университет», E-mail: kgkptuip2@mail.ru, тел. 8908-12-30-880.

Титов Виталий Семенович, доктор технических наук, профессор, заведующий кафедрой вычислительной техники, Юго-Западный государственный университет, E-mail: titov-kstu@rambler.ru, тел. (4712) 58-71-12.

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