Параллельная реализация алгоритма логических операций над множествами ортогональных многоугольников
Автор: Старостин Николай Владимирович, Штанюк Антон Александрович, Годовицын Максим Михайлович, Живчикова Юлия Алексеевна
Журнал: Проблемы информатики @problem-info
Рубрика: Теоретическая и системная информатика
Статья в выпуске: 1 (54), 2022 года.
Бесплатный доступ
В рамках разработки отечественных САПР для верификации норм конструкторско- технологических ограничений (КТО) необходима разработка библиотеки выполнения логических операций над ортогональными многоугольниками, составляющими топологию интегральной схемы. Функции библиотеки выполняют операции над слоями. Под слоем понимается множество ортогональных прямоугольников (полигонов). К этим операциям предъявляются жесткие требования по времени выполнения. Существует реализация, построенная на основе алгоритма заметающей прямой и позволяющая добиться времени работы алгоритма порядка O(NlogN ). Для эффективного функционирования в высокопроизводительной вычислительной среде разработана параллельная реализация, основанная на геометрической декомпозиции исходных данных. Проведенное теоретическое исследование показало линейную масштабированность данной реализации на системах с распределенной памятью, но реализация в виде многопоточного приложения выявила конкуренцию за разделяемый ресурс. В работе приводятся результаты вычислительного эксперимента и намечаются пути устранения эффекта конкуренции. Представленные в работе реализации алгоритмов и процедур вошли в состав подключаемой библиотеки функций работы со слоями топологического описания, которая, в свою очередь, является частью разрабатываемой системы верификации норм КТО. Данная библиотека реализована на языке C++ с использованием стандарта C++17. Имплементация параллельных схем реализации логических операций выполнена с использованием библиотеки OpenMP.
Сапр, проверка конструктивно-технологических ограничений, логические операции, полигоны, параллельная реализация алгоритма заметающей прямой
Короткий адрес: https://sciup.org/143178946
IDR: 143178946 | УДК: 519.175.1, | DOI: 10.24412/2073-0667-2022-1-55-65
Parallel algorithm for implementing logical operations on sets of orthogonal polygons
The IC designing main task is obtaining a workable crystal layout, which will be used to create a template for fabrication. It is important to perform a verification cycle of the obtained layout before transferring the designed solutions to production. The first stage of verification (DRC) consists of design rules layout according to the check. These rules are described by the system of norms, restrictions, rules and procedures regulating permissible mutual arrangement of topological elements and topological structures, taking into account design features and possibilities of technological process. There are two phases in almost any verification procedure: the first one is the search of topological elements and specific areas, the second one is the check for design rules compliance directly. It is necessary to use logical operations on orthogonal rectangles that make up the topology of an integrated circuit. Such operations as union, intersection, subtraction are performed over layers that contain orthogonal rectangles (polygons). These operations are subject to stringent execution time requirements. The traditional bitmap rectangle representation does not allow for a quasi-lincar time dependence on the processed data and requires development of new algorithms and approaches to polygon representation. It is proposed to describe the polygon by the coordinates of the polyline nodes (boundary nodes). Such a representation will be called contour representation, which is de facto standard representation for the layout at the verification stage. In contour representation any topological layer is described by enumeration of all contours that form polygon boundaries. Each contour begins with an arbitrary starting node and ends with a finite node, which always coincides with the starting node. Such a representation is compact - the memory cost depends linearly on the number of nodes or edges of the layer contours. Problem of that kind of representation is that logical operations require information not about the boundaries, but the inner regions of polygons. To resolve that issue, the „sweeping line“ scheme is used. The idea is to exploit three properties of a polygon. First, any edge of a polygon boundary always separates the interior region of the polygon from the exterior. Second, any edge of an orthogonal polygon is either vertical or horizontal. Third, if the plane is dissected by straight lines according to the vertical and horizontal edges into rectangular fragments, then any such fragment will belong entirely to either the interior or the exterior region of the polygon. The procedures for input of polygon contour representations, which are divided into sets of vertical and horizontal edges, are described. As a result of performing logical operations, polygon edges of the resulting layer are formed, which, in turn, are converted into contour representations. If we take into account that we can use algorithm implementations based on the classical interval tree as functions providing work with half-intervals, then the computational complexity of this procedure in memory and in time is estimated as O(NlogN) where N - is the number of horizontal edges of layer polygons. A parallel implementation based on geometric decomposition of input data has been developed to function effectively in a high-performance computing environment. The theoretical study showed linear scalability of this implementation on systems with distributed memory, but implementation as a multithreaded application revealed competition for shared resources. The paper presents the results of a computational experiment and outlines the ways to eliminate the competition effect. The implementation of algorithms and procedures presented in this work were included in the plugin library of functions for working with topological layers, which, in its turn, is a part of the design rules checking system being developed. This library is implemented in C++, using C++17 standard. Implementation of parallel schemes to implement logical operations is done using the OpenMP library. The results of a computational experiment confirming the nature of the time dependences determined theoretically are presented. We propose the structure of a software system for DRC, built with the use of programming languages C++ and Lua.
Список литературы Параллельная реализация алгоритма логических операций над множествами ортогональных многоугольников
- Батищев Д. И., Старостин Н.В., Филимонов А. В. Многоуровневый алгоритм решения задачи компоновки интегральных схем // Системы управления и информационные технологии. 2007. № 3 29. С. 48-52.
- Старостин Н.В., Филимонов А. В., Балашов В. В. Решение задачи размещения элементов специализированных больших интегральных схем на основе базовых матричных кристаллов // Системы управления и информационные технологии. 2009. № 2-1 36. С. 189-194.
- Старостин Н.В., Балашов В. В. Использование гиперграфов для решения задачи ортогональной трассировки больших интегральных схем с нерегулярной структурой // Радиотехника и электроника. 2008. Т. 53. № 5. С. 618-623.
- Власов С.Е., Годовицын М.М., Старостин Н.В. Концепция многоуровневой трассировки цепей интегральных схем с использованием виртуальных каналов // Успехи кибернетики. 2020. Т. 1. № 1. С. 8-16.
- Афраймович Л. Г., Власов В. С., Куликов М.С., Прилуцкий М.Х., Старостин Н.В., Филимонов А. В. Планирование и оперативное управление процессом изготовления сложных изделий //В сборнике: XII всероссийское совещание по проблемам управления ВСПУ-2014. Институт проблем управления им. В. А. Трапезникова РАН. 2014. С. 5138-5149.
- Афраймович Л. Г., Власов В. С., Прилуцкий М.Х., Седаков Д. В., Старостин Н.В., Филимонов А. В., Куликов М.С. Задачи планирования и оперативного управления процессом изготовления интегральных схем с микронными и субмикронными топологическими нормами // Автоматизация в промышленности. 2014. № 8. С. 17-21.
- Штанюк А. А., Семенов А. О. Проблема анализа топологии интегральных схем на основе GDSII файлов // Инженерные и информационные технологии, экономика и менеджмент в промышленности: Сборник научных статей по итогам второй международной научной конференции. Волгоград, 2020. С. 334-336.
- Балашов Д. А., Штанюк А. А. Постановка задачи исследования алгоритмов проверки изоморфизма гиперграфов при анализе топологии интегральных схем на основе GDSII и DEF файлов // Информационные системы и технологии ИСТ-2020: сборник трудов Международной научнотехнической конференции. Нижний Новгород, 2020. С. 743-749.
- Godovitsyn Maxim, Zhivchikova Julia, Starostin Nickolay, Shtanyuk Anton. Algorithm for Implementing Logical Operations on Sets of Orthogonal Polygons. Proceedings of the 31st International Conference on Computer Graphics and Vision (GraphiCon 2021) Nizhny Novgorod, Russia, September 27-30, 2021 // CEUR Workshop Proceedings, 2021, 3027, S. 1088-1097.