Научная статья на тему 'Алгоритм визуализации графических сцен для решения задач геометрического моделирования в САПР'

Алгоритм визуализации графических сцен для решения задач геометрического моделирования в САПР Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
281
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Алгоритм визуализации графических сцен для решения задач геометрического моделирования в САПР»

ется та из них, при помещении элемента в которую наблюдается наименьшее приращение вероятной загруженности МКП. Таким образом, будут обеспечены как метрические, так и топологические показатели качества размещения, определяющие возможности и качество последующей трассировки.

УДК 681.3

О.В. Коновалов

АЛГОРИТМ ВИЗУАЛИЗАЦИИ ГРАФИЧЕСКИХ СЦЕН ДЛЯ РЕШЕНИЯ ЗАДАЧ ГЕОМЕТРИЧЕСКОГО МОДЕЛИРОВАНИЯ В САПР*

. [1], -

няемые в САПР, используют сложные трехмерные графические макеты или трехмерные сцены [2,3], которые, как правило, создаются в целях получения макси, -ли. Задачи визуализации трехмерных объектов такие, как трассировка (Ray Tracing) или обратная трассировка (Ray Casting) лучей в рамках сцены, относятся к NP- . , -, , ряд ограничений. Так, симметричные многопроцессорные системы, предназначенные для увеличения производительности задач, использующих механизм парал-,

программное обеспечение накладывается ряд ограничений, связанных с разделением доступа к низкоскоростным ресурсам совместного использования таким, как IDE-интерфейсы, RAM, BUS, и т.д.

Для визуализации сложных графических макетов, состоящих из множества элементов, параллельные вычисления являются наиболее эффективным решением, применимым не только для симметричных многопроцессорных систем, но и для вычислительных кластерных сетей таких, как Beowulf [10] или Mosix [11-16]. В настоящее время потенциал систем данного типа практически не используется, поскольку для обработки задач в таких условиях необходимы новые методы, качественно отличающиеся от существующих.

Особенности рассматриваемой реализации. В качестве ос новы для системы распределенных вычислений задачи визуализации сложного трехмерного макета автором была выбрана модифицированная модель реализации кластерных решений Mosix с вновь разработанным алгоритмом настройки вычислительного кластера, что позволило достичь эффективности работы оборудования, близкой к максимальной при расчетах сложных трехмерных сцен.

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

Linux. ,

использованы методы принятия решений [4], базирующиеся на нейросетевых и

* Работа выполнена при поддержке Мин. образования, грант № Е02.2.0-44

,

.

Под узлом кластера в данном случае понимается один компьютер, предоставляющий свои ресурсы распределенной вычислительной среде. Следует отметить, что хотя кластерным конструкциям модели Мо81х не присуще наличие центрально,

построение вычислительного комплекса. При построении практической реализа-

, , , ,

связи с дублированием, когда каждый из узлов связан с соседним двумя каналами: одним прямым и одним коммутируемым.

Алгоритм.

1. Начальная оценка сложности визуализации модулей (СВМ), содержащихся в описании сцены (производится по числу явных элементарных составляющих : , , , ).

См = Е elm

где См- СВМ, а ЕЬм - примерная оценка сложности визуализации /'-го элемента.

2. Грубая оценка всей сцены: выделяются модули, вероятно видимые при окончательной сборке макета (производится с учетом позиции визуализации (или камеры), источников света, оптических свойств, параметров среды и материалов объекта).

3. Процесс принятия решений: вероятно видимые модули (ВВМ) относятся в различные классы, группируются по оценкам сложности, в соответствие П.1 ( ) .2 ( ,

визуализации и расположением объекта внутри сцены) данного алгоритма.

4. Процесс принятия решений: вероятно невидимые модули (ВНМ) так же относятся в различные классы, группируются по оценкам сложности в

.1 .

5. ВВМ, наиболее сложные и максимально приближенные к точке

,

:

O = {X Y X Y

b bound bound bound bound

X = X Y =Y X = X Y = Y

bou„dmjn minMF’ boundmjn minMF’ boundmax maxMp' boundmax maxMP ’

MP ,

, , bound - указывает на то, что данная координата является частью множества областей Ob, а индексы min и max соответственно указывают границы расположения координаты на проекционной плоскости.

Эта операция производится так, чтобы построенные области покрыли все ( ), -дущую площадь визуализируемой сцены: операция построения описывающих прямоугольников производится для всех объектов всех классов, а полученные об, ,

.

6. Подсчитываются сложности визуализации областей (СВО), исходя из

i=1

собственной площади и суммарной сложности объектов, захваченных описывающими границами области. При оценке учитываются все модули, включая ВНМ и частично включенные.

7. В соответствие П.6 строится очередь областей визуализации (ООВ), сформированная по убыванию параметра сложности.

8. Производится начальное распределение нагрузки на узлы кластера:

8.1. Выбирается наиболее мощный и наиболее свободный узел.

Стоимость обработки области выбранным узлом Нп соизмерима со скоростью обработки основным узлом Н0:

КрНп(^еСНп+^абНп+^еРнп) ~ (^РНО+^^НО), где КрНп - коэффициент, показывающий соотношение производительностей Нп Н0 (

КрНп=РН</РНп, а производительность РНп вычисляется ядром кластера как сумма ( ), Нп -

ной тестовой задачи с учетом пересылки данных и файловых операций);

{пересНп _ Время на пересылку подзадачи узлу Нп;

гобрабНп _ Время на решение подзадачи узлом Нп;

РчеРНп - расчетное время на обработку текущей очереди узлом Нп;

гобрабН0 - Время на решение подзадачи узлом НО;

РчеРН0 - расчетное время на обработку текущей очереди узлом НО.

8.2. , .8.4 , -

П.8.3.

8.3. Область помещается в очередь на обработку узлом Нп, переход к П.8.5.

8.4. Область помещается в очередь на обработку узлом НО.

8.5. В ООВ есть области, нераспределенные по очередям обработки? Ели да, то переход к П.8.1.

9. При работе расчетных процедур производится постоянная балансировка

нагрузки между узлами кластера. (Анадогичные П.9.1-П.9.10 процедуры

).

9.1. Есть задачи в очереди узла? Если нет - переход к П.9.10.

9.2. .

9.3. .

9.4. ? - .9.8.

9.5. , ?

- .9.8.

9.6.

обработку одной из подзадач, занимающих вычислительные ресурсы текущего ( ).

9.7. ?

- переход к П.9.5.

9.8. .9.3 , ,

либо не освободятся ресурсы на одном их узлов кластера.

9.9. ? - .9.7, - .9.1.

9.10. Узел свободен.

10.

окончательного изображения макета в соответствие с их координатами, .5.

11. - , - .9.

. -

горитма были разработаны программный вычислительный комплекс и тестовый

генератор трехмерных модулей псевдослучайной формы для наполнения тестовых сцен. Полигональная сложность визуализируемых модулей (от 4 до 1000 полигонов на объект) выбиралась случайным образом, как и их местоположение в трехмерном пространстве сцены. Полученные данные показывают, что идеализирован, , -

ватными для реальных задач: априори можно утверждать, что общая производи-

тельность вычислительной системы должна стремиться в максимальной, т.е. 300% ( ), .

Если в идеализированных условиях, когда все объекты сцены равномерно распределены в прямоугольной сетке, накладываемой на проекционную плоскость

, , -ность: для одного узла 100% из 100% возможных, для двух узлов 189% из 200% возможных, для трех узлов 293% из 300% возможных, то на реальных сценах производительности будут варьироваться в зависимости от параметров наполнения сцены, что показано в таблице 1.

1

СЛОЖНОСТЬ СЦЕНЫ ПРОИЗВОДИТЕЛЬНОСТЬ

1 узел 2 узла 3 узла

от 50000 до 500000 модулей 100% 127% 148%

От 5000 до 50000 модулей 100% 152% 193%

До 5000 модулей 100% 154% 196%

. -

аппаратный вычислительный кластерный комплекс, по производительности сравнимый с симметричной многопроцессорной системой, но лишенный ее недостатков благодаря потенциальной расширяемости, ресурсной независимости процессоров и повышенной надежности в условиях непрерывности вычислений. Алгоритмы и программное обеспечение, разработанные для оптимизации процесса визуализации сложных трехмерных сцен позволили повысить эффективность расчетов в данной распределенной вычислительной системе и сократить общее время получения конечного результата для данного класса задач. Следует отметить, что узлами кластерной вычислительной системы могут служить машины, имеющие симметричную многопроцессорную архитектуру, что позволит перейти к принципиально новым методам решения рассматриваемого класса задач в будущем.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. ИМ. Норенков. Основы автоматизированного проектирования: Учеб. для вузов. М.: Изд-во МГТУ им. Н.Э. Баумана, 2000.

2. О.В. Коновалов. Проблемы формирования трехмерных векторных структур. Известия ТРТУ №2, тематический выпуск «Интеллектуальные САПР» Материалы Всероссийской научно-технической конференции с участием зарубежных представителей «Интеллектуальные САПР-97». Таганрог: ТРТУ, 1998.

3. .. . . « -

сы докладов РиЭвНХ». М.: МЭИ, 1998.

4. . . .

градиентного правила. Труды конференций IEEE AIS’02 CAD-2002. М.: Физматлит, 2002.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5. Вычислительные комплексы, системы и сети / А.М.Ларионов, С.А.Майоров,

. . : . .: . . , 1987.

6. . . : . . .: -. 1990. 320 .

7. : . ./ . . . .: , 1985.

8. .. . .: , 1980.

9. . . .: , 1981.

10. / . . , С.Я. Виленкин, И.Л.Медведев. М.: Знергоатомиздат, 1983.

11. A.Barak, O.La'adan,A.Shiloh. Scalable Cluster Computing with MOSIX for LINUX. The Hebrew University of Jerusalem, 1998.

12. A.Barak, O.La'adan. The MOSIX Multicomputer Operating System for High Performance Cluster Computing. Journal of Future Generation Computer System, 13, 1998.

13. A.Barak, S.Guday, R.G.Wheeler. The MOSIX Distributed Operating System, Load Balancing for UNIX. In Lecture Notes in Computer Science, Springer-Verlag, 1993.

14. A.Barak and A.Braverman. Memory Ushering in Scalable Computing Cluster. Journal of Microprocessors and Microsystems, 22, 1998.

15. A.Barak, A.Braverman, I.Gilderman and O.Laden. Performance of PVM with the MOSIX Preemptive Process Migration. In Proc. Seventh Israeli Conf. on Computer Systems and Software Engineering, 1996.

16. Y.Amir, B.Averbuch, A.Barak, R.S. Borgstrom and A.Keren. An Opportunity Cost Approach for JobAssignment and Reassignment in a Scalable Computing Cluster. In PDCS ’98, 1998.

17. . . , . . , . . , . . . -

ным циклом продукции. М.: Анахарсис, 2002.

УДК 681.3:536.2.072

..

НЕЧЕТКОЕ ПЛАНИРОВАНИЕ СБИС НА ОСНОВЕ ЭВОЛЮЦИОННОЙ

АДАПТАЦИИ*

Планирование это ранняя фаза проектирования чипа. Оно дает информацию о , , -ках. Во многих приложениях, хотя и требуется хорошая топологическая структура, но не вся информация о всех модулях имеется в наличии, или, что еще хуже, часть этой информации неточна. Примеры таких приложений - это проектирование , -, .

- , -

* Работа выполнена при поддержке Мин. образования, грант № Т02-02.3-491

i Надоели баннеры? Вы всегда можете отключить рекламу.