10 - 2009

PowerMILL 10 — первая CAM-система с эффективной поддержкой многоядерных процессоров

Своим появлением современные CAD/CAM­системы обязаны прежде всего развитию вычислительной техники. Однако доступными по цене для широкого круга потребителей стали персональные компьютеры на базе процессоров 8086, которые появились лишь в 1982 году. С того момента началась гонка за частотой работы процессора: если первые процессоры работали с частотой 4,77 МГц, то сегодня отдельные экземпляры процессоров Pentium 4 могут работать на частоте свыше 7­8 ГГц. Столь стремительный рост частоты был вызван тем, что производительность работы компьютера напрямую зависит от частоты работы процессора, поэтому в течение приблизительно 20 лет развитие процессоров семейства х86 шло по экстенсивному пути и рабочая частота процессора зачастую указывалась в его названии. Конечно же, совершенствовались наборы команд, добавлялись математические сопроцессоры, увеличивался объем кэша, но все равно самым действенным способом увеличения производительности процессора оставался рост его частоты. С ростом частоты непрерывно увеличивалось тепловыделение процессора, и начиная с 3,0 ГГц рассеиваемая мощность дошла до 130 Вт. В связи с этим возникла проблема охлаждения процессора, поскольку при температуре свыше 80 °С срок жизни кремниевых транзисторов стремительно сокращается. Для уменьшения тепловыделения производители пошли по пути миниатюризации (перешли на 45­нм технологию производства) и снизили напряжение питания ядра. Тем не менее, несмотря на все ухищрения разработчиков, массово производимые сегодня процессоры семейства х86 на протяжении уже нескольких лет не могут перешагнуть реальную частоту в 4 ГГц. Столкнувшись с этим непреодолимым барьером, производители компьютеров пошли по пути создания многоядерных процессоров. Дело в том, что все многозадачные операционные системы могут управлять запущенными приложениями как независимыми процессами, которые обрабатываются разными ядрами процессора. В простейшем случае это означает, что на многоядерном компьютере пользователь может одновременно выполнять несколько задач, требующих большой загрузки процессора, например смотреть DVD­фильм и архивировать файлы. В этом случае есть две абсолютно несвязанные между собой вычислительные задачи, использующие общие аппаратные ресурсы. (В своих дальнейших рассуждениях мы будем подразумевать, что доступный объем оперативной памяти превышает потребности наших задач.) Кроме того, одна программа может распараллеливать вычисления на два и более потоков, например при конвертировании нескольких звуковых файлов из одного формата в другой, вычисления могут производиться на разных ядрах процессора независимо друг от друга. В этих случаях увеличение производительности работы многоядерного процессора очевидно.

Если рассмотреть возможность распараллеливания вычислительных процессов применительно к САПР, то ситуация здесь весьма неоднозначна.

Большинство методов конечных элементов позволяют разбить вычислительную задачу на более мелкие блоки, математическое взаимодействие между которыми происходит по условно заданным границам. В результате многие популярные CAE­системы успешно работают на вычислительных кластерах (группе компьютеров, объединенных в локальную сеть с высокой пропускной способностью). На первый взгляд время счета задачи должно быть обратно пропорционально количеству компьютеров в кластере, но на практике, из­за задержек при передаче данных и дополнительной обработки информации, зависимость может лишь асимптотически стремиться к линейной. Ориентировочной нормой считается, когда кластер из четырех процессоров достигает 80% производительности от «идеальной» или 90% на восьми процессорах. Как правило, практическая реализация распараллеливания вычислений требует от разработчиков очень больших затрат. Естественно, адаптация под многоядерные процессоры CAE­систем, уже имеющих свои кластерные версии, не составляет для разработчиков большого труда.

В противоположность CAE­системам, сам принцип работы с твердотельными CAD­моделями, имеющими логическую структуру в виде дерева построения, не позволяет выполнять эффективное распараллеливание вычислений при их перестроении. Кроме того, взаимосвязи между элементами эскизов и сборок также образуют логические цепочки, поэтому CAD­системы требуют преимущественно последовательных вычислений. В результате специально разработанные для многопроцессорных компьютеров CAD­системы могут использовать преимущества нескольких ядер, но на типовых задачах ощутимого роста производительности от увеличения количества процессоров не происходит. Отчасти это связано еще и с необходимостью максимально быстрого доступа к разным блокам памяти, содержащим 3D­модель, поэтому CAD­системы на кластерах пока не прижились.

Другое направление, допускающее возможность распараллеливания процесса вычислений, — генерация управляющих программ для станков с ЧПУ. Дело в том, что цена современных пятиосевых станков с ЧПУ может исчисляться сотнями тысяч долларов, а значит, стоимость их амортизации предельно высока, поэтому простой в ожидании, пока CAM­система рассчитает управляющую программу, — непозволительная роскошь. При единичном производстве инструментальной оснастки CAM­система должна не только обладать такими качествами, как надежность, качество и эффективность сгенерированных управляющих программ, но и обеспечивать максимально возможную скорость счета. Это особенно актуально для производства крупногабаритной оснастки для изделий аэрокосмической, судостроительной и автомобильной отраслей.

Рис. 1. Скорость генерации растровых (!) управляющих программ в PowerMILL 10 по сравнению с предыдущей, 9-й версией

Рис. 1. Скорость генерации растровых (!) управляющих программ в PowerMILL 10 по сравнению с предыдущей, 9-й версией на компьютерах с различными аппаратными конфигурациями. Благодаря оптимизации кода прирост производительности наблюдается и на компьютере с одноядерным процессором

Рис. 2. Скорость генерации управляющих программ в PowerMILL 10 при выполнении комбинированного теста. За 100% взята производительность расчета этого же теста в  PowerMILL 9 на однопроцессорном одноядерном компьютере

Рис. 2. Скорость генерации управляющих программ в PowerMILL 10 при выполнении комбинированного теста. За 100% взята производительность расчета этого же теста в PowerMILL 9 на однопроцессорном одноядерном компьютере

Как известно, компания Delcam plc непрерывно вела работы по увеличению скорости генерации УП в своей флагманской CAM­системе PowerMILL, благодаря чему 7, 8 и 9­я версии были гораздо  быстрее своих конкурентов. Но пользователям PowerMILL даже этого было мало, поэтому в 10­ю версию разработчики добавили возможность распараллеливания вычислений с целью поддержки многоядерных процессоров. Выпуск PowerMILL 10 оказался своевременным, так как большинство продаваемых сегодня рабочих станций и ПК оснащаются многоядерными процессорами.

Система PowerMILL 10 позволяет в полной мере реализовать преимущества многоядерных процессоров. С точки зрения пользователя распараллеливание позволяет получить следующие преимущества:

  • PowerMILL 10 может генерировать траекторию движения инструмента или модель припуска в фоновом режиме с низким приоритетом, что позволит пользователю одновременно редактировать или разрабатывать ЧПУ­программу дальше. В принципе, эта технология будет работать и на одноядерном компьютере, но в полной мере ощутить все ее преимущества можно лишь на многоядерном процессоре. Теперь в диалоговых окнах генерации УП, помимо кнопки Calculate (Вычислить) появилась кнопка Queue (Добавить в очередь);
  • 10­я версия может одновременно рассчитывать траекторию фрезерования разных участков обрабатываемого элемента детали. При этом используется одна и та же стратегия, но каждое ядро независимо рассчитывает УП для обработки отдельных участков. В результате время генерации траектории обработки снижается пропорционально количеству задействованных ядер процессора. Возможность распараллеливания вычислений реализована в таких стратегиях обработки, как С постоянной Z (Constant Z), 3D­смещение (3D Offset), Черновые стратегии выборки (Area clearance), Межслойная Z  (Interleaved constant Z), Оптимизированная  Z (Optimised constant Z), Вычисление границы (Boundary calculations). Вычисление 3D­модели припуска также оптимизировано под многоядерные процессоры. Отметим, что распределение задач между ядрами многоядерного процессора осуществляется полностью автоматически средствами операционной системы;
  • благодаря оптимизации кода, PowerMILL 10 стала самой быстрой CAM­системой на рынке, обгоняя по скорости генерации растровых управляющих программ на многоядерных процессорах (рис. 1) свою предыдущую версию в 3­4 раза! Особо отметим, что реальное ускорение счета во многом зависит от выбранной стратегии обработки, поэтому прирост производительности на комбинированных тестах не слишком велик (см. далее).

Отметим также, что разработчики системы PowerMILL усовершенствовали математические алгоритмы расчета ресурсоемких чистовых стратегий обработки с целью снижения требуемого объема оперативной памяти. Это особенно актуально для очень больших CAD­моделей, при работе с которыми пользователи раньше иногда сталкивались с проблемой нехватки памяти компьютера.

В предыдущей, 9­й версии PowerMILL появилась функция перераспределения точек траектории (Point distribution), благодаря которой на станке достигается более высокая физическая скорость подачи. В PowerMILL 10 эта функция также использует алгоритм распараллеливания вычислений.

На рис. 2 представлены результаты выполнения PowerMILL 10 комбинированных тестов на различных аппаратных конфигурациях компьютеров, протестированных компанией Delcam. Интересно отметить, что на однопроцессорном одноядерном компьютере новая версия по скорости счета немного уступает предыдущей, что связано с особенностью алгоритма распараллеливания вычислений, требующего затрат производительности на распараллеливание потоков. Как видно из полученных результатов, на производительность системы, помимо количества ядер, влияет тип используемой операционной системы. Дело в том, что в ОС Windows Vista, по сравнению с Windows ХР, компания Microsoft усовершенствовала поддержку многопоточных вычислений, что обеспечивает на приложениях с возможностью распараллеливания вычислений прирост производительности в несколько процентов.

Аппаратные конфигурации протестированных ПК

Тип процессора

Название процессора

Частота, ГГц

Объем ОЗУ, Гбайт

ОС

Одноядерный

Intel M Processor 780

2,26

2

XP 32

2ЅSingle­core

AMD Opteron 248

2,21

2

XP 32

1ЅDual­core

Intel Core 2 Duo E8400

3,0

4

Vista 64

2ЅDual­core

Intel Core 2 Extreme QX9300

2,53

8

XP 64

1ЅQuad­core

Intel Core 2 Quad Q9450

2,66

4

Vista 64

2ЅQuad­core

Intel Xeon E5405

2

8

XP 64

Результаты тестирования PowerMILL 10 показывают, что двухпроцессорный восьми­ядерный компьютер под управлением Windows ХР уступает в производительности однопроцессорному четырехъядерному под Windows Vista. Это вызвано тем, что при разработке PowerMILL был оптимизирован код программы для применения на доступных по цене конфигурациях, построенных на одном четырехъядерном процессоре (например, Intel Core2 Quad).

Следует отметить, что при использовании многоядерного процессора все вычислительные потоки обращаются к общей оперативной памяти по одной шине данных, что может снижать производительность системы в целом. Чтобы уменьшить количество обращений к оперативной памяти и тем самым повысить производительность системы в целом, следует применять многоядерные однопроцессорные конфигурации. Дело в том, что современные процессоры имеют большую быстродействующую кэш­память 2­го уровня, интегрированную непосредственно на кристалл процессора. Благодаря наличию кэш­памяти 2­го уровня заметно снижается количество обращений к относительно медленной основной оперативной памяти по общей шине данных. В случае использования многопроцессорных систем, когда ядра и кэш­память находятся на разных кристаллах, интенсивная передача данных между процессорами по общей шине может привести к потере производительности в целом. В следующей версии PowerMILL разработчики планируют улучшить алгоритмы распределения кэш­памяти 2­го уровня на многопроцессорных компьютерах. Это позволит значительно повысить производительность двухпроцессорных рабочих станций, использующих четырехъядерные процессоры Intel Xeon.

На основании результатов тестирования можно утверждать, что CAM­систему PowerMILL 10 целесообразно эксплуатировать на компьютере с четырехъядерным процессором следующей конфигурации:

  • процессор — Intel Core 2 Quad Q9650 (четыре ядра, частота ядра 3,00 ГГц, частота шины FSB 1333 МГц, кэш­память 2­го уровня 12 Mбайт);
  • оперативная память — 8 Гбайт (4x2,0 Гбайт DIMM) 800 МГц ECC Dual Channel Memory;
  • видеоускоритель — 512 Mбайт PCIe x16 NVIDIA Quadro FX 3800;
  • жесткий диск — 2x320 Гбайт (7200 об./мин) SATA 3,0 Гбит/с;
  • операционная система — Windows Vista Business x64 SP1.

Если пользователь планирует одновременно выполнять в фоновом режиме много вычислений, то будет оправданно приобретение более дорогостоящей двухпроцессорной рабочей станции на процессорах Intel Xeon X5450 и установка 16 Гбайт оперативной памяти.

Аппаратные конфигурации протестированных ПК

Тип процессора

Название процессора

Частота, ГГц

Объем ОЗУ, Гбайт

ОС

Одноядерный

Intel M Processor 780

2,26

2

XP 32

2xSingle­core

AMD Opteron 248

2,21

2

XP 32

1xDual­core

Intel Core 2 Duo E8400

3,0

4

Vista 64

2xDual­core

Intel Core 2 Extreme QX9300

2,53

8

XP 64

1xQuad­core

Intel Core 2 Quad Q9450

2,66

4

Vista 64

2xQuad­core

Intel Xeon E5405

2

8

XP 64

В плане повышения производительности вычислений дальнейшее развитие САМ­системы PowerMILL будет происходить за счет более полной поддержки 64­битных версий Windows, которые позволяют адресовать гораздо больший объем оперативной памяти (64­разрядные процессоры Intel Xeon — до 1024 Гбайт памяти). Кроме того, будут совершенствоваться алгоритмы распараллеливания вычислений для различных стратегий обработки, что позволит в будущем еще эффективнее использовать PowerMILL на многопроцессорных компьютерах с многоядерными процессорами.

Подводя итоги, еще раз отметим, что при применении самых популярных сегодня компьютеров с двух­ или четырехъядерными процессорами PowerMILL 10 значительно выигрывает по скорости генерации УП по сравнению с предыдущей, 9­й версией. Проведенные специалистами компании Delcam исследования позволяют утверждать, что при помощи PowerMILL 10 можно сократить общее время разработки ЧПУ­программы почти в два раза. Сэкономленное на создании управляющих программ время даст возможность быстрее приступить к изготовлению заказа на станке с ЧПУ, что также повысит эффективность производства и вашу конкурентоспособность.

Материал подготовил Константин Евченко

САПР и графика 10`2009