На февральской конференции по твердотельной электронике (International Solid State Circuits Conference, ISSCC 2007, Сан-Франциско, США) подтвердились основные тенденции микропроцессорной отрасли: стремление максимально снизить потребляемую мощность и ускорить работу с памятью, увеличение числа ядер, создание специализированных процессоров. Однако, несмотря на общность целей, разработчики ведущих многоядерных архитектур идут к ним разными путями.
В ожидании чуда
Доклады на ISSCC 2007 [6] обозначили направление развития всей отрасли и планы конкретных производителей. Компания AMD готовится захватить лидерство в области серверных решений своим четырехъядерным серверным процессором Opteron Quadro Barcelona. Объединение STI (Toshiba, Sony и IBM) перешло к изготовлению процессоров Cell с 65-нм технологическими нормами. А компания IBM рассказала о новом представителе POWER-архитектуры*, предназначенном для 64-процессорных серверных машин. Предполагаемый выпуск – середина 2007 года. Безусловно, главным героем конференции стал новый 80-ядерный процессор Polaris от Intel. Его производительность на некоторых приложениях составляет 1 триллион (1012) операций с плавающей точкой в секунду (Tera Floating Point per Second, TFlops). Главное же достижение Polaris — создание фундамента (как аппаратного, так и идейного) для отработки новых технологий многоядерных архитектур. В отличие от новаций STI и AMD, данная СБИС — скорее исследовательский полигон, нежели коммерческий продукт. Сейчас вычислительные мощности Polaris можно использовать, например, при решении финансовых и научных задач (динамика жидкостей, геологические исследования), связанных c выполнением большого числа математических операций с плавающей точкой (FP). Однако если реализуются все заложенные в Polaris задумки, нас ожидает не одно многоядерное технологическое чудо.
Процессорная структура Polaris от Intel
Polaris, наиболее мощный на данный момент компьютер для выполнения FP-операций, построен по технологии 65 нм из 100 млн. транзисторов на кристалле площадью 275 мм2. Для сравнения, двухъядерный Intel Core 2 Extreme, также с технологическими нормами 65 нм, содержит 291 млн транзисторов на площади 143 мм2. Разница обусловлена малым количеством памяти на кристалле Polaris и доминированием логических схем и схем ввода-вывода, размер которых трудно минимизировать. Конструктивно микросхема выполнена в LGA-корпусе (как Intel Core 2 Duo и Pentium 4),
но использует 1248 выводов, из которых 343 сигнальных, остальные – преимущественно заземление и питание.
В ходе презентации на ISSCC 2007 [4] был показан действующий экземпляр Polaris с частотой 3,16 ГГц, напряжением питания 0,95 В и потреблением 62 Вт. Впервые Polaris был представлен на конференции Fall IDF 2006. С тех пор его частота увеличилась до 4 ГГц, а производительность –
до 1,28 TFlops. Быстродействие меняется в зависимости от напряжения питания и тактовой частоты. При 5,1 ГГц Polaris достигает 1,63 TFlops, но потребляет 175 Вт, а при 5,7 ГГц – 265 Вт и 1,81 TFlops.
Новое творение Intel представляет собой 80 одинаковых процессорных элементов (tiles) площадью 3 мм2 (рис.1), каждый из которых состоит из вычислителя (Processing Engine, PE) и маршрутизатора на 6 портов.
PE содержит два устройства для операций умножения с накоплением (FP Multiple-Accumulator, FPMAC), 3 Кбайт памяти команд и 2 Кбайт памяти данных, набор 32-битных регистров (рис.2). Чтобы упростить аппаратную реализацию, PE оперирует 96-битовыми сверхдлинными словами команд, а планирование и параллельное выполнение команд возлагается на компилятор. Такая VLIW-архитектура (Very Long Instruction Word) реализована разработчиками Intel, совместно с Hewlett-Packard, и в процессоре Itanium. Она позволяет процессору исполнять до восьми команд за один такт. Все арифметические операции выполняются на FPMAC-модулях.
Эффективность многоядерных процессоров во многом определяется пропускной способностью памяти системы. Применение многоканальных шин памяти и повышение их частоты сопряжено с чрезмерным усложнением контроллеров. Другой путь уменьшения задержки – ввести еще один уровень иерархии кэш-памяти. Однако это приведет к неоправданному увеличению памяти на кристалле, площадь которого эффективнее использовать для вычислительной логики. Несколько мегабайт дополнительной кэш-памяти занимают площадь, достаточную для десяти ядер. Разработчики Intel предлагают сделать кристалл процессора одним из слоев микросхемы, содержащей ДОЗУ или flash-память. Стек-подход обеспечит широкий доступ памяти к ядрам процессора*. Для обеспечения оптимального теплообмена память планируют располагать под кристаллом Polaris. Каждый слой будет содержать до 256 Мбайт.
Другой фактор, ограничивающий производительность современных компьютеров, – пропускная способность процессорной шины. Разделяемые шины уже уступают свое место соединениям типа «точка-точка». Однако вычислительная мощность Polaris такова, что нужен инструмент передачи данных с большей скоростью и гибкостью. Таковым является сеть процессорных элементов (mesh-сеть), основанная на передаче данных с коммутацией каналов. Каждый маршрутизатор содержит шесть 39-битных портов и обеспечивает суммарную пропускную способность до 80 Гбайт/c при частоте микросхемы 4 ГГц. Четыре порта ведут к смежным процессорным элементам, один – к PE, а шестой порт в перспективе будет взаимодействовать с многослойной памятью. Из 3 мм2 кристалла, занимаемых процессорным элементом, на маршрутизатор приходится 0,34 мм2. Система коммутации предусматривает взаимодействие каждого маршрутизатора с каждым. Поэтому присутствие 80 таких устройств вполне оправдано: на частоте 3,1 ГГц скорость обмена данными достигает 1,62 Тбит/c, а при 5,1 ГГц – уже 2,61 Тбит/c.
Таким образом Polaris обладает мощнейшим ресурсом для трансляции и управления большими массивами данных. С такой средой передачи информации можно заменить часть PE, например, на графические процессоры (GPU) или аппаратные ускорители цифровой обработки сигналов, шифрования и т.д. В Polaris ядра независимы в плане операций ввода-вывода. Поэтому, добавив необходимое ПО, можно реализовать различные интерфейсы и добиться любой функциональности устройства. Подобная архитектура сходна с идеей AMD – объединить в процессоре Fusion на одном кристалле процессор общего назначения и GPU. (Проект активно обсуждается после покупки компанией AMD производителя чипсетов и графических плат ATI.) Первым шагом станет набор вычислителей из полноценных x86-х процессоров, затем произойдет переход к ассиметричным ядрам. Однако, по заявлениям Intel, без усовершенствования кэш-памяти и планирования команд объединение более 16 ядер в одном процессоре для ПК будет неэффективным. Также планируется перевести Polaris на 45-нм технологический процесс для того, чтобы увеличить производительность (примерно на 20%) и снизить потери энергии.
Линейка четырехъядерных Opteron от AMD
Новинка от AMD не обладает производительностью и фундаментальностью Polaris. Однако она может лишить Intel первенства в области экономичных серверных процессоров. AMD Opteron Barcelona изготавливают с использованием технологий КМОП и кремний-на-диэлектрике (silicon-on-insulalor, SOI) c 65-нм топологическими нормами. Barcelona объединяет четыре ядра на одном кристалле и состоит из 11 миллионов транзисторов. Главный конкурент – четырехъядерный Intel Xeon 5300 Clovertown – создан на двух кристаллах. Ожидается, что в третьем квартале 2007 года выйдет процессор Intel Yorkfield, выполненный по технологии 45 нм и объединяющий четыре ядра на одном кристалле. В AMD Barcelona каждое ядро имеет собственную кэш-память первого (L1, 64 Кбайт) и второго (L2, 512 Кбайт) уровней и доступ к разделяемой кэш-памяти третьего уровня (L3,
2 или 4 Мбайт). Добавление L3-кэша максимальную пользу принесет веб-серверам, работающим с базами данных и почтовыми приложениями.
AMD Barcelona оснащен улучшенными механизмами предсказания ветвлений (branch prediction) и внеочередного выполнения команд (out-of-order execution, OOO). За один такт вычисляется до четырех FP-операций с двойной точностью, поддерживается обработка двух потоков 128-битных инструкций дополнительного набора команд SSE, который ускоряет шифрование и сжатие данных, выполнение приложений реального времени. Для связи с интерфейсами ввода-вывода служит двунаправленная шина HyperTransport (HT) 3.0 со скоростью 24 Гбит/с. Взаимодействие с памятью обеспечивает интегрированный двухканальный контроллер DDR2 с 72-разрядной шиной и пропускной способностью до 10,7 Гбайт/с (рис.3).
Энергопотребление новых процессоров не превышает показателей двухъядерных предшественников (см. таблицу).
Планируется, что после выхода серверных решений, на базе Barcelona появятся и 65-нм процессоры для ПК: четырехъядерный Altair, двухъядерные Antares (двухъядерный вариант Altair), Arcturus (Antares, но без L3) и др. Они будут поддерживать интерфейсы Ethernet 10/100/1000, Serial ATA II и др. Поколение 2008 года AMD оснастит большим L3-кэшем, шиной PCI Express, архитектурой Direct Connect Architecture 2.0.
На четырех процессорах Altair будет выпущена серверная платформа Agena FX с тактовой частотой 2,7–2,9 ГГц и транспортной шиной Hypertransport на частоте 4 ГГц. Модели на базе Barcelona устанавливаются на процессорные разъемы Socket F, но в ближайшее время AMD переходит на новые: AM2, AM2+, AM3. При этом микросхемы сохранят совместимость по выводам.
IBM POWER6
Вернуть себе лидерство в области суперкомпьютеров IBM позволит новый микропроцессор POWER-архитектуры. Двухъядерный POWER6, изготовленный по 65-нм технологии SOI с десятиуровневой медной металлизацией, размещен на кристалле площадью 341 мм2 и состоит из 790 млн. транзисторов [3]. По сравнению с POWER5 (90-нм) тактовая частота нового процессора выше в два раза (5 ГГц) при равном энергопотреблении (100 Вт). В то время как AMD и Intel повышают производительность за счет усложнения обработки нескольких потоков команд на все возрастающем числе ядер, IBM удваивает тактовую частоту. Это означает большее тепловыделение и, соответственно, потребление энергии. Остаться в прежних пределах температур POWER6 позволяют улучшенная схемотехника триггерных и вентильных элементов; механизм объединения массивов логических элементов в ячейки для совместного выполнения приложений и управления питанием и др.
Число стадий конвейера не изменилось по сравнению с POWER5, но операции выборки (fetch) и передачи (dispatch) команд занимают два такта процессора вместо четырех. Разработчики убрали задержку в два такта при исполнении зависимых операций на целочисленном АЛУ, тем самым упростив планирование внеочередного выполнения команд. Каждое ядро POWER6 параллельно обрабатывает два потока команд (Simultaneous Multithreading, SMT) с одновременной выборкой до семи инструкций (максимум – 5 для потока). Эффективность же SMT по сравнению с POWER5 повысилась на 20–25%. Чем быстрее ядро обрабатывает поток команд, тем больше запросов к памяти и, следовательно, нужна более сложная архитектура кэш-памяти. L1-кэш имеет задержку в 4 такта и состоит из памяти программ и данных (по 64 Кбайт). Каждое ядро обладает отдельной кэш-памятью второго уровня (4 Мбайт), но при этом существует буфер быстрого доступа к L2-кэшу другого (рис.4). Дополнительно подключается
32 Мбайт внешней разделяемой кэш-памяти третьего уровня. Контроллер L3-кэша размещен на кристалле и обеспечивает скорость соединения до 80 Гбайт/c.
Контроллер памяти каждого ядра обеспечивает соединение с памятью DDR2/3 со скоростью 75 Гбайт/c. Аналогично с L3-кэшем, для передачи адреса и данных используются разные шины, в то время как порты ввода-вывода работают в режиме мультиплексирования (20 Гбайт/с). Предусмотрены и дополнительные конфигурации только с одним контроллером памяти либо с вдвое меньшей пропускной способностью.
Поддержка двух потоков команд повлияла на функциональность POWER6. Каждое ядро содержит по два арифметических устройства для операций с 64-битными целыми числами (13 стадий конвейера) и плавающей точкой, два модуля загруз-ки/сохранения, устройство ветвления, устройство для десятичной арифметики с плавающей точкой (DFPU). Для поддержки SIMD-инструкций, когда одна команда применяется к нескольким блокам данных, встроен модуль векторных операций VMX. Он предназначен для более эффективной обработки видео- и аудиоданных и серверных приложений (баз данных).
В отрасли финансов и налогообложения все вычисления производятся с десятичными числами, и неточность, возникающая при их выполнении на стандартных АЛУ, недопустима. Поэтому, чтобы соответствовать требованиям банковского и бухгалтерского ПО, в POWER6 добавили специальное устройство – DFPU. При преобразовании из десятичной системы в двоичную эквивалентная дробная часть двоичного числа может содержать бесконечное число знаков. Обычно используют двоично-десятичный код (Binary-coded Decimal, BCD), когда каждой цифре ставится в соответствие код из четырех бит. В базах данных клиентов IBM 55% численных данных хранятся в BCD-формате. DFPU ускоряет вычисления с двоично-десятичным кодом в 2–7 раз по сравнению с существующими программными пакетами. В набор команд POWER добавлено 50 инструкций: сложение, умножение, деление; преобразование целочисленных, BCD и десятичных данных с плавающей точкой; округление, квантование и др. Операции DFPU соответствуют стандарту IEEE 754R Standard for Binary Floating-Point Arithmetic (revision). Сначала десятичные числа с плавающей точкой умножаются последовательно на два и пять, чтобы получилось целое. Далее каждой цифре ставится в соответствие BCD-код, и бинарные числа длиной 144 или 72 бит подаются на сумматор. Результирующее значение сжимается до 128 бит. DFPU выполняет базовые операции за один такт. При этом задействуются регистры двоичного FPU, что минимизирует внедрение дополнительных аппаратных ресурсов.
Чтобы повысить надежность, в POWER6 добавили функции исправления ошибок. Каждый такт состояние процессора сохраняется устройством восстановления и защищается корректирующими кодами (ECC). Затем для любого действия, изменяющего состояние (работа с памятью или регистрами), проводится проверка четности и/или ECC. В случае возникновения ошибки, не исправленной кодом, ее тип запоминает регистрирующее устройство, и выполнение команд
начинается с последнего успешного состояния. Таким образом, нерегулярные сбои преодолеваются до того, как они повлияют на работу ПО. При повторении ошибки сохраненное успешное состояние передается другому ядру, где команда выполняется еще раз. Если ошибки связаны с функционированием конкретного процессора, то они исчезнут, в противном случае требуется вмешательство ПО.
POWER6 с самого начала разрабатывался для применения в многокристальных модулях. Два процессора можно объединить в одном разъеме со скоростью сообщения 50 Гбайт/c. Для объединения четырех таких пар в один вычислительный узел в POWER6 предусмотрены три шины. Каждая из них – двусторонняя симметричная шина с малой задержкой и пропускной способностью 80 Гбайт/c. Добавление/изъятие одного многопроцессорного модуля происходит без последствий для остальных. Можно объединять до восьми узлов с синхронизацией кэш-памяти всех процессоров (рис.5).
IBM планирует выпуск одноядерных, а после перехода на технологию 45 нм — и четырехъядерных версий POWER6. Сейчас на разных стадиях тестирования находятся высокопроизводительные модели, модели среднего класса и кластерные конфигурации. Однако в 2007 году на рынке появятся только недорогие (low-end) решения. В частности, 4-ГГц модель POWER6 будут применять в лезвийных серверах. Современные решения IBM в этой области основаны на PowerPC 970 и используют ОС Linux и AIX (версия Unix от IBM). POWER6 поддерживает и операционную систему i5/OS, что, в сочетании с DFPU, позволит IBM выйти за рамки отрасли сложных вычислительных задач.
В IBM изначально создавали процессор с множеством конфигураций. Поэтому заказчик может выбрать модель, которая подходит ему как с точки зрения частоты и энергопотребления, так и с точки зрения коммуникационных возможностей. Кроме различных вариантов L3-кэша и контроллеров памяти варьируется скорость межпроцессорных соединений (8, 4 или 2 байт/такт) и рабочая частота интерфейсов ввода-вывода.
Точные данные о производительности POWER6 не известны. Тем не менее, можно утверждать, что благодаря оригинальному методу построения многопроцессорных систем новая модель POWER будет успешно конкурировать с x86-процессорами.
СELL-процессоры по технологии 65 нм
Особое место среди многоядерных процессоров занимает Cell BE Engine. Его применяют в игровых приставках Sony Play Station 3 и серверах IBM QS20. Новая версия Cell изготавливается с 65-нм технологическими нормами и работает на частоте 6 ГГц с питанием 1,3 В. По предварительным данным, размеры СБИС на 40% меньше 90-нм предшественника (3,2 ГГц), созданного на кристалле площадью 235 мм2. Конфигурация Cell-процессора осталась прежней: он состоит из вычислительного элемента POWER-архитектуры (PPE) и восьми векторных сопроцессоров [1]. Их называют синергическими элементами (SPE), они соединены между собой и с 512 Кбайт L2-кэшем шиной EIB. Пропускная способность EIB составляет 96 байт/такт.
Важное новшество – разбиение L2-кэша на независимые подмассивы по 128 Кбайт (рис.6) и введение двух линий питания. С повышением частоты для стабильной работы СОЗУ, которая используется в кэш-памяти первого и второго уровней, нужно соответственно увеличить напряжение. Это ведет к повышению тепловыделения. Поскольку Cell-процессор все больше ориентируется на серверные применения, температура становится критическим фактором. Разработчики IBM решили эту проблему с помощью второй линии питания. Для питания ядер и записи в СОЗУ используют более высокое напряжение, для других элементов и передачи данных из ядер подается напряжение на 200 мВ меньше. Кроме того, для незадействованных модулей предусмотрена функция динамического отключения. Общее энергопотребление Cell-процессора снизилось на 19%.
Несмотря на усовершенствования, перспективы Сell не безоблачны. Компания Sony в целях экономии рассматривает возможность перехода на контрактное производство этих процессоров на заводах фирм Taiwan Semiconductor Manufacturing Co. (TSMC) и United Microelectronics (UMC) в Тайване. Решение объясняется тем, что Cell приносит прибыль только как элемент PS3 и не получил распространения в технологиях HDTV и др. Другая причина недостаточной доходности этого проекта Sony – слабое использование вычислительных ресурсов процессора создателями игр. Чтобы исправить ситуацию, IBM проводит конференции с программистами подразделения компьютерных игр компании Vivendi Universal.
Тем не менее Сell подходит для сверхмощных вычислительных систем. Так, с министерством энергетики Великобритании заключен контракт на создание суперкомпьютера из 16000 Cell-процессоров.
Энергопотребление: лучше меньше да лучше
На конференции ISSCC 2007 подтвердилось, что уже все производители используют независимое управление питанием и/или тактовой частотой различных модулей. В Polaris, например, предусмотрено независимое управление питанием процессорных элементов. Более того, каждый из них поделен на 21 область с регулированием напряжения в зависимости от исполняемых команд. Независимо отключается питание PE, маршрутизатора и каждого из портов. При переходе в «спящий» режим экономия энергопотребления FPMAC-модулей составляет 90% от пиковой мощности, памяти – 50%, но для маршрутизатора возможно уменьшение всего на 10%. По заявлениям Intel, транзисторы, поддерживающие режим ожидания, занимают на 5,4% больше площади кристалла и на 4% уменьшают частоту работы. При этом они позволяют динамически распределять тепловую нагрузку по микросхеме: в случае, если температура чрезмерно повышается в одной области, «включается» необходимое число процессорных элементов.
В современных процессорах порядка 30% мощности тратится на распределение тактовой синхронизации. В Polaris достаточно, чтобы синхроимпульс одновременно достигал каждого процессорного элемента, а не всех модулей на площади в 275 мм2. Разработчики допускают небольшое расхождение фазы синхроимульса для различных процессорных элементов. Это может привести к замедлению их взаимодействия, но оправдано экономией мощности. По оценкам Intel, на распределение синхронизации по всем процессорным элементам уходит 1,2% от потребления питания при полной загрузке. Безусловно, с усложнением PE и/или их заменой на x86-процессоры потребуются более сложные методы распределения синхронизации, но изменения коснутся только инфраструктуры процессорного элемента.
Благодаря применению этих технологий Polaris потребляет 62 Вт при частоте 3,16 ГГц. Это почти в два раза меньше потребления четырехъядерного Xeon X5355 2,66 ГГц, пик производительности которого оценивается в 50–60 GFlops.
При разработке AMD Barcelona удалось сохранить температурный режим предыдущих процессоров Opteron. Микросхема изготовлена по 65-нм технологии Advanced Process Technology с малыми токами утечки транзисторов, что позволяет снизить тепловыделение. Не менее важна и технология оптимизации энергопотребления AMD PowerNow. Она предусматривает динамическое отключение незадействованных логических элементов процессора, регулирование питания каждого ядра в соответствии с загрузкой и т.д. Аналогично с маршрутизаторами в Polaris, контроллеры памяти обмениваются данными с памятью независимо от ядра, и, следовательно, их питание управляется отдельно. Согласно анонсам AMD, процессоры Barcelona будут как минимум на 15% экономичнее и на 40% производительнее процессоров Intel Xeon 5355 Clovertown (120 Вт при частоте 2,66 ГГц).
Мощность POWER6 также не превысит 100 Вт. По этому показателю он сравним с процессорами как серий AMD Opteron, так и Intel Xeon, но обладает большей тактовой частотой. Как был достигнут такой результат? В POWER6 встроены 24 распределенных термодатчика. Поэтому процессор может изменять напряжение и частоту функциональных блоков в зависимости от температуры, а также уменьшать скорость выборки и выдачи команд. Если ОС находится в режиме ожидания, процессор переходит в маломощный режим (nap-mode), при котором потребление энергии снижается на 35%. При полной загрузке ОС экономия за счет незадействованных модулей составляет порядка 10%. Кроме того, различные методики регулирования мощности позволяют: уменьшать показатель «питание/производительность» при снижении нагрузки; устанавливать верхнюю границу мощности системы; уменьшать охлаждение (скорость вентиляторов) при падении температуры ниже порога и т. д.
Новое в технологии виртуализации
Особой характеристикой процессоров является аппаратная поддержка технологии виртуализации (VT). Суть подхода виртуализации – выполнение приложений на различных виртуальных машинах (Virtual Machines, VM), загруженных на разных ядрах [2]. Тем самым увеличивается надежность работы операционных систем, обеспечивается параллельное выполнение асинхронных и синхронных приложений и т.д. Особенно эффективна VT в серверных и веб-приложениях, где требуется одновременное выполнение различных задач, порой несовместимых в рамках одной ОС, и поддержка большого числа пользовательских режимов.
Разработчики называют технологию аппаратной виртуализации AMD-V одним из главных достоинств процессора Barcelona [5]. Она существенно отличается от технологии Intel. Прежде всего, виртуализация памяти управляется аппаратно, с помощью интегрированного контроллера с функцией разграничения устройств (Device Exclusion Vector, DEV). DEV сообщает монитору виртуальных машин (Virtual Machine Monitor, VMM) о возможности доступа VM к конкретной области памяти (рис.7). VMM производит запуск и обработку запросов виртуальных машин (также используется термин «гипервизор» – Hypervisor).
Другое отличие касается таблиц трансляции (Translation Look-aside Buffer, TLB) виртуальных адресов памяти в физические адреса. Каждое ядро содержит одну таблицу TLB. При получении доступа к ядру VM сбрасывает значение TLB и загружает собственные таблицы, а по окончании активного состояния – сохраняет. В AMD применяется функция nested pages: каждая VM хранит таблицы в фиксированной области, и при переключении виртуальных машин ядро получает номер следующей активной VM и автоматически заменяет содержимое TLB. Разработчики предполагают, что эти нововведения увеличат производительность на приложениях, поддерживающих AMD-V, на 43%.
POWER6 имеет пропускную способность памяти 75 Мбит/c и 4 Мбайт L2-кэша, что позволяет ему аппаратно поддерживать запуск до 1024 (!) виртуальных машин (512 на ядро). В POWER5 поддерживается не более 20 VM c ОС Linux, и всего предусмотрено не более 250 виртуальных ОС. Теоретически на серверной системе из 64 POWER6 может выполняться до 32,768 виртуальных систем. Впрочем, не известно, соответствуют ли современные компиляторы таким возможностям. В коммерческих версиях число VM составит не более 300. В новом процессоре отличается и виртуализация памяти: ее можно реконфигурировать и переносить вместе с виртуальными разделами. Это снижает задержки при переключении VM. Виртуальные области памяти поддерживают специальные ключи для предотвращения неавторизованного доступа.
Идея объединить на одном кристалле процессоры общего и специального назначения (GPU и др.) скоро воплотится в жизнь. Но вместе с тем, остается актуальной проблема создания ПО для многоядерных систем. Как создатели Polaris, так и Cell надеются на новые поколения программистов, адаптированных к многоядерным и многопоточным архитектурам.
Убедившись, что только увеличением числа ядер лидерства не добиться, разработчики обратились к устранению вечных проблем – пропускной способности памяти и портов ввода/вывода. В Polaris это привело к созданию новой сверхпроизводительной архитектуры, в POWER6 – к очередному удвоению частоты.
Литература
1. Слюсар В. Многоядерная архитектура. Проблемные аспекты. – ЭЛЕКТРОНИКА: НТБ, 2007, №1.
2. Юдинцев Х. CELL-процессор. Превращение игровой консоли в суперкомпьютер. – ЭЛЕКТРОНИКА: НТБ, 2006, №7.
3. McCredie В. POWER6 Roadmap. – IBM Systems &Technology
Group, Development, 2006, http://www2.hursley.ibm.com/decimal/IBM-Power-Roadmap-McCredie.pdf
4 An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS. –
IEEE International Solid-State Circuits Conference, 2007, http://www.hothardware.com/
hh_files/Intel_80_core_ISSCC.PDF
5. Wahlig E. AMD Virtualization Technology. – International Virtualization Conference, Cologne 2006, http://82.135.27.180/ewahlig/pdf/ewahlig.pdf
6. http://www.isscc.org/isscc/
Доклады на ISSCC 2007 [6] обозначили направление развития всей отрасли и планы конкретных производителей. Компания AMD готовится захватить лидерство в области серверных решений своим четырехъядерным серверным процессором Opteron Quadro Barcelona. Объединение STI (Toshiba, Sony и IBM) перешло к изготовлению процессоров Cell с 65-нм технологическими нормами. А компания IBM рассказала о новом представителе POWER-архитектуры*, предназначенном для 64-процессорных серверных машин. Предполагаемый выпуск – середина 2007 года. Безусловно, главным героем конференции стал новый 80-ядерный процессор Polaris от Intel. Его производительность на некоторых приложениях составляет 1 триллион (1012) операций с плавающей точкой в секунду (Tera Floating Point per Second, TFlops). Главное же достижение Polaris — создание фундамента (как аппаратного, так и идейного) для отработки новых технологий многоядерных архитектур. В отличие от новаций STI и AMD, данная СБИС — скорее исследовательский полигон, нежели коммерческий продукт. Сейчас вычислительные мощности Polaris можно использовать, например, при решении финансовых и научных задач (динамика жидкостей, геологические исследования), связанных c выполнением большого числа математических операций с плавающей точкой (FP). Однако если реализуются все заложенные в Polaris задумки, нас ожидает не одно многоядерное технологическое чудо.
Процессорная структура Polaris от Intel
Polaris, наиболее мощный на данный момент компьютер для выполнения FP-операций, построен по технологии 65 нм из 100 млн. транзисторов на кристалле площадью 275 мм2. Для сравнения, двухъядерный Intel Core 2 Extreme, также с технологическими нормами 65 нм, содержит 291 млн транзисторов на площади 143 мм2. Разница обусловлена малым количеством памяти на кристалле Polaris и доминированием логических схем и схем ввода-вывода, размер которых трудно минимизировать. Конструктивно микросхема выполнена в LGA-корпусе (как Intel Core 2 Duo и Pentium 4),
но использует 1248 выводов, из которых 343 сигнальных, остальные – преимущественно заземление и питание.
В ходе презентации на ISSCC 2007 [4] был показан действующий экземпляр Polaris с частотой 3,16 ГГц, напряжением питания 0,95 В и потреблением 62 Вт. Впервые Polaris был представлен на конференции Fall IDF 2006. С тех пор его частота увеличилась до 4 ГГц, а производительность –
до 1,28 TFlops. Быстродействие меняется в зависимости от напряжения питания и тактовой частоты. При 5,1 ГГц Polaris достигает 1,63 TFlops, но потребляет 175 Вт, а при 5,7 ГГц – 265 Вт и 1,81 TFlops.
Новое творение Intel представляет собой 80 одинаковых процессорных элементов (tiles) площадью 3 мм2 (рис.1), каждый из которых состоит из вычислителя (Processing Engine, PE) и маршрутизатора на 6 портов.
PE содержит два устройства для операций умножения с накоплением (FP Multiple-Accumulator, FPMAC), 3 Кбайт памяти команд и 2 Кбайт памяти данных, набор 32-битных регистров (рис.2). Чтобы упростить аппаратную реализацию, PE оперирует 96-битовыми сверхдлинными словами команд, а планирование и параллельное выполнение команд возлагается на компилятор. Такая VLIW-архитектура (Very Long Instruction Word) реализована разработчиками Intel, совместно с Hewlett-Packard, и в процессоре Itanium. Она позволяет процессору исполнять до восьми команд за один такт. Все арифметические операции выполняются на FPMAC-модулях.
Эффективность многоядерных процессоров во многом определяется пропускной способностью памяти системы. Применение многоканальных шин памяти и повышение их частоты сопряжено с чрезмерным усложнением контроллеров. Другой путь уменьшения задержки – ввести еще один уровень иерархии кэш-памяти. Однако это приведет к неоправданному увеличению памяти на кристалле, площадь которого эффективнее использовать для вычислительной логики. Несколько мегабайт дополнительной кэш-памяти занимают площадь, достаточную для десяти ядер. Разработчики Intel предлагают сделать кристалл процессора одним из слоев микросхемы, содержащей ДОЗУ или flash-память. Стек-подход обеспечит широкий доступ памяти к ядрам процессора*. Для обеспечения оптимального теплообмена память планируют располагать под кристаллом Polaris. Каждый слой будет содержать до 256 Мбайт.
Другой фактор, ограничивающий производительность современных компьютеров, – пропускная способность процессорной шины. Разделяемые шины уже уступают свое место соединениям типа «точка-точка». Однако вычислительная мощность Polaris такова, что нужен инструмент передачи данных с большей скоростью и гибкостью. Таковым является сеть процессорных элементов (mesh-сеть), основанная на передаче данных с коммутацией каналов. Каждый маршрутизатор содержит шесть 39-битных портов и обеспечивает суммарную пропускную способность до 80 Гбайт/c при частоте микросхемы 4 ГГц. Четыре порта ведут к смежным процессорным элементам, один – к PE, а шестой порт в перспективе будет взаимодействовать с многослойной памятью. Из 3 мм2 кристалла, занимаемых процессорным элементом, на маршрутизатор приходится 0,34 мм2. Система коммутации предусматривает взаимодействие каждого маршрутизатора с каждым. Поэтому присутствие 80 таких устройств вполне оправдано: на частоте 3,1 ГГц скорость обмена данными достигает 1,62 Тбит/c, а при 5,1 ГГц – уже 2,61 Тбит/c.
Таким образом Polaris обладает мощнейшим ресурсом для трансляции и управления большими массивами данных. С такой средой передачи информации можно заменить часть PE, например, на графические процессоры (GPU) или аппаратные ускорители цифровой обработки сигналов, шифрования и т.д. В Polaris ядра независимы в плане операций ввода-вывода. Поэтому, добавив необходимое ПО, можно реализовать различные интерфейсы и добиться любой функциональности устройства. Подобная архитектура сходна с идеей AMD – объединить в процессоре Fusion на одном кристалле процессор общего назначения и GPU. (Проект активно обсуждается после покупки компанией AMD производителя чипсетов и графических плат ATI.) Первым шагом станет набор вычислителей из полноценных x86-х процессоров, затем произойдет переход к ассиметричным ядрам. Однако, по заявлениям Intel, без усовершенствования кэш-памяти и планирования команд объединение более 16 ядер в одном процессоре для ПК будет неэффективным. Также планируется перевести Polaris на 45-нм технологический процесс для того, чтобы увеличить производительность (примерно на 20%) и снизить потери энергии.
Линейка четырехъядерных Opteron от AMD
Новинка от AMD не обладает производительностью и фундаментальностью Polaris. Однако она может лишить Intel первенства в области экономичных серверных процессоров. AMD Opteron Barcelona изготавливают с использованием технологий КМОП и кремний-на-диэлектрике (silicon-on-insulalor, SOI) c 65-нм топологическими нормами. Barcelona объединяет четыре ядра на одном кристалле и состоит из 11 миллионов транзисторов. Главный конкурент – четырехъядерный Intel Xeon 5300 Clovertown – создан на двух кристаллах. Ожидается, что в третьем квартале 2007 года выйдет процессор Intel Yorkfield, выполненный по технологии 45 нм и объединяющий четыре ядра на одном кристалле. В AMD Barcelona каждое ядро имеет собственную кэш-память первого (L1, 64 Кбайт) и второго (L2, 512 Кбайт) уровней и доступ к разделяемой кэш-памяти третьего уровня (L3,
2 или 4 Мбайт). Добавление L3-кэша максимальную пользу принесет веб-серверам, работающим с базами данных и почтовыми приложениями.
AMD Barcelona оснащен улучшенными механизмами предсказания ветвлений (branch prediction) и внеочередного выполнения команд (out-of-order execution, OOO). За один такт вычисляется до четырех FP-операций с двойной точностью, поддерживается обработка двух потоков 128-битных инструкций дополнительного набора команд SSE, который ускоряет шифрование и сжатие данных, выполнение приложений реального времени. Для связи с интерфейсами ввода-вывода служит двунаправленная шина HyperTransport (HT) 3.0 со скоростью 24 Гбит/с. Взаимодействие с памятью обеспечивает интегрированный двухканальный контроллер DDR2 с 72-разрядной шиной и пропускной способностью до 10,7 Гбайт/с (рис.3).
Энергопотребление новых процессоров не превышает показателей двухъядерных предшественников (см. таблицу).
Планируется, что после выхода серверных решений, на базе Barcelona появятся и 65-нм процессоры для ПК: четырехъядерный Altair, двухъядерные Antares (двухъядерный вариант Altair), Arcturus (Antares, но без L3) и др. Они будут поддерживать интерфейсы Ethernet 10/100/1000, Serial ATA II и др. Поколение 2008 года AMD оснастит большим L3-кэшем, шиной PCI Express, архитектурой Direct Connect Architecture 2.0.
На четырех процессорах Altair будет выпущена серверная платформа Agena FX с тактовой частотой 2,7–2,9 ГГц и транспортной шиной Hypertransport на частоте 4 ГГц. Модели на базе Barcelona устанавливаются на процессорные разъемы Socket F, но в ближайшее время AMD переходит на новые: AM2, AM2+, AM3. При этом микросхемы сохранят совместимость по выводам.
IBM POWER6
Вернуть себе лидерство в области суперкомпьютеров IBM позволит новый микропроцессор POWER-архитектуры. Двухъядерный POWER6, изготовленный по 65-нм технологии SOI с десятиуровневой медной металлизацией, размещен на кристалле площадью 341 мм2 и состоит из 790 млн. транзисторов [3]. По сравнению с POWER5 (90-нм) тактовая частота нового процессора выше в два раза (5 ГГц) при равном энергопотреблении (100 Вт). В то время как AMD и Intel повышают производительность за счет усложнения обработки нескольких потоков команд на все возрастающем числе ядер, IBM удваивает тактовую частоту. Это означает большее тепловыделение и, соответственно, потребление энергии. Остаться в прежних пределах температур POWER6 позволяют улучшенная схемотехника триггерных и вентильных элементов; механизм объединения массивов логических элементов в ячейки для совместного выполнения приложений и управления питанием и др.
Число стадий конвейера не изменилось по сравнению с POWER5, но операции выборки (fetch) и передачи (dispatch) команд занимают два такта процессора вместо четырех. Разработчики убрали задержку в два такта при исполнении зависимых операций на целочисленном АЛУ, тем самым упростив планирование внеочередного выполнения команд. Каждое ядро POWER6 параллельно обрабатывает два потока команд (Simultaneous Multithreading, SMT) с одновременной выборкой до семи инструкций (максимум – 5 для потока). Эффективность же SMT по сравнению с POWER5 повысилась на 20–25%. Чем быстрее ядро обрабатывает поток команд, тем больше запросов к памяти и, следовательно, нужна более сложная архитектура кэш-памяти. L1-кэш имеет задержку в 4 такта и состоит из памяти программ и данных (по 64 Кбайт). Каждое ядро обладает отдельной кэш-памятью второго уровня (4 Мбайт), но при этом существует буфер быстрого доступа к L2-кэшу другого (рис.4). Дополнительно подключается
32 Мбайт внешней разделяемой кэш-памяти третьего уровня. Контроллер L3-кэша размещен на кристалле и обеспечивает скорость соединения до 80 Гбайт/c.
Контроллер памяти каждого ядра обеспечивает соединение с памятью DDR2/3 со скоростью 75 Гбайт/c. Аналогично с L3-кэшем, для передачи адреса и данных используются разные шины, в то время как порты ввода-вывода работают в режиме мультиплексирования (20 Гбайт/с). Предусмотрены и дополнительные конфигурации только с одним контроллером памяти либо с вдвое меньшей пропускной способностью.
Поддержка двух потоков команд повлияла на функциональность POWER6. Каждое ядро содержит по два арифметических устройства для операций с 64-битными целыми числами (13 стадий конвейера) и плавающей точкой, два модуля загруз-ки/сохранения, устройство ветвления, устройство для десятичной арифметики с плавающей точкой (DFPU). Для поддержки SIMD-инструкций, когда одна команда применяется к нескольким блокам данных, встроен модуль векторных операций VMX. Он предназначен для более эффективной обработки видео- и аудиоданных и серверных приложений (баз данных).
В отрасли финансов и налогообложения все вычисления производятся с десятичными числами, и неточность, возникающая при их выполнении на стандартных АЛУ, недопустима. Поэтому, чтобы соответствовать требованиям банковского и бухгалтерского ПО, в POWER6 добавили специальное устройство – DFPU. При преобразовании из десятичной системы в двоичную эквивалентная дробная часть двоичного числа может содержать бесконечное число знаков. Обычно используют двоично-десятичный код (Binary-coded Decimal, BCD), когда каждой цифре ставится в соответствие код из четырех бит. В базах данных клиентов IBM 55% численных данных хранятся в BCD-формате. DFPU ускоряет вычисления с двоично-десятичным кодом в 2–7 раз по сравнению с существующими программными пакетами. В набор команд POWER добавлено 50 инструкций: сложение, умножение, деление; преобразование целочисленных, BCD и десятичных данных с плавающей точкой; округление, квантование и др. Операции DFPU соответствуют стандарту IEEE 754R Standard for Binary Floating-Point Arithmetic (revision). Сначала десятичные числа с плавающей точкой умножаются последовательно на два и пять, чтобы получилось целое. Далее каждой цифре ставится в соответствие BCD-код, и бинарные числа длиной 144 или 72 бит подаются на сумматор. Результирующее значение сжимается до 128 бит. DFPU выполняет базовые операции за один такт. При этом задействуются регистры двоичного FPU, что минимизирует внедрение дополнительных аппаратных ресурсов.
Чтобы повысить надежность, в POWER6 добавили функции исправления ошибок. Каждый такт состояние процессора сохраняется устройством восстановления и защищается корректирующими кодами (ECC). Затем для любого действия, изменяющего состояние (работа с памятью или регистрами), проводится проверка четности и/или ECC. В случае возникновения ошибки, не исправленной кодом, ее тип запоминает регистрирующее устройство, и выполнение команд
начинается с последнего успешного состояния. Таким образом, нерегулярные сбои преодолеваются до того, как они повлияют на работу ПО. При повторении ошибки сохраненное успешное состояние передается другому ядру, где команда выполняется еще раз. Если ошибки связаны с функционированием конкретного процессора, то они исчезнут, в противном случае требуется вмешательство ПО.
POWER6 с самого начала разрабатывался для применения в многокристальных модулях. Два процессора можно объединить в одном разъеме со скоростью сообщения 50 Гбайт/c. Для объединения четырех таких пар в один вычислительный узел в POWER6 предусмотрены три шины. Каждая из них – двусторонняя симметричная шина с малой задержкой и пропускной способностью 80 Гбайт/c. Добавление/изъятие одного многопроцессорного модуля происходит без последствий для остальных. Можно объединять до восьми узлов с синхронизацией кэш-памяти всех процессоров (рис.5).
IBM планирует выпуск одноядерных, а после перехода на технологию 45 нм — и четырехъядерных версий POWER6. Сейчас на разных стадиях тестирования находятся высокопроизводительные модели, модели среднего класса и кластерные конфигурации. Однако в 2007 году на рынке появятся только недорогие (low-end) решения. В частности, 4-ГГц модель POWER6 будут применять в лезвийных серверах. Современные решения IBM в этой области основаны на PowerPC 970 и используют ОС Linux и AIX (версия Unix от IBM). POWER6 поддерживает и операционную систему i5/OS, что, в сочетании с DFPU, позволит IBM выйти за рамки отрасли сложных вычислительных задач.
В IBM изначально создавали процессор с множеством конфигураций. Поэтому заказчик может выбрать модель, которая подходит ему как с точки зрения частоты и энергопотребления, так и с точки зрения коммуникационных возможностей. Кроме различных вариантов L3-кэша и контроллеров памяти варьируется скорость межпроцессорных соединений (8, 4 или 2 байт/такт) и рабочая частота интерфейсов ввода-вывода.
Точные данные о производительности POWER6 не известны. Тем не менее, можно утверждать, что благодаря оригинальному методу построения многопроцессорных систем новая модель POWER будет успешно конкурировать с x86-процессорами.
СELL-процессоры по технологии 65 нм
Особое место среди многоядерных процессоров занимает Cell BE Engine. Его применяют в игровых приставках Sony Play Station 3 и серверах IBM QS20. Новая версия Cell изготавливается с 65-нм технологическими нормами и работает на частоте 6 ГГц с питанием 1,3 В. По предварительным данным, размеры СБИС на 40% меньше 90-нм предшественника (3,2 ГГц), созданного на кристалле площадью 235 мм2. Конфигурация Cell-процессора осталась прежней: он состоит из вычислительного элемента POWER-архитектуры (PPE) и восьми векторных сопроцессоров [1]. Их называют синергическими элементами (SPE), они соединены между собой и с 512 Кбайт L2-кэшем шиной EIB. Пропускная способность EIB составляет 96 байт/такт.
Важное новшество – разбиение L2-кэша на независимые подмассивы по 128 Кбайт (рис.6) и введение двух линий питания. С повышением частоты для стабильной работы СОЗУ, которая используется в кэш-памяти первого и второго уровней, нужно соответственно увеличить напряжение. Это ведет к повышению тепловыделения. Поскольку Cell-процессор все больше ориентируется на серверные применения, температура становится критическим фактором. Разработчики IBM решили эту проблему с помощью второй линии питания. Для питания ядер и записи в СОЗУ используют более высокое напряжение, для других элементов и передачи данных из ядер подается напряжение на 200 мВ меньше. Кроме того, для незадействованных модулей предусмотрена функция динамического отключения. Общее энергопотребление Cell-процессора снизилось на 19%.
Несмотря на усовершенствования, перспективы Сell не безоблачны. Компания Sony в целях экономии рассматривает возможность перехода на контрактное производство этих процессоров на заводах фирм Taiwan Semiconductor Manufacturing Co. (TSMC) и United Microelectronics (UMC) в Тайване. Решение объясняется тем, что Cell приносит прибыль только как элемент PS3 и не получил распространения в технологиях HDTV и др. Другая причина недостаточной доходности этого проекта Sony – слабое использование вычислительных ресурсов процессора создателями игр. Чтобы исправить ситуацию, IBM проводит конференции с программистами подразделения компьютерных игр компании Vivendi Universal.
Тем не менее Сell подходит для сверхмощных вычислительных систем. Так, с министерством энергетики Великобритании заключен контракт на создание суперкомпьютера из 16000 Cell-процессоров.
Энергопотребление: лучше меньше да лучше
На конференции ISSCC 2007 подтвердилось, что уже все производители используют независимое управление питанием и/или тактовой частотой различных модулей. В Polaris, например, предусмотрено независимое управление питанием процессорных элементов. Более того, каждый из них поделен на 21 область с регулированием напряжения в зависимости от исполняемых команд. Независимо отключается питание PE, маршрутизатора и каждого из портов. При переходе в «спящий» режим экономия энергопотребления FPMAC-модулей составляет 90% от пиковой мощности, памяти – 50%, но для маршрутизатора возможно уменьшение всего на 10%. По заявлениям Intel, транзисторы, поддерживающие режим ожидания, занимают на 5,4% больше площади кристалла и на 4% уменьшают частоту работы. При этом они позволяют динамически распределять тепловую нагрузку по микросхеме: в случае, если температура чрезмерно повышается в одной области, «включается» необходимое число процессорных элементов.
В современных процессорах порядка 30% мощности тратится на распределение тактовой синхронизации. В Polaris достаточно, чтобы синхроимпульс одновременно достигал каждого процессорного элемента, а не всех модулей на площади в 275 мм2. Разработчики допускают небольшое расхождение фазы синхроимульса для различных процессорных элементов. Это может привести к замедлению их взаимодействия, но оправдано экономией мощности. По оценкам Intel, на распределение синхронизации по всем процессорным элементам уходит 1,2% от потребления питания при полной загрузке. Безусловно, с усложнением PE и/или их заменой на x86-процессоры потребуются более сложные методы распределения синхронизации, но изменения коснутся только инфраструктуры процессорного элемента.
Благодаря применению этих технологий Polaris потребляет 62 Вт при частоте 3,16 ГГц. Это почти в два раза меньше потребления четырехъядерного Xeon X5355 2,66 ГГц, пик производительности которого оценивается в 50–60 GFlops.
При разработке AMD Barcelona удалось сохранить температурный режим предыдущих процессоров Opteron. Микросхема изготовлена по 65-нм технологии Advanced Process Technology с малыми токами утечки транзисторов, что позволяет снизить тепловыделение. Не менее важна и технология оптимизации энергопотребления AMD PowerNow. Она предусматривает динамическое отключение незадействованных логических элементов процессора, регулирование питания каждого ядра в соответствии с загрузкой и т.д. Аналогично с маршрутизаторами в Polaris, контроллеры памяти обмениваются данными с памятью независимо от ядра, и, следовательно, их питание управляется отдельно. Согласно анонсам AMD, процессоры Barcelona будут как минимум на 15% экономичнее и на 40% производительнее процессоров Intel Xeon 5355 Clovertown (120 Вт при частоте 2,66 ГГц).
Мощность POWER6 также не превысит 100 Вт. По этому показателю он сравним с процессорами как серий AMD Opteron, так и Intel Xeon, но обладает большей тактовой частотой. Как был достигнут такой результат? В POWER6 встроены 24 распределенных термодатчика. Поэтому процессор может изменять напряжение и частоту функциональных блоков в зависимости от температуры, а также уменьшать скорость выборки и выдачи команд. Если ОС находится в режиме ожидания, процессор переходит в маломощный режим (nap-mode), при котором потребление энергии снижается на 35%. При полной загрузке ОС экономия за счет незадействованных модулей составляет порядка 10%. Кроме того, различные методики регулирования мощности позволяют: уменьшать показатель «питание/производительность» при снижении нагрузки; устанавливать верхнюю границу мощности системы; уменьшать охлаждение (скорость вентиляторов) при падении температуры ниже порога и т. д.
Новое в технологии виртуализации
Особой характеристикой процессоров является аппаратная поддержка технологии виртуализации (VT). Суть подхода виртуализации – выполнение приложений на различных виртуальных машинах (Virtual Machines, VM), загруженных на разных ядрах [2]. Тем самым увеличивается надежность работы операционных систем, обеспечивается параллельное выполнение асинхронных и синхронных приложений и т.д. Особенно эффективна VT в серверных и веб-приложениях, где требуется одновременное выполнение различных задач, порой несовместимых в рамках одной ОС, и поддержка большого числа пользовательских режимов.
Разработчики называют технологию аппаратной виртуализации AMD-V одним из главных достоинств процессора Barcelona [5]. Она существенно отличается от технологии Intel. Прежде всего, виртуализация памяти управляется аппаратно, с помощью интегрированного контроллера с функцией разграничения устройств (Device Exclusion Vector, DEV). DEV сообщает монитору виртуальных машин (Virtual Machine Monitor, VMM) о возможности доступа VM к конкретной области памяти (рис.7). VMM производит запуск и обработку запросов виртуальных машин (также используется термин «гипервизор» – Hypervisor).
Другое отличие касается таблиц трансляции (Translation Look-aside Buffer, TLB) виртуальных адресов памяти в физические адреса. Каждое ядро содержит одну таблицу TLB. При получении доступа к ядру VM сбрасывает значение TLB и загружает собственные таблицы, а по окончании активного состояния – сохраняет. В AMD применяется функция nested pages: каждая VM хранит таблицы в фиксированной области, и при переключении виртуальных машин ядро получает номер следующей активной VM и автоматически заменяет содержимое TLB. Разработчики предполагают, что эти нововведения увеличат производительность на приложениях, поддерживающих AMD-V, на 43%.
POWER6 имеет пропускную способность памяти 75 Мбит/c и 4 Мбайт L2-кэша, что позволяет ему аппаратно поддерживать запуск до 1024 (!) виртуальных машин (512 на ядро). В POWER5 поддерживается не более 20 VM c ОС Linux, и всего предусмотрено не более 250 виртуальных ОС. Теоретически на серверной системе из 64 POWER6 может выполняться до 32,768 виртуальных систем. Впрочем, не известно, соответствуют ли современные компиляторы таким возможностям. В коммерческих версиях число VM составит не более 300. В новом процессоре отличается и виртуализация памяти: ее можно реконфигурировать и переносить вместе с виртуальными разделами. Это снижает задержки при переключении VM. Виртуальные области памяти поддерживают специальные ключи для предотвращения неавторизованного доступа.
Идея объединить на одном кристалле процессоры общего и специального назначения (GPU и др.) скоро воплотится в жизнь. Но вместе с тем, остается актуальной проблема создания ПО для многоядерных систем. Как создатели Polaris, так и Cell надеются на новые поколения программистов, адаптированных к многоядерным и многопоточным архитектурам.
Убедившись, что только увеличением числа ядер лидерства не добиться, разработчики обратились к устранению вечных проблем – пропускной способности памяти и портов ввода/вывода. В Polaris это привело к созданию новой сверхпроизводительной архитектуры, в POWER6 – к очередному удвоению частоты.
Литература
1. Слюсар В. Многоядерная архитектура. Проблемные аспекты. – ЭЛЕКТРОНИКА: НТБ, 2007, №1.
2. Юдинцев Х. CELL-процессор. Превращение игровой консоли в суперкомпьютер. – ЭЛЕКТРОНИКА: НТБ, 2006, №7.
3. McCredie В. POWER6 Roadmap. – IBM Systems &Technology
Group, Development, 2006, http://www2.hursley.ibm.com/decimal/IBM-Power-Roadmap-McCredie.pdf
4 An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS. –
IEEE International Solid-State Circuits Conference, 2007, http://www.hothardware.com/
hh_files/Intel_80_core_ISSCC.PDF
5. Wahlig E. AMD Virtualization Technology. – International Virtualization Conference, Cologne 2006, http://82.135.27.180/ewahlig/pdf/ewahlig.pdf
6. http://www.isscc.org/isscc/
Отзывы читателей