«Computerworld Россия» , № 31, 2005 9 прочтений
Тройной перелом
Десять лет назад на компьютерном рынке происходили знаменательные события, определившие пути развития архитектур вычислительных систем на многие годы вперед...
Десять лет назад на компьютерном рынке происходили знаменательные события, определившие пути развития архитектур вычислительных систем на многие годы вперед
|
| Появление Pentium Pro в 1995 году открыло период бурного роста применений архитектуры x86 в многопроцессорных серверах и корпоративных системах. Сегодня этот процесс приходит к своему логическому завершению: х86‑серверы активно наступают на позиции своих RISC-собратьев |
Некоторые из явлений десятилетней давности в развитии архитектур вычислительных систем, носивших переломный характер, событиями назвать можно лишь с большой натяжкой, поскольку временной интервал их осуществления был достаточно длительным. Однако к 1995 году многое окончательно прояснилось, и тенденции превратились в факты. Таких переломов можно указать сразу три.
К середине 90-х годов процессоры Intel x86 приобрели большую популярность, в первую очередь в «настольном» сегменте. Однако появление Pentium Pro в 1995 году открыло период бурного роста применений архитектуры x86 в многопроцессорных серверах, в корпоративных системах, например в области высокопроизводительных приложений. Сегодня этот процесс приходит к своему логическому завершению: х86-серверы активно наступают на позиции своих RISC-собратьев, а кластеры Beowulf (они базируются, как правило, на х86-совместимых процессорах) практически вытеснили суперкомпьютеры традиционных векторных архитектур и «фирменные» массово-параллельные системы.
Процессоры Pentium Pro положили начало новому поколению х86-совместимых микроархитектур. Теперь они обладают CISC-архитектурой только снаружи: на самом деле CISC-команды перекодируются во внутренние микрооперации, которые, по сути, есть RISC-команды. Сегодня таковы все микропроцессоры с архитектурой х86 — как от Intel, так и от AMD. Если забыть про «CISC-наружность», то Pentium Pro — это хороший суперскалярный RISC-микропроцессор с возможностями внеочередного спекулятивного выполнения команд, с переименованием регистров, динамическим предсказанием переходов и другими современными архитектурными особенностями.
Начальная частота у Pentium Pro была — смешно по нынешнему уровню — всего-то 150 МГц, да и содержал он только 5,5 млн. транзисторов (против 230 млн. в сегодняшних Pentium D).
Еще один перелом в середине 90-х годов — победа 64-разрядных RISC-процессоров над 32-разрядными. В 1995 году стало ясно, что 32-разрядные RISC-процессоры — уже вчерашний день (сегодня, десять лет спустя, стало ясно, что 32-разрядные х86-процессоры — тоже уже вчерашний день).
Начало этому положили микропроцессоры DEC Alpha (в 1995 году выпускалось уже второе поколение — Alpha 21164), затем SGI/MIPS R8000. Эти процессоры, разработанные DEC и SGI, кстати, были лидерами по производительности среди микропроцессоров того времени (R8000 — только на задачах с плавающей точкой). В 1995-м именно Alpha, а не х86-процессоры были лидерами по тактовым частотам, которые перевалили за 300 МГц. А в первом 64-разрядном микропроцессоре Alpha 21064 вообще использовался суперконвейерный подход, направленный на повышение частоты — лишь 21164-й стал «настоящим» суперскалярным процессором.
SGI подняла частоту R8000 всего до 90 МГц, что не мешало процессору иметь высокую пиковую производительность — 360 MFLOPS, поскольку за такт выдавалось сразу четыре результата с плавающей точкой. В том же году SGI анонсировала 64-разрядный R10000. В отличие от R8000, состоявшем из двух микросхем, R10000 стал «нормальным» однокристальным микропроцессором (внешний кэш не в счет), то есть стал дешевле и надежнее R8000. Но вот успеха R8000 в смысле производительности он повторить не смог; процессоры Alpha ушли вперед.
Оба этих семейства микропроцессоров, тогдашних лидеров, можно сказать, почили в бозе, не оставив потомства. SGI больше не производит микропроцессоров; сегодняшняя продукция MIPS — совсем другое направление. DEC была дважды поглощена (сначала Compaq, потом, вместе с ней, Hewlett-Packard), а процессоры Alpha не так давно сняты с производства.
Процессоры SPARC-совместимой архитектуры также уже имели 64-разрядный облик: кроме UltraSPARC, в 1995 году были анонсированы микропроцессоры SPARC64 компании Fujitsu. Тогда же начались поставки 64-разрядного микропроцессора IBM/Motorola PowerPC 620. Кроме того, в 1995 году HP объявила о выпуске 64-разрядного семейства PA-8000. Ныне, десять лет спустя, в семействе PA-8000 появился очередной потомок: объявлено о двухъядерном процессоре PA-8900. На этом генеалогическое дерево PA-RISC заканчивается: пользователям предложено переходить на Itanium 2, архитектуру которого принято обозначать термином «пост-RISC».
Однако флаг подхватила IBM — ее Power5, лидер RISC-мира, сегодня опережает Itanium 2 по производительности, по крайней мере на операциях с плавающей точкой. Да и RISC-процессоры от Sun Microsystems могут получить второе дыхание в условиях перехода к многоядерной архитектуре.
Третий перелом 1995 года — появление мощных многопроцессорных RISC-серверов с развитой архитектурой, которые смогли вытеснить векторные мини-суперкомпьютеры (такие, как Cray J90, Convex C4) и — в первую очередь по соотношению стоимость/производительность — отчасти даже большие векторные системы (к примеру, Cray C90 и анонсированный в том же году Cray T90). Векторные мини-суперкомпьютеры прожили больше десяти лет, если считать, что начало им положили в середине 80-х годов матричные процессоры от FPS.
Среди SMP-серверов необходимо упомянуть два — DEC AlphaServer 8200/8400 и SGI Power Challenge. Они, кстати, были построены на микропроцессорах — мировых лидерах производительности, о которых мы уже упоминали: Alpha 21164 и SGI R8000 соответственно. Оба эти сервера имели мощную системную шину, с разделением адресной шины и шины данных, с пропускной способностью более 1 Гбайт/с, допускающую расщепленную обработку транзакций (то есть возможность «одновременной» обработки нескольких транзакций).
В слоты системной шины вставлялись платы трех типов — процессорные, оперативной памяти и ввода/вывода. Этим достигалась возможность независимого наращивания всех трех типов ресурсов. Power Challenge, обладающий большими возможностями масштабирования, имел в конфигурации до 18 процессоров, до 16 Гбайт оперативной памяти и мог поддерживать до 32 SCSI-контроллеров при суммарной пропускной способности ввода/вывода до 1,2 Гбайт/с.
Платы ввода/вывода обеспечивали интерфейс системной шины к внутренним шинам ввода/вывода. Однако в AlphaServer 8x00 последние могли иметь интерфейсы к новой тогда шине PCI. А общее возможное число слотов PCI в этих серверах впечатляет и сегодня — до 108 штук!
Разработчики прямо указывали на своих конкурентов: SGI упоминала, что обгоняет Cray Y-MP, DEC писала о суперкомпьютерном уровне серверов 8400 с 12 процессорами на тестах Linpack в 5 GFLOPS, «характерном» для суперкомпьютеров типа NEC SX-3/22 или массово-параллельных систем CM-200 компании Thinking Machines.
Однако принципиальным ограничением масштабируемости таких SMP-серверов было число слотов (и пропускная способность) системной шины. Более развитая и масштабируемая архитектура серверов с общим полем памяти к 1995 году также была представлена на рынке, это ccNUMA. Системы категории NUMA создавались и раньше, например многопроцессорный сервер BBN Butterfly на базе процессоров семейства Motorola 68K, но достаточно популярными системы ccNUMA стали, пожалуй, именно в 1995 году.
Сonvex SPP1000 появился годом раньше; десять лет назад было осуществлено уже достаточно много поставок и объявлено о новом поколении SPP1200 с микропроцессорами PA-7200. Компания Sequent Computer Systems тогда же представила новые ccNUMA-серверы на базе анонсированных в 1995 году процессоров Pentium Pro. Обе компании для связи SMP-блоков в единую систему с общим полем оперативной памяти применяли технологию кольцевой шины Scalable Coherent Interconnect. Компьютер от Sequent мог масштабироваться до 252 процессоров, Convex SPP1000 — до 32. Недостатком этих серверов по сравнению с конкурентами, разработанными DEC и SGI, было существенное отставание в производительности процессоров.
В наши дни ccNUMA-архитектура применяется не только в сверхбольших по числу процессоров серверах, таких как SGI Altix. Напротив, ccNUMA стала массовой платформой в относительно небольших серверах в связи с ее поддержкой в AMD Opteron. Правда, обеспечение когерентности кэша в таких серверах основано на обычной для SMP-серверов широковещательной рассылке, а не системе «каталогов», характерной для больших ccNUMA-систем.
Сегодня с уверенностью можно сказать, что десять лет назад, произошел «тройной» перелом. Представляется, что сейчас в области компьютерных архитектур мы являемся свидетелями только одного перелома. Это — переход к применению многоядерных микропроцессоров, однако он затрагивает самую массовую платформу, настольные ПК, и по масштабам своих последствий, возможно, сопоставим с тем, что было десять лет назад.








.jpg)
