Литвиненко Василий Афанасьевич
E-mail: [email protected].
Тел.: 88634371651.
Кафедра систем автоматизированного проектирования; доцент.
Норкин Олег Рауфатович
Тел.: 88634371787.
Кафедра системного анализа и телекоммуникаций; доцент.
Hovanskov Sergey Andreevich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
Phone: +79185792173.
The Department of Radio-electronic Protection Frames and Service; Associate Professor.
Litvinenko Vasiliy Afanasievich
E-mail: [email protected].
Phone: +78634371651.
The Department of Computer Aided Design; Associate Professor.
Norkin Oleg Raufatovich
Pyone: +78634371787.
The Department of the System Analysis and Telecommunications; Associate Professor.
УДК 658.512
И.Н. Ерошенко МЕМЕТИЧЕСКИЙ АЛГОРИТМ ПЛАНИРОВАНИЯ СБИС*
Рассматривается задача планирования сверхбольших интегральных схем. Данная задача относится к классу NP. В работе предложен меметический алгоритм, являющийся гибридным генетическим алгоритмом. Приведено описание представления плана в виде обобщенной польской записи, к достоинствам которой относят быстрое декодирование и возможность негильотинного планирования. Также дано описание структур хромосом, принципы генетического и адаптивного поиска в рамках меметического алгоритма. Указана важность сбалансированного применения метаэвристик.
Планирование СБИС; меметический алгоритм; обобщенная польская запись.
I.N. Yeroshenko MEMETIC ALGORITHM FOR VLSI FLOORPLANNING
The article is dedicated to the problem of VLSI floorplanning. VLSI floorplanning is an NP-hard problem. In this paper, a memetic algorithm as a hybrid genetic algorithm is presented. The description offloorplan in the form of generalized polish expression (GPE) is given. Fast decoding and possibility of nonslicing floorplan representation are the advantages of GPE. Chromosomes structures, genetic and adaptive search schemes within the memetic algorithm are proposed in this paper. The importance of the balanced usage of the metaheuristics is mentioned.
VLSIfloorplanning; genetic algorithm; generalized polish expression.
* Работа выполнена при поддержке: РФФИ (грант № 09-07-00318), г/б № 2.1.2.1652.
Введение. Планирование является важным этапом конструкторского проектирования сверхбольших интегральных схем. Оно влияет на производительность, размеры чипа.
Планирование заключается в размещении модулей таким образом, чтобы они не пересекались, при этом целевая функция минимизировалась. Целью оптимизации могут быть минимизация площади кристалла, длины межсоединений и др. При качественном размещении не только уменьшается площадь микросхемы, но и уменьшается стоимость внутренних соединений. Задача планирования относится к классу NP.
Представление плана определяет размер пространства поиска и сложность трансформации между представлением и самим планом. Существующие представления делят на гильотинные и негильотинные.
Гильотинный план получается при рекурсивных вертикальных и горизонтальных гильотинных разрезах прямоугольника на части. Польская запись используется для кодирования бинарного дерева разрезов. Листья дерева соответствуют модулям, внутренние вершины - инфиксным операторам горизонтального (H) и вертикального (V) разрезов.
Если план не может быть получен путем такого последовательного деления на части, его называют негильотинным. В середине 90-х годов стали разрабатывать негильотинные представления, так как считается, что они позволяют достичь лучшей компакции (меньше мертвая зона). Примером «классического» негильотинного представления может служить пара последовательностей (SP - Sequence Pair). Представление SP является очень гибким, но пространство поиска большое. В работе [1] была описана обобщенная польская запись (GPE - Generalized Polish Expression), в которой используется дополнительный инфиксный оператор - угловой оператор @. Благодаря использованию углового оператора удается лучше использовать мертвую зону. Поэтому для разработанного алгоритма используется GPE.
Существующие поисковые методы для планирования СБИС делят на две категории: методы локального поиска и методы глобального поиска. В общем случае, методы локального поиска эффективны, но получить оптимальный результат затруднительно, так как поиск ограничен локальной областью.
Генетический алгоритм (ГА) является распространенным методом глобального поиска (в том числе, и для планирования СБИС). ГА успешно применялись для гильотинного планирования и негильотинного планирования. Но ГА не учитывает специфику задачи (геометрические соотношения между модулями). Поэтому требуется использовать дополнительные метаэвристики.
В рамках данной работы используется меметический алгоритм (МА) для негильотинного планирования СБИС. МА - метаэвристика, основанная на популяции решений. Предложенный МА представляет собой гибридный генетический алгоритм, который сочетает в себе методы глобального и локального поиска для минимизации площади микросхемы.
Представление плана «обобщенная польская запись». Обобщенная польская запись (GPE) расширяет возможности обычной польской записи для представления плана. Простота GPE и линейное время трансформации выгодно отличают данное представление от других негильотинных [1].
Рассмотрим схему декодирования GPE. Процедура декодирования GPE показана на рис. 1.
Рис. 1. Формирование плана для ОРЕ = (Ьё Нg Vк Н с @ ав/Н V@}
GPE обрабатывается последовательно слева направо. Сначала, для {Ь d Н}, модуль d будет помещен над модулем Ь, сформируется первый элемент списка углов - ^-Ь}. Для {Ь d Н g V} модуль g помещается справа от супермодуля {Ь d Н}. Список углов модифицируется (замена ^-Ь} на {d-g}, так как для экономии памяти и эффективности расчетов должна поддерживаться выпуклость углов). Затем для {Ь d Н g V Ь Н} модуль h располагают над супермодулем {Ь d Н g V}-Список углов становится {h-d-g}. Когда для {Ь d Н g V Ь Н с @} встречается оператор @, необходимо выбрать один подходящий угол для модуля с на основе следующей эвристики: (1) выбрать такой угол, в который модуль может быть полностью помещен или (2) выбрать такой угол, у которого помещение модуля не приведет к увеличению площади плана. Если вставка модуля в каждый угол может увеличить план, то тогда выбирается любой угол. В данном примере выбирается угловое ограничение (^) для первого оператора @, угловой список становится {Ь-с^}. Процесс свертки продолжается схожим образом до очередного оператора @. Снова необходимо выбрать эвристически один угол из списка {Ь-с^}. Для второго оператора @ выбирается ограничение (Ь,с). Процесс декодирования завершен [2].
При выполнении Н-оператора и V-оператора происходит модификация списка углов (рис. 2). Сплошной линией указаны углы после модификации. Угол может быть закрыт, модифицирован или остаться без изменений (зависит от ширины второго элемента при Н-операторе и высоты второго элемента при V-операторе).
Н
V
Рис. 2. Модификация списка углов при V- и ^разрезах
Генетический алгоритм как метод глобального поиска. Генетические алгоритмы относятся к классу эволюционных вычислений (ЭВ).
ЭВ представляют собой совокупность алгоритмических, программных, аппаратных средств и приближенных эвристических методов, основанных на имитации механизмов эволюции для синтеза структур обработки данных, а также на статистическом подходе к исследованию ситуаций и итерационном приближении к искомому решению [3]. Идеи эволюции и самоорганизации оказались плодотворными на практике. В моделях и алгоритмах ЭВ ключевым элементом конструкции являются построение начальной модели и правил, по которым она может изменяться (эволюционировать) [4,8].
Решение представляется набором хромосом S = {Н1, Н2, Н3, Н4}. Пусть п - число модулей. Тогда размеры хромосом Н1, Н2, Н3 равны п-1, а размер хромосомы Н4 равен п. Хромосома Н1 кодирует разметку модулей (1 < g1 < п+1-1), Н2 определяет структуру бинарного дерева (1 < g1 < п - 1). С помощью хромосомы Н3 задаются типы операторов (Н,^ @). Значением гена является 0, 1 или 2 (флаг 0 -Н-разрез, флаг 1 - V-разрез, флаг 2 - угловой оператор @). Хромосома Н4 определяет ориентацию модулей. Если g1 = 0, то высота прямоугольного модуля больше его ширины, при g1 = 1 высота меньше, либо равна ширине. Процесс декодирования подробно описан в работе [2]. Декодирование хромосом имеет оценку трудоемкости О(п), где п - число модулей. Пространственная сложность для одного решения имеет оценку О(п).
В работе используются два типа оператора кроссинговера: К1 и К2 [5]. При помощи К1 можно получить новые решения путем комбинирования составами хромосом родительской пары. Для этого необходимо задать специальный параметр - Рк1 (вероятность кроссинговера). Осуществляется последовательный просмотр хромосом Н1-Н4, и с вероятностью Ри производится обмен гомологичными хромосомами родительской пары.
С помощью К2 новые решения образуются путем обмена генами. Задается параметр Рк2 - вероятность кроссинговера. Последовательно просматриваются ло-кусы хромосом. С вероятностью Рк2 производится обмен гомологичными генами.
Комбинированный кроссинговер реализуется следующим образом. Выбирается первичная родительская пара R1 и R2. Производится кроссинговер типа К2. Образуется дочерняя пара R1’ R2,. Получившуюся пару следует рассматривать как вторичную родительскую, к ней применяется оператор кроссинговера К1 (обмен на уровне целых хромосом). В итоге появляется пара R1” и R2” как результат последовательного использования операторов кроссинговера К2 и К1.
Оператор мутации выполняется следующим образом. Задается параметр Рм - вероятность мутации. Просматриваются последовательно локусы хромосом решения. С вероятностью Рм осуществляется мутация гена в текущем локусе. Мутация заключается в принятии геном случайного значения из заданного диапазона значений для гена в данном локусе.
Для выбора родительской пары хромосом используется принцип рулетки. В соответствии с этим принципом для всех решений рассчитывается вероятность выбора на основе значений фитнеса (наиболее приспособленные особи чаще выбираются).
На каждом 1-м этапе осуществляется генетический поиск путем модификации хромосом, входящих в заданный для этого этапа набор ЫН модифицируемых типов хромосом. Это означает, что в полном объеме используется кроссинговер К1, заключающийся в комбинировании наборов хромосом, входящих в решение, а кроссинговер К2 и мутация применяются только к тем хромосомам, которые входят в набор типов модифицируемых хромосом [5].
Альтернативная адаптация как метод локального поиска. В рамках МА в качестве метода локального поиска используется подход, основанный на модели-
ровании коллективного поведения автоматов адаптации. М.А. Цетлин предложил использовать вероятностный автомат адаптации (АА). АА может принимать сигналы поощрения (-) и наказания (+). Под действием таких сигналов состояние АА меняется. В рамках адаптивного процесса автомат переходит в состояние, которое соответствует лучшей альтернативе [6].
Представим формулировку задачи в виде адаптивной системы.
Ориентацию модуля т1 при его размещении в области задается параметром о1. о1 е {0,1}, т.е. для т1 возможны два способа (две ориентации) размещения (рис. 3).
О = о 0 = 1 1 1
Рис. 3. Два вида ориентации модуля
Пространство решений составляют решения, отличающиеся друг от друга значениями элементов множества О, задающими ориентацию модулей.
Введем для оценки состояния объекта адаптации в среде два параметра <Р1х,Р1у>. Р1х = 1, если размер w1 модуля входит в состав выражения, определяющего ширину w0 охватывающего прямоугольника R; Р1х = 0 - в противном случае. Р1у = 1, если размер Ь модуля т1, входит в состав выражения, определяющего высоту Ьо прямоугольника R; Р1у = 0 - в противном случае (рис. 4).
ь ОРБ: а Ь Н с @ С V
с с1 ^ ^ + w +w,1 0 Ь с С
а И = И + И 0 а Ь
Рис. 4. План для GPE = ^ Ь Н с @ й V}
Возможны четыре комбинации значений параметров <Р1х,Р1у>: <0,0>, <0,1>, <1,0>, <1,1>. Если Р1х = 1, то предпочтительней будет альтернатива А2, т.к. в выражение для w0 войдет меньшая величина. Если Р1у = 1, то предпочтительней будет альтернатива А1, следовательно, в выражение для Ь0 войдет меньшая величина.
Для реализации механизма адаптации каждому модулю ставится в соответствие автомат адаптации АА с двумя группами состояний {С11,С21}, соответствующих двум альтернативам А11 и А21 .Число состояний в группе задается параметром Q, называемым глубиной памяти. На вход автомата адаптации АА1 подается сигнал "поощрение" или "наказание" в зависимости от состояния объекта адаптации в среде. На рис. 5 показана схема переходов автомата адаптации. Знаком (+) помечены переходы под действием сигнала "поощрение", знаком (-) помечены переходы под действием сигнала "наказание".
Если предпочтительная альтернатива в соответствии со значениями пары параметров <Р1х,Р1у> совпадает с реализованной в данный момент альтернативой, то вырабатывается сигнал поощрения, в противном случае - сигнал наказания. Отметим, что в случае, когда пара параметров <Р1х,Р1у> имеет значение <0,0> или <1,1>, предпочтительной альтернативы нет. Поэтому в случае <0,0> управляющий сигнал не вырабатывается вообще (табл. 1).
А‘і А2і
(+) (+) (-) (+) (+)
(-) (0 (-) (-) сч €2‘
Рис. 5. АА с двумя группами состояний
Таблица 1
Правила генерации управляющих сигналов
Р1 Р х Р1 Р у Предпочтительная альтернатива Реализованная альтернатива Управляющий сигнал
0 1 А11 А1: (+)
0 1 А11 А2: (-)
1 0 А21 А1: (-)
1 0 А21 А2: (+)
0 0 Нет А1: или А2: Нет
1 1 Нет А1: или А2: (-) с вероятностью Р
Работа адаптивной системы на каждой итерации осуществляется за четыре такта [6].
В соответствии с выражениями для определения размеров сторон Wo и ^ прямоугольника R для каждого модуля т1 определяются значения пары параметров <Р:х,Р:у>.
Для каждого автомата адаптации в соответствии со значениями пары параметров <Р:х,Р:у> и состоянием автомата адаптации вырабатываются управляющие сигналы ("поощрение" или "наказание").
Под действием управляющего сигнала осуществляется переход в автоматах адаптации.
В соответствии с состояниями автоматов адаптации реализуется альтернативы для модулей, т.е. выбираются их соответствующие ориентации. Затем с помощью процедуры свертки строится план, определяются выражения для определения размеров параметров w0 и Ь0.
Гибридизация метаэвристик. Представленные алгоритмы могут работать автономно. Каждый обладает достоинствами и недостатками. ГА позволяет находить достаточно качественные решения, но для получения решения, близкого к оптимальному, требуется набор «осмысленных» действий, учитывающих специфику задачи. Альтернативная адаптация работает на локальном уровне (на вход подается бинарное дерево GPE, а затем подбирается ориентация модулей). Гибридизация метаэвристик в виде меметического алгоритма позволяет объединить достоинства генетического алгоритма и алгоритма альтернативной адаптации. Связующим звеном выступает хромосома Н4. При расчете фитнеса текущей особи можно подбирать конечные значения генов хромосомы Н4 с помощью обучающихся автоматов. Для этого требуется установить взаимно однозначное соответствие между альтернативой (ориентацией модулей) и значением гена (рис. 6).
Рис. 6. Связь автоматов адаптации и хромосомы H4
Заключение. Как показывают многочисленные эксперименты, гибридные метаэвристики часто превосходят по качеству получаемых решений традиционные метаэвристики. Связано это с тем, что отдельные подходы могут не учитывать особенности решаемой задачи. При построении гибридной модели важно рассчитать интенсивность использования методов локального и глобального поиска, поэтому предполагается дальнейшее развитие представленного меметического алгоритма (для соблюдения баланса между ГА и АА). В работе [7] указано, что метод локального поиска является затратным с точки зрения вычислительных ресурсов, поэтому невозможно исследовать все области. Вводится пороговое значение v. Если фитнес особи меньше v, то метод локального поиска не применяется, если фитнес больше или равен v, то он применяется. Выбор порога v важен, потому что при слишком низком его значении меметический алгоритм будет затратным по времени, а при слишком высоком пороге могут быть пропущены перспективные области поиска. Подбор порогового значения не является простой задачей, требуются дополнительные исследования.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Lin C.-T., Chen D.-S. and Wang Y.-W. GPE: A New Representation for VLSI Floorplan Problem // Proceedings of the International Conference on Computer Design, Freiburg, Germany.
- 2002. - P. 42-44.
2. Ерошенко И.Н. Разработка генетического алгоритма кластерного планирования СБИС // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 54-60.
3. Курейчик В.М., Родзин С.И. Эволюционные алгоритмы: генетическое программирование (обзор) // Известия РАН. Теория и системы управления. - 2002. - № 1. - С. 127-137.
4. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.
- № 4 (93). - С. 16-24.
5. Лебедев В.Б. Планирование СБИС на основе многоуровневой эволюции // Известия ТРТУ. - 2001. - № 4 (22). - С. 153-163.
6. Курейчик В.М., Лебедев Б К., Лебедев О.К. Поисковая адаптация: теория и практика.
- М: Физматлит, 2006. - С. 272.
7. Tang, Maolin and Yao, Xin. A memetic algorithm for VLSI floorplanning // IEEE Transactions On Systems, Man, And Cybernetics-Part B: Cybernetics, 37(1), 2007.
8. Курейчик В.В., Курейчик В.М., Ковалев С.М. Оптонечеткие системы // Известия ЮФУ. Технические науки. - 2009. - № 4 (93). - C. 99-106.
Ерошенко Илья Николаевич
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected]. г. Таганрог, ул. Розы Люксембург, 114.
Тел.: 88634644031.
Кафедра систем автоматизированного проектирования; аспирант.
Yeroshenko Ilya Nikolaevich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
114, Rosa Luxemburg Street, Taganrog, Russia.
Phone: +78634644031.
The Department of Computer Aided Design; Postgraduate Student.