Intel Itanium 2 - процессор для мощных серверов
ынок 64-разрядных серверов достаточно узко специализирован и ориентирован прежде всего на корпоративные сети для работы с приложениями, требующими большого вычислительного ресурса и исключительной надежности систем, — например с приложениями для реального бизнеса, использующими колоссальные объемы оперативной памяти для различных требовательных приложений (больших баз данных, систем интеллектуального бизнес-анализа, систем управления ресурсами предприятия, быстродействующих баз данных, хранящихся в оперативной памяти, и т.д.), широко востребованных в банковской, производственной, инженерной и начно-исследовательской деятельности. Причин тому несколько и одна из главных — стоимость. Так, цена на сервер, построенный на 64-разрядной платформе, стоит не один десяток тыс. долларов, что, естественно, может быть востребовано только корпоративными заказчиками. Помимо цены, существуют и чисто технологические особенности, вытекающие из спектра решаемых задач. Скажем, работа с адресуемым пространством свыше 4 Гбайт, необходимая для обработки сверхбольших СУБД, на сегодня пользователю ПК не нужна — именно этим объясняется также и позиционирование процессора Itanium.
В чем же загадка 64-разрядного процессора, позволяющая позиционировать его как сверхмощный процессор для сервера масштаба предприятия?
В 2001 году в борьбу за лидерство на рынке 64-разрядных процессоров уверенно вступила корпорация Intel, выпустив процессор Intel Itanium. И вот совсем недавно (8 июля 2002 года) было объявлено о создании нового 64-разрядного процессора Intel Itanium 2, ранее известного под кодовым названием McKinley. Мало того — уже запланирован выпуск следующих моделей процессоров под кодовыми названиями Madison и Deerfield (2003 год), а также Montecito (2004 год). Пока известно только, что процессоры Madison и Deerfield будут созданы на основе 0,13-микронной технологии, а процессор Montecito — уже на основе 90-нанометровой технологии. Существующие же модели Intel Itanium и Intel Itanium 2 выполнены на базе 0,18-микронной технологии.
В этой статье мы рассмотрим основные особенности нового 64-разрядного процессора Intel Itanium 2, который, как уже отмечалось, позиционируется для серверных платформ масштаба предприятия.
Несмотря на достаточно большое количество новинок, представленных корпорацией Intel в этом году, процессор Intel Itanium 2 является, пожалуй, одним из важнейших продуктов. На сегодняшний день это самый «крупный» процессор компании Intel — площадь поверхности кристалла составляет 421 мм2. На размеры процессора влияет несколько факторов. Во-первых, сам процессор изготовляется по 0,18-микронному технологическому процессу. Во-вторых, процессор имеет внушительную по объему (3 Мбайт) кэш-память третьего уровня (L3). Кроме того, процессор имеет кэш-память второго уровня (L2) объемом 256 Кбайт и кэш-память первого уровня (L1) объемом 32 Кбайт. В целом же процессор содержит 221 млн. транзисторов (для сравнения: процессор Intel Pentium 4 имеет 55 млн. транзисторов).
Если говорить о тактовых частотах процессора, то в настоящий момент процессоры выпущены на двух частотах — 900 МГц и 1,2 ГГц. Конечно, по сравнению с Intel Pentium 4 эта цифра не слишком впечатляет, но, говоря о серверных процессорах, необходимо отметить, что серверы традиционно не гонятся за тактовыми частотами процессоров, поскольку для них гораздо важнее стабильность работы и отказоустойчивость. Сервер работает 24 часа в сутки годами, выполняя порой одно приложение, которое, собственно, может и не требовать запредельной скорости обработки данных и запредельной же тактовой частоты процессора, а ПК для пользователя имеет совсем другую модель использования.
С другой стороны, производительность процессора определяется не только (и не столько) тактовой частотой процессора. Действительно, давайте задумаемся над тем, что понимается под термином «производительность процессора». Правильно ли считать, что процессор с тактовой частотой 2 ГГц обязательно будет более производительным, чем процессор с частотой 1 ГГц? Критерием оценки производительности процессоров может служить только скорость выполнения ими определенного приложения. Но разным процессорам, в зависимости от их внутренней архитектуры, может потребоваться различное количество машинных тактов для выполнения одной и той же программы. К примеру, процессор с тактовой частотой 1 ГГц может выполнить некоторую программу за 10 тыс. тактов, а процессор с тактовой частотой 2 ГГц — за 40 тыс. тактов. Этот простейший пример показывает, что первому процессору потребуется для выполнения программы в два раза меньше времени, чем второму, но ведь это означает, что первый процессор на данном приложении будет более высокопроизводительным, чем второй, несмотря на то что тактовая частота первого процессора меньше, чем второго. Поэтому, говоря о производительности процессоров, следует отчетливо понимать, что она определяется, во-первых, конкретным приложением (насколько хорошо приложение откомпилировано для данного процессора), во-вторых, архитектурой процессора, то есть количеством операций, выполняемых за один цикл, и, в-третьих, тактовой частотой самого процессора. Исходя из этого можно составить следующую упрощенную формулу для определения производительности процессора:
Производительность процессора = (количество команд за цикл) Ѕ (тактовая частота процессора).
Количество команд, выполняемых за цикл, определяется как конкретным приложением, так и внутренней архитектурой самого процессора.
Теперь становится понятно, что сравнивать производительность процессоров лишь на основе их тактовых частот было бы абсолютно неверно. Можно лишь утверждать, что в пределах одной и той же внутренней архитектуры более производительным будет процессор с большей тактовой частотой.
Говоря о процессоре Intel Itanium 2, стоит отметить, что его архитектура кардинально отличается от процессора Intel Pentium 4 или, к примеру, от серверного процессора Intel Xeon.
Давайте вспомним, за счет чего удалось столь значительно повысить тактовую частоту в процессоре Intel Pentium 4 и почему в процессоре Intel Pentium III максимальная тактовая частота не превосходила 1 ГГц.
В любом процессоре выполнение программных команд разделяется на отдельные мелкие шаги, реализуемые в конвейере выполнения инструкций. Чем длиннее конвейер, тем более элементарные операции совершаются при каждом шаге и тем меньшая производительность приходится на каждый шаг конвейера. Однако именно при длинном конвейере удается значительно повысить тактовую частоту — чем на большее количество стадий рассчитан конвейер, тем меньше работы приходится на каждый отдельный такт и тем быстрее этот самый такт выполняется. В процессоре Intel Pentium III длина конвейера составляет 12 стадий, а в процессоре Intel Pentium 4 используется беспрецедентно длинный конвейер в 20 стадий. Именно это обстоятельство и позволяет значительно увеличить тактовую частоту процессора. У длинного конвейера имеются и сильные и слабые стороны. О сильной стороне мы уже сказали — это высокая тактовая частота процессора. Что же касается слабых сторон, то это в первую очередь длительные задержки при выполнении связанных операций, когда для выполнения одной операции требуется знание результата выполнения другой операции. Следовательно, до тех пор пока не будет завершена одна операция (20 тактов), не может начаться выполнение второй. Впрочем, следует отметить, что в буфере команд всегда найдется несколько инструкций, не зависящих друг от друга, которые можно выполнять параллельно. Учитывая, что в процессорах имеется несколько исполнительных модулей, умеющих работать параллельно, удается избежать простоя при выполнении команд и загрузить конвейер. Второй момент, связанный с длинным конвейером, — это алгоритм предсказания переходов в выполнении программного кода. Чем длиннее конвейер, тем более важным становится предсказание того, выполнение какой инструкции понадобится. Ошибка в предсказании перехода процессору с длинным конвейером обходится дорого. Одна ошибка в выборе исполняемых операций в самом начале приводит к тому, что приходится «обнулять» результаты выполнения всех команд в конвейере и начинать все сначала. Для уменьшения вероятности возникновения ошибки в предсказаниях переходов в процессоре Intel Pentium 4 используются изощренные алгоритмы. Кроме того, повышение производительности достигается и за счет алгоритма Advanced Dynamic Execution, допускающего нарушение последовательности выполнения инструкций с целью более плотной загрузки исполнительных модулей. Впрочем, о процессоре Pentium 4 мы уже достаточно писали на страницах нашего журнала. Подводя итог вышеизложенному, заметим, что процессор Pentium 4 со своим гиперконвейером позволяет значительно повысить тактовую частоту, но в то же время ориентирован на выполнение потоковых операций, способных наиболее эффективно загрузить конвейер процессора.
Микроархитектура процессора Intel Itanium 2 существенно отличается от рассмотренной архитектуры процессора Pentium 4. Прежде всего это связано с иным назначением процессора. Серверный процессор подобного уровня должен быть максимально оптимизирован под параллельное выполнение множества задач. Поэтому процессор Intel Itanium 2 построен на основе так называемой EPIC-архитектуры. EPIC — сокращенное обозначение технологии Explicitly Parallel Instruction Computing (явный параллелизм на уровне команд). Технология EPIC позволяет повысить эффективность параллельной обработки команд, обеспечивая таким образом существенное повышение производительности при работе с определенными типами приложений.
Однако сама идея параллелизма несовместима с длинным конвейером — ошибка в предсказании перехода слишком дорого обходится в плане последующего простоя. Отсюда и длина конвейера в процессоре Intel Itanium 2 всего в 8 стадий. Как следствие — невозможность достичь частот, свойственных современным процессорам для ПК. Впрочем, как уже отмечалось, судить о производительности процессора только на основе его тактовой частоты абсолютно некорректно.
Разработанный на основе 64-разрядной архитектуры, процессор Intel Itanium 2 ориентирован на обработку крупных массивов данных и выполнение транзакций, требовательных к вычислительным ресурсам, что свойственно большинству современных приложений, применяемых в деловой и научно-исследовательской сфере.
Вкратце остановимся на архитектуре процессора. Процессор использует 400-мегагерцевую, 128-разрядную системную шину, пропускная способность которой равна 400 МГцЅ128 бит = 6,4 Гбайт/с. Процессор имеет кэш первого уровня объемом 32 Кбайт, кэш-память второго уровня объемом 256 Кбайт и кэш-память третьего уровня объемом 3 Мбайт. Конвейер обработки инструкций имеет длину 8 стадий и состоит из 11 каналов, что позволяет параллельно выполнять несколько задач или нитей одной задачи. Кроме того, в процессоре имеется несколько исполнительных блоков и 328 встроенных регистров (128 основных регистров, 128 регистров для операций с плавающей точкой, 64 предикативных регистра и 8 регистров ветвления). Все это позволяет процессору Intel Itanium 2 выполнять 6 команд за один системный такт. Вот она — основа производительности процессора: 6 команд за такт, 11 исполнительных каналов, 64-разрядная адресация памяти с возможностью адресации в 4 млрд. раз больше его объема памяти, чем в процессорах на основе 32-разрядной архитектуры. Все это делает Intel Itanium 2 перспективным процессором на рынке high-end-серверов с 64-разрядной архитектурой.
Итак, каковы же выводы?
По прогнозам, серверы на базе процессора Intel Itanium 2 продемонстрируют 50-процентный прирост производительности при осуществлении транзакций, по сравнению с серверами на базе процессора Sun UltraSparc III, причем стоимость последних окажется на 70% выше.
В сравнении с предыдущей версией процессора Intel Itanium новый процессор показывает 50-100% рост производительности на различных приложениях (см. таблицу).
Итак, преимущества нового процессора очевидны. При этом также следует учитывать его полную бинарную совместимость с процессором Intel Itanium и полную программно-аппаратную совместимость с последующими поколениями процессоров семейства Intel Itanium. Кроме того, не стоит забывать и о все возрастающей поддержке со стороны как производителей операционных систем и приложений, так и разработчиков серверных платформ. Скажем, в настоящее время процессор Intel Itanium 2 используется в совокупности и с набором микросхем Intel E8870 (построение 4-8-процессорных систем), и с наборами микросхем сторонних производителей (Hewlett-Packard zx1, Hitachi ColdFusion-2, IBM X-Architecture, NEC). В целом, использование процессоров Intel Itanium 2 позволяет создавать системы, включающие до 32 процессоров в симметричной многопроцессорной (SMP) конфигурации и вплоть до 512 процессоров при построении кластерных систем.
КомпьютерПресс 8'2002