¬аше окно в мир —јѕ–
 
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

23 окт€бр€ 2013

Ёволюционное и революционное будущее геометрических 3D-€дер

ѕрощай B-rep модели, здравствуй воксельное представление?

Ќиколай —нытниковЌиколай —нытников

 ак улучшить производительность современных геометрических €дер? ћожно ли это сделать на основе уже имеющегос€ кода или необходимы революционные подходы — в алгоритмическом фундаменте и архитектуре программного кода? ¬ статье — на основе информации из открытых источников, личного опыта автора и экспертизы специалистов LEDAS Labs — исследуютс€ вопросы поддержки параллельных вычислений в коммерческих €драх.

ядра и много€дерность

ѕочти полвека назад √ордон ћур, один из основателей компании »нтел, сделал знаменитое наблюдение — количество транзисторов, размещаемых на кристалле интегральной схемы, увеличиваетс€ в 2 раза каждые 24 мес€ца. ƒолгое врем€ на практике это означало экспоненциальный рост производительности (быстродействи€) Ё¬ћ, благодар€ которому разработчики ѕќ могли создавать вычислительно сложные приложени€, ориентиру€сь на «завтрашнюю» производительность компьютеров. —егодн€ же ситуаци€ ина€ — хот€ закон ћура еще никто не отмен€л, по технологическим причинам производители предпочитают наращивать число транзисторов с помощью увеличени€ количества процессорных €дер.

(ѕознакомитьс€ подробнее c состо€нием процессорной индустрии и прогнозами ее развити€ можно в многочисленных аналитических обзорах — например, в следующем: часть 1 и часть 2, или с их русско€зычным вариантом в блоге компании »нтел: часть 1 и часть 2.)

Ќадо ли говорить, что фокус разработки вычислительно сложного ѕќ заметно сдвинулс€. “еперь, чтобы нацеливатьс€ на использование вычислительной техники недалекого будущего, необходимо разрабатывать масштабируемые параллельные алгоритмы — то есть такие, производительность которых увеличиваетс€ пропорционально увеличению количества процессоров или процессорных €дер. » дл€ которых, в идеале, имеетс€ возможность запуска не только на десктопах, но и на кластерных (суперкомпьютерных) системах.

  сожалению, далеко не все задачи современного мира (или вычислительной математики) можно эффективно распараллелить. Ќапример, было бы странно привлекать дес€ток грузчиков дл€ работы по перетаскиванию единственного мешка с картошкой. », тем более, было бы странно привлекать двух женщин к рождению одного ребенка в надежде на то, что процесс пройдет существенно быстрее, чем за положенные 9 мес€цев. ƒругое дело, если мешков — несколько сотен, или планируемых детей — больше одного. ѕараллелизм тогда поможет.

–еальные задачи повседневной жизни €вл€ютс€ набором подзадач, часть из которых поддаетс€ распараллеливанию, а часть — нет. ¬ этом случае итогова€ эффективность определ€етс€ законом јмдала, декларирующим, что «потолок» коэффициента ускорени€ от распараллеливани€ определ€етс€ нераспараллеливаемой подзадачей. Ќа практике это означает, что если, скажем, 20% времени некоего алгоритма тратитс€ на последовательные вычислени€, а остальные 80% отлично распараллеливаютс€, то на 4 процессорных €драх можно ожидать ускорени€ не более, чем в 2.5 раза. Ќу а на 16 €драх — не более, чем в 4.

 аким образом всЄ это проецируетс€ на геометрические €дра? ƒело в том, что большинство наиболее трудоемких функций €дра представл€ет собой сложный набор дес€тков последовательно работающих и тесно св€занных друг с другом алгоритмов. ѕоэтому, чтобы добитьс€ заметного эффекта, необходимо дл€ каждого из них реализовывать собственную параллельную версию. √рубо говор€, ситуаци€ напоминает войну с пробками в российских мегаполисах — проблемы надо устран€ть аккуратно на каждом перекрестке, иначе bottleneck гарантирован.   сожалению, «устран€ть и улучшать» легко в предвыборных обещани€х, а в реальном городском окружении это сделать не так просто — ведь когда дороги проектировались их создатели не думали о буме автомобилизации, случившемс€ за последние 15 лет. “очно так же и при проектировании современных коммерческих геометрических €дер разработчики не думали о наступлении эры параллельных вычислений (подробнее см. статью Ёвана яреса о ACIS и CGM и заметку в блоге Spatial).

Ќа сегодн€шний день о потокобезопасности и поддержке параллельных вычислений за€вл€ют передовики рынка — ACIS и Parasolid. Ќо о конкретных параметрах эффективности на сложных операци€х (типа булевых или блендинга) маркетинговые материалы умалчивают. ≈сли же критически посмотреть на приводимые в этих материалах тщательно подобранные примеры — которые просто идеальны дл€ параллелизма — можно увидеть неплохое, но вовсе неидеальное ускорение. “акже любопытна ситуаци€ с €дром CGM — хот€ разработчики пр€мо за€вл€ют, что оно не €вл€етс€ потокобезопасным, это не помешало им реализовать функцию дл€ обработки булевых операций с помощью множества процессов операционной системы — когда в пам€ть фактически подгружаетс€ несколько копий €дра, и они взаимодействуют друг с другом на уровне пересылки сообщений, а не над общей пам€тью, как это делают потоки (см. видеоролик).

„то же касаетс€ PTC Granite One и Autodesk Shape Manager, то здесь информации мало (см. например, о Creo Parametric и о Autodesk Inventor) — скорее всего, это означает, что пока что в области многопоточности гордитьс€ компани€м нечем.

», наконец, о старте работ по расширению использовани€ параллельных вычислений не так давно упоминали разработчики C3D — €дра, используемого в  ќћѕј—-3D.

ядра в облаках

√отово ли ваше €дро стать основой дл€ облачного —јѕ–?

Ќа первый взгл€д, ответ тривиален. ¬едь кака€ разница, где установлено €дро — на удаленном сервере или локальном десктопе. ѕредоставл€ть пользовательский интерфейс (через веб-клиент, средство виртуализации или посредством обычного «оконного» приложени€ ќ—) — это задача —јѕ–-оболочки, а не €дра. Ќо вопрос всЄ-таки в другом — готово ли €дро использовать все доступные в облаке вычислительные ресурсы и при этом мгновенно выдавать решение дл€ задачи любой сложности? ¬едь, действительно, одно дело, если «тормозит» локальный десктоп с установленным на нем родным десктопным приложением — это, хот€ и непри€тно, но простительно. » совсем другое — если на неопределенное врем€ подвисает удаленный сервер, имеющий в распор€жении дес€тки процессоров — фрустраци€ пользовател€ будет обеспечена.

—овременные геометрические €дра вр€д ли готовы за€вить о такой степени масштабируемости параллельных вычислений, чтобы декларировать умение мгновенно решать любую задачу. Ќо этот факт совсем не смущает компании Autodesk и Dassault Systemes. ¬ этом году они выпустили на рынок облачные —јѕ– — Inventor Fusion 360 на €дре Shape Manager (уже доступный всем желающим за разумные деньги) и SolidWorks Mechanical Conceptual, построенный, веро€тно, на €дре CGM (и проход€щий сейчас обкатку на дес€тке клиентов DS). “ретьим, похоже, станет стартап Belmont Technology со своим пока секретным —јѕ– и объ€вленным использованием €дра Parasolid.

ћы наш, мы новый мир построим

ѕоставщики лицензируемых коммерческих €дер и разработчики соответствующих —јѕ– далеко не всегда могут позволить себе революционные настроени€ — ведь дл€ того, чтобы «перепрыгнуть» с €дра на €дро или вывести новый —јѕ– на рынок, потребуютс€ колоссальные и рискованные инвестиции. ƒругое дело, когда, как выражались классики, «тер€ть нечего, кроме своих цепей», и отсутствует т€желое наследие в виде миллионов строк кода и тыс€ч конечных пользователей. “огда остаетс€ пространство дл€ радикальных маневров и инноваций.

ћы уже приводили подробную технологическую информацию о геометрическом €дре RGK, разрабатываемом с 2011 по 2013 гг., (см. часть 1 и часть 2). Ќескромно отмечу, что на сегодн€шний день, если сравнить RGK по комплексу факторов со всеми геометрическими €драми, можно констатировать, что оно, пожалуй, имеет наиболее продуманный алгоритмический фундамент и архитектуру (в том числе — потокобезопасность и расширенную поддержку многопоточных вычислений), широкий функционал и €вл€етс€ своеобразным сочетанием лучших практик и методов, по€вившихс€ в геометрическом моделировании за последние 20 лет.

“ем не менее, если говорить о подлинно революционном подходе (с характерным сдвигом парадигмы и с присущими ему надеждами и разочаровани€ми самих революционеров), то на эту роль больше подходит €дро Gen6, разрабатывающеес€ калифорнийским стартапом TinkerCAD (сейчас — AirStone Labs) и €вл€ющегос€ основой одноименного облачного —јѕ– TinkerCAD, недавно приобретенного компанией Autodesk.

’от€ TinkerCAD и его геометрическое €дро €вл€ютс€ типичным нишевым решением (изначально продукт создавалс€ как средство создани€ моделей дл€ задач 3D печати) и не могут т€гатьс€ по функционалу с —јѕ–ом и геометрическими €драми общего назначени€, интерес представл€ют по крайней мере две реализованные в нем технологические идеи, позвол€ющие выполн€ть булевы операции в параллельном режиме на суперкомпьютерах с тыс€чами процессоров и обеспечивать при этом одновременную работу большого количества пользователей.

ѕерва€ — система управлени€ процессами и процессорами на суперкомпьютере, в результате чего пользователь имеет возможность дл€ трудоемких операций получить в свое распор€жении почти все имеющиес€ в распор€жении ресурсы (процессоры) суперкомпьютера. ¬едь, действительно, пользователи облачного —јѕ– не запуст€т на выполнение трудоемкие операции одновременно (если, конечно, это не флеш-моб или DDoS-атака).

¬тора€ — использование объемного (воксельного) представлени€ дл€ твердотельного моделировани€ (хорошо известного из компьютерной графики) как альтернативу B-rep, использующемус€ во всех остальных современных €драх. ѕреимущество состоит в том, что воксельное представление позвол€ет эффективно распараллеливать булевы операции. “ак что все они будут выполнены мгновенно.

“ем, кому интересны технологические аспекты, можно порекомендовать посмотреть эту презентацию (впрочем, речь там идет о некоей более ранней версии €дра — Gen4; и, вполне возможно, что в новой версии €дра Gen6 все эти идеи уже были модифицированы), ну а мы сразу перейдем к «воксельным» проблемам:

  • ƒл€ обеспечени€ разумной точности требуетс€ хранить огромные объемы данных — ведь неоптимизированный подход требует хранени€ O(N^3) вокселей, а в случае оптимизации (например, с использованием октантных деревьев) их число может быть уменьшено до O(N^2). —чита€, что размер воксел€ совпадает с необходимой точностью трехмерного тела eps, получаем, что дл€ достижени€ относительной точности 10^-5 (т.е. 1 мм на 100 метров) необходимо хранить и оперировать несколькими сотн€ми гигабайт данных. ƒаже дл€ современных суперкомпьютеров среднего размера это €вл€етс€ непозволительной роскошью. (ƒл€ сравнени€ — геометрические €дра ACIS и Parasolid декларируют 10-11 пор€дков точности.)
  • ќтсутствие €вных алгоритмов конвертации воксельного представлени€ в B-rep и обратно. ¬едь, создава€ €дро общего назначени€, будет необходимо интегрировать €дро с другими —јѕ– и реализовывать функциональность экспорта/импорта дл€ существующих моделей. —юда же относитс€ проблема идентификации и параметризации B-rep элементов модели.

ј что, если существует альтернативный подход к хранению и обработке воксельного представлени€, позвол€ющий избавитьс€ от «квадратичного» объема данных, сохранить свойство масштабируемости параллельных вычислений и сделать органичную конвертацию в B-rep? Cотрудники LEDAS Labs уверенно подтверждают — така€ технологи€ имеет право на существование и некоторое врем€ уже интенсивно ими исследуетс€. ѕричем, по всей видимости, она окажетс€ полезной не только дл€ чисто «€дерных» целей — как средство трехмерного моделировани€, но и дл€ смежных задач, к которым относ€тс€ лечение геометрии, геометрическое сравнение моделей , сопр€жение цифровой модели с приложени€ми инженерного анализа и многое другое.

Ёволюци€ вместо революции

Ќе будет большим преувеличением сказать, что все разработчики ѕќ страстно мечтают о реализации того или иного новаторского подхода. Ќо, помимо новаторства, большинству из них необходимо заботитьс€ об интересах текущих клиентов и увеличении доходов своей компании. ¬ результате, «революции» не могут рассматриватьс€ ими как серьезные опции, а научно-технологические исследовани€ вынуждены вращатьс€ вокруг имеющихс€ наработок.

» в этом смысле в контексте обсуждени€ геометрических €дер интересен вопрос — можно ли вообразить эффективное эволюционное улучшение производительности? »ли, другими словами, каковы шансы создани€ масштабируемых параллельных алгоритмов, интегрированных с существующим кодом €дра?

“еоретический фундамент дл€ работы с B-rep структурами, NURBS, построением линии пересечени€ и другими операци€ми не только хорошо известен но и, можно сказать, €вл€етс€ стандартным (см., например, работы ’оффманна, ’охмайера, NURBS Book и др). ѕо сути, геометрические €дра отличаютс€ друг от друга способом реализации, детал€ми алгоритмов (хот€ именно в них, как известно, и скрываетс€ дь€вол), и тем, как эти операции составл€ютс€ из многочисленных базовых функций — строительных кирпичей. ѕоэтому, если среди разнообразных вариантов реализаций удастс€ найти и сделать тот вариант, который дает неплохой стабильный результат на больших модел€х, то это уже могло бы стать достижением, обеспечивающим заметные конкурентные преимущества и оправдывающим затраты на разработку альтернативной «параллельной» функции.

 роме того, подобный подход привлекателен и по нескольким другим причинам — он обеспечивает лучшую согласованность результатов параллельной операции с ее последовательным вариантом и не требует реализации большинства вспомогательных базовых функций. «десь показателен упоминавшийс€ опыт CGM — как сообщают разработчики, поддержку параллельных вычислений им удалось выполнить сравнительно небольшой командой и без обеспечени€ потокобезопасности.

¬прочем, маркетинговый материал о CATIA V62012 ничего не сообщает о конкретных цифрах, а лишь декларирует, что существуют некие сценарии, на которых было достигнуто некое ускорение. Ќо, надо сказать, специалисты из LEDAS Labs делают оптимистичный прогноз потенциалу этой (эволюционной) технологии — при правильной организации параллельных вычислений выигрыш дл€ больших моделей может быть очень и очень заметным.

 то победит?

Ќа мой взгл€д, это не так уж и важно — пользователи от разнообрази€ только выиграют. Ќу а разработчикам всегда полезно и интересно заниматьс€ новыми нерешенными задачами — и эволюционной, и революционной направленности.


„итайте также:


¬акансии:

јктуальное обсуждение

RSS-лента комментариев

-->

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: „то можно назвать Ђчудо-оружиемї отрасли —јѕ–?
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2019 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.