16. Shah R. Glitch Analysis and Reduction in Digital Circuits, International Journal of VLSI design & Communication Systems (VLSICS), August 2016, Vol. 7, No. 4, pp. 47-55.
17. Kulibaba A.Ya., Ogurtsov A.A. Kontrol' zaderzhek rasprostraneniya signalov v programmiruemykh logicheskikh integral'nykh skhemakh [Control of signal propagation delays in programmable logic integrated circuits], Raketno-kosmicheskoe priborostroenie i informatsionnye sistemy [.Rocket and space instrumentation and information systems], 2014, No. 1:3, pp. 42-47.
18. Maxfield C. The Design Warrior's Guide to FPGAs: Devices, Tools and Flows. Publisher: Newnes, 2004, 542 p.
19. Zia R., Rao M., Aziz A., Akhtar P. Efficient utilization of FPGA using LUT-6 Architecture, Applied Mechanics and Materials, 2013, Vol. 241-244, pp. 2548-2554.
20. Voevodin V.V., Voevodin Vl.V. Parallel'nye vychisleniya [Parallel computation]. Saint Petersburg: BKhV-Peterburg, 2002.
Статью рекомендовал к опубликованию д.т.н. С.Г. Капустян.
Дудко Сергей Анатольевич - ООО "НИЦ супер-ЭВМ и нейрокомпьютеров"; e-mail: [email protected]; 347900, г. Таганрог, ул. Социалистическая, 150Г; тел.: +79034318173; программист.
Левин Илья Израилевич - Южный федеральный университет; e-mail: [email protected]; 347900, г. Таганрог, пер. Итальянский, 106; тел.: +78634612111; кафедра интеллектуальных и многопроцессорных систем; зав. кафедрой; д.т.н.; профессор.
Dudko Sergei Anatolievich - Supercomputers and Neurocomputers Research Center; e-mail: [email protected]; 150G, Sotsialisticheskaya street, Taganrog, 347900, Russia; phone: +79034318173; programmer.
Levin Ilya Izrailevich - Southern Federal University; e-mail: [email protected]; 106, Italyansky lane, Taganrog, 347900, Russia; phone: +78634612111; the department of intellectual and multiprocessor systems; head of department; dr. of eng. sc.; professor.
УДК 004.382.2 DOI 10.23683/2311-3103-2019-7-142-152
А.В. Касаркин, И.И. Левин
РЕАЛИЗАЦИЯ АЛГОРИТМА БРОНА-КЕРБОША НА РЕКОНФИГУРИРУЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ
Поиск максимальных клик графа является одной из фундаментальных проблем теории графов и играет важную роль во многих приложениях. Задача о клике решается при анализе социальных сетей для обнаружения некоторого сообщества, в биоинформатике -для структурного выравнивания белка в трех измерениях, в САПР электрических схем - для размещения элементов и оптимизации. При этом данная задача является МР-полной, а это значит, что из-за ее высокой трудоемкости не всегда можно найти решение за приемлемое время. Целью работы, описанной в статье, является минимизация времени решения задачи поиска максимальных клик графа с использованием реконфигурируемых вычислительных систем (РВС). Предложен новый способ структурной реализации алгоритма Бро-на-Кербоша на РВС с применением оптимизации, помогающей в балансировке рабочей нагрузки между вычислительными ядрами и основанной на сортировке вершин по порядку вырождения. При реализации был выбран битовый способ представления множеств, когда позиция бита соответствует номеру элемента множества, а его значение является признаком присутствия либо отсутствия элемента во множестве. Выполнен анализ информационного графа одной итерации алгоритма и полного информационного графа всей задачи. Предложена вычислительная структура, реализующая информационный граф задачи на РВС с типом вычислений вложенный конвейер. Оценка скорости решения задачи на РВС выполнена на имитационной модели, которая моделирует выполнение
алгоритма так, как он будет исполняться на РВС. Результат работы модели представлен в том числе и в виде функций регрессии, которые отражают зависимость ускорения вычисления алгоритма от количества вычислительных узлов. Показано, что при решении задачи на многопроцессорной вычислительной системе при превышении определенного количества используемых процессорных ядер рост производительности практически не наблюдается, и дальнейшее уменьшение времени решения задачи становится невозможным. Однако при решении задачи на тех же графах на РВС рост производительности близок к линейному и, таким образом, увеличение аппаратных затрат приводит к почти линейному уменьшению времени решения задачи.
Теория множеств; NP-полные задачи; задача о клике; максимальные клики графа; алгоритм Брона-Кербоша; реконфигурируемые вычислительные системы; ПЛИС; информационный граф; структурная реализация; конвейер; суперкомпьютеры; вырожденность графа.
A.V. Kasarkin, I.I. Levin
REALIZATION OF BRON-KERBOSCH ALGORITHM FOR RECONFIGURABLE COMPUTER SYSTEMS
Search of maximal cliques in a graph is one offundamental problems of set theory, and essential for many applications. The clique problem is to be solved in various cases such as analysis of social networks for detection of some community, bioinformatics (for 3D structural alignment of proteins), CADs of circuit layouts (for elements placement and optimization). Besides, it is a non-deterministic polynomial time complete problem. It means that due to its high compute complexity, the solution may not be found during reasonable time. The object of the project, considered in the paper, is minimization of the solution time for the problem of maximal clique search, implemented on reconfigurable computer systems (RCS). We have suggested a new method of structural implementation of the Bron-Kerbosch algorithm on an RCS with optimization, which helps to balance load of compute cores, and which is based on vertices sorting by degeneracy property. For implementation, we have selected a bit representation of sets, when a bit position corresponds to a number of a set element, and its value is an indicator which shows presence or absence of some element in a set. We have analyzed the information graph of one iteration of the algorithm, and the information graph of the whole task. We have suggested a computation structure, which implements the task information graph on an RCS with "a pipeline in a pipeline " calculations type. We have estimated the RCS processing rate for the task with the help of a simulation model, which simulates RCS execution of the algorithm. The result of model simulation is given in a form of regression functions, which show the dependence of processing acceleration from the number of compute nodes. It is shown, that there is no increasing of the performance, when the task is implemented on a multiprocessor computer system with a number of processor cores, more than a certain quantity, and it is impossible to provide further decreasing of the task solution time. However, if the task with the same information graphs is implemented on an RCS, the performance is ramping. As a result, increasing of hardware costs leads to almost linear decreasing of the task solution time.
Set theory; NP-complete problems; click problem; maximum graph clicks; Bron-Kerbosh algorithm; reconfigurable computer systems; Field Programmable Gate Array; information graph; Structural implementation; pipeline; supercomputer; degeneracy of a graph.
Введение. В настоящее время активно разрабатываются эффективные методы решения вычислительно трудоемких задач, к числу которых относятся NP-полные задачи. Одной из задач данного класса является задача о поиске максимальных клик графа, которая используется в биоинформатике [1, 2], анализе социальных [3, 4] и компьютерных сетей [5, 6], электротехнике, химии [7]. Кликой в неориентированном графе называют подмножество вершин, каждые две из которых соединены ребром графа. Максимальной кликой принято называть клику, которая не включена ни в какую другую клику большего размера. Наибольшей кликой является клика, содержащая наибольшее количество вершин графа.
В 1973 году голландские математики Брон и Кербош разработали алгоритм, который лежит в основе наиболее эффективных алгоритмов для поиска всех максимальных клик графа [8]. Однако его вычислительная сложность для графов Му-на-Мозера [9] оценивается как O(3n/3) [10], поэтому данную задачу необходимо решать на высокопроизводительных вычислительных системах. При решении задачи поиска максимальных клик графа на традиционных многопроцессорных системах наблюдается остановка производительности при превышении определенного количества вычислительных ядер [11-15]. Это связано с тем, что затраты на организацию межпроцессорного обмена начинают превышать затраты на собственно вычисления. Кроме того, низкая эффективность связана с транзакционной организацией вычислений: чтобы начать выполнять новую операцию, процессору необходимо дождаться завершения работы предыдущей операции.
В этой связи актуальна разработка новых подходов решения NP-полных задач на перспективных вычислительных системах. Одной из таких систем может быть реконфигурируемая вычислительная система (РВС) [16]. Для РВС существует возможность структурной реализации вычислений за счет обеспечения эффективного обмена данными между вычислительными узлами и адаптации вычислительного поля под структуру задачи [17-20]. В то же время не существует эффективных методов и средств реализации NP-полных задач.
В данной статье представлена реализация на РВС одной из таких задач - задача поиска максимальных клик графа.
Задача поиска максимальных клик графа. Для адаптации на РВС задачи поиска максимальных клик графа за основу был выбран алгоритм Брона-Кербоша, как один из самых эффективных. Алгоритм основан на манипуляциях с тремя множествами: K - списком кандидатов, которые могут расширить формирующуюся клику, M -непосредственно формирующейся кликой и P - множеством вершин, которые уже были использованы для расширения клики. Алгоритм Брона-Кербоша - итерационный, он представлен ниже, N{v} означает список смежности вершины v.
ПРОЦЕДУРА BK (K, M, P):
1. Если K не пусто, то перейти к пункту 4;
2. Если P пусто, то вывести M как максимальную клику;
3. Завершить процедуру;
4. Выбирать вершину v из K;
5. K = K \ v ;
6. Вызывать процедуру BK ( K f| M{v}, M U {v}, P П iV{v});
7. P = P U v ;
8. Перейти к пункту 1.
Перед адаптацией алгоритма для реализации его на ПЛИС к нему были применены некоторые оптимизации. Так, Эппштейн и соавторы предложили алгоритм ERS [21, 22], который в отличие от алгоритма Брона-Кербоша, исследует несколько деревьев поиска, используя сортировку порядка вершин на основе вырождения. Это делает его более подходящим для использования параллельного подхода. Вырождением графа G является такое наименьшее значение d, при котором каждый подграф графа G имеет, по крайней мере, одну вершину со степенью больше d. Вырождение является одной из мер разреженности графа. Порядок вырождения может быть вычислен за линейное время путем многократного удаления вершины с наименьшей степенью [23].
Для каждой вершины v в графе на основе порядка вырождения вычисляется начальный список вершин K, M и P. Множество K формируется в процессе добавления всех соседей v, которые находятся после вершины v в списке, отсортированном на основе порядка вырождения. Точно так же вычисляется множество P с по-
мощью добавления всех соседей V, которые предшествуют вершине V в списке. Таким образом, размер К ограничен значением й, что уменьшает количество рекурсивных вызовов. Измененный алгоритм Брона-Кербоша на основе модификации Эппштейна представлен ниже.
ВК_яеп_кой (К, М, Р):
1. Если К не пусто, то перейти к пункту 4;
2. Если Р пусто, то вывести Мкак максимальную клику;
3. Конец;
4. Для каждой вершины V, отсортированной в порядке вырождения v0ь V], ... vn.1 выполнить пункты 5, 6, 7:
5. к = ) П Ь,...,
6. р = N (у,) П {*,,..., ун};
7. Вызывать процедуру ВК (К, {V,}, Р).
Таким образом, размер К ограничен значением й, что уменьшает количество рекурсивных вызовов. Кроме того, изначальная подготовка наборов начальных данных для алгоритма Брона-Кербоша на основе порядка вырожденности значительно способствует балансировке нагрузки на вычислительные узлы даже для графов со степенным распределением ребер относительно вершин, когда несколько вершин имеют намного большее количество ребер, чем остальное большинство [14].
Представлять множество можно классическим способом в виде списка элементов, принадлежащих множеству, либо с помощью битового представления. В битовом представлении позиция бита соответствует номеру элемента множества, а его значение является признаком присутствия либо отсутствия элемента во множестве. Битовое представление целесообразно использовать при обработке плотных множеств, размер которых известен заранее. При решении задачи поиска максимальных клик для небольших плотных графов (до 1000-10000 вершин в зависимости от разреженности графа) битовое представление будет более эффективным. В данной статье будет использоваться именно такое представление.
На основе алгоритма Брона-Кербоша построен информационный граф одной
Рис. ]. Информационный граф одной итерации алгоритма Брона-Кербоша
(вычислительный узел G)
Информационный граф является наиболее естественной формой представления алгоритма для структурной его реализации на РВС. Входными данными для информационного графа итерации являются три множества K, M, и P, которые представляют собой три битовых N-разрядных вектора, где N - количество вершин в обрабатываемом графе. В вершинах информационного графа представлены следующие операции:
♦ «v = очередному К» - присвоить переменной v следующий элемент из множества К;
♦ «М add v» и «P add v» - добавить к множеству M и P соответственно элемент v;
♦ «a[v] = inv RAM v» - извлечь из матрицы смежности, хранящейся в ПЛИС в памяти RAM (Random Access Memory), строку с адресом v, инвертировать ее и записать ее в переменную a[v], записанный вектор представляет собой список вершин, которые не являются соседями вершины v;
♦ «К del a[v]» и «P del a[v]» - удалить из множеств К и P соответственно элементы, которые присутствуют во множестве a[v].
Выходом информационного графа G являются два набора множеств К, M, и P и признаки fk1, fk2, fpi. Если f=1, то на выходе имеется соответствующие множество, в противном случае генерации не произошло. Еслиfki=0 иfpi=0, то во множестве Mi находится клика, которую необходимо записать в результат. Таким образом, вычислительный узел может сгенерировать либо ни одного, либо один, либо два новых набора К, M, и P, и либо ни одной, либо одну максимальную клику. Данная структура является конвейерной, и каждый такт может принимать на обработку новый набор К, M, и P.
На рис. 2 представлены информационный граф и вычислительная структура алгоритма Брона-Кербоша.
Рис. 2. Информационный граф и вычислительная структура алгоритма Брона-Кербоша: а - фрагмент информационного графа; б - вычислительная структура
Информационный граф алгоритма Брона-Кербоша представляет собой дерево, в узлах которого находится представленная выше итерация в (рис. 2,а). В данном графе отсутствуют некоторые ветви, и до начала вычислений невозможно
а
б
предсказать, какие именно. Реализовывать полное двоичное дерево избыточно, поэтому информационный граф был преобразован в вычислительную структуру с типом вычислений вложенный конвейер [20], которая представлена на рис. 2,б. Имеется L блоков G, которые каждый такт могут принимать на обработку новые данные. Результат работы блока G по обратной связи через коммутационные матрицы Cj, С2 снова попадет на вход одного из блока G. Если большинство блоков G генерируют по два набора K, M, и P, то может возникнуть ситуация, когда количество генерируемых данных превысит пропускную способность конвейерных блоков G. В таком случае данные накапливаются в памяти RAM и ожидают окна в потоке данных.
Начальными данными информационного графа являются матрица смежности, загружаемая в каждый вычислительный узел G, и наборы K, M, и P, полученные в результате работы алгоритма BK_gen_kort, который был описан выше. Это наборы заранее подготавливаются на классическом вычислительном устройстве за линейное время и впоследствии распределяются по вычислительным узлам.
Оценка эффективности. Разработана имитационная модель, которая моделирует выполнение алгоритма таким образом, как он будет исполняться на РВС. В результате работы модели и необходимых расчетов были получены последовательности данных, отражающие ускорение выполнения алгоритма Брона-Кербоша при поиске всех максимальных клик в графе Муна-Мозера на 51 вершину и случайном графе на 300 вершин с вероятностью ребра между двумя любыми вершинами 0,6. После аппроксимации полученных последовательностей методом наименьших квадратов были получены функции регрессии.
Для графа Муна-Мозера на 51 вершину функция регрессии имеет вид:
S = 1.1042 • Ю9224,
где S - ускорение вычислений, а L - количество вычислительных узлов G, достоверность аппроксимации составляет R2=0,9963.
Для случайного графа на 300 вершин с вероятностью ребер 0,6 функция регрессии имеет вид:
S = 1.143 • L09462
при достоверности аппроксимации R2=0,9964.
Для графа phat300-2 на 300 вершин из набора тестов «dimacs» для проверки задачи поиска наибольшей клики функция регрессии имеет вид:
S = 1.261 • L0 8921
при достоверности аппроксимации R2=0,9912.
Для случайного графа на 500 вершин с вероятностью ребер 0,6 функция регрессии имеет вид:
S = 1.1067 • L0 9572
при достоверности аппроксимации R2=0,9979.
Сравним полученные результаты с работами других исследователей. Самый быстрый, по мнению его авторов, параллельный алгоритм для поиска максимальных клик pbitMCE приведен в [14]. В данной работе сравнение проводилось с алгоритмом ELS. В табл. 1 представлены параметры анализируемых графов: p - для случайных графов вероятность того, что между двумя вершинами будет проведено ребро; e - число ребер; ^ - количество максимальных клик, d - вырожденность графа; A(G) - максимальная степень вершины.
Таблица 1
Параметры графов
Набор данных P n e M d A(G)
mm51 - 51 1 224 129 140 163 48 48
random-300 0,6 300 27 013 72 454 791 162 204
phat300-2 - 300 21 928 79 917 408 98 229
random-500 0,6 500 76235 4 528 724 155 277 316
В табл. 2 показаны результаты сравнения производительности алгоритмов pbitMCE и ELS с разработанной конвейерной реализацией алгоритма Брона-Кербоша для поиска максимальных клик на РВС.
Все данные приведены в секундах и не включают время, необходимое для построения начального списка смежности либо матрицы плотности. Можно заметить, что, например, на графе random-300 одна ПЛИС XCKU095 опережает процессор Intel Xeon X5550 в 95 раз.
Данные в табл. 2 приведены для одного процессора. Для многопроцессорных архитектур на рис. 3 показаны графики ускорения при распараллеливании задачи поиска максимальных клик [14] на вычислительной системе с 32 процессорами Intel Xeon E5504 с 4-мя ядрами в каждом и частотой 2 ГГц.
Таблица 2
Время решения задачи поиска максимальных клик
Классическая система на основе процессора Intel Xeon X5550, f = 3 ГГц
Набор данных РВС на основе ПЛИС XCKU095 f=400 МГц
ELS pbitMCE G XCKU095 Вычислительный модуль «Неккар» Вычислительный блок (96 ПЛИС)
mm51 35,89 9,62 43 0,14 0,036 -
random-300 142,93 41,16 21,3 0,43 0,06 0,008
phat300-2 95,11 23,13 650 13 2 0,37
random-500 - - 1635 55 7 1
а б
Рис. 3. Графики ускорения при распараллеливании задачи поиска максимальных клик: а — граф Муна—Мозера с 51 вершиной; б — случайный граф с 300 вершинами
На графиках заметно, что при решении задачи на многопроцессорной вычислительной системе рост производительности практически не наблюдается при превышении 8 (рис. 3,а) и 100 ядер (рис. 3,б) для графа Муна-Мозера с 51 вершиной и для случайного графа на 300 вершин соответственно. Однако при решении задачи на таких же графах на РВС наблюдается рост производительности, близкий к линейному.
Заключение. Реализован алгоритм Брона-Кербоша на реконфигурируемых вычислительных системах (РВС) методом вложенного конвейера. Полученная реализация алгоритма на РВС обеспечивает близкий к линейному рост производительности при увеличении числа вычислительных узлов, в то время как для многопроцессорных классических архитектур при увеличении числа процессоров рост производительности замедляется, а при достижении эффективного их числа останавливается полностью. Например, решение задачи поиска максимальных клик в графе Муна-Мозера с 51 вершиной на РВС из 24 ПЛИС будет эффективней в 350 раз по сравнению с решением на многопроцессорной вычислительной системе, содержащей 24 процессора. Таким образом, РВС значительно более перспективны по сравнению с кластерными многопроцессорными системами для решения NP-полных задач теории множеств.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Chen Y. and Crippen G.M. A novel approach to structural alignment using realistic structural and environmental information // Protein Science. - 2005. - Vol. 14, No. 12. - P. 2935-2946.
2. Zhang B., ParkB.H., ^rpinets T. V., andSamatova N.F. From pull-down data to protein interaction networks and complexes with biological relevance // Bioinformatics. - 2008. - Vol. 24, No. 7. - P. 979-986.
3. Chen Z., Hendrix W., and Samatova N.F. Community-based anomaly detection in evolutionary networks // J. Intell. Inf. Syst. - 2012. - Vol. 39, No. 1. - P. 59-85.
4. Berry N., ^ T., Moy T., Smrcka J., Turn-ley J., and Wu B. Emergent Clique Formation in Terrorist Recruitmen // National Conference on Artificial Intelligence, 2004. - Available: https://www.aaai.org/Papers/Workshops/2004/WS-04-02/WS04-02-005.pdf (дата обращения: 02.12.2019).
5. Соколова О.Д. Графовые модели для задач функционирования современных сетей передачи данных // Тр. 9-й Азиатской международной школы-семинара "Проблемы оптимизации сложных систем". - Алма-Ата (Казахстан): 2013. - С. 314-318.
6. Кирьянов А.Г., Ляхов А.И., Некрасов П.О., Платов Д.А. и др. Протокол многоадресной маршрутизации Proximity-based Groupcast in MANET // Информационные процессы.
- 2012. - K. 3. - Т. 12. - С. 213-228.
7. Яблонский Г.С., Быков В.И., Горбань А.Н. Кинетические модели каталитических реакций. - Новосибирск: Наука (Сиб. отделение), 1983. - 255 c.
8. Bron C., Кrbosch J. Algorithm 457: Finding All Cliques of an Undirected Graph // Comm of ACM. - 1973. - Vol. 16. - P. 575-577.
9. Moon J. W., Moser L. On Cliques in Graphs // Israel J. Math. - 1965. - Vol. 3. - P. 23-28.
10. Tomita E., Tanaka A., Takahashi H. The Worst-Case Time Complexity for Generating All Maximal Cliques and Computational Experiments // Theoretical Computer Science. - 2006.
- Vol. 363, No. 1. - P. 28-42.
11. Dasari N.S., Ranjan D., Mohammad Z. Maximal Clique Enumeration for Large Graphs on Hadoop Framework // Proc. of the First Workshop on Parallel Programming for Analytics Applications. - 2014. - Р. 21-30.
12. Rossi R.A., Gleich D.F., Gebremedhin A.H. Parallel Maximumclique Algorithms with Applications to Network Analysis // SIAM J. Sci. Comput. - 2015. - Vol. 37, No. 5. - Р. 589-616.
13. Kovacs L., Szabo G. Conceptualization with Incremental Bron-Kerbosch Algorithm in Big Data Architecture // Acta Polytechnica Hungarica. - 2016. - Vol. 13, No. 2. - Р. 139-158.
14. Dasari N.S., ZubairM., Ranjan D.A Novel Parallel Algorithm for Maximal Clique Enumeration on Multicore and Distributed Memory Architectures. - 10 р. - URL: https://pdfs.semanticscholar.org/ 9827/9e2cedb14085886fcb4473f1ba483a3df195.pdf, (дата обращения 02.12.2019).
15. Pattabiraman B. et al. Fast Algorithms for the Maximum Clique Problem on Massive Graphs with Applications to Overlapping Community Detection // Internet Mathematics. - 2015.
- Vol. 11, No. 4-5. - P. 421-448.
16. Левин И.И. и др. Современные и перспективные высокопроизводительные вычислительные системы с реконфигурируемой архитектурой // Вестник Южно-Уральского государственного университета. Серия «Вычислительная математика и информатика».
- 2015. Т. 4, № 3. - С. 24-39.
17. Гузик В.Ф., Каляев И.А., Левин И.И. Реконфигурируемые вычислительные системы / под общ. ред. И.А. Каляева. Ростов-на-Дону: Изд-во ЮФУ, 2016. - 472 с.
18. Каляев И.А. и др. Реконфигурируемые мультиконвейерные вычислительные структуры / под общ. ред. И.А. Каляева. - 2-е изд., перераб. и доп. - Ростов-на-Дону: Изд-во ЮНЦ РАН, 2009. - 344 с.
19. Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров. - http://superevm.ru (дата обращения 02.12.2019).
20. Левин И.И., Дордопуло А.И., Федоров А.М., Доронченко Ю.И. Развитие технологии построения реконфигурируемых вычислительных систем с жидкостным охлаждением // Суперкомпьютерные технологии (СКТ-2018): Матер. 5-й Всероссийской научно-технической конференции: в 2 т. Т. 1. - Ростов-на-Дону; Таганрог: Изд-во ЮФУ, 2018.
- С. 184-187. - ISBN 978-5-9275-2834-9.
21. Eppstein D., Lffler M., and Strash D. Listing all maximal cliques in sparse graphs in near-optimal time // in Algorithms and Computation, ser. Lecture Notes in Computer Science. Springer Berlin Heidelberg. - 2010. - Vol. 6506. - P. 403-414.
22. Eppstein D. and Strash D. Listing all maximal cliques in large sparse real-world graphs // in Proceedings of the 10th international conference on Experimental algorithms, ser. SEA'11. Berlin, Heidelberg: Springer-Verlag, 2011. - P. 364-375. - Available: http://dl.acm.org/ cita-tion.cfm?id=2008623.2008656 (дата обращения 02.12.2019).
23. Batagelj V. and ZaversnikM. An o(m) algorithm for cores decomposition of networks // 2003, cite arxiv:cs/0310049. - Available: http://arxiv.org/abs/cs/0310049 (дата обращения 02.12.2019).
24. Касаркин А.В., Левин И.И. Структурная реализация задачи нахождения всех максимальных клик графа на реконфигурируемых вычислительных системах // Вестник компьютерных и информационных технологий. - 2018. - № 10. - С. 3-10.
REFERENCES
1. Chen Y. and Crippen G.M. A novel approach to structural alignment using realistic structural and environmental information, Protein Science, 2005, Vol. 14, No. 12, pp. 2935-2946.
2. Zhang B., ParkB.H., ^rpinets T. V., andSamatova N.F. From pull-down data to protein interaction networks and complexes with biological relevance, Bioinformatics, 2008, Vol. 24, No. 7, pp. 979-986.
3. Chen Z., Hendrix W., and Samatova N.F. Community-based anomaly detection in evolutionary networks, J. Intell. Inf. Syst., 2012, Vol. 39, No. 1, pp. 59-85.
4. Berry N., ^ T., Moy T., Smrcka J., Turn-ley J., and Wu B. Emergent Clique Formation in Terrorist Recruitmen, National Conference on Artificial Intelligence, 2004. Available: https://www.aaai.org/Papers/Workshops/2004/WS-04-02/WS04-02-005.pdf (accessed 02 Deсember 2019).
5. Sokolova O.D. Grafovye modeli dlya zadach funktsionirovaniya sovremennykh setey peredachi dannykh [Graph models for the problems of functioning of modern data transfer networks], Tr. 9-y Aziatskoy mezhdunarodnoy shkoly-seminara "Problemy optimizatsii slozhnykh sistem" [Proceedings of the 9th Asian international school-seminar "problems of optimization of complex systems"]. Alma-Ata (Kazakhstan): 2013, pp. 314-318.
6. Ю/yanov A.G., Lyakhov A.I., Nekrasov P.O., Platov D.A. i dr. Protokol mnogoadresnoy marshrutizatsii Proximity-based Groupcast in MANET [Multicast routing Protocol Proximity-based Groupcast in MANET], Informatsionnye protsessy [Information process], 2012, K. 3, Vol. 12, pp. 213-228.
7. Yablonskiy G.S., Bykov V.I., Gorban' A.N. Kineticheskie modeli kataliticheskikh reaktsiy [Kinetic models of catalytic reactions]. Novosibirsk: Nauka (Sib. otdelenie), 1983, 255 p.
8. Bron C., Кrbosch J. Algorithm 457: Finding All Cliques of an Undirected Graph, Comm of ACM, 1973, Vol. 16, pp. 575-577.
9. Moon J.W., Moser L. On Cliques in Graphs, Israel J. Math., 1965, Vol. 3, p. 23-28.
10. Tomita E., Tanaka A., Takahashi H. The Worst-Case Time Complexity for Generating All Maximal Cliques and Computational Experiments, Theoretical Computer Science, 2006, Vol. 363, No. 1, pp. 28-42.
11. Dasari N.S., Ranjan D., Mohammad Z. Maximal Clique Enumeration for Large Graphs on Hadoop Framework, Proc. of the First Workshop on Parallel Programming for Analytics Applications, 2014, pp. 21-30.
12. Rossi R.A., Gleich D.F., Gebremedhin A.H. Parallel Maximumclique Algorithms with Applications to Network Analysis, SIAM J. Sci. Comput., 2015, Vol. 37, No. 5, pp. 589-616.
13. Kovàcs L., Szabo G. Conceptualization with Incremental Bron-Kerbosch Algorithm in Big Data Architecture, Acta Polytechnica Hungarica, 2016, Vol. 13, No. 2, pp. 139-158.
14. Dasari N.S., Zubair M., Ranjan D.A Novel Parallel Algorithm for Maximal Clique Enumeration on Multicore and Distributed Memory Architectures, 10 р. Available at: https://pdfs.semanticscholar.org/9827/9e2cedb14085886fcb4473f1ba483a3df195.pdf (accessed 02 December 2019).
15. Pattabiraman B. et al. Fast Algorithms for the Maximum Clique Problem on Massive Graphs with Applications to Overlapping Community Detection, Internet Mathematics, 2015, Vol. 11, No. 4-5, pp. 421-448.
16. Levin I.I. i dr. Sovremennye i perspektivnye vysokoproizvoditel'nye vychislitel'nye sistemy s rekonfiguriruemoy arkhitekturoy [Modern and promising high-performance computing systems with reconfigurable architecture], Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Ser. Vychislitel'naya matematika i informatika [Bulletin of the South Ural state University. Series "Computational mathematics and computer science"], 2015, Vol. 4, No. 3, pp. 24-39.
17. Guzik V.F., Kalyaev I.A., Levin I.I. Rekonfiguriruemye vychislitel'nye sistemy [Reconfigurable computing systems], ed. by I.A. Kalyaeva. Rostov-on-Don: Izd-vo YuFU, 2016, 472 p.
18. Kalyaev I.A. i dr. Rekonfiguriruemye mul'tikonveyernye vychislitel'nye struktury [Multiconference reconfigurable computational structures], ed. by I.A. Kalyaeva. 2nd ed. Rostov-on-Don: Izd-vo YuNTS RAN, 2009, 344 p.
19. Nauchno-issledovatel'skiy tsentr super-EVM i neyrokomp'yuterov [Scientific research centre of supercomputers and Neurocomputers]. Available at: http://superevm.ru (accessed 02 December 2019).
20. Levin I.I., Dordopulo A.I., Fedorov A.M., Doronchenko Yu.I. Razvitie tekhnologii po-stroeniya rekonfiguriruemykh vychislitel'nykh sistem s zhidkostnym okhlazhdeniem [Development of technology for the construction of reconfigurable computer systems with liquid cooling] Superkomp'yuternye tekhnologii (SKT-2018): Mater. 5-y Vserossiyskoy nauchno-tekhnicheskoy konferentsii [Supercomputing technologies (SKT-2018): Proceedings of the 5th all-Russian scientific and technical conference]: in 2 vol. Vol. 1. Rostov-on-Don; Taganrog: Izd-vo YuFU, 2018, pp. 184-187, ISBN 978-5-9275-2834-9.
21. Eppstein D., Lffler M., and Strash D. Listing all maximal cliques in sparse graphs in near-optimal time, in Algorithms and Computation, ser. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2010, Vol. 6506, pp. 403-414.
22. Eppstein D. and Strash D. Listing all maximal cliques in large sparse real-world graphs, in Proceedings of the 10th international conference on Experimental algorithms, ser. SEA'11. Berlin, Heidelberg: Springer-Verlag, 2011, pp. 364-375. Available: http://dl.acm.org/citation.cfm?id=2008623.2008656 (accessed 02 December 2019).
23. Batagelj V. and Zaversnik M. An o(m) algorithm for cores decomposition of networks, 2003, cite arxiv:cs/0310049. Available: http://arxiv.org/abs/cs/0310049 (accessed 02 December 2019).
24. Kasarkin A.V., Levin I.I. Strukturnaya realizatsiya zadachi nakhozhdeniya vsekh maksimal'nykh klik grafa na rekonfiguriruemykh vychislitel'nykh sistemakh [Structural implementation of the problem of finding all maximum clicks of a graph on reconfigurable computer systems], Vestnik komp'yuternykh i informatsionnykh tekhnologiy [Bulletin of computer and information technologies], 2018, No. 10, pp. 3-10.
Статью рекомендовал к опубликованию к.т.н. А.И. Дордопуло.
Левин Илья Израилевич - Южный федеральный университет; e-mail: [email protected];
347900, г. Таганрог, пер. Итальянский, 06; тел.: +78634612111; кафедра интеллектуальных и
многопроцессорных систем; зав. кафедрой; д.т.н.; профессор.
Касаркин Алексей Викторович - e-mail: [email protected]; 347931, г. Таганрог, 19-й Артиллерийский переулок, 71, тел.: +79045065636; кафедра интеллектуальных и многопроцессорных систем; аспирант.
Levin Ilya Izrailevich - Southern Federal University, Taganrog, Russia; e-mail: [email protected]; 106, Italyansky lane, Taganrog, 347900, Russia; phone: +78634612111; the department of intellectual and multiprocessor systems; head of department; dr. of eng. sc.; professor.
Kasarkin Alexey Viktorovich - e-mail: [email protected]; 71, 19rd Artillerisky street, Taganrog, 347931, Russia; phone: +79045065636; graduate student.
УДК 621.03.01 DOI 10.23683/2311-3103-2019-7-152-159
Д.В. Михайлов
АЛГОРИТМ ПРЕДСКАЗАНИЯ УСТОЙЧИВОСТИ КОНВЕЙЕРИЗОВАННЫХ АДАПТИВНЫХ РЕКУРСИВНЫХ ФИЛЬТРОВ В СИСТЕМАХ УПРАВЛЕНИЯ
В настоящее время адаптивные фильтры широко применяются в различных областях техники: системы управления, мобильная связь, радиолокация и т.д. Основным свойством адаптивной системы является изменяющееся во времени функционирование с саморегулированием. Преимуществом такого функционирования является возможность своевременной подстройки системы под изменения как входящих сигналов, так и условий среды передачи в процессе функционирования устройства. В случае, если при реализации адаптивных систем используются рекурсивные фильтры, эти системы получают дополнительные преимущества: они требуют меньших затрат оборудования, позволяют добиваться выигрыша в быстродействии относительно нерекурсивных, добиваться характеристик фильтра с достаточно резкими переходами и т.д. Однако использование рекурсивных адаптивных фильтров сопряжено с риском потери устойчивости при изменении их характеристик в результате адаптации. Сегодня цифровая обработка сигналов в реальном масштабе времени требует постоянного увеличения скорости вычислений, что приводит к необходимости применения параллельных вычислений. Наиболее эффективным методом распараллеливания является конвейеризация вычислений. Введение конвейерных регистров в рекурсивные фильтры, может приводить к нарушению алгоритма работы фильтра. Эту проблему можно решить с помощью автоподстановки и ресинхронизации. Предлагается метод определения устойчивости рекурсивного адаптивного конвейеризованного фильтра. Он заключается в том, что мы определяем диапазон, в котором изменяются параметры адаптивного фильтра, и для каждого значения в этом диапазоне находим степень конвейеризации, при которой все полюса передаточной функции этого фильтра лежат внутри единичной окружности. Таким образом конвейеризация служит не только для достижения высокой вычислительной производительности фильтра, но и для корректировки его устойчивости. Это особенно актуально для случая адаптивных фильтров, которые могут потерять устойчивость в результате изменения их параметров в процессе адаптации.
Цифровой фильтр; адаптивная фильтрация; устойчивость цифрового фильтра; конвейерные вычисления.
D.V. Mikhaylov
THE ALGORITHM FOR PREDICTING THE STABILITY OF THE PIPELINED ADAPTIVE RECURSIVE FILTERS IN CONTROL SYSTEMS
At present, adaptive filters are widely used in various fields of technology: control systems, mobile communications, radar, etc. The main property of an adaptive system is time-varying functioning with self-regulation. The advantage of this functioning is the ability to timely adjust the system to change both the incoming signals and the conditions of the transmission medium during the operation of the device. If recursive filters are used in the implementation of adaptive systems, these systems get additional advantages: they require less equipment, allow you to achieve per-