ПРЕСС-ЦЕНТР

Многоядерные компьютерные системы: от игровых приставок до серверов и суперкомпьютеров

Электронные компоненты 3/2006

Сергей Золотарев, Алексей Рыбаков

В 2006 году компьютерный мир вообще и мир встраиваемых компьютеров в частности вновь ожидают существенные изменения. Кроме уже начавшегося массового перехода большинства встраиваемых компьютерных стандартов (PICMG 1.2/1.3, ETX/COM Express, CompactPCIExpress, EPIC, ATCA, VME, mini-ITX и др.) на платформу PCIExpress, нас ожидает появление готовых компьютерных решений, основанных на новых поколениях микропроцессоров, реализующих архитектуру CMP - многопроцессорной обработки на уровне кристалла. На так называемых Multi Core, или многоядерных микропроцессорах, в частном случае, на dual core - микропроцессорах с двумя процессорными ядрами на одном кристалле. Если говорить о рынках встраиваемых компьютеров (телеком, связь, оборона, промышленность, приборостроение, авиация/космос, медицина, игровая индустрия, массовая реклама и т.п.), безусловно, новое поколение многоядерных микропроцессоров придаст много положительных импульсов всем игрокам названных рынков. Выиграет тот, кто раньше воспользуется представленными преимуществами. Настоящая статья подготовлена на базе ряда материалов двух компаний, стратегических партнёров: Intel (www.intel.com) и Kontron (www.kontron-emea.com).

Многоядерные микропроцессоры завоевывают компьютерный рынок

За последние 5 лет в компьютерной индустрии очень четко обозначился новый вектор развития - появление и широкое распространение многоядерных компьютерных систем. Причем это явление проявляется везде, начиная от игровых приставок и заканчивая серверами и суперкомпьютерами. Примером могут служить игровые приставки нового поколения - Sony PlayStation 3 и Microsoft XBox-360 или многие компьютеры из списка Top 500 самых производительных суперкомпьютеров 2005 года. В таблице 1 приведен прогноз Intel о доле многоядерных процессоров в компьютерных системах различного назначения.

Таблица 1. Ожидаемое распространение многоядерных процессоров в новых поставляемых системах

Сегмент

2006 год

2007 год

Настольные компьютеры

> 70% двухъядерные

> 90% многоядерные

Серверы

85% многоядерные

100% многоядерные

Мобильные системы

> 70% двухъядерные

> 90% многоядерные

Источник: Intel Corporation

Причиной появления таких процессоров стал рост требований к производительности компьютерных систем, которые все более широко применяются там, где раньше царили специализированные ИС: в телекоммуникационном оборудовании, телевидении, игровых приставках и т.д. До последнего времени одним из основных методов повышения производительности было повышение тактовой частоты процессоров при одновременном совершенствовании систем буферизации обмена данными с основной памятью. Этот рост частот становился возможным по мере уменьшения размеров отдельных элементов микросхем при переходе к новым техпроцессам. Однако возможности для такого роста становятся все более ограниченными.

Многопроцессорность на уровне кристалла, или подводные камни закона Мура

40 лет назад один из соучредителей корпорации Intel Гордон Мур (Gordon Moore) обратил внимание на то, что количество транзисторов на интегральной микросхеме растет экспоненциально, и предположил, что эта тенденция сохранится. Это предсказание сегодня известно как "Закон Мура" и подтверждается с 1965 года в виде удвоения числа транзисторов на единицу площади каждые два года.

Однако в настоящее время такой путь развития стал достаточно трудной задачей в силу действия ограничений, определяемых законами физики [1]. Во-первых, скорость доступа к памяти растет не так быстро, как скорость работы вычислительных устройств. Например, во времена процессора i486 время обращения к памяти составляло 6...8 тактовых импульсов процессора. Сегодняшним процессорам Intel Pentium для доступа к памяти необходимо 224 тактовых импульса. Эти потерянные тактовые импульсы могут свести на нет преимущества от повышения частоты процессора.

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

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

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

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

Первой в технологической гонке на пути создания двухъядерных микропроцессоров оказалась фирма IBM, начав в 2001 году продажу двухъядерного процессора IBM Power4 для серверов. В 2002 году почти одновременно AMD и Intel объявляют о перспективах создания своих двухъядерных процессоров, и в этом же году появляются процессоры Intel Xeon и Intel Pentium 4 с технологией Hyper-Threading. В 2004 году свой двухъядерный процессор выпустила Sun (UltraSPARC IV), а таже ARM (MPCore). В 2004 году IBM выпустила второе поколение своих двухъядерных процессоров IBM Power5.

Решающим в деле становления двухъдерной технологии как нового вектора развития компьютеров стал 2005 год. 18 марта Intel выпустила первый в мире двухъядерный процессор архитектуры x86. 21 марта AMD анонсировала полную линейку серверных двухъядерных процессоров Opteron, двухъядерные процессоры Athlon 64 X2 для настольных компьютеров и начала поставки двухъядерных Opteron 8xx. 20-25 мая AMD начинает поставки двухъядерных Opteron 2xx. 26 мая Intel выпускает двухъядерные Pentium D для массовых ПК. 31 мая AMD начинает поставки Athlon 64 X2.

Intel планирует, что к 2008 году двойное ядро станет главным в области коммерческих компьютерных технологий в большинстве сегментов рынка - в серверах, настольных компьютерах и ноутбуках, как это показано в таблице 1. Безусловно, очень существенные изменения должны произойти в области встраиваемых (embedded) компьютерных технологий, аналогично тем, которые произошли с появлением Pentium M.

Необходимо понимать, что выигрыш от параллелизации вычислений требует определенной поддержки на уровне операционной системы и пользовательских программ. К сожалению, количество программ, эффективно использующих параллельную обработку, относительно невелико. Кроме того, лицензионная политика многих компаний-производителей ПО связывает стоимость программ с количеством процессоров, на которых оно будет запускаться. В частности, такую позицию занимает компания Oracle. Однако Intel придерживается мнения, что так как двухъядерные процессоры - это развитие технологии Intel HT, то и лицензирование ПО для двухъядерных процессоров должно проводиться по принципам, которые уже были согласованы и применены к технологии HT. К настоящему времени компании Microsoft, Sun, IBM, а также различные поставщики Linux обещали, что для работы на двухъядерных процессорах будет достаточно одной лицензии на их программные продукты. Дополнительную информацию о лицензионной политике пользователи должны получать у поставщиков используемого ими ПО.

Разработка ПО, использующего преимущества многопроцессорности, является в общем-то достаточно сложной задачей.

Облегчить жизнь программистам призвана разработанная Intel технология IVT.

IVT Технология виртуализации (Intel Virtualization Technology)

Новая технология виртуализации Intel обеспечивает более простое администрирование аппаратных средств при параллельных вычислениях и является компонентой двухъядерной технологии. Она обеспечивает независимую работу в независимых разделах памяти нескольких операционных систем и приложений, которых воспринимают эти разделы как виртуальные машины. Эти виртуальные машины исключают проблему конкуренции процессов за ограниченные ресурсы и могут создаваться в процессе работы, что делает всю систему более устойчивой. При этом приложения могут "перемещаться" с одного сервера на другой. До появления двухъядерной технологии реализовать это было практически невозможно, хотя наличие такой возможности значительно упрощает распределение ресурсов. Помимо этого, виртуализация позволяет выполнять на том же компьютере те функции, которые ранее выполнялись специализированными компьютерами, к числу которых можно отнести функции межсетевых экранов и серверов данных. Все это способствует значительному уменьшению стоимости и повышению надежности системы в целом. Технология виртуализации Intel будет поддерживаться различными производителями операционных систем, в том числе Microsoft и поставщиками ОС Linux - компаниями RedHat, SuSe и MontaVista.

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

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

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

Для поддержки многоядерных процессоров необходимы, помимо соответствующего программного обеспечения, еще и новые микросхемы поддержки. Такие чипсеты для поддержки своих двухъядерных процессоров выпускает Intel. Это чипсеты i945 и i955, к которым в ближайшем будущем добавятся чипсеты i965 и i975. Помимо поддержки двухъядерных процессоров, эти чипсеты отличает высокая степень интеграции дополнительных функций, в том числе воспроизведения высококачественного звука (HDA), подключения винчестеров по новому последовательному интерфейсу SATA 2.1 с поддержкой переупорядочивания команд NCQ и аппаратной организацией RAID-массивов, сетевых интерфейсов Ethernet со скоростью до 1 Гбит/с и для чипсетов с суффиксом G высокоскоростного формирования видеосигнала. Кроме того, основным внутриплатным интерфейсом становится высокоскоростной последовательный интерфейс PCIExpress, в последнее время активно заменяющий параллельный PCI.

На базе этих чипсетов в конце лета прошлого года начался массовый выпуск материнских плат для обычных компьютеров, а в конце года и процессорных плат для встраиваемых компьютерных систем. Примером этого может служить продукция холдинга Kontron.

Новые решения Kontron: от встраиваемых систем до телекоммуникаций

Компания Kontron, как обычно, оправдывает свой девиз: "... Always a Jump ahead" - всегда на голову выше! За счет глобального стратегического партнёрства с Intel (Kontron - Premier Gold member in the Intel Communications Alliance) компания одной из первых выводит на рынок серию встраиваемых одноплатных компьютеров с двухъядерными процессорами в различных форм-факторах. Двухъядерная архитектура будет представлена в серийных продуктах уже в течение 2006 года.

Каждая из первых четырех встраиваемых вычислительных платформ выполнена на базе чипсета 945GM или E7520 (6U CompactPCI) и оснащена процессором Intel Core Duo Processor с тактовой частотой 2,16 ГГц. Вместо этих процессоров могут устанавливаться процессоры Intel Core Duo (LV) или Intel Core Solo с частотой 1,66 ГГц.

Сравнительное тестирование показало хорошую масштабируемость по производительности при переходе от одноядерных процессоров предыдущего поколения Intel Pentium M 756 (2,1 ГГц) к двухъядерным процессорам Intel Core Duo (2,16 ГГц). Результаты сравнения скорости работы в стандартных офисных приложениях показаны на рисунке 1.


Рис. 1. Результаты тестирования офисных приложений на одно- и двухъядерных процессорах

Рассмотрим первые двухъядерные решения Kontron, выполненные в различных форм-факторах.

Процессорный модуль в стандарте ETXexpress (см. рис. 2) предназначен для создания на его основе любых малогабаритных систем, как нестандартных, так и выполненных в соответствии с любыми современными стандартами (VME, CompactPCI, PICMG 1.0/1.2).


Рис. 2. Процессорный модуль стандарта ETXExpress

Модуль формата 3U стандарта CompactPCI (см. рис. 3) - идеальное решение для малогабаритных систем высокой готовности специального и промышленного назначения, требующих наивысшей производительности.


Рис. 3. Процессорный модуль CompactPCI

Модуль формата 6U CompactPCI с IPMI предназначен для использования в телекоммуникационном и военном оборудовании, а также в секторах, требующих высококачественной обработки изображений и высокой надежности (например, в медицине).

Плата miniITX (см. рис. 4) с двухъядерным процессором может быть встроена в классический промышленный компьютер или игровой автомат с двумя мониторами. Современные miniITX платы от Kontron - основа многих тысяч готовых компьютерных систем низшего ценового диапазона во всем мире. Идеально подходят для решения любых задач, где требуются минимальные габариты, низкая стоимость и развитые графические и коммуникационные интерфейсы. Традиционные потребители такого типа плат - производители информационных киосков, банковских и игровых автоматов.


Рис. 4. Процессорная плата формата miniITX

Вне всякого сомнения, многоядерные микропроцессоры Intel наилучшим образом подходят для использования в промышленных платформах Kontron. В ближайшем будущем можно ожидать появления многоядерных процессорных модулей, выполненных в конструктиве THINK I/O Premium.

Заключение

Выводы напрашиваются сами собой: в связи с появлением систем с многоядерными процессорами грядут большие изменения во всех секторах компьютерной индустрии. Эти изменения коснутся всех участников процесса: производителей аппаратных средств, разработчиков программного обеспечения и конечных пользователей. Не случайно применительно к многоядерной концепции процессоров используют образное выражение "большой взрыв".

Литература

  1. Джефф Коч, Изобретение многоядерных процессоров: расширение преимуществ закона Мура, Журнал Technology@Intel, Август-сентябрь 2005, стр.19
  2. Р.М. Раманатан (R.M. Ramanathan) Передовые технологии Intel - от настольных систем к телекоммуникациям, www.intel.com
  3. Intel D Processor and Intel 945G Express Chipset, www.intel.com