Рендеринг сцен в 3ds max 5.1

Часть 3: Многопроцессорные системы и Hyper-Threading


Статья обновлена 20 сентября 2004 года:
добавлены результаты Xeon «Nocona» 3,0 ГГц.

Напомним, что данная статья не является самостоятельной, она представляет собой продолжение опубликованных нами ранее первой и второй части, посвященных рендерингу статических сцен в 3ds max на однопроцессорных системах с использованием трех движков рендеринга: Brazil r/s, встроенного движка 3ds max 5.x (Scanline) и Final Render Stage-1. В свою очередь, все три части базируются на разработанной нами открытой методике тестирования скорости рендеринга в 3ds max 5.1. Сегодня мы снова рассмотрим все три движка рендеринга, но уже применительно к многопроцессорным системам, также будет уделено внимание особенностям их работы с технологией Hyper-Threading (аппаратная эмуляция двухпроцессорности на однопроцессорном ядре).

Однако данный материал все же отличается от предыдущих, причем отличается концептуально: мы решили совершенно иначе подойти к вопросу сравнения различных процессоров между собой. Действительно: поскольку симпатии и антипатии сцен и движков рендеринга по отношению к различным архитектурам CPU были достаточно подробно исследованы в предыдущих частях, было бы нелепо и сегодня сводить все к банальному «мерянию крутизной» между дуальными решениями. Тем более, что сравниваются системы, оснащенные CPU с разной частотой, объемом кэша, архитектурой… Словом, сравнение «в лоб» не дало бы, с нашей точки зрения, абсолютно ничего, кроме достаточно бестолкового набора цифр, описывающего, то ли производительность при рендеринге в 3ds max, то ли количество крокодилов, проплывших вверх по Нилу в районе Каира прошлым летом с 10 по 15 июня. От попыток подбора «предположительно равнозначных» конфигураций мы отказались сознательно, т.к. даже сами производители (Intel и AMD) не пытаются противопоставлять какие-то конкретные модели Opteron и Xeon.

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

Кроме того, как мы и обещали, будет рассмотрена тема повышения скорости рендеринга в системах на базе Pentium 4 при включении технологии Hyper-Threading. В общем-то, данный вопрос можно отнести больше к теоретическим, чем к практическим, потому что, как правило, Hyper-Threading по умолчанию задействован, и отключать его никакого смысла нет. Однако интересно… Кроме того, исследование влияния Hyper-Threading на производительность косвенным образом поможет нам дать понять некоторые особенности функционирования двухпроцессорной системы на базе Intel Xeon.

Тем же, кто очень любит точные цифры и абсолютные показатели, мы предлагаем сравнить их самостоятельно, скачав файл в формате Microsoft Excel (2000), где в одну таблицу сведены все результаты тестов, на основании которых строились приведенные ниже диаграммы.

Тестовые стенды

  • Процессоры:
    • AMD Opteron 246 (2.0 ГГц)
    • Intel Pentium 4 3.4 ГГц (Northwood)
    • Intel Pentium 4 3.2 ГГц eXtreme Edition
    • Intel Pentium 4 3.2E ГГц (Prescott)
    • Intel Xeon 2.4 ГГц (Prestonia)
    • Intel Xeon 3.0 ГГц (Nocona)
  • Материнские платы:
    • Intel Pentium 4: Albatron PX875P Pro (i875P)
    • Intel Xeon Prestonia: Iwill DH800 (i875P MCH + Hance Rapid I/O Controller Hub)
    • Intel Xeon Nocona: Supermicro X6DA8-G2 (Intel E7525)
    • AMD Opteron: Tyan Thunder K8S (AMD-8131 + AMD-8111)
  • Память:
    • 2x512 МБ PC3200 DDR SDRAM DIMM TwinMOS (тайминги: 2-2-2-5)
    • 2x512 МБ PC3200 Registered DDR SDRAM DIMM Corsair (тайминги: 2-2-2-5)
    • 2x512 МБ DDR2-400 SDRAM
  • Видеокарта: Manli ATI Radeon 9800Pro 256 МБ
  • Жесткий диск: Western Digital WD360 (SATA), 10000 об/мин
Примечание: системная плата Tyan Thunder K8S не оснащена портом AGP, поэтому использовалось встроенное PCI-видео на базе чипа ATI Rage XL. Однако поскольку рендеринг сцен в данном случае осуществляется без участия видеокарты, чисто программным способом, использование другой видеокарты не могло повлиять на результаты тестов.

Тесты в Brazil r/s 1.0.3

Сцена Brazil_Caustic


Первое что бросается в глаза это громадный прирост скорости рендеринга у всех двухпроцессорных систем, и у Pentium 4 Prescott при включении Hyper-Threading. Забегая вперед, скажем, что превосходные результаты, которые продемонстрировал Pentium 4 на ядре Prescott, как оказалось, обеспечила ему именно эта технология: если использование HT принудительно запретить в BIOS, новое ядро Intel оказывается чуть ли не хуже всех (!), но прирост от «виртуальной многопроцессорности» настолько велик, что с включенной Hyper-Threading этот процессор показывает замечательный результат.

Также советуем обратить внимание на линейки «2 x Xeon Prestonia» и «2 x Xeon Prestonia + HT». Мы сочли уместным привести оба варианта для Xeon: с включенной HT (один процессор трактуется как два, два как четыре), и с выключенной (система обнаруживает один процессор на системе с одним CPU, и два на двухпроцессорной). Понятно, что результаты, обозначенные как «2 x Xeon Prestonia» (без HT) представляют такой же чисто теоретический интерес, как и сравнение Pentium 4 без HT и с ней. Однако с точки зрения исследования качественных отличий в реализации SMP-систем от разных производителей такой «эксперимент в чистой комнате» все же довольно интересен. Впрочем, вы это не раз заметите по следующим диаграммам.

Пока что мы видим, что задействование HT для Xeon иногда имеет смысл, даже если физических процессоров два: без HT прирост от второго процессора равен всего 69%, а вот с ней он составляет 94%, что позволяет Xeon догнать по этому показателю AMD Opteron. В целом же хотелось бы отметить, что 94% прироста это очень хороший результат. КПД второго CPU почти равен 100%!

Рост скорости при установке второго CPU (с выключенной поддержкой Hyper-Threading) в случае с Xeon Nocona еще больше казалось бы, это свидетельствует о том, что он масштабируется лучше, чем у Xeon Prestonia. Однако стоит включить Hyper-Threading и прирост производительности от установки второго процессора… падает по сравнению с показателями системы без Hyper-Threading! Как такое может быть? Не свидетельствует ли это о том, что HT иногда снижает скорость?! Нет. Напомним еще раз: на этих диаграммах вы видите относительные показатели систем. Что означают 95% прироста на системе с Xeon без HT и 88% на Xeon + HT? Это означает, что два физических процессора оказались на 95% лучше одного физического, а вот четыре виртуальных всего на 88% лучше, чем два виртуальных.

Рискнем предположить, почему: скорее всего, в данном конкретном случае кривая зависимости быстродействия от количества процессоров, на определенном этапе (с ростом количества CPU) вырождается в прямую. Соответственно, взяв более высокий старт (начав сразу с двух CPU, пусть и виртуальных), система на базе Xeon + HT оказалась ближе к этой границе. Выводы относительно причин этого явления напрашиваются самые простые: все процессоры в системах на базе Xeon (сколько бы их не было), используют одну общую шину для работы с памятью. Видимо, когда CPU становится целых четыре (пусть даже они «виртуальные»), шина перестает справляться.

Можно, конечно, возразить: «так зачем же приводить результаты Xeon без HT, раз они только вносят сумятицу в умы, моделируя чисто синтетическую ситуацию?» Так-то оно так, и, пожалуй, тем, кого эта статья интересует исключительно в качестве практического пособия по подбору SMP-системы для работы в 3ds max, мы посоветуем на данную линейку в диаграммах просто не обращать внимания. Однако с точки зрения исследования особенностей SMP-архитектур как таковых, поставить Xeon в ситуацию, полностью аналогичную той, в которой работает Opteron (чистая физическая многопроцессорность, не замутненная наложением на нее технологии Hyper-Threading) это, с нашей точки зрения, эксперимент интересный сам по себе, уже безотносительно используемого ПО.

Сцена Brazil_DOF


А вот при рендеринге эффекта Depth of Field (глубина резкости), практически не наблюдается реакции на включение Hyper-Threading в случае с Xeon. Вообще, данное исследование еще не раз продемонстрирует нам, что говорить о «хорошей SMP-оптимизации движка рендеринга», подразумевая при этом движок в целом, довольно опрометчиво. В зависимости от используемых эффектов, самого движка, и процессорной архитектуры, прирост производительности на многопроцессорных системах может скакать в достаточно широких пределах. Впечатляет 100% прироста производительности у системы на базе Xeon. Идеал достижим! Реально достижим! Впрочем, 93% у Opteron тоже отличный результат.

Сцена Brazil_GI


Картина более-менее похожая на предыдущую, поэтому уделим больше внимания другому: посмотрите, как хорош Prescott при включенной Hyper-Threading! 25% прироста только за счет этой технологии, да и на предыдущих диаграммах 30% и 26%! Xeon Nocona демонстрирует превосходные показатели масштабируемости даже в системе с включенной Hyper-Threading, а вот «виртуально четырехпроцессорная» Prestonia начинает чуть-чуть сдавать.

Мы уже озвучили наши предположения относительно того, почему может возникать такая ситуация выше, остается добавить, что лучшая масштабируемость Nocona с включенной поддержкой HT может объясняться увеличенным в два раза (по отношению к Prestonia) кэшем второго уровня. Разумеется, это лишь предположение, но довольно логичное, не так ли? Впрочем, есть и еще одно объяснение, и оно, скорее всего, тоже верное т.е. дополняет эффект от увеличенного кэша: дело в том, что Xeon Nocona оснащен самой быстрой на текущий момент для процессоров архитектуры NetBurst 800-мегагерцевой шиной, в то время как Prestonia имеет старую 533-мегагерцевую. В принципе, в однопроцессорных системах рендеры для 3ds max чаще всего не демонстрируют хоть сколько-нибудь серьезной зависимости производительности от пропускной способности шины, но не следует забывать, что 2 x Xeon + HT это целых четыре «виртуальных CPU».

Чем же тогда объяснить те случаи, когда Prestonia + HT масштабируется лучше чем Nocona в аналогичных условиях? За неимением лучшего, остается «пенять на архитектуру»: переработанное ядро, увеличенная длина конвейера…

Сцена Brazil_Final


Финальная сцена т.е. «всего понемножку, но в целом задачка сложная». Все истинно многопроцессорные системы демонстрируют превосходный результат.

Сцена Brazil_Preview


«Черновая превьюшка», фактически, является той же финальной сценой, но отрендеренной с максимально облегченными установками качества. Результат практически такой же, как и в предыдущем случае.

Промежуточный итог: Brazil r/s


Усредненный результат по всем сценам для рендера Brazil не преподнес никаких сюрпризов: двухпроцессорные системы показали себя с самой лучшей стороны. Также впечатляет эффект от включения Hyper-Threading на Pentium 4 Prescott, но уже с чисто эстетической точки зрения: кто же ее специально выключать-то будет? Наилучшую масштабируемость продемонстрировала система на AMD Opteron, впрочем, она ненамного опередила конкурентов. Новый Xeon (Nocona) масштабируется в среднем чуть хуже Prestonia (в штатном режиме т.е. с включенной поддержкой HT на 4% ), но не будем забывать, что сейчас мы рассматриваем результаты всего одного движка рендеринга из трех.

В целом, ситуация вполне очевидная: Brazil r/s очень неплохо задействует ресурсы второго физического CPU, и для тех, кто использует этот движок рендеринга, покупка двухпроцессорной системы является разумным вложением средств. Какой именно? Все очень просто: сравните показатели однопроцессорных систем на базе Pentium 4 Northwood и Athlon 64 FX, экстраполируйте по частоте на рассматриваемые варианты Xeon и Opteron, потом умножьте полученное на процент прироста, указанный на диаграммах в этом материале и получите довольно точный результат будущей SMP-системы. Быстродействие рендеринга в 3ds max (с любым рассмотренным здесь render engine) в рамках одной архитектуры зависит практически исключительно от частоты CPU, так что заморачиваться различиями в частотах шин и памяти не стоит, они практически ни на что не влияют.

Тесты в Scanline

Сцена Scanline_Light_Tracer


Да уж… После Brazil r/s результаты встроенного движка рендеринга 3ds max Scanline производят эффект холодного душа. Так и хочется сказать, что поддержка виртуальной многопроцессорности (посмотрите на прирост от HT) в нем сделана чуть ли не лучше, чем поддержка честной SMP. Это что же получается: прирост скорости от виртуального второго процессора в случае с Prescott составляет 47%, а прирост от появления второго физического в случае с Xeon Prestonia всего 72? Немного лучше смотрятся Opteron и новый Xeon Nocona (c выключенной HT т.е. в «чисто теоретическом» режиме использования), но все равно cтранные результаты, очень странные… Может, это просто сцена такая неудачная?

Сцена Scanline_Radiosity (1)+(2)


Нет, оказывается, все еще хуже. Мизер, чистейшей воды мизер получаем мы от установки второго процессора. Результаты включения Hyper-Threading напрямую конкурируют с вторым физическим CPU! Мистика… И, к слову, неприятная мистика. Впрочем, остается утешиться тем, что мало кто из профессионалов пользуется Scanline.

Сцена Scanline_Volume_Light


Ну, уже хоть что-то. Кстати, обратите внимание: системы на базе Opteron и Xeon Nocona с выключенной HT в Scanline всегда показывают самый высокий коэффициент прироста от установки второго CPU. Да, еще одно наблюдение - на очень многих (хоть и не на всех) диаграммах срабатывает следующее правило: если лучший результат по КПД использования второго CPU показывает система на базе Xeon + Hyper-Threading то ей проигрывают и Xeon без HT и Opteron. Если же ситуация складывается по-другому то, как правило, выигрывают у Xeon + HT опять-таки обе системы: и Opteron, и Xeon без HT. Интересное совпадение, не правда ли?

Сцена Scanline_Final


Вот, только помянули хорошим словом Opteron и он словно ожил от похвалы. Вообще, результат совершенно беспрецедентный. Понятно, что производительность может зависеть от архитектуры, и довольно существенно, но ведь в данном случае мы анализируем не это, а прирост скорости рендеринга от установки второго процессора! Процессоры-то сравниваются одинаковые! Можно только предположить, что организация памяти у систем на базе Opteron (напомним, что в отличие от Xeon, делящих между собой общую шину для обращения к памяти, каждый Opteron имеет свой собственный контроллер) проявила себя в данном тесте наилучшим образом. Но как тогда объяснить хорошие результаты нового Xeon? Можно предположить, как мы это уже делали выше, что недостатки подсистемы памяти с общей шиной в данном случае компенсировала ее возросшая скорость и объем L2-кэша. Таким образом, наблюдается забавная ситуация: не внося существенных изменений в архитектуру, а лишь подняв частоту шины и увеличив кэш второго уровня, Intel удалось компенсировать те недостатки Xeon, за счет которых его старый вариант (Prestonia) в некоторых ситуациях проигрывал Opteron. Если бы еще эта «компенсация» не сопровождалась «Prescott'овским бонусом» в виде удлинненного конвейера… впрочем, видимо, действует правило, согласно которому бесплатно ничего не достается.

Сцена Scanline_Preview


Большая разница в приросте производительности между Xeon без HT и стандартным вариантом скорее всего объясняется так же, как и в случае со сценой Brazil_GI: малое время исполнения задачи (сцена Scanline_Preview рендерится около минуты, или менее) не дает развернуться четырем виртуальным процессорам такое количество потоков рендеринга оказывается просто излишним. Даже один процессор с Hyper-Threading (два виртуальных) справляется с задачей настолько хорошо, что четыре уже не могут сильно улучшить его результат. С другой стороны, Nocona за счет своих преимуществ в шине и кэше удается «вытянуть» и эту ситуацию.

Промежуточный итог: Scanline


В целом, несмотря на то, что некий прирост производительности у всех SMP-систем все же наблюдается, мы не можем советовать кому-либо использовать их для работы со встроенным движком рендеринга 3ds max. AMD Opteron просто не оправдывает себя, проще и дешевле приобрести более мощную однопроцессорную систему, Xeon вообще ведет себя очень странно и непредсказуемо. Похоже, что Scanline действительно лучше поддерживает Hyper-Threading, чем физическую многопроцессорность.

Тесты в Final Render Stage-1

Сцена FR_Caustic


Система на базе Xeon Prestonia, функционирующая в «нормальном режиме», идет вровень с Opteron, традиционно (уже традиционно) хороша пара Pentium 4 Prescott + Hyper-Threading. Новый Xeon Nocona стабильно хуже старого. Видимо, сказываются архитектурные особенности ядра…

Сцена FR_Displace


Да, мы тоже смеялись… Невозможное, оказывается, возможно: КПД второго процессора в случае с Xeon оказался больше 100%. Ошибка при тестировании исключена мы, разумеется, прогнали этот подтест несколько раз. Минимум, которого удалось достичь 202% :). Однако, как ни странно, эти результаты имеют вполне логичное объяснение.

Давайте задумаемся: а что у нас делает один процессор, когда система занята рендерингом сцены? Самый простой ответ («занимается рендерингом сцены») не является правильным. Почему? Да потому, что операционная система у нас многозадачная. Этот один процессор исполняет код ОС, драйверов, фоновых процессов и сервисов… и, в том числе, код, ответственный за рендеринг. Разумеется, в основном последний, но, в любом случае, суммарные 100% процессорного времени складываются из X%, потраченных на рендеринг, и Y%, потраченных на что-то другое, при этом Y<>0.

Что же происходит, когда в системе появляется второй процессор? Как, наверное, уже поняли особенно догадливые, при идеальном (или почти идеальном) распараллеливании расчетной части на уровне ПО, он получает возможность все 100% своего времени потратить на рендеринг. Поэтому действительно возможна ситуация, когда второй CPU выполняет больше «полезной» работы, чем первый. И, соответственно, больше, чем один. Этим эффектом и вызваны, судя по всему, цифры прироста, превышающие 200%.

Также советуем обратить внимание на достаточно редкий случай: реальное снижение скорости у Pentium 4 Northwood при включении Hyper-Threading. А вот Prescott, как и всегда, «на коне». Напомним: сопоставление результатов Prescott и Northwood одинаковой частоты с включенной и выключенной HT демонстрирует нам совершенно шикарную картину (желающие могут загрузить Excel-файл и убедиться) в забеге однопроцессорных систем Prescott выиграл у Northwood исключительно за счет Hyper-Threading. Без нее он проигрывает всем, зачастую даже Athlon XP!

Сцена FR_GI


Очень хороший результат у Opteron, у обоих Xeon при работе в штатном режиме (с включенной HT) заметно хуже. Hyper-Threading на Prescott творит чудеса, но мы не устанем напоминать, что сейчас мы оцениваем прирост, а не абсолютные значения производительности. Де-факто замечательная работа HT на этом ядре позволила ему лишь незначительно обогнать равный по частоте Northwood в абсолютных показателях.

Сцена FR_SSS


Очень хороши Opteron и новый Xeon. А вот старый (Prestonia) совершенно не впечатляет. Получается, что от установки второго Xeon Prestonia мы получим всего 58% прироста производительности по отношению к одному процессору (фактически, в том числе по отношению к одному Pentium 4 аналогичной частоты), а вот в случае с Opteron и Xeon Nocona в районе 80%.

Сцена FR_Volume_Caustic


Ситуация примерно аналогична предыдущей: лучше всего оказываются Opteron и новый Xeon без Hyper-Threading. Обратите внимание, как «скачут» от диаграммы к диаграмме линейки прироста скорости у дуальных Xeon с Hyper-Threading и без нее. Фактически, мы в этом случае наблюдаем разные степени полезности данной технологии на двухпроцессорных системах: если показатель прироста выше у многопроцессорной системы с включенной HT это свидетельствует о том, что комбинация сцены (используемного эффекта) и движка рендеринга положительно реагирует как на честную дуальность, так и на виртуальную. Если же показатель прироста намного больше у системы с выключенной HT, это означает, что четыре виртуальных процессора оказываются уже излишними.

Сцена FR_Volume_Light


Напомним, что время выполнения данного теста весьма невелико: самый худший результат из всех используемых в данном материале 1 минута 44 секунды. Но все равно поражает Opteron: на нем ускорение есть, и существенное, а на остальных системах мягко говоря, совершенно не впечатляющее. Все Pentium 4 кроме HT-любивого Prescott вообще проиграли от виртуальной многопроцессорности, Xeon в «честном» режиме (с включенной HT) масштабируется более чем средненько. Заметим, что абсолютные показатели быстродействия все равно увеличиваются, поэтому в данном случае мы рассматриваем не быстродействие систем как таковое, а именно выгоду от покупки дуальной системы по отношению к однопроцессорной. Можно сказать и так: хороший прирост от включения Hyper-Threading на однопроцессорной системе с Pentium 4 Prescott в некоторых ситуациях нивелирует преимущества дуального Xeon Nocona. С первого взгляда этот вывод может показаться нелогичным, но факты упрямая вещь: именно так и получается.

Вообще, падение производительности при задействовании HT вещь вполне логически объяснимая, особенно в ситуации, когда обрабатываемые объемы данных велики, а время рендеринга мало. В этом случае время работы того фрагмента кода, который отвечает за распараллеливание вычислений и раздачу данных (а он, безусловно, однопоточный) может даже превышать время работы самих обрабатывающих данные потоков. А учитывая то, что в случае с Hyper-Threading все три фрагмента кода одновременно работают на одном физическом ядре вполне вероятно возникновение ситуации, когда, попросту говоря, лучше было бы вовсе не распараллеливать обсчет. Утешением служит то, что такая ситуация возникает довольно редко, и, как правило, связана с выполнением очень быстротекущих процессов т.е. разница, вполне «внушительная» в процентном исчислении, составляет на самом деле несколько секунд.

Сцена FR_Final


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

Сцена FR_Preview


А вот с превьюшкой все дуальные системы справились более-менее неплохо. Неожиданное падение производительности при включении Hyper-Threading у Pentium 4 eXtreme Edition… честно говоря, необъяснимо. Просто необъяснимо.

Промежуточный итог: Final Render


В целом, все дуальные системы показали себя достаточно неплохо. Легко заметить, что местами неадекватное поведение систем на базе Xeon на их среднем балле отразилось не очень сильно. Однако, безусловно, наилучший эффект прироста производительности в Final Render демонстрирует тестовый стенд на базе Opteron. Напомним еще раз: если вы хотите посмотреть, какая архитектура быстрее — обращайтесь к предыдущим материалам! Здесь мы говорим лишь о «коэффициенте полезности» замены однопроцессорной системы на аналогичную по частоте и архитектуре CPU дуальную!

Заключение

В заключение, как и всегда, приводим «среднюю температуру по больнице», т.е. среднее арифметическое всех предыдущих результатов.

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

  1. Описание открытой методики тестирования. Почему, зачем, каким образом, и почему именно так, а не иначе.
  2. Тестирование однопроцессорных систем в Brazil r/s и Scanline.
  3. Тестирование однопроцессорных систем в Final Render и общие выводы по однопроцессорным системам.
  4. Данный материал: тестирование многопроцессорных систем и исследование влияния на производительность технологии Hyper-Threading.

Выводы относительно производительности SMP-систем и технологии Hyper-Threading применительно к рассмотренным выше render engines также будет удобнее всего оформить в виде краткого списка:

  1. С точки зрения сопоставления, как процессорных архитектур, так и SMP-систем с однопроцессорными, понятия «производительность при рендеринге в 3ds max» как такового в общем-то, не существует. В зависимости от того, какой движок используется для рендеринга, все может очень сильно изменяться.
  2. Прирост быстродействия при задействовании второго процессора не всегда постоянен, даже в рамках одного движка рендеринга. Иными словами, мы еще раз убедились в том, что функционирование даже одной и той же программы в различных условиях может очень сильно отличаться, и проблема анализа скорости намного сложнее, чем кажется на первый взгляд.
  3. В большинстве случаев, использование многопроцессорных систем для рендеринга сцен в 3ds max все-таки оправдано все движки рендеринга (пожалуй, за исключением невнятного Scanline) умеют задействовать второй процессор с КПД, близким к максимальному теоретически возможному. Это, пожалуй, основной вывод, который можно сделать на основании вышеприведенных результатов.
  4. Технология Hyper-Threading также дает неплохой прирост производительности (неплохой прежде всего учитывая его «бесплатность»). Однако наибольший эффект от Hyper-Threading наблюдается, безусловно, на последнем ядре Prescott.
  5. Новый Xeon Nocona (напомним, что его условно можно назвать «серверным вариантом Prescott») в общем зачете показал чуть лучшую масштабируемость, чем старый Xeon Prestonia (серверный вариант Northwood). Правда, лучше она всего на 2%, поэтому о победе нового ядра над старым говорить вряд ли имеет смысл. Скорее будет уместна такая формулировка: «с переходом на новое ядро, Xeon получил прирост по частоте и при этом не стал хуже масштабироваться». То есть в итоге наблюдаем нормальное эволюционное развитие, несмотря на существенную переделку ядра.
  6. Организация подсистемы памяти в SMP-системах на базе Opteron, похоже, вполне оправдывает себя, позволяя задействовать второй процессор более продуктивным образом. Во всяком случае, иного объяснения результатам Opteron мы не видим.
  7. Brazil r/s достаточно индифферентен к архитектуре SMP-системы и одинаково хорошо реагирует на дуальность как в исполнении Intel Xeon, так и на AMD Opteron.
  8. Встроенный движок 3ds max Scanline ведет себя на дуальных системах не вполне адекватно, SMP поддерживает странно и с некоторыми непонятными «взбрыками», особенно на Xeon Prestonia.
  9. Final Render, в принципе, положительно относится к любой разновидности SMP-систем, но наибольший эффект от задействования второго CPU наблюдается в случае с AMD Opteron.


Автор выражает благодарность Богдану Вакулюку за консультации
по особенностям работы пакета 3ds max и использованных в тестах движков рендеринга
Благодарим компанию Традиция за предоставленную материнскую плату Tyan Thunder K8S



20 сентября 2004 Г.

3ds max 5.1. 3: Hyper-Threading

3ds max 5.1

3: Hyper-Threading


20 2004 :
Xeon «Nocona» 3,0 .

, , , 3ds max : Brazil r/s, 3ds max 5.x (Scanline) Final Render Stage-1. , 3ds max 5.1. , , Hyper-Threading ( ).

, : . : CPU , « » . , , CPU , , … , « » , , , , , 3ds max, , 10 15 . « » , .. (Intel AMD) - Opteron Xeon.

. , , : ? , . , CPU.

, , Pentium 4 Hyper-Threading. -, , , , , Hyper-Threading , . … , Hyper-Threading Intel Xeon.

, , , Microsoft Excel (2000), , .

  • :
    • AMD Opteron 246 (2.0 )
    • Intel Pentium 4 3.4 (Northwood)
    • Intel Pentium 4 3.2 eXtreme Edition
    • Intel Pentium 4 3.2E (Prescott)
    • Intel Xeon 2.4 (Prestonia)
    • Intel Xeon 3.0 (Nocona)
  • :
    • Intel Pentium 4: Albatron PX875P Pro (i875P)
    • Intel Xeon Prestonia: Iwill DH800 (i875P MCH + Hance Rapid I/O Controller Hub)
    • Intel Xeon Nocona: Supermicro X6DA8-G2 (Intel E7525)
    • AMD Opteron: Tyan Thunder K8S (AMD-8131 + AMD-8111)
  • :
    • 2x512 PC3200 DDR SDRAM DIMM TwinMOS (: 2-2-2-5)
    • 2x512 PC3200 Registered DDR SDRAM DIMM Corsair (: 2-2-2-5)
    • 2x512 DDR2-400 SDRAM
  • : Manli ATI Radeon 9800Pro 256
  • : Western Digital WD360 (SATA), 10000 /
: Tyan Thunder K8S AGP, PCI- ATI Rage XL. , , .

Brazil r/s 1.0.3

Brazil_Caustic


, Pentium 4 Prescott Hyper-Threading. , , , Pentium 4 Prescott, , : HT BIOS, Intel (!), « » , Hyper-Threading .

«2 x Xeon Prestonia» «2 x Xeon Prestonia + HT». Xeon: HT ( , ), ( CPU, ). , , «2 x Xeon Prestonia» ( HT) , Pentium 4 HT . SMP- « » . , .

, HT Xeon , : HT 69%, 94%, Xeon AMD Opteron. , 94% . CPU 100%!

CPU ( Hyper-Threading) Xeon Nocona , , , Xeon Prestonia. Hyper-Threading … Hyper-Threading! ? , HT ?! . : . 95% Xeon HT 88% Xeon + HT? , 95% , 88% , .

, : , , ( CPU) . , ( CPU, ), Xeon + HT . : Xeon ( ), . , CPU ( «»), .

, , : « Xeon HT, , ?» - , , , , SMP- 3ds max, . SMP- , Xeon , , Opteron ( , Hyper-Threading) , , , .

Brazil_DOF


Depth of Field ( ), Hyper-Threading Xeon. , , « SMP- », , . , , , . 100% Xeon. ! ! , 93% Opteron .

Brazil_GI


- , : , Prescott Hyper-Threading! 25% , 30% 26%! Xeon Nocona Hyper-Threading, « » Prestonia - .

, , , Nocona HT ( Prestonia) . , , , ? , , , , .. : , Xeon Nocona NetBurst 800- , Prestonia 533-. , 3ds max - , , 2 x Xeon + HT « CPU».

, Prestonia + HT Nocona ? , « »: , …

Brazil_Final


.. « , ». .

Brazil_Preview


« », , , . , .

: Brazil r/s


Brazil : . Hyper-Threading Pentium 4 Prescott, : - ? AMD Opteron, , . Xeon (Nocona) Prestonia ( .. HT 4% ), , .

, : Brazil r/s CPU, , , . ? : Pentium 4 Northwood Athlon 64 FX, Xeon Opteron, , SMP-. 3ds max ( render engine) CPU, , .

Scanline

Scanline_Light_Tracer


… Brazil r/s 3ds max Scanline . , ( HT) , SMP. : Prescott 47%, Xeon Prestonia 72? Opteron Xeon Nocona (c HT .. « » ), c , … , ?

Scanline_Radiosity (1)+(2)


, , . , . Hyper-Threading CPU! … , , . , , Scanline.

Scanline_Volume_Light


, -. , : Opteron Xeon Nocona HT Scanline CPU. , - ( ) : CPU Xeon + Hyper-Threading Xeon HT Opteron. - , , Xeon + HT - : Opteron, Xeon HT. , ?

Scanline_Final


, Opteron . , . , , , , ! - ! , Opteron (, Xeon, , Opteron ) . Xeon? , , L2-. , : , , Intel Xeon, (Prestonia) Opteron. «» «Prescott' » … , , , .

Scanline_Preview


Xeon HT , Brazil_GI: ( Scanline_Preview , ) . Hyper-Threading ( ) , . , Nocona «» .

: Scanline


, , SMP- , - 3ds max. AMD Opteron , , Xeon . , Scanline Hyper-Threading, .

Final Render Stage-1

FR_Caustic


Xeon Prestonia, « », Opteron, ( ) Pentium 4 Prescott + Hyper-Threading. Xeon Nocona . , …

FR_Displace


, … , , : Xeon 100%. , , . , 202% :). , , .

: , ? (« ») . ? , . , , … , , , . , , , , 100% X%, , Y%, - , Y<>0.

, ? , , , ( ) , 100% . , CPU «» , . , , , . , , , 200%.

: Pentium 4 Northwood Hyper-Threading. Prescott, , « ». : Prescott Northwood HT ( Excel- ) Prescott Northwood Hyper-Threading. , Athlon XP!

FR_GI


Opteron, Xeon ( HT) . Hyper-Threading Prescott , , , . - HT Northwood .

FR_SSS


Opteron Xeon. (Prestonia) . , Xeon Prestonia 58% (, Pentium 4 ), Opteron Xeon Nocona 80%.

FR_Volume_Caustic


: Opteron Xeon Hyper-Threading. , «» Xeon Hyper-Threading . , : HT , ( ) , . HT, , .

FR_Volume_Light


, : 1 44 . Opteron: , , , . Pentium 4 HT- Prescott , Xeon «» ( HT) . , , , . : Hyper-Threading Pentium 4 Prescott Xeon Nocona. , : .

, HT , , , . , ( , , ) . , Hyper-Threading , , , . , , , , .. , «» , .

FR_Final


, Intel . , .. , , .

FR_Preview


- . Hyper-Threading Pentium 4 eXtreme Edition… , . .

: Final Render


, . , Xeon . , , Final Render Opteron. : , ! « » CPU !

, , « », .. .

, , .. - , . , , :

  1. . , , , , .
  2. Brazil r/s Scanline.
  3. Final Render .
  4. : Hyper-Threading.

SMP- Hyper-Threading render engines :

  1. , , SMP- , « 3ds max» -, . , , .
  2. , . , , , , .
  3. , 3ds max - (, Scanline) , . , , , .
  4. Hyper-Threading ( «»). Hyper-Threading , , Prescott.
  5. Xeon Nocona (, « Prescott») , Xeon Prestonia ( Northwood). , 2%, . : « , Xeon ». , .
  6. SMP- Opteron, , , . , Opteron .
  7. Brazil r/s SMP- Intel Xeon, AMD Opteron.
  8. 3ds max Scanline , SMP «», Xeon Prestonia.
  9. Final Render, , SMP-, CPU AMD Opteron.



3ds max
Tyan Thunder K8S