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

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

Сегодня оба крупнейших производителя микропроцессоров архитектуры х86, корпорации AMD (http://www.amd.com) и Intel (http://www.intel.com), предлагают продукты первого поколения — двухъядерные серверные процессоры Opteron и Xeon, однако уже известны планы компаний на ближайшее будущее — это четырехъядерные микросхемы. Активно обсуждаются и перспективы дальнейшего увеличения количества ядер. На вполне резонный вопрос «Кому и зачем в типовой компании может понадобиться мощь 16-процессорных (четыре посадочных места, по четыре ядра в каждом) серверов архитектуры х86?» существует вполне логичный ответ — благодаря технологии виртуализации такие системы прекрасно подходят для консолидации инфраструктурного ИТ-хозяйства в крупных и средних компаниях, а также могут выступать в качестве единого источника всех ИТ-сервисов в небольших компаниях.

Таким образом, похоже, настало время подробнее познакомиться с особенностями перспективных четырехъядерных микропроцессоров AMD Opteron, появление которых на рынке ожидается в 2007 г.

Photo

Прежде всего необходимо отметить, что новые процессоры, получившие кодовое наименование Barcelona, наследуют все характерные особенности архитектуры Opteron, разумеется, дополняя их рядом существенных инноваций. Немаловажно, что эти микросхемы рассчитаны на установку в недавно представленный AMD разъем для серверных систем, известный под названием Socket F. Особого внимания заслуживает и тот факт, что их термальный пакет в точности соответствует параметрам сегодняшних двухъядерных процессоров ревизии F и составляет 95 Вт на кристалл. Таким образом, при первой необходимости заказчики смогут без проблем модернизировать приобретаемые сегодня системы, значительно повысив их производительность и масштабируемость.

«Фамильные» особенности процессоров Barcelona, определяющие их новизну, условно можно свести к следующим шести признакам: во-первых, все четыре ядра выполнены на одном кремниевом кристалле; во-вторых, топология микросхемы оптимизирована под 65-нм производственный процесс с использованием технологии SOI; в-третьих, на кристалле появилась разделяемая кэш-память третьего уровня, совместно используемая всеми ядрами; в-четвертых, подверглась расширению функциональность некоторых составных элементов архитектуры Direct Connect; в-пятых, усовершенствована технология энергосбережения PowerNow!; наконец, в-шестых, оптимизирована потактовая производительность процессорных ядер. Если первые два момента в особых комментариях не нуждаются, то на последующих стоит остановиться немного подробнее.

Новая трехуровневая модель организации кэш-памяти представляет собой сбалансированную высокоэффективную структуру для работы с данными. Одно из важнейших ее достоинств состоит в том, что она обеспечивает тот же уровень производительности, что и конкурирующее решение с большим объемом кэша, но при меньшей цене самого микропроцессора. В общих чертах она устроена следующим образом: кэш L1 выделяется на каждое ядро процессора и состоит из двух блоков емкостью по 64 Кбайт — одного для данных и одного для инструкций. Его архитектура позволяет за один такт выполнять сразу две загрузки в исполнительный модуль процессора. Этот уровень отвечает за быстрое и эффективное манипулирование данными. Кэш L2 также выделен каждому ядру отдельно в объеме 512 Кбайт на каждое из них. Такая организация призвана устранить конфликты, свойственные разделяемой архитектуре, и минимизировать задержки при обращении к данным. Этот уровень отвечает за работу с реальными постоянно используемыми рабочими наборами данных. Как и прежде, кэш L2 не содержит в себе копии L1. Новый разделяемый кэш L3 имеет совокупный объем 2 Мбайт и предназначен для оптимизации работы нескольких ядер с оперативной памятью и уменьшения задержек чтения/записи. Предполагается, что в перспективе объем кэша L3 может быть увеличен.

Расширение возможностей, заложенных в архитектуру Direct Connect, подразумевает оптимизацию внутрипроцессорного коммутатора и контроллера памяти с повышением суммарной пропускной способности до 25,6 Гбайт/с.

Усовершенствованная технология PowerNow! позволит динамически управлять тактовой частотой каждого ядра процессора в отдельности — в зависимости от его загрузки, а при отсутствии таковой даже вовсе отключать незадействованные ядра.

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