SUN UltraSPARC — перекресток на пути к параллельности

Sun Microsystems, один из лидеров рынка рабочих станций и серверов — компания, одной из первых внедрившая RISC-архитектуру в свои процессоры SPARC (Scalable Processor Architecture). Первый процессор SPARC был выпущен в 1987 году и содержал 50 тыс. транзисторов. Самый современный UltraSPARC III 900 содержит более 30 млн. транзисторов и работает на 900 МГц.

UltraSPARC III — довольно интересный процессор, содержащий встроенный контроллер SDRAM, что позволяет создавать многопроцессорные системы с разным объемом памяти для каждого процессора. Подобный подход дает весьма ощутимый выигрыш при создании многопроцессорных систем. Однако для продолжения успешной борьбы на рынке серверов и рабочих станций Sun необходимо что-то кардинально новое, позволяющее если не пресечь попытки Intel выйти на несвойственный той рынок, то хотя бы оставить за собой значительную долю в производстве 64-битных RISC процессоров.

Хотя UltraSPARC, даже невзирая на весьма скромные результаты в SPECint2000 и SPECfp2000, уже сейчас способен противостоять Itanium'у в многопроцессорных системах, ему нужно и что-то действительно сильное для того, чтобы не дать Intel выйти на рынок с IA-64 за счет лишь своего имени и финансовой мощи. Об этом же заботятся и давнишние конкуренты Sun — IBM и HP (так и хочется сказать, Compaq с процессорами Alpha).

Однако судьба Alpha сейчас практически находится в руках Intel, которая всерьез решила выйти на рынок серверов, несмотря на свои проблемы с Itanium'ом в прошлом. С фактическим приобретением всей группы разработчиков Alpha, у которых на руках уже практически готовая, прямо скажем, революционная архитектура EV8, Intel может стать очень серьезным соперником IBM, Sun и HP. IA-64 может быть немного изменена в будущем, как следствие ознакомления инженеров Intel с диаметрально противоположной EPIC «минималистически» RISC'овой архитектурой Alpha вообще и EV8 в частности.

Возможно, IBM, HP и Sun сейчас легче из-за скорого ухода Compaq с рынка, однако это лишь «затишье перед бурей» в будущем, когда Intel откроет все свои козыри (имеется в виду 1,5 ГГц McKinley). Несмотря на то, что многие клиенты Compaq сейчас обращают свои взоры на альтернативное RISC-оборудование, сейчас эти три компании должны собраться с силами и попробовать сделать что-то такое, что должно серьезно противостоять Intel. Если HP теоретически еще может остановить разработки PA RISC и принять IA-64, а IBM, как это она проделывала и в прошлом, продавать и свои, и чужие системы, то Sun, скорее всего, этого не сделает. Именно поэтому Sun и Intel сейчас видят друг в друге главных конкурентов. Можно заметить тенденцию Intel показывать тесты, в которых Itanium выходит победителем над системами на US III. Что ж, самое интересное нас ждет впереди.

Давайте присмотримся внимательнее к компании Sun и ее методам противостояния Intel. На данный момент дела у Sun идут относительно успешно. В предыдущем квартале, несмотря на «застой в отрасли», Sun показала отличные результаты на серверном рынке (42% роста по сравнению с предыдущим годом, данные IDC) и вышла на второе после IBM место по объему продаж. Тем не менее, поводов для того, чтобы задуматься, более чем достаточно — в текущем квартале прирост продаж в области серверов вновь иссяк, а в остальных областях — так и вовсе наметился спад.

И все же, несмотря на то, что в одиночку процессор Alpha быстрее, UltraSPARC III (как и IBM Power3) продается очень хорошо благодаря своей масштабируемости в многопроцессорных конфигурациях и, естественно, имиджа Sun касаемо надежности и поддержки своих продуктов. SPEC CPU2000 не показывает производительность многопроцессорной системы в целом при обработке таких задач, как простые манипуляции с базами данных. А это и есть конек Sun — 14-процессорная система на US III работает так же, как и 16-процессорная система с более быстрыми процессорами Alpha. В так называемых ERP (Enterprise Resource Planning) приложениях, на которые сейчас переходит большинство крупных компаний, системы на процессорах Sun и IBM показывают лучшее быстродействие. Вывод тут один — Sun покупают не за быстродействие одного процессора, а за надежность, масштабируемость и программную поддержку. Что ни говори, но грамотно написанная ОС Solaris с багажом в примерно 12 тыс. приложений — это тоже большой козырь в руках Sun.

Это день сегодняшний, а теперь давайте заглянем в завтрашний. В скором времени US III при переходе на 0,13 мкм процесс будет оснащен и логикой ввода/вывода (кроме встроенного контроллера SDRAM). Есть предположение, что это будет межпроцессорная 64-битная шина JBus, которая сможет передавать данные в пакетах со скоростью до 64 Гбайт/с. Этой шиной Sun может укрепить свою сильную сторону — масштабируемость. Именно этот 0,13 мкм процессор и будет называться UltraSPARC IV.

Тем не менее, Sun все же нужна такая вещь, как очень быстрый и архитектурно продвинутый процессор для того, чтобы противостоять конкурентам. Инженеры Sun уже давно трудятся над новым поколением UltraSPARC 5 (скорее всего, V). Совсем недавно стали известны некоторые архитектурные решения, которые Sun планирует использовать в 5-м поколении UltraSPARC.

Главным из них, безусловно, является полное распараллеливание задач — как на уровне инструкций, так и на уровне потока данных (многопоточное распараллеливание). Intel'овская архитектура EPIC по полной программе использует первый вид распараллеливания задач, а второй не использует вовсе. У обоих подходов распараллеливания задач есть свои достоинства и недостатки. Если распараллеливание задач на уровне инструкций во многом зависит от грамотно написанного компилятора и больше влияет на производительность в задачах, требующих громоздких расчетов, то многопоточное распараллеливание — однозначно более производительный подход, похожий на распараллеливание задач между отдельными процессорами и требующий оптимизации под него не столько компилятора, сколько самого приложения и ОС.

Не вдаваясь в технические подробности, можно представлять многопоточное распараллеливание задач, как два виртуальных процессора в одном. Это довольно-таки похоже на обычные мультипроцессорные подходы, только чип здесь один, и в нем по определению в любой момент времени должны существовать два или более независимых потока данных (процесса). IBM (в Power4) и Sun (в MAJC MicroProcessor for Java Computing) буквально подошли к этому вопросу, попросту интегрируя два и более ядра в один чип. Это просто, не требует разработки совершенно нового ядра, но не оптимально (дорого и энергоемко) и не совсем соответствует «канонам» многопоточного распараллеливания.

До последнего времени принято было считать, что Alpha EV8, запуск которой был запланирован на 2003 год — самый настоящий подход к аппаратной многопоточности. Хотя архитектура EV8 перешла в Intel, идея настоящей многопоточности в одном процессоре живет, и Sun ее собирается воплотить в UltraSPARC 5. Естественно, объединение двух подходов распараллеливания — задача не из легких, но смесь должна получиться «подрывная». Даже Сеймур Крей говорил об опасности введения в жизнь более чем одной серьезной технологической инновации в отдельно взятом поколении процессоров.

Зачем Sun идти на такой риск? Ведь всегда можно увеличивать производительность «традиционными» способами — удлинение конвейера, углубление буферизации, усложнение логики предсказания ветвлений. Однако все чаще слышатся ответы, что эти методы уже не оправдывают себя с точки зрения наращивания производительности во всех ее аспектах (т. е. процессор может работать где-то быстрее, а где-то и остаться на прежнем уровне или вообще показывать худшую производительность). Благо опыт работ в этой области у Sun уже есть — такое решение применяется в высокопроизводительных чипах для сетевого оборудования (один из них — Sun MAJC). Навык Sun в этой области как раз и может быть тем, что нужно для успешной разработки US 5.

У Intel, в свою очередь, есть свое секретное многопоточное оружие — концепции, заложенные в процессор EV8, и команда инженеров Alpha. Более того — на последнем IDF компанией представлена технология HyperThreading, которая как раз и является попыткой воплотить ту самую «истинную многопоточность» в своих процессорах. Только вот в каких? Этого Intel, похоже, сам еще толком не знает, что дает Sun лишний шанс.

Компания сейчас бросает все свои силы, а это 1200 инженеров в 5 центрах, на разработку шины JBus и архитектуры US5. Проект MAJC при этом будет переведен в нишевые рынки (графика, сети). Не брезгует Sun нанимать и бывших инженеров из Alpha, многие из которых ушли из команды, когда она была фактически продана Intel. Sun к концу этого года планирует пополнить свою команду разработчиков еще на 200 человек. Две трети исследовательского бюджета Sun брошены на разработку новых UltraSPARC'ов.

Дизайн чипов — это, конечно, хорошо, но без соответствующей CMOS технологии добиться лидерства сложно. Пока что Sun планирует оставаться «верной» Texas Instruments, которая не собирается отставать от Intel, IBM, TSMC, UMC и Motorola в технологическом плане. Сейчас идет процесс переведения производства на 0,15 мкм семислойный медный техпроцесс (число k=3,7). US 4 будет произведен по 0,13 мкм, а US 5 — по 0,1 мкм технологическим нормам.

Пока планами Sun не предусматривается использование технологии SOI(silicon-on-insulator) — она, наподобие Intel, собирается придерживаться стандартного bulk CMOS техпроцесса с использованием медных соединений и диэлектриков с низким числом k.

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

Очевидно, особенно сильно будет сопротивляться Sun. Что ж посмотрим, что из этого получится. Но уже сейчас можно с точностью сказать, что «Солнышко не скроется — кто ж его посадит без борьбы?». :)




19 сентября 2001 Г.

SUN UltraSPARC —

SUN UltraSPARC —

Sun Microsystems, , RISC- SPARC (Scalable Processor Architecture). SPARC 1987 50 . . UltraSPARC III 900 30 . 900 .

UltraSPARC III — , SDRAM, . . Sun - , Intel , 64- RISC .

UltraSPARC, SPECint2000 SPECfp2000, Itanium' , - , Intel IA-64 . Sun — IBM HP ( , Compaq Alpha).

Alpha Intel, , Itanium' . Alpha, , , EV8, Intel IBM, Sun HP. IA-64 , Intel EPIC «» RISC' Alpha EV8 .

, IBM, HP Sun - Compaq , « » , Intel ( 1,5 McKinley). , Compaq RISC-, - , Intel. HP PA RISC IA-64, IBM, , , , Sun, , . Sun Intel . Intel , Itanium US III. , .

Sun Intel. Sun . , « », Sun (42% , IDC) IBM . , , , , .

, , Alpha , UltraSPARC III ( IBM Power3) , , Sun . SPEC CPU2000 , . Sun — 14- US III , 16- Alpha. ERP (Enterprise Resource Planning) , , Sun IBM . Sun , , . , Solaris 12 . Sun.

, . US III 0,13 / ( SDRAM). , 64- JBus, 64 /. Sun . 0,13 UltraSPARC IV.

, Sun , , . Sun UltraSPARC 5 ( , V). , Sun 5- UltraSPARC.

, , , ( ). Intel' EPIC , . . , , , , .

, , . - , , (). IBM ( Power4) Sun ( MAJC MicroProcessor for Java Computing) , . , , ( ) «» .

, Alpha EV8, 2003 — . EV8 Intel, , Sun UltraSPARC 5. , , «». .

Sun ? «» , , . , (. . - , - ). Sun ( Sun MAJC). Sun , US 5.

Intel, , , EV8, Alpha. IDF HyperThreading, « » . ? Intel, , , Sun .

, 1200 5 , JBus US5. MAJC (, ). Sun Alpha, , Intel. Sun 200 . Sun UltraSPARC'.

, , , CMOS . Sun «» Texas Instruments, Intel, IBM, TSMC, UMC Motorola . 0,15 ( k=3,7). US 4 0,13 , US 5 — 0,1 .

Sun SOI(silicon-on-insulator) — , Intel, bulk CMOS k.

, . . Intel IA-64, , Sun, HP IBM .

, Sun. , . , « ?». :)