2. Курейчик В.В. Размещение узлов и блоков радиоэлектронной и электронно-вычислительной техники на основе бионических методов / В.В. Курейчик, Бушин С.А. // Программные продукты и системы. - М.: ИППМ РАН, 2010. - С. 49-54
3. Куре йчик В.М. Математическое обеспечние конструкторского и технического проектирования с применением САПР / В.М. Курейчик. - М.: Радио и связь. - 1990. - 352 с.
4. . . /
А.Н. Мелихов, J1.C. Берштейн, В.М. Курейчик. - М.: Наука. - 1974. - 304 с.
5. Sapatnekar S., Alpert C., Mehta D. Handbook of Algorithms for Physical Design Automation.
- NY: CRC Press, 2009. - P. 1049.
6. Bird J. Electrical Circuit Theory and Technology. - Oxford: Newnes, 2003. - 997 p.
Статью рекомендовал к опубликованию д.т.н., профессор С.М. Ковалев Курейчик Владимир Викторович
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: vkur@tsure.ru.
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634383451.
Кафедра систем автоматизированного проектирования; заведующий кафедрой; д.т.н.; .
Запорожец Дмитрий Юрьевич
E-mail: zaporogetz_trtu@mail.ru.
Кафедра систем автоматизированного проектирования, студент.
Kureichik Vladimir Viktorovich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: vkur@tsure.ru.
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: +78634383451.
The Department of Computer Aided Design; Head of the Department; Dr. of Eng. Sc.; Professor.
Zaporoghetz Dmitri Urievich
E-mail: zaporogetz_trtu@mail.ru.
The Department of Computer Aided Design; Student.
УДК 681.3.001.63
Б.К. Лебедев, Е.И. Воронин
МНОГОУРОВНЕВЫЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧИ ТРАССИРОВКИ ПО ВСЕМУ ЧИПУ С ИСПОЛЬЗОВАНИЕМ МОДИФИКАЦИЙ МУРАВЬИНОГО АЛГОРИТМА*
Предлагается метод многоуровневой трассировки СБИС, включающей две стадии: укрупнение и детализация. На стадии укрупнения множество областей (ячеек) итеративно группируется, и соответственно группируются узлы на многоуровневом графе. На стадии детализации множество объединенных ячеек итеративно разгруппируется. На каждом уровне выполняется глобальная, а затем детальная трассировка локальных соединений с использованием модификаций муравьиного алгоритма, как для глобальной, так и для
* Работа выполнена при частичной поддержке РФФИ (проекты: № 09-01-00509, № 10-01-00115, № 10-07-00055).
детальной трассировки Основными критериями оптимизации являются трассируемость -процент проложенных соединений.
Для моделирования процесса поиска используются графовые модели. Использование муравьиного алгоритма позволяет учитывать несколько критериев при поиске оптимального решения. Сравнение с известными алгоритмами показало улучшение качества решений до 3 %.
Многоуровневый подход; СБИС; муравьиный алгоритм; трассировка; оптимизация.
B.K. Lebedev, E.I. Voronin
MULTILEVEL FULL-CHIP ROUTING FRAMEWORK USING ANT COLONY
OPTIMIZATION
In work the method of the multilevel trace VLSI, including two stage is offered: integration and detailed elaboration. At a stage of integration the set of areas (cells) is iterative is grouped, and knots on the multilevel count are accordingly grouped. At a stage of detailed elaboration the set of incorporated cells is iterative will be grouped. At each level it is carried out global, and then detailed trace of local connections with use of ant algorithm updatings, both for global, and for detailed trace by the Basic criteria of optimization are percent of the laid connections.
For modeling of process of search are used graph models. Use of ant algorithm allows to consider some criteria by search of the optimum decision. Comparison with known existing algorithms has shown improvement of quality of decisions to 3 %.
Multilevel framework; VLSI; ant colony optimization; routing; optimization.
. -
стем автоматизированного проектирования (САПР) сверхбольших интегральных схем (СБИС) является трассировка соединений, которая во многом определяет качество топологии СБИС. Трассировка является сложной комбинаторной задачей. В связи с постоянным уменьшением геометрических размеров элементов и, соответственно, увеличением их числа на кристалле, задача все больше усложняется. Переход к нанометровым технологиям производства интегральных схем (ИС) породил новые ограничения, накладываемые на данную задачу [1,5].
Подавляющее большинство известных методов для решения задачи трассировки использует двухэтапный подход, включающий глобальную и детальную трасси-.
области трассировки (клетки, ячейки) и прокладываются соединения между этими областями. Основными критериями оптимизации являются трассируемость - процент проложенных соединений (в идеале должен быть равен 100 %) и перегрузка.
Перегрузка для каждой из сторон области определяется как отношение проложенных через эту сторону проводников к пропускной способности данной стороны и должна быть не больше единицы. В настоящее время существует множество подходов к решению глобальной трассировки, основанных на лабиринтном по, , , -рах и др. На стадии детальной трассировки прокладываются все соединения внутри каждой из клеток. Наиболее известными видами детальной трассировки являются трассировка в канале (channelrouting), трассировка коммутационных блоков (switch-boxrouting) и, так называемая, трассировка по всему чипу (full-chiprouting). Последняя является наиболее интересной с точки зрения исследований и разработки новых алгоритмов [5-8].
Несмотря на то, что двухэтапный подход к решению задачи трассировки позволяет работать с достаточно большим числом элементов на кристалле, он не всегда оказывается эффективным при использовании современных технологий производства СБИС. В частности, при технологии 35 нм и меньше такой подход не может давать качественные решения, удовлетворяющие ограничениям. Выходом в данном случае является многоуровневый подход. При таком подходе процесс
: (coarsening,
этой стадии компоненты схемы пошагово группируются, пока число групп не дос) (uncoarsening, -
нению процесс) [6-8].
Как видно из вышесказанного, трассировка СБИС - это сложная задача, для которой пока нет однозначного способа решения, гарантирующего оптимальный результат. В связи с этим разработка новых алгоритмов на сегодняшний день яв.
Уже достаточно долго интенсивно разрабатывается научное направление с названием «Природные вычисления» (NaturalComputing), объединяющее матема-, -. , , -ния отжига, методы эволюционного моделирования, генетические алгоритмы, методы эволюционной адаптации, алгоритмы роевого интеллекта, а также муравьиные (AntColonyOptimization - ACO) и пчелиные (BeeColonyOptimization - BCO) .
муравьиного алгоритма для решения задач глобальной и детальной трассировки по всему чипу при многоуровневом подходе [2-4,9,10].
.
ресурсы представляются в виде многоуровневого графа трассировки. Коммутационное поле делится на множество прямоугольных областей. Такие области называются глобальными ячейками (клетками) - GCs. Узел на графе представляет область на чипе, а ребро определяет границу между двумя смежными областями. Каждому ребру назначается пропускная способность в соответствии с физической площадью области трассировки. Такой граф называется многоуровневым графом трассировки уровня 0 и обозначается как G0.
Как упоминалось выше, при многоуровневой трассировке существует две : .
( ) , -. 0 -. k GCk,
графу Gk, объединяются в ячейку большего размера GCk+1. Укрупнение продолжа-
ется до тех пор, пока число ячеек не станет равным пороговому. На стадии детализации множество объединенных ячеек итеративно разгруппируется. Детализация выполняется с верхнего уровня и продолжается до тех пор, пока не будет достигнут уровень 0. На каждом уровне k ячейка GCk делится на четыре ячейки GCk-] меньшего размера. Процесс многоуровневой трассировки представлен на рис. 1.
Здесь пунктиром показаны соединения, поиск которых осуществляется на , -
. Gk -
, -
сурсов для следующего уровня Gk+1. При детализации выполняется глобальная трассировка муравьиным алгоритмом и детальная трассировка муравьиным алгоритмом тех соединений, которые не были протрассированы при укрупнении.
В качестве исходных данных имеем список цепей и координаты выводов ( ).
цепи. Затем каждая цепь представляется в виде множества двухтерминальных со-( ). k , затем детальная трассировка локальных соединений, то есть тех двухпиновых со, ,
ресурсов для уровня k+1. Глобальная трассировка производится образцами, при этом используются только простые формы соединений (L-форма и Z-форма). Такой
подход позволяет находить соединения минимальной длины. Если двухпиновое соединение не удается проложить, то оно откладывается до стадии детализации. Пусть С0=(У0 Е0) - многоуровневый граф уровня 0 и Яе={е€Е0\е - ребро, выбранное для трассировки} - результат глобальной трассировки для локального соединения. Тогда в качестве оценочной функции на стадии глобальной трассировки будем использовать функцию:
<Р( К) = 2 ^, (1)
ееЯе
где се - перегрузка ребра е, определяемая по формуле:
1
се - 2(Ре-ае) , (2)
где ре - пропускная способность ребра е, а йе - загруженность ребра е.
Рис. 1. Процесс многоуровневой трассировки
После распределения соединения по областям выполняется детальная трас.
детальной трассировки по всему кристаллу (йиП-сЫргоиН^), однако каждый из них имеет свои недостатки. В связи с этим в работе предложен новый подход, основанный на модификации муравьиного алгоритма, который будет описан далее. После выполнения глобальной и детальной трассировки на уровне к четыре смежные ячейки ОСк объединяются в ячейку большего размера ОСк+1< и, в то же время,
к+1 .
По завершении стадии укрупнения начинается обратный процесс - детализация. На стадии детализации на каждом уровне также выполняется глобальная и детальная трассировка соединений, которые не были реализованы на стадии укрупнения. При этом допускаются различные конфигурации соединений. Ниже представлен псевдокод алгоритма многоуровневой трассировки, предлагаемого в работе.
Входные данные: N - список цепей; Р - коммутационное поле.
Выходные данные: протрассированные цепи N на Р:
1. ;
2. представить все цепи в виде двухтерминальных соединений;
// стадия укрупнения
3. для (каждого уровня на стадии укрупнения) выполнить
4. выбрать цепь п;
5. если (п принадлежит текущему уровню) выполнить
6. глобальная_трассировка_образцами(п );
7. детальная_трассировка(п );
8. конец условия
9. конец цикла //
10. ( )
11. п;
12. _ _ _ (п);
13. детальная_трассировка(п);
14.
15. вывод результатов.
Для детальной трассировки используется тот же алгоритм, что и на стадии укрупнения. В большинстве работ по многоуровневой трассировке, в частности, в работах [6-8], глобальная трассировка на стадии детализации выполняется лаби-
. , оно существует, однако он учитывает только длину цепи. Для того, чтобы одновременно минимизировать перегрузку ребер, в данной работе предлагается муравьиный алгоритм глобальной трассировки.
Общие принципы муравьиных алгоритмов. Идея муравьиного алгоритма -моделирование поведения муравьев, связанного с их способностью быстро находить кратчайший путь от муравейника к источнику пищи и адаптироваться к изменяю, . метит путь феромоном, и эта информация используется другими муравьями для вы. , -стью будут обходить её справа и слева. То же самое будет происходить и на обратной стороне преграды. Однако те муравьи, которые случайно выберут кратчайший
, ,
.
феромона, то следующие будут предпочитать именно этот путь. Такая положительная обратная связь быстро приведёт к тому, что кратчайший путь станет единственным маршрутом движения большинства Муравьёв. Для того чтобы избежать подоб, . обратной связи гарантирует нам, что найденное локально оптимальное решение не будет единственным - муравьи будут искать и другие пути.
Любой муравьиный алгоритм в общем виде можно представить в виде цикла, на каждом шаге которого выполняются следующие 4 этапа:
1. Создаем муравьев (при этом выбирается и начальный уровень феромона).
2. .
3. Обновляем феромон (включая его испарение).
4.
[4,11,12].
Муравьиный алгоритм глобальной трассировки.
1) Пусть Ок=(Ук,Ек) - граф многоуровневой трассировки уровня к. На графе Ок будем искать маршрут для прокладки трассы. Построим граф Ок=(Ук,Ек ), где
\Ук\ = \Ук\, \Ек \ = \Ек\, на графе Бк будем моделировать движение муравьев. Пусть 56Ук и ТЕУк - узлы графа Ок, которые необходимо связать. На каждой итерации г алгоритма в соответствующие узлы Б1 и Т1 графа Бк назначается по хмуравьев (агентов).
2) Перед началом поиска решений на всех ребрах графа Бк откладывается одинаковое небольшое количество феромона р1Ш,,. Каждый агент пошагово строит маршрут из Б1 в Т1 (или наоборот). На шаге /агент /выбирает очередную вершину V/ I / ИЗ списка смежных вершин С вероятностью Р/ г; для продолжения движения.
Ри,; = -/-, (3)
I ,,
г =1
где параметр Р/,г,;рассчитывается по формуле (4).
Р],г,/ = (М],г,/) + (Миач ' Ф],г,/)^ (4)
Здесь /I - уровень феромона на ребре //меж ду текущей вершиной и вершиной Vj,t,l1, а, Р - управляющие параметры (а +Р=1), (Р],1,1=™/1:^/+1 г/, где Wj,t,; -сумма ресурсов на ребре е/,{,; графа Ок, соответствующем ребру // графа Бк, до прокладки соединения через е-^щ+^и - сумма ресурсов после прокладки соединения. Введем дополнительный параметр ^обозначающий сумму ресурсов на графе Ок перед прокладкой цепи п. Пусть щ - сумма ресурсов на графе Ск после прокладки цепи ппо маршруту агента /. Тогда, в качестве оптимального маршрута для прокладки цепи п на итерации г выбирается маршрут, для которого отношение 9/9 мини мально. Данный маршрут сохраняется, и алгоритм продолжает работу со .
3) Обновление феромона на графе Бк моделируется еле дующим образом: на каждом ребре каждого маршрута /, полученного на итерации г, количество феромона увеличивается на величину р* = (рпа,/10)*( у/щ). Затем моделируется процесс испарения феромона, при этом количество феромона ре для каждого ребра графа Бк пересчитывается по формуле ре= р *р, где р берется из диапазона (0,96-0,99).
4) Алгоритм завершает работу по окончании М итераций. В качестве итогового решения берется лучшее решение, полученное в течение работы алгоритма.
Модификация муравьиного алгоритма для детальной трассировки. В работе используется сеточный детальный трассировщик. Перед началом работы алгоритма на коммутационное поле накладывается сетка с шагом 5. Построим ортогональный граф 0к(У, и), вершины графа соответствуют ячейкам на сетке. Для каж-п, ,
Qkn графа д.к, который будет использоваться для поиска решения. Подграф Qk,n включает вершины графа Qk, соответствующие вершинам графа Ок, через которые проходит соединение глобальной трассировки п. В вершины подграфа QKn, соответствующие конечным точкам соединения п, назначается по х1 муравьев. Муравьиный алгоритм детальной трассировки выполняет те же шаги, что и муравьиный алгоритм глобальной трассировки, но с некоторыми изменениями. В частности, параметр Е{-,; при построении маршрута рассчитывается по формуле:
Р/г,; = (Мм) + Р • (М,1ач • тУ + Р2 • (Д№( • ту, (5)
где а, р, у, т, Р1, Р2- управляющие параметры, а +Р +у = 1; т = (1... 10). Р1=1, если при переходе из текущей вершины у в рассматриваемую вершину уг расстояние до конечной вершины маршрута уууменьшается, и Р1=(0... 0,7) в противном случае. Р2=1, если при переходе в вершину угмаршрут не меняет направления и не осуществляется межслойный переход, и Р2=(0... 0,7) в противном случае. На каждой итерации алгоритма из всех построенных агентами маршрутов выбирается
маршрут минимальной длины. Если имеется несколько маршрутов одной длины, среди них выбирается тот, у которого наименьшее число изгибов и межслойных переходов. Параметр ^* при обновлении уровня феромона рассчитывается как ^* = (3^„ач)*(1/Х1Ч2Ч3), где Х1 - число изгибов маршрута, Х2 - число межслойных переходов, Х.3 рассчитывается как отношение длины маршрута l к минимальной длине L-образного маршрута между соединяемыми вершинами.
Заключение. В работе предлагается многоуровневый подход к трассировке по всему чипу, использующий муравьиный алгоритм, как для глобальной, так и для детальной трассировки, что позволяет улучшить качество решений на обеих стадиях (укрупнения и детализации). Как показывают экспериментальные иссле-,
, -
кам. Для исследований использовались бенчмарки из [8], а также собственные мо, . -ми показало улучшение качества решений до 3 %.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лебедев Б.К., Лебедев В.Б. Поисковые процедуры канальной трассировки, базирующиеся на моделировании адаптивного поведения роя частиц в пространстве решений с неупорядоченным лингвистическим шкалированием // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 15-22.
2. Курейчик В.В., Курейчик В.М., Гладков Л.А., Сороколетов П.В. Бионспирированные методы в оптимизации. - М.: Физмалит, 2009.
3. . ., . ., . . , -
// . . - 2009.
- № 4 (93). - С. 16-25.
4. Литвиненко В.А., Ховансков С.А., Норкин О.Р. Оптимизации мультиагентной системы распределенных вычислений // Известия ЮФУ. Технические науки. - 2009. - № 4 (93).
- . 226-235.
5. Charles J. Alpert, Dinesh P. Mehta, Sachin S. Sapatnekar. Handbook of algorithms for physical design automation. CRC Press, New York, USA, 2009.
6. Chang Y.-W. and Lin S.-P., MR: A new framework for multilevel full-chip routing // IEEE Trans Computer-Aided Design. - 2004. - № 23 (5). - P. 793-800.
7. Cong J., Fang J., Xie M. and Zhang Y. MARS-A multilevel full-chip gridless routing system // IEEE Trans Comput.-Aided Design Integr. Syst. - 2005. - Vol. 24, №. 3. - P. 382-394.
8. Tai-Chen Chen, Yao-Wen Chang. Multilevel Full-Chip Gridless Routing With Applications to Optical-Proximity Correction // IEEE Trans Comput.-Aided Design Integr.Syst. - 2007.
- Vol. 26, № 6. - P. 1041-1053.
9. . . // . -
нические науки. - 2009. - № 4 (93). - С. 46-52.
10. . ., . . // -вестия ЮФУ. Технические науки. - 2010. - № 7 (108) - С. 32-39.
11. . ., . . -// -гиям “AIS-IT’09”. T. 3. - М.: Изд-во Физматлит, 2009. - C. 213-214.
12. Мак Коннелл Дж. Основысовременныхалгоритмов. - М.: Техносфера, 2004.
Статью рекомендовал к опубликованию д.т.н., профессор ЮЛ. Чернышев
Лебедев Борис Константинович
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: lbk@tsure.ru.
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371743.
Кафедра систем автоматизированного проектирования; профессор.
Воронин Егор Ильич
E-mail: egorvoronin04@rambler.ru
Кафедра систем автоматизированного проектирования; аспирант.
Lebedev Boris Konstantinovich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: lbk@tsure.ru.
44, Nekrasovsky, Taganrog, 341928, Russia.
Phone: +18634311143.
The Department of Computer Aided Design; Professor.
Voronin Egor Iljich
E-mail: egorvoronin04@rambler.ru.
The Department of Computer Aided Design; Postgraduate Student.
УДК 004.032.24
. . - , . .
ЭКСПЕРИМЕНТАЛЬНАЯ И ТЕОРЕТИЧЕСКАЯ ОЦЕНКИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ НАХОЖДЕНИЯ МИНИМАЛЬНОГО ОСТОВНОГО ДЕРЕВА НА КЛАСТЕРНЫХ СИСТЕМАХ*
Описывается параллельный алгоритм, разработанный для нахождения минимального ,
предложенного параллельного алгоритма . Были произведены вычислительные эксперименты для оценки эффективности параллельного алгоритма Прима и разработанного параллельного алгоритма на основе метода Борувки. Проведена сравнительная характеристика экспериментальных и теоретических оценок параллельных алгоритмов поиска минимального ос-товного дерева на кластерных системах и многопроцессорной среде. Предложенные параллельные алгоритмы позволяют достигать значительной величины ускорения, в том числе и при использовании нескольких тысяч процессоров. Сравнительная характеристика экспериментальных и теоретических оценок параллельных алгоритмов нахождения минимального ,
алгоритма на основе метода Борувки для нахождения минимального остовного дерева. Данный алгоритм может, использован для разработки параллельной программы для кластера , .
Метод Борувки; параллельное программирование; остовного дерева.
A.A. Al-Khulaidi, Y.O. Chernyshev
EXPERIMENTAL AND THEORETICAL EVALUATION OF PARALLEL ALGORITHM FOR FINDING MINIMAL SPANNING TREE ON CLUSTER
SYSTEMS
This paper describes a parallel algorithm designed for finding the minimum spanning tree-based algorithm Boruvki Ratings and computational complexity of the proposed parallel algorithm. Computational experiments were carried out to assess the effectiveness of the parallel algorithm and Prim's developed a parallel algorithm based on the method Boruvki. The comparative characteristics of the experimental and theoretical evaluations of parallel algorithms for finding a minimum spanning tree for cluster systems and a multiprocessor environment. The proposed parallel algorithms can achieve a significant amount of acceleration, including the use of several thousand processors. Comparative characteristics of the experimental and theoretical evaluations of parallel algorithms
* Работа выполнена при частичной поддержке РФФИ (проект № 10-01-00481-а). 80