ПРЕСС-ЦЕНТР

Большой взрыв в мирных целях, или Многоядерные компьютерные системы

Автоматизация в промышленности 2/2006

С.В. Золотарев, А.Н. Рыбаков, ЗАО "РТСофт"

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

Подводные камни закона Мура

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

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

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

И, наконец, может быть, самое главное препятствие - неконтролируемый рост плотности рассеиваемой мощности. Современный процессор Intel Itanium 2 содержит почти миллиард транзисторов. Если эта тенденция будет сохраняться, процессоры Intel скоро будут выделять больше тепла на 1 см2, чем поверхность Солнца. Именно поэтому проблема отвода тепла уже сейчас устанавливает строгие ограничения на повышение тактовой частоты.

Что делать?

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

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

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

Параллелизм на уровне команд заключается в том, что в одном потоке вычислений команды процессора декодируются, выполняются параллельно за счет имеющихся у процессора конвейеров обработки данных, а затем результаты их выполнения выстраиваются в прежнем порядке. Появление в 2002 г. технологии Hyper-Threading (HT) ознаменовало приход многопоточного параллелизма на массовый рынок. Тестирования производительности, проведенные компанией Intel, показали, что в среднем на процессорах с технологией HT скорость работы некоторых приложений повышается на 30%.

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

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

Сегмент

2006 г.

2007 г.

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

> 70% dual-core

> 90% multi-core

Сервера

85% multi-core

100% multi-core

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

> 70% dual-core

> 90% multi-core

Источник: Intel Corporation Expected run rate at end of year.

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

Один плюс один получается больше двух, или основные преимущества многоядерных технологий

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

Суммарное повышение производительности системы

Таблица 2. Результаты тестирования времени преобразования HDV MPEG-2 в сжатый формат HD WMV

Время преобразования 4-минутного клипа из HDV MPEG-2 в сжатый HD WMV

Время, ч

Нормализованное значение

Intel Pentium 4 Processor 2,0 ГГц и Intel 845GE Chipset

2,4

1,00

Intel Pentium 4 Processor 640 с HT Technology и Intel 915G Express Chipset

1,3

1,88

Intel Pentium D Processor 840 и Intel 945G Express Chipset

0,8

2,99

Компания Intel приводит результаты тестирования производительности некоторых офисных приложений, выполненных на различных одно- и двуъядерных конфигурациях. Сразу подчеркнем, что в настоящее время только небольшая часть ПО рассчитана на выполнение на двухъядерных процессорах. Одним из таких приложений является Adobe Premiere Pro 1.5. В табл. 2 приведены результаты тестирования времени преобразования 4-минутного клипа из формата HDV MPEG-2 с разрешением 1440 x 1080 в сжатый формат HD WMV (http://www.intel.com/performance/desktop/mainstream/hd.htm). Из таблицы видно, что затраченное время на двухъядерном процессоре почти в 3 раза меньше, чем на одноядерном, и в 1,5 раза меньше, чем с процессором, построенном на технологии HT.

В планах Intel увеличить к 2008 г. суммарную производительность приложений, выполняемых на двухъядерных процессорах, в 10 раз, хотя для одноядерных процессоров это увеличение планируется только в 3 раза.

Уменьшение энергопотребления

Многие сегодняшние процессоры имеют энергопотребление в диапазоне 90-120 Вт, а серверы в диапазоне 120-130 Вт. На осеннем форуме Intel для разработчиков в 2005 г. была обнародована микроархитектура Intel нового поколения с оптимизированным энергопотреблением, предназначенная для обеспечения более высокой производительности и снижения потребляемой мощности. Эта микроархитектура может масштабироваться для создания оптимизированной продукции для встраиваемых, мобильных, серверных и настольных платформ. Так, расчетная тепловая мощность процессоров для настольных ПК составит порядка 65 Вт.

Для двухъядерных процессоров эта величина может равняться ~ 30 Вт.

Миниатюризация

Новая 65-нанометровая технология, применяемая для производства двухъядерных процессоров, сможет обеспечить преимущества с точки зрения энергосбережения и производительности по сравнению с сегодняшним передовым 90-нанометровым производственным процессом Intel, применяемым для выпуска процессоров Pentium M. Intel планирует к 2009 г. начать выпуск микросхем по 45-нанометровой технологии. Разработчики микросхем Intel получат дополнительные возможности для повышения плотности монтажа, увеличения производительности и сокращения энергопотребления устройств различного назначения, в том числе мобильных и встраиваемых систем, питающихся от батарей.

Интеграция функций

Одновременно с миниатюризацией будет развиваться уровень интеграции. Интерфейсные технологии продолжают интегрироваться в процессорные микросхемы, улучшая их характеристики и расширяя функциональность. Так, наличие интерфейсов SATA и PCI Express автоматически увеличивают доступность низкостоимостной периферии, основанной на последних технологических стандартах. Почему это важно для пользователя? Для него высокая интеграция эквивалентна низкой стоимости. Следовательно, каждый шаг к более высокому уровню интеграции приводит к уменьшению стоимости и увеличению надежности. Текущий пример этого - графические функции, интегрированные в микросхемы. Или другой пример - функции RAID 5 будут автоматически поставляться с двухъядерным чипсетом 945GM.

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

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

Применение двухъядерных систем в области телекоммуникаций

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

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

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

Технология Intel Virtualization также полезна в таких случаях, когда проблему вызывает само обновление. Например, необычное граничное условие в обновлении может привести к "падению" межсетевого экрана вместо его укрепления. В таком случае виртуальные машины помогут "обойти" сбойную ситуацию - управление будет переключено на резервную ОС, на которой установлена предыдущая версия межсетевого экрана. В сочетании с другими инновационными технологиями Intel такие операции можно выполнять дистанционно (см. технологию Intel Active Management). Работу проблемного раздела ОС затем можно проверить в фоновом режиме, в то время как резервный раздел будет продолжать управлять сетевым трафиком и защищать пользователей. При выполнении таких задач, как обнаружение угроз нападения, отладки и т. д., устройства не будут прекращать работу, и пользователи останутся на связи.

Новые возможности обогатят цифровой дом

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

Новые семейства наборов микросхем, например Intel 945 Express, также обеспечивают расширенные функциональные возможности для среды цифрового дома, такие, как аудиоподсистема с высококачественным объемным звуком, видеоподсистема высокой четкости, графика высокого качества, а также передовые решения для хранения данных.

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

Игры станут настолько реальными, что это будет уже нереально

Многоядерные процессоры позволят разработчикам игр разделять задачи между разными ядрами [2]. Дополнительные вычислительные мощности процессора дадут разработчикам большую степень свободы для создания полноценной графики, физики, а также функций искусственного интеллекта. Например, при работе алгоритма воспроизведения фотореалистичной графики, требующего огромной вычислительной мощности, можно использовать одно или несколько специализированных ядер для рендеринга в РВ. Кроме качества изображения, выразительность игре могут придать встроенные в нее расширенные функции искусственного интеллекта. Например, сегодня искусственный интеллект противника ограничен только возможностью нахождения пути. Он достаточно хорошо может найти маршрут из одной точки в другую, но не обладает тем уровнем интеллекта, которого можно было бы ожидать от живого соперника. В будущем разработчики игр смогут использовать преимущества многоядерных процессоров, выделив одно или несколько ядер для обработки графики, а остальные будут выполнять функции искусственного интеллекта. Это позволит создавать в высшей степени реалистичные игры. Несмотря на то, что для полного овладения тонкостями многопоточного программирования разработчикам игр потребуется еще какое-то время, ведущие разработчики игр (включая компании Epic Games, Lionhead Studios, BioWare и Ubisoft) уже используют эту технологию при разработке своих будущих игр. Многоядерность также будет способствовать повсеместному распространению коллективных игр. Завтрашние компьютеры будут обладать достаточной мощностью для поддержки таких игр.

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

Компания Kontron, как обычно, оправдывает свой девиз: "Always a Jump ahead" - всегда на голову выше! Kontron одним из первых выводит на рынок широкую серию встраиваемых одноплатных компьютеров с двухъядерными процессорами в различных формфакторах, таких как miniITX, ATCA, 3U и 6U CompactPCIs, ETXexpress/COM Express (PICMG COM.0), PICMG 1,2/1,3. Двухъядерная архитектура будет представлена в серийных продуктах уже в течение 2006 г.

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


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

Компания Kontron провела сравнительное тестирование производительности предлагаемых решений. Чтобы сделать двухъядерную технологию сопоставимой, эти новые системы должны сравниваться с уже "классическими" процессорами Pentium M. Первоначальные измерения Kontron показали, что новые двухъядерные процессоры приблизительно достигают производительности, которая обещана в теории. Процессор Intel Pentium M 756 (2,1 ГГц) сравнивался с процессором Intel Core Duo (2,16 ГГц). Это сравнение показывает существенный рост производительности для двухъядерного процессора с идентичными частотами и обычных офисных приложений (рис.1):

  • производительность с плавающей точкой - 96,5%;
  • производительность операций целочисленной арифметики - 89,3%;
  • трехмерная графика 3D - 100%.

Итак, вкратце рассмотрим первые двухъядерные решения Kontron, выполненные в различных формфакторах. Новый процессорный модуль Kontron (совместимый с PCIMG COM.01 - COMExpress) в стандарте ETXexpress (рис. 2) обеспечивает двухъядерную производительность для заказных, максимально оптимизированных под конкретную задачу встраиваемых проектов. На его основе быстро и недорого создаются как любые малогабаритные частнофирменные нестандартные решения, так и собственные заказные процессорные платы в любых современных формфакторах: VME, CompactPCI, PICMG 1.0/1.2.


Рис. 2

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


Рис. 3

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

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

Изменения и проблемы, связанные с разработкой ПО

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

Большой шаг в развитии многозадачности. Разделяй и властвуй.


Рис. 4

Рис. 5

В современных ОС многозадачность реализована так: выполнение одного потока временно приостанавливается, начинает выполняться другой, а затем управление снова переключается на первый. В любой момент времени процессор выполняет всего один поток команд. Обратная сторона многозадачности - замедление выполнения всех приложений из-за того, что одновременно работает только одно. Технология Hyper-Threading ускорила работу приложений в многозадачной среде, позволив параллельно выполнять два потока на одноядерном процессоре. Двухъядерные процессоры - следующий шаг в этом направлении. Они позволяют одновременно выполнять два потока команд на двух независимых вычислительных ядрах, входящих в состав одного процессора. Многоядерные процессоры позволят существенно избавиться от ограничений, связанных с многозадачной работой, благодаря тому, что будут иметь достаточное число ядер, чтобы назначить каждому потоку отдельное вычислительное ядро без блокировки ресурсов, необходимых другим исполняющимся программным потокам. Такая стратегия по принципу "разделяй и властвуй" (параллелизм на уровне потоков) радикально повысит производительность многозадачной работы, так как большее число приложений сможет работать действительно параллельно.

Проблемы лицензирования ПО для многоядерных процессоров. Дороже не будет.

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

Безусловно, что в стороне от процесса освоения многоядерных процессоров и решений на их основе не останутся и производители встраиваемых ОС, в частности ОС РВ. Прежде всего это касается производителей высокоразвитых встраиваемых программных продуктов, уже сегодня поддерживающих SMP-конфигурации: LynuxWorks (LynxOS, BlueCat Linux, www.lynuxworks.com), Venturcom (RTX), Microsoft (Windows XPE), MontaVista (Embedded Linux), QNX SS (QNX Neutrino)и др.

Заключение

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

Список литературы

  1. Джефф Коч. Изобретение многоядерных процессоров: расширение преимуществ закона Мура. // Technology@Intel. Август-сентябрь. 2005.
  2. Раманатан Р.М. Передовые технологии Intel - от настольных систем к телекоммуникациям. ttp://www.intel.com/cd/corporate/europe/emea/rus/update/251102.htm