Широкие массы пользователей
убеждены, что 64-битные вычисления появились совсем недавно,
буквально три-четыре года назад. Такую точку зрения можно
и нужно оспаривать, однако ее
нетрудно понять: именно в это
время началось мощное наступление мейнстрим-архитектуры x86,
"подросшей" до 64 разрядов.
Но «32» и «64» — это не абстрактные
цифры, характеризующие аппаратную
платформу. Если бы это было так, то переходов от 16 бит к 32 и от 32 бит к 64 никто бы
и не заметил. Вероятно, нынешнее поколение
компьютерщиков слабо помнит (или же вообще не застало) эпохальную миграцию с 16 бит
на 32. Если сравнить этот период с нынешним
«вялотекущим» перемещением на 64-битные
платформы, то ситуация отличается коренным
образом, и прежде чем затронуть основную
тему статьи, необходимо ответить на вопрос:
зачем это нужно тогда и сейчас?
Более десяти лет назад стало очевидно, что
16-разрядные вычисления исчерпали себя и
дальнейший прогресс невозможен — только
придумывание и использование различных
«костылей». На момент миграции массовых
вычислений с 16 бит на 32 преимущества повышения разрядности были совершенно прозрачны: скажем, арифметико-логический блок
полноценного 32-битового процессора мог напрямую выполнять основные арифметические
операции с так называемыми длинными целыми числами, которые стали полностью помещаться в один 32-битовый регистр. Прежде это
реализовывалось только программными процедурами, и в большинстве случаев прирост производительности оказался весьма значительным. Можно привести целый список примеров,
однако примем за отправную точку факт, что
32 бита сулили и удобство для программиста, и
повышение производительности, и адресацию
больших объемов памяти, и, в конце концов, не
давали застопорить прогресс.
В то же время рынок программного обеспечения стало буквально лихорадить. Разработчики настоящих 32-разрядных систем, например
Microsoft с Windows NT и IBM с OS/2, начали
негласное состязание — кто совершит переход более быстро, безболезненно, не ущемив
при этом интересы пользователей. Еще свежи
в памяти казусы, когда прекрасная 16-разрядная программа напрочь отказывалась работать в истинном 32-битном окружении, что
вызывало естественное раздражение пользователей. Так или иначе, переход худо-бедно
завершился благодаря в том числе и мощным
рыночным рычагам: многие производители
отказались от темного 16-разрядного наследия, полностью перейдя на 32-битные средства
разработки.
Как мы помним, операционные
системы Windows 95/98/Me вполне уживались
с 16-битными программами, однако всем уже
было ясно, что это тупиковая ветвь и будущее
массовых ОС от Microsoft — за 32-разрядной
архитектурой Windows NT. Хотя есть мнение,
что и в Windows NT, и даже в Windows XP еще
присутствуют фрагменты 16-битного кода, упрятанные за семью замками.
Сегодня 32 разряда являются стандартом
де-факто, и необходимо признать, что возможности этой архитектуры далеко не исчерпаны.
По крайней мере, с точки зрения популярных
платформ. Тем не менее идеи 64-битности давно
и упорно несутся в массы, не находя должного
для производителей отклика по единственной
причине: пока это не критично. Можно долго
и горячо рассуждать об огромных адресных
пространствах, об ускорении ввода/вывода и
неслыханных возможностях в сфере мультимедиа и научных вычислений, но пользователи
относятся к таким призывам прагматично.
Тем более, что с точки зрения программного
обеспечения ситуация в точности повторяется — если говорить об операционных системах
Microsoft. Программы 16-битные не поддерживаются вовсе (что вполне понятно), а для
32-битных имеется собственная «песочница»,
за пределы которой они выбраться не могут.
Кроме того, возникают проблемы с драйверами
аппаратуры и различными программными эмуляторами аппаратуры, не всегда сохраняется
ожидаемая стабильность работы и т. д.
Ситуация выглядит несколько иначе, если
абстрагироваться от понятий «массовая платформа и ее применение», и просто обратить
внимание на число 64. Нужны ли 64 бита как
таковые? Безусловно, нужны. Производительные рабочие станции, серверы, кластеры —
есть много сегментов, где 64 бита сулят ощутимые выгоды. А с реализацией сегодня дела
обстоят вполне благополучно: на рынке есть
платформы, выросшие из x86 (AMD64 и E64MT),
есть RISC-платформы, являющиеся 64-битными
еще с незапамятных времен, и есть стоящий
особняком 64-разрядный Intel Itanium 2 (или
IA64). Последняя платформа весьма интересна
со многих точек зрения.
Старт процессорного семейства Itanium оказался не впечатляющим — стопроцентный
блин комом. Хотя с архитектурной точки
зрения Itanium был неплох, подвела экосистема: процессор способен реализовать все свои
возможности только при работе с оптимизированным программным обеспечением, а здесь
Intel ничего не смогла поделать, даже несмотря
на свой авторитет и финансовые возможности.
Ситуация напоминала современный высокотехнологичный автомобиль, который предлагается заправить сырой неочищенной нефтью.
Компания сделала попытку проникнуть в элитный клуб, где места давным-давно закреплены
за RISC-платформами и чужаков не очень-то
ждут.
Itanium 2 является преемником 64-разрядного
Itanium, который имел хорошую производительность, но не завоевал должной популярности у производителей серверов и рабочих
станций, несмотря на отсутствие ограничений,
присущих архитектуре x86. Отчасти это было
вызвано тем, что процессору Itanium компания
Intel отводила роль в первую очередь «стартовой площадки», эдакого тренажера для отладки 64-разрядной архитектуры и схемотехники
(кстати, новая микроархитектура Itanium 2
носит название EPIC). Именно с этой задачей
Itanium справился, подготовив почву для более
сбалансированных и производительных чипов.
Разумеется, это мнение Intel.
Intel хватило смелости не похоронить начинание, и свет все-таки увидел 64-битный
процессор Itanium 2, хотя и с существенными
оговорками. 10 октября 2002 года Техасский
окружной суд принял решение о том, что в
64-разрядных процессорах Intel незаконным
образом использованы технологии параллельного вычисления команд, запатентованные
компанией Intergraph. По решению суда Intel
должна возместить компании убытки в размере
$150 млн, а далее у Intel есть три пути: приобрести лицензию за дополнительные $100 млн,
подать апелляцию и, в случае проигрыша, заплатить еще $100 млн или разрабатывать новые процессоры, используя иные технологии,
если таковые найдутся.
К счастью, для Intel все обошлось, и процессор
Itanium 2 (кодовое имя McKinley) вышел на
рынок. А в конце января 2006 года корпорация
Intel сообщила о том, что развитие серверной
архитектуры Itanium 2 получило дополнительный стимул в виде инвестиций ($10 млрд)
от крупнейших производителей серверных
систем, предлагающих свои продукты на
базе Itanium. В число инвесторов вошли Bull,
Fujitsu, Fujitsu Siemens Computers, Hitachi, HP,
NEC, SGI и Unisys — участники альянса Itanium
Solutions Alliance (ISA). Решение о выделении
столь крупной суммы средств было принято на
первом заседании руководителей компаний–
участников ISA.
Отрадно, что на поприще оптимизации программного обеспечения для IA64 имеются
значительные сдвиги в лучшую сторону, речь
идет о нескольких тысячах приложений. Это
позволяет говорить о значительном упрочнении позиций Itanium 2 в тех сферах, где
данная архитектура может в полной мере
проявить свои преимущества. Традиционно
это высокопроизводительные высоконагруженные серверы и профессиональные рабочие станции, что обусловлено схемотехническими решениями, нашедшими применение в
Itanium 2.
Микроархитектура EPIC, на основе которой
построен Itanium 2 (McKinley), позволяет достичь высокого уровня параллелизма при выполнении вычислительных задач, в некоторых
случаях этот показатель даже выше, чем у процессоров с микроархитектурой RISC. Следствием высокой степени параллелизма вычислений
является более высокая производительность
системы в целом, но при условии применения
оптимизированного ПО. Это объясняется следующим:
- параллельным исполнением максимального
числа инструкций;
- наличием нескольких исполнительных блоков и параллельных каналов;
- исполнением двух пакетов за каждый процессорный цикл;
- элементами VLIW (Very Large Instruction
Word — «cверхбольшое командное слово»).
Кроме того, в состав схемотехники Itanium 2
входят 128 основных регистров, а также 128 регистров для операций с плавающей запятой.
Специальными являются 64 предикативных регистра и 8 регистров ветвления.
В управлении памятью архитектуры EPIC реализованы следующие особенности:
- 64-разрядная адресация;
- предположительное исполнение;
- иерархическое использование памяти.
Эти факторы обеспечивают эффективность
исполнения операций при высоких нагрузках,
а также поддержку больших наборов данных,
что находит применение при работе с большими базами данных и в научных расчетах.
Наиболее грозными конкурентами платформы Intel являются системы на базе серверных
процессоров Sun SPARC и IBM POWER, на долю
которых приходится, соответственно, 58% и
33% продаж вычислительных систем. Не исключено, что именно в связи со сложившейся
расстановкой сил лидеры мирового рынка корпоративных систем высшего уровня приняли
решение о незамедлительной денежной инъекции в дальнейшее продвижение платформы
Intel Itanium 2. Для иллюстрации приведем
мировую статистику III квартала 2005 года
(данные Gartner): продано 7845 серверов на
базе Itanium, 62 776 решений с Sun UltraSPARC,
31 648 серверов с IBM POWER, и 9147 на базе
HP PA-RISC.
Дело в том что RISC-архитектуры SPARC и
POWER имеют в качестве почвы под ногами
богатый опыт разработчиков — электронщиков, программистов, математиков, — а также
развитую инфраструктуру и, что немаловажно, огромную базу пользователей решений
на основе этих архитектур. Изменить этот
расклад с нуля представляется маловероятным, тем более что и Sun, и IBM тоже не сидят
сложа руки. Сейчас сложно представить, что
после долгих лет исследований и разработок
эти компании могут иметь серьезные проблемы с масштабированием систем или с оптимизацией своего же программного обеспечения (ОС Solaris у Sun, ОС AIX у IBM). Кроме
того, и Sun, и IBM, и Intel всячески выказывают свою благосклонность к Linux, обеспечивая поддержку сообщества разработчиков
и принимая непосредственное участие в
разработке ядра Linux и в других Linux- и
Open Source-проектах. Intel имеет прямой
резон поддерживать Linux, хотя бы потому,
что эта операционная система не имеет проблем ни с глубокой оптимизацией кода, в том
числе и для IA64, ни с масштабируемостью,
ни с прикладным и системным программным
обеспечением.
Именно Intel Itanium 2 с IBM POWER5+ и конкурируют сегодня на рынке высокопроизводительных Unix-серверов (если не принимать во внимание рынок систем х86-64). Sun
Microsystems с процессорами UltraSPARC T1
(Niagara) пошла в сторону многоядерности и
многопоточности с небольшой производительностью процессорных ядер.
Достаточно непросто складываются отношения Intel с партнерами, в частности, с Hewlett-Packard. С одной стороны, HP помогала разрабатывать Itanium (о сотрудничестве в этой
области было объявлено еще в 1994 году) и собиралась его использовать во всех своих корпоративных платформах, а с другой, выпустила
серверы на базе процессоров с архитектурой
AMD64 и EM64T (эти процессоры работают с
64-битными приложениями, однако поддерживают и 32-битное ПО без падения производительности).
Еще на этапе анонса Itanium 2 многие компании сообщили о своем нежелании использовать данный чип в своих решениях: за неделю
до выпуска Itanium 2 руководство Dell заявило,
что в системах их производства микропроцессор применяться не будет. Несколько ранее
подобное сообщение поступило от IBM, отказавшейся поддержать новую микросхему в
очередной версии своей операционной системы AIX.
Каков же козырь Intel при таком, казалось бы,
нерадужном стечении обстоятельств? Компания обладает значительными ресурсами для
разработки и выпуска компонентов инфраструктуры, а кроме того, наличие множества
собственных фабрик позволяет Intel удешевить производство Itanium 2, что, в конечном итоге, отражается в довольно выгодном
рыночном предложении: дешевое (на фоне
прочих) и производительное 64-разрядное
решение. Об этом косвенно могут свидетельствовать два суперкомпьютера на основе этого процессора, попавшие в список Top 500:
Tera-10 (8704 Itanium 2 с частотой 1,6 ГГц) и
Columbia (10160 Itanium 2 с частотой 1,5 ГГц).
Как же выглядит Itanium 2 сегодня? Это двухъядерный 64-разрядный процессор с аппаратной поддержкой технологии виртуализации,
изготовленный с использованием техпроцесса 90 нм. Модельный ряд Itanium 2 состоит из
шести процессоров, работающих на тактовой
частоте от 1,40 до 1,60 ГГц (частота системной
шины 400/533 МГц). Процессоры оснащены
кэш-памятью внушительного объема (от 6 до
24 Мбайт) и рассеивают скромное количество
тепла, 75–104 Вт. Четыре модели из шести попрежнему поддерживают технологию HyperThreading, к которой Intel заметно охладела в
прочих продуктовых линейках. Помимо прочего, Itanium 2 оснащен механизмом минимизации ошибок кэш-памяти (Intel Cache Safe
Technology).
За время своего присутствия на рынке Itanium 2
приобрел вес. Примечательно, что все подающие надежды разработки Intel так или иначе
оказываются реализованными в Itanium 2 — и
многоядерность, и Hyper-Threading, и концепция
энергоэффективной производительности. В то
же время, за последний год линейка Itanium 2
поредела — в начале 2006-го компания объявила о снятии с производства восьми моделей.
В список попали версии с тактовыми частотами
1, 1,1, 1,3, 1,4 ГГц (с 1,5, 3 и 4 Мбайт L3-кэша), 1,5
и 1,6 ГГц. Но пока говорить о панике среди партнеров и клиентов преждевременно: заказы на
чипы принимались до конца июня 2006 года, а
полное прекращение отгрузок этих процессоров планируется в январе 2009-го.
Вряд ли Intel решила бросить эксперименты с истинной 64-разрядностью, скорее
всего, планируется качественный прорыв на
следующий уровень. Пока сведений о грядущих Itanium 2 немного, однако ожидается,
что процессоры увидят свет на рубеже 2007 и
2008 годов, а кодовое имя нового процессора
— Tukwilla. Он будет иметь не менее четырех
ядер, уменьшенные задержки памяти и другие
усовершенствования. Среди них можно отметить, например, «ключи защиты», в том числе
для безопасного разделения данных между
операционной системой и приложениями.
Также предполагается выпуск двухъядерной
версии Tukwilla и бюджетный вариант этого
процессора с кодовым именем Dimona. Хотя это
сведения непроверенные, и до конца года мы
еще можем услышать о других планах Intel.
На российском и постсоветском рынках дела
у Itanium 2 идут неплохо. В числе наиболее
крупных организаций, выбравших решения
на Itanium 2, — «Росгидромет», «Вимм-БилльДанн», «МегаФон», Альфа-Банк, «АвтоВАЗ».
При этом, как и следовало ожидать, наиболее
широко Itanium 2 применяется в решении околонаучных и инженерных задач. К примеру,
серверы на базе Itanium 2 активно использует
Институт вычислительной математики Российской академии наук (ИВМ РАН). Другой пример,
где использование систем на базе Itanium 2
стало обычным явлением, — биллинговые
системы операторов мобильной связи, а также
энергетических и транспортных компаний.
Свежий пример из этой области — компания
«ПетерСтар», запустившая в эксплуатацию серверные системы на базе Itanium 2.
Весьма показательна иллюстрация «инженерной» работы серверов на базе Intel Itanium 2,
обеспеченной компанией «К-Системс» для завода «Электросила» (Санкт-Петербург). Здесь
новая четырехпроцессорная система на базе
Itanium 2 1,3 ГГц используется для высокопроизводительных вычислений: прочностных,
тепловых, электрических и магнитных расчетов электрических машин.
Хотелось бы верить, что позиции Itanium 2
крепки. По крайней мере, сегодня к этому есть
все предпосылки. Однако, как сложится ситуация в борьбе с новинками от основных конкурентов (IBM POWER6 и Sun UltraSPARC T2),
предугадать нельзя. Скорее всего, нынешняя
расстановка сил скорректируется несущественно.