Успех процессорной архитектуры зависит сегодня от созданной ею экосистемы [1]: например, одна из причин долголетия х86 — гигантская экосистема, сложившаяся за 35 лет существования этой архитектуры. До недавнего времени остававшаяся широко известной в узких кругах архитектура ARM лишь на несколько лет моложе, но только мобильная революция позволила ей выйти за пределы встроенных систем и составить конкуренцию х86. Архитектура Power появилась еще позже, а ее экосистема меньше, и попытки ее использования вне IBM немногочисленны и не слишком удачны. В 2013 году, осознав происходящие изменения и следуя по пути ARM, в IBM открыли лицензирование своего нового процессора Power8, потенциально способного составить серьезную конкуренцию х86, в надежде на создание более мощной экосистемы.
Появление Power8 заставляет возвратиться к дискуссии «RISC против CISC», развернувшейся во второй половине 90-х годов и закончившейся победой х86 — ушли со сцены DEC Alpha, MIPS, Motorola 88000, PA-RISC и многие другие менее известные процессорные архитектуры, не считая SPARC, которая хотя и занимает немалое, но все же нишевое место. Только Power и ARM остались успешными продолжателями достаточно перспективного направления RISC — первый применялся в продуктах IBM, а второй вел скрытый образ жизни в огромном количестве встроенных устройств. Признавая за х86 лидерство, при появлении каждой версии микропроцессоров Power в IBM непременно сравнивали их с моделями x86, показывая преимущества. Впрочем, обе архитектуры не конкурировали, а мирно сосуществовали в разных сегментах.
Как бы ни объясняли успех х86, но не может десятилетиями одна не слишком удачная и постоянно модернизируемая архитектура оставаться гегемоном, распространившись от нетбуков до суперкомпьютеров, — рано или поздно что-то должно произойти. Скорее всего, Power8 — первая серьезная заявка на роль конкурента x86. В пользу этого утверждения свидетельствует продажа IBM своего бизнеса, связанного с серверами System x на процессорах Intel, который, как и ПК в 2005 году, перешел к Lenovo. На замену System x Голубой гигант предлагает новые серверы семейства Power Systems с индексом «S», указывающим на их способность к горизонтальному масштабированию (ScaleOut). Справедливо будет предположить, что вскоре появятся и корпоративные серверы с вертикальным масштабированием (ScaleIn), и их индекс наверняка будет «E».
OpenPower — Linux на базе Power
По сравнению с другими микропроцессорами RISC положение Power отличается в лучшую сторону, однако общие тенденции для него не слишком благоприятны, и если не предпринимать специальных мер, то сегмент их применения будет неизбежно сокращаться, причем прежде всего из-за общего снижения популярности операционной системы Unix. Доля Unix-серверов уменьшается — по данным аналитиков Gartner, в 2013 году она составила 16%, а к 2017-му упадет ниже 9%, причем это по оптимистическим оценкам. Аналитики IDC зафиксировали в четвертом квартале 2013 года спад продаж Unix-серверов на 31,3 %. Правда, кризис Unix затронул IBM меньше других — с 2002 по 2012 год доля корпорации в этом сегменте возросла с 14 до 55%, но это произошло за счет падения других производителей, что в целом не обещает ничего хорошего.
Выход корпорация видит в открытой стратегии развития OpenPower, взяв свой же пример открытия схем и BIOS IBM 5150, что позволило говорить о стандарте IBM PC, сформировавшем колоссальный рынок ПК. Второй пример развития в этом направлении — взлет популярности ARM, ставший следствием открытия спецификаций архитектуры Advanced RISC Machine. Коалиция OpenPower представляет нечто среднее между этими начинаниями. Предполагается более тесная технологическая интеграция, чем в случае IBM PC, но в то же время выпуск лицензиатами конкурирующих изделий, что явно способствует развитию. Кроме того, OpenPower поддерживается заложенными в Power8 технологическими решениями — в частности, ускорителем интерфейса памяти Coherent Accelerator Processor Interface (CAPI), позволяющим на уровне платы интегрировать чипы разных производителей.
Консорциум OpenPower был образован в августе 2013 года с целью создания экосистемы для развития ОС Linux на базе Power. Первым крупным участником коалиции OpenPower стала компания Google, а сегодня в него входит около пятидесяти организации, причем значительная их часть из Китая.
Первым участником OpenPower, объявившим о намерении выпускать процессоры, стал китайский стартап Suzhou PowerCore, созданный в 2013 году, который за два года планирует спроектировать свою версию Power8 и начать ее выпуск на фабрике IBM в США. Со временем производство может быть перенесено в Китай. PowerCore — один из шести процессорных проектов Китайской академии наук, наибольшую известность из которых приобрели: Loongson — вариация на тему MIPS, используемая в кластерах для высокопроизводительных вычислений (High Performance Computing, HPC) [2], и FeiTeng — клон SPARC. Другая китайская компания, China Core Technology, лицензировала систему команд IBM PowerPC в 2010 году и строит системы на чипе (System-on-Chip, SOC), у нее тоже есть свои планы по использованию Power8. Скромное число желающих производить процессоры, скорее всего, объясняется тем, что большинство производителей SOC, которых могла бы привлечь идея OpenPower, уже выбрали для себя лицензии на ARM 64-bit V8. Благодаря интерфейсу CAPI, системы на чипе будут выпускать такие компании, как Nvidia, Altera, Suzhou PowerCore, Xilinx и VeriSilicon; системы ввода-вывода, память и сетевые модули будут производить в рамках консорциума компании Tyan, Chuanghe Telco Tech, Servergy, Inspur и ZTE, а прикладное ПО — компании Teamsun, Google и Juelich.
Посредством экосистемы OpenPower корпорация IBM создает цельную инфраструктуру за счет того, что лицензию получают все участники конкурентного рынка — именно такая схема в свое время способствовала созданию рынка ПК, причем показательно, что китайская компания Power Core уже сегодня предлагает серверы своего производства по цене ниже, чем сама IBM.
Много лет IBM была и остается «номером один» в области сложных профессиональных систем от мэйнфреймов до Watson, но возникают новые тенденции, и прежде всего частные и публичные облака, гигантские ЦОД, предназначенные для выполнения приложений, связанных с обработкой данных. В таких системах доминируют серверы, работающие под управлением Linux и Windows, составляющие основу систем с горизонтальным масштабированием, которые обычно не обслуживаются, а в случае неисправности их просто заменяют. После ухода AMD с рынка высокопроизводительных систем стандартной архитектуры, Intel стала монополистом, а серверы, выпускаемые по лицензии ARM, не угрожают Xeon E7, E5 и лишь в небольшой степени представляют угрозу для E3 — это именно та ниша, на которую рассчитывает IBM, разворачивая экосистему OpenPower.
Однако успех начинания IBM напрямую зависит от «фактора Google» — если этот производитель даст добро на перенос значительной части своей нагрузки на Power, то светлое будущее Power8 обеспечено. Вместе с тем некоторые обозреватели выражают по этому поводу сомнение, отмечая, что инициатива «слишком мала и запоздала», но надежда остается — она подкреплена наличием у IBM «секретного оружия» CAPI. Качественная новизна CAPI в том, что он открывает возможность для создания гетерогенных систем на уровне системных плат, а именно гетерогенность является характерной чертой современных облачных ЦОД, которые комплектуются практически всеми имеющимися сегодня типами компьютеров. Внутри все эти серверы однородны и строятся только на обычных центральных процессорах (CPU), а CAPI открывает возможность дополнять их ускорителями, прежде всего — графическими процессорами (GPU) от Nvidia, Altera и Xilinx. Роли ускорителей для повышения производительности HPC-кластеров посвящена работа [3], примерно такое же влияние дополнительные устройства могут оказать и на ЦОД. Благодаря CAPI, на уровне гетерогенных системных плат у IBM конкурентов нет, поскольку Intel ничего подобного не предлагает, а AMD сосредоточилась на гетерогенных процессорах (APU) Kaveri.
Особенности Power8
Микропроцессор Power8 включает кэш-памяти разных уровней, контроллеры PCI-Express и память DDR, многочисленные ускорители, повышающие производительность каждого ядра и всей системы в целом. Ядра подключаются к памяти по технологии NUMA, обеспечивающей распределенный доступ в том числе и для нескольких процессоров, устанавливаемых на плате.
В максимальной комплектации Power8 состоит из 12 ядер (в Power7 их восемь), которые в отличие от предшественника работают в однопотоковом режиме и трех аппаратных режимах одновременной многопоточности (Simultaneous Multithreading) SMT2, SMT4 и SMT8, делящих ядро на два, четыре или восемь потоков. Каждый поток типа SMT представляет собой логический процессор, способный работать под управлением одной из трех операционных систем — Linux, AIX или IBM i (в прошлом OS/400). Значительное увеличение размеров кэш-памяти в полтора раза повышает производительность в однопоточном режиме по сравнению с Power7+, несмотря на меньшую тактовую частоту. То, насколько эффективно используется потенциал деления на потоки, зависит от возможностей, вложенных в программное обеспечение, — перечисленные ОС используют различные механизмы управления потоками и логическими разделами. По численным показателям Power8 (площадь — 650 кв. мм, техпроцесс — 22 нм, число транзисторов — 4,2 млрд) заметно отличается от Power7+ (567, 32 и 2,1 соответственно). В состав ядра входят следующие узлы: два загрузочных хранилища (Load Store Unit, LSU), регистр условий (Сondition Register Unit, CRU), регистр переходов (Branch Register Unit, BRU), устройства выбора команд (Instruction Fretch Unit, IFU), два арифметических устройства с фиксированной точкой (Fixed-Point Unit, FXU), два векторных устройства (Vector Math Unit, VMX), арифметическое устройство с плавающей точкой (Decimal Floating Unit, DFU) и одно криптографическое устройство (Cryptographic Unit).
Контроллер памяти, образно названный Centaur, не имеет аналогов — он совмещает в себе две функции, отчасти играя роль кэша четвертого уровня (L4) и собственно контроллера. В существующей реализации Centaur адаптирован к работе с памятью DDR3, но в него заложены возможности для перехода на DDR4 в будущем. Такой подход называют «нейтральным» (technology-neutral memory controller), и потребность в нем связана с разными циклами обновления процессоров и памяти, цикл обновления процессоров обычно равен двум годам, а памяти — пяти. В отдельный чип Centaur вынесены логика управления обменом и кэшами, он связан с процессором магистралью со скоростью обмена 9,6 Гбайт/с и с задержкой 40 нс, каждый процессор может поддерживать работу до восьми таких чипов, что позволяет довести размер L4 до 128 Мбайт. Ориентация на работу с большими объемами данных проявляется в высоких скоростях обмена между процессорами и памятью — каждый сокет ведет обмен по восьми каналам с суммарной установившейся скоростью до 230 Гбит/с и может поддерживать память размером до 1 Тбайт. Работа памяти организована на транзакционных принципах.
Встроенный контроллер порта PCI-Express 3.0 позволяет организовать транспортный уровень — CAPI, открывающий возможность для простого включения ускорителей непосредственно в шину PCI, что значительно упрощает процесс интеграции. CAPI позволяет осуществлять прямой обмен данными через память между Power8 и подключенными к нему GPU, FPGA, DSP; наличие CAPI позволяет этим ускорителям «чувствовать» себя так, как если бы они были размещены непосредственно на кристалле.
Серверы на базе Power8
В названиях первых моделей серверов на базе Power8 присутствуют символы: «S» — горизонтальное масштабирование, «8» — принадлежность к семейству Power8; а последние две цифры демонстрируют число посадочных мест-сокетов и высоту в U. Серверы могут работать под управлением двух или трех перечисленных ОС, а если обнаруживается символ «L», то этот сервер работает только с ОС Linux. Серверы без L высотой 2U могут работать под AIX и Linux, а высотой 4U — еще и под IBM i.
Серверы в конструктиве 2U могут иметь разную конфигурацию в зависимости от того, использованы ли оба сокета или нет. В односокетном варианте (S812) число ядер составляет 6 или 10, а максимальный размер памяти — 512 Гбайт. В нем есть шесть низкопрофильных адаптеров PCIe Gen3. При использовании обоих сокетов число ядер и размер памяти удваиваются до 12 и 20 и до 1 Тбайт соответственно, а количество адаптеров возрастает до 9. Модель S822L работает только под Linux, и на нее могут быть установлены гипервизоры PowerVM или PowerKVM. Серверы 4U S814 и S824 отличаются числом ядер, размером памяти и количеством адаптеров PCIe Gen3. В первом случае число ядер — 6 или 8, во втором — 12, 16 или 24, память — 500 Гбайт или 1 Тбайт, число адаптеров 7 или 11. Оба могут работать под всеми тремя ОС.
Использование гипервизора PowerKVM открывает возможности для привлечения широких кругов разработчиков ПО в открытых кодах. Исходный вариант Kernel-based Virtual Machine (KVM) — это свободно распространяемый гипервизор корпоративного уровня, обеспечивающий необходимые показатели производительности, надежности и масштабирования для выполнения серьезных нагрузок в среде Windows и Linux, но при этом он существенно экономичнее других коммерческих гипервизоров для x86.
Серверы на базе Power8 предельно точно отвечают текущим тенденциям — они все меньше предназначены для вычислений и все больше отвечают задачам обработки данных (невиданные прежде размеры памяти, высокие скорости операций ввода-вывода, многоядерность и многопоточность). Но, пожалуй, главным надо считать дополнение проверенной временем практики вертикального масштабирования новым для IBM пространством горизонтального масштабирования. То, что раньше ассоциировалось с массовыми рыночными серверами, сегодня реализуется на высокопрофессиональной технике с соответствующими эксплуатационными показателями — в условиях, когда труд стоит дороже оборудования, это обстоятельство становится критически важным.
Сильные стороны новых серверов: высокая производительность выполнения приложений от IBM; традиционно высокое качество поддержки; потенциал рынка различных ускорителей, подключаемых через CAPI; китайское влияние — наличие безымянных аналогов (белых ящиков) неплохого качества, но более дешевых, чем именитые аналоги. Однако есть и проблемы: незначительное пока количество партнеров, способных производить системы на чипе, большие размеры, высокая стоимость процессора, недостаток опыта построения гипермасштабируемых систем, наличие более развитой экосистемы x86 и консорциума ARM, имеющего уже трехлетнюю историю.
***
Как уже было неоднократно, история повторяется — когда Голубой гигант в силу своей массы не сразу реагирует на изменения и на начальном этапе формирования того или иного сегмента рынка пропускает вперед других игроков, но, осознавая прибыльность, мобилизует серьезные силы. Ощутив потенциал, открываемый облаками, мобильностью и социальными сетями, корпорация IBM предложила процессор Power8 и экосистему OpenPower, вместе обещающие рынку много интересного.
Литература
- Сергей Авдошин, Елена Песоцкая. Мобильные экосистемы // Открытые системы.СУБД. — 2014. — № 2. — С. 32–34. URL: http://www.osp.ru/os/2014/02/13040044 (дата обращения 18.06.2014).
- Дмитрий Волков. Стратегические ИТ: китайский сюрприз № 863 // Открытые системы.СУБД. — 2010. — № 3. — С. 32–37. URL: http://www.osp.ru/os/2010/03/13001879 (дата обращения 18.06.2014).
- Леонид Черняк. HPC — конец мелового периода // Открытые системы.СУБД. — 2010. — № 3. — С. 15–19. URL: http://www.osp.ru/os/2010/03/13001851 (дата обращения 18.06.2014).
Леонид Черняк (osmag@osp.ru) — научный редактор, «Открытые системы. СУБД» (Москва).