Аноним

Кластеризация на основе эффективности: различия между версиями

Материал из WEGA
Нет описания правки
 
(не показано 19 промежуточных версий 2 участников)
Строка 1: Строка 1:
== Ключевые слова и синонимы ==
== Ключевые слова и синонимы ==
Разбиение схем; кластеризация схем
'''Кластеризация на основе эффективности --- ''Performance-Driven Clustering'''''


Разбиение схемы (''Circuit partitioning''); кластеризация схемы (''Circuit clustering'')


== Постановка задачи ==
== Постановка задачи ==
Строка 8: Строка 9:




Комбинационная схема может быть представлена в виде ориентированного ациклического графа G = (V, E), где V – множество вершин, а E – множество ориентированных ребер. Каждая вершина представляет вентиль в сети, а каждое ребро (u, v) из множества E – взаимодействие между вентилями u и v в сети. Обозначим за fanin («разветвление на входе») вершины количество инцидентных ей входящих дуг, а за fanout («разветвление на выходе») – количество инцидентных ей исходящих дуг. Первичным входом (primary input, PI) является вершина с fanin = 0, а первичным выходом (primary output, PO) – вершина с fanout = 0. С каждой вершиной ассоциированы вес и задержка.


Комбинационная схема (''combinational circuit'') может быть представлена в виде ориентированного ациклического графа G = (V, E), где V – множество вершин, а E – множество ориентированных ребер. Каждая вершина представляет вентиль в сети, а каждое ребро (u, v) из множества E – взаимосвязь между вентилями u и v в сети. Обозначим за fanin («разветвление на входе») вершины количество инцидентных ей входящих дуг, а за fanout («разветвление на выходе») – количество инцидентных ей исходящих дуг. Первичным входом (primary input, PI) является вершина с fanin = 0, а первичным выходом (primary output, PO) – вершина с fanout = 0. С каждой вершиной ассоциированы [[вес вершины|вес]] и [[задержка]].


Определение 1. Кластеризация сети G = (V, E) представляет собой тройку (Я, ф,И), где
1. H = (V0, E0) – ориентированный ациклический граф;
2. ' – функция, отображающая V0 на V, такая, что


• для любого ребра (u0;v0) 2 Е',(ф(и'),ф(у')) 2 E,
'''Определение 1.''' '''Кластеризация''' сети G = (V, E) представляет собой тройку <math>(H, \phi,\Sigma) \;</math>, где
• для любой вершины v0 2 V0 and edge (и,ф(у')) 2 E,
существует уникальный элемент u0 2 V0, такой, что ф(и') = u
апсЦк'У) €£'.
• Для любой вершины-первичного выхода v 2 V существует уникальный элемент
v0 2 V, такой, что ф{у') = v.
3. £ – разбиение V0.


1. H = (V', E') – ориентированный ациклический граф;


Пусть Г = (H= (У,Е'),ф,Е) – кластеризация G. Для v 2 V, v0 2 V0, в случае, если ф{у') = v, мы называем v0 копией v. Множество V0 состоит из всех копий вершин из V, встречающихся в кластеризации. Вершина v0 является первичным входом (первичным выходом, соответственно) кластеризации Г, если ф{у') является первичным входом (первичным выходом) сети G. Из определения ' следует, что H логически эквивалентна G.
2. <math>\phi \;</math> – функция, отображающая V' на V, такая, что


• для любого ребра <math>(u', v') \in E' \;</math>,<math>(\phi (u'), \phi (v')) \in E \;</math>,


Веса и задержки отдельных вершин G позволяют определить веса и задержки вершин H0 и задержку для кластеризации Г. Вес (соответственно, задержка) вершины v0 в V0 равен весу (задержке) ф(v). Вес любого кластера C 2 £, обозначаемый W(C), равен сумме весов вершин C. Задержка кластеризации определяется согласно обобщенной модели, предложенной Мургаи и коллегами [ ]: Задержка ребра (u0; v0) 2 E0 равна D (заданному параметру), если u0 и V принадлежат к разным элементам S, и нулю в противном случае. Задержка по пути в H0 равна сумме задержек ребер, составляющих путь. Наконец, задержка Г равна задержке пути в H0, имеющего максимальную задержку среди всех путей из PI в PO по H0.
• для любой вершины <math>v' \in V' \;</math> и ребра <math>(u, \phi (v')) \in E \;</math> существует уникальный элемент <math>u' \in V' \;</math>, такой, что <math>\phi (u') = u \;</math> и <math>(u', v') \in E' \;</math>.


• Для любой вершины-первичного выхода <math>v \in V \;</math> существует уникальный элемент <math>v' \in V' \;</math>, такой, что <math>\phi (v') = v \;</math>.


Определение 2. Пусть дана комбинационная сеть G = (V, E) с весовой функцией w: V !>• R+, весовой емкостью M и функцией задержки 8: V !>■ R+. Мы говорим, что кластеризация Г = (Н,ф,Е) является допустимой, если для каждого кластера C 2 S значение W(C) не превышает M. Задача кластеризации схемы заключается в вычислении допустимой кластеризации Г сети G, такой, что задержка Г минимальна среди всех допустимых кластеризаций G.
3. <math>\Sigma \;</math> – разбиение V'.
В одной из первых работ по этой теме Лоулер и коллеги [ ] предложили алгоритм с полиномиальным временем исполнения для задачи кластеризации схемы в специальном случае, когда все вентильные задержки равны нулю (т.е. S(v) = 0 для всех v).


Пусть <math>\Gamma = (H= (V', E'), \phi, \Sigma) \;</math> – кластеризация G. Для <math>v \in V, v' \in V' \;</math>, в случае, если <math>\phi (v') = v \;</math>, мы называем v' ''копией'' v. Множество V' состоит из всех копий вершин из V, встречающихся в кластеризации. Вершина v' является первичным входом (первичным выходом, соответственно) кластеризации <math>\Gamma \;</math>, если <math>\phi (v') \;</math> является первичным входом (первичным выходом) сети G. Из определения <math>\phi \;</math> следует, что H логически эквивалентна G.
Веса и задержки отдельных вершин G позволяют определить веса и задержки вершин H' и задержку для кластеризации <math>\Gamma \;</math>. Вес (соответственно, задержка) вершины v' в V' равен весу (задержке) <math>\phi (v) \;</math>. Вес любого кластера <math>C \in \Sigma \;</math>, обозначаемый W(C), равен сумме весов вершин C. Задержка кластеризации определяется согласно обобщенной модели задержки, предложенной Мургаи и коллегами [3]: задержка ребра <math>(u', v') \in E' \;</math> равна D (заданному параметру), если u' и v' принадлежат к разным элементам <math>\Sigma \;</math>, и нулю в противном случае. Задержка по пути в H' равна сумме задержек ребер, составляющих путь. Наконец, задержка <math>\Gamma \;</math> равна задержке пути в H', имеющего максимальную задержку среди всех путей из PI в PO по H'.
'''Определение''' 2. Пусть дана комбинационная сеть G = (V, E) с весовой функцией <math>w: V \to R^+ \;</math>, весовой емкостью M и функцией задержки <math>\delta: V \to R^+ \;</math>. Мы говорим, что кластеризация <math>\Gamma = (H, \phi, \Sigma ) \;</math> является '''допустимой''' (''feasible''), если для каждого кластера <math>C \in \Sigma \;</math> значение W(C) не превышает M. '''Задача кластеризации схемы''' (''circuit clustering problem'')заключается в вычислении допустимой кластеризации <math>\Gamma \;</math> сети G, такой, что задержка <math>\Gamma \;</math> минимальна среди всех допустимых кластеризаций G.
В одной из первых работ по этой теме Лоулер и коллеги [2] предложили алгоритм с полиномиальным временем выполнения для задачи кластеризации схемы в специальном случае, когда все вентильные задержки равны нулю (т.е. <math>\delta (v) = 0 \;</math> для всех v).


== Основные результаты ==
== Основные результаты ==
Раджамаран и Вонг [ ] предложили оптимальный алгоритм с полиномиальным временем исполнения для задачи кластеризации схемы с применением обобщенной модели задержки.
Раджамаран и Вонг [5] предложили оптимальный алгоритм с полиномиальным временем выполнения для задачи кластеризации схемы с применением обобщенной модели задержки.




Теорема 1. Существует алгоритм, вычисляющий оптимальную кластеризацию для задачи кластеризации схемы за время O(n2 log n + nm), где n и m – количество вершин и ребер заданной комбинационной сети, соответственно.
'''Теорема 1. Существует алгоритм, вычисляющий оптимальную кластеризацию для задачи кластеризации схемы за время <math>O(n^2 log \; n + nm)</math>, где n и m – количество вершин и ребер заданной комбинационной сети, соответственно.'''




Результат может быть расширен для вычисления оптимальных кластеризаций с учетом любых монотонных ограничений кластеризации. Ограничение кластеризации является монотонным, если любое подключенное подмножество вершин допустимого кластера также является монотонным [2].
Данный результат может быть расширен для вычисления оптимальных кластеризаций с учетом любых монотонных ограничений кластеризации. Ограничение кластеризации является монотонным, если любое подключенное подмножество вершин допустимого кластера также является монотонным [2].




Теорема 2. Для задачи кластеризации схемы может быть найдено оптимальное решение с учетом любых монотонных ограничений кластеризации за время, полиномиальное относительно размера схемы.
'''Теорема 2. Для задачи кластеризации схемы может быть найдено оптимальное решение с учетом любых монотонных ограничений кластеризации за время, полиномиальное относительно размера схемы.'''
 


== Применение ==
== Применение ==
Разбиение (кластеризация) схем является важным компонентом процесса проектирования сверхбольших интегральных схем. Одним из вариантов применения этой задачи может быть реализация схемы на нескольких чипах программируемых пользователем вентильных матриц. В работе Раджамарана и Вонга основное внимание было уделено кластеризации комбинационных схем с целью минимизации задержек с учетом ограничений по площади. В родственных работах рассматривались другие важные ограничения – например, ограничения по распиновке [ ] и комбинация ограничений по площади и по распиновке [ ]. Также рассматривалась кластеризация последовательных схем (а не только комбинационных) с целью минимизации длительности такта [4].
Разбиение (кластеризация) схем является важным компонентом процесса проектирования сверхбольших интегральных схем. Одним из вариантов применения этой задачи может быть реализация схемы на нескольких чипах программируемых пользователем вентильных матриц. В работе Раджамарана и Вонга основное внимание было уделено кластеризации комбинационных схем с целью минимизации задержек с учетом ограничений по площади. В родственных работах рассматривались другие важные ограничения – например, ограничения по распиновке [1] и комбинация ограничений по площади и по распиновке [6]. Также рассматривалась кластеризация последовательных схем (а не только комбинационных) с целью минимизации длительности такта [4].
 


== Экспериментальные результаты ==
== Экспериментальные результаты ==
Раджамаран и Вонг опубликовали на Международном симпозиуме по схемам и системам результаты экспериментов на пяти схемах с количеством вершин от 196 до 913, а также показатели максимальных задержек кластеризации и времени исполнения алгоритма на рабочей станции Sun Sparc.
Раджамаран и Вонг представили на Международном симпозиуме по схемам и системам результаты экспериментов на пяти схемах с количеством вершин от 196 до 913, а также показатели максимальных задержек кластеризации и времени выполнения алгоритма на рабочей станции Sun Sparc.
 


== См. также ==
== См. также ==
► Преобразование технологий ППВМ
''[[Технологическое отображение ППВМ]]''


== Литература ==


== Литература ==
1. Cong, J., Ding, Y.: An optimal technology mapping algorithm for delay optimization in lookup-table based fpga design. In: Proceedings of IEEE International Conference on Computer-Aided Design, 1992, pp. 48-53
1. Cong, J., Ding, Y.: An optimal technology mapping algorithm for delay optimization in lookup-table based fpga design. In: Proceedings of IEEE International Conference on Computer-Aided Design, 1992, pp. 48-53


Строка 71: Строка 73:


6. Yang, H.H., Wong, D.F.: Circuit clustering for delay minimization under area and pinconstraints. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 16,976-986 (1997)
6. Yang, H.H., Wong, D.F.: Circuit clustering for delay minimization under area and pinconstraints. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 16,976-986 (1997)
[[Категория: Совместное определение связанных терминов]]