Андрей Узварик
начальник отдела вычислительных платформ, IBS

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

С другой стороны, тенденция физического объединения распространяется и на размещение ядер на кристалле. На протяжении последних четырех лет основные производители RISC-серверов (IBM, Sun, HP) рассматривали только двухъядерные процессорные решения и пытались идти интенсивным путем развития, то есть увеличивать производительность ядра. Но это становится все сложнее, и на промежуточных стадиях между выпусками принципиально новых процессорных ядер заполняют пробелы экстенсивным путем, то есть технологически увеличивая количество ядер на единицу пространства. Для Sun Microsystems многоядерные процессоры позволяют добиться производительности в серверах, по мощности сравнимых с продукцией IBM. Изначально существенный "разрыв" в производительности вынуждал Sun конкурировать с серверами IBM из более низких ценовых категорий. По тестам Oracle и SAP, производительность серверов Sun уступает серверам IBM в два-четыре раза из расчета на одно ядро (результаты тестов можно найти на www.tpc.org и www.sap.com/benchmark). С другой стороны, IBM объявила о выходе новых многоядерных процессоров P5+, что подтверждает эффективность многоядерного решения.

Какие плюсы и минусы получатся при таком использовании производительных мощностей - с точки зрения как архитектуры, так и доступности приложений, распределения ресурсов?

Здесь, прежде всего, видна тенденция уменьшения количества активного оборудования, отвечающего за межкомпонентные связи. Например, раньше на каждые четыре процессора требовалась выделенная плата с контроллерами обмена данных между платами процессоров, то есть элементами, отвечающими за работу с основной шиной (например, для 32-ядерной системы потребовалось бы восемь таких плат). А при компоновке на одном процессорном кристалле четырех, восьми и более ядер для 16-, 32- и более ядерных систем теперь достаточно всего лишь одной платы. Уменьшение же количества управляющих элементов ведет к уменьшению латентности как таковой за счет отсутствия межкомпонентной пересылки (когда процессор вынужден обращаться за памятью, расположенной на другой плате-ячейке). Кроме того, увеличивается отказоустойчивость за счет снижения количества элементов, которые могут выйти из строя.

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

Следующий аспект, который нужно учесть при рассмотрении плюсов и минусов многоядерных процессоров, - это лицензирование. Так, SAP R/3 лицензируется по пользователям, то увеличение количества ядер в четыре, восемь и так далее раз не приводит к изменению стоимости лицензий на ПО. По-другому обстоит дело с лицензированием Oracle E-Business Suite - она лицензируется по процессорам, где стоимость напрямую зависит от количества ядер.

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