Power8 проти x86, Відкриті системи

power8

Мікропроцесори архітектури х86 та Power донедавна майже не конкурували, співіснуючи у різних сегментах, проте з виходом Power8 ситуація може змінитися, а дискусія «RISC проти CISC» знову стати актуальною.

Успіх процесорної архітектури залежить сьогодні від створеної нею екосистеми [1]: наприклад, одна з причин довголіття х86 – гігантська екосистема, що склалася за 35 років існування цієї архітектури. Донедавна архітектура ARM, що залишалася широко відомою у вузьких колах, лише на кілька років молодша, але тільки мобільна революція дозволила їй вийти за межі вбудованих систем і скласти конкуренцію х86. Архітектура Power з'явилася ще пізніше, а її екосистема менша, і спроби її використання поза IBM нечисленні та не надто вдалі. У 2013 році, усвідомивши зміни, що відбуваються і слідуючи шляхом ARM, в IBM відкрили ліцензування свого нового процесора Power8, потенційно здатного скласти серйозну конкуренцію х86, в надії на створення більш потужної екосистеми.

Поява Power8 змушує повернутися до дискусії "RISC проти CISC", що розгорнулася в другій половині 90-х років і закінчилася перемогою х86 - пішли зі сцени DEC Alpha, MIPS, Motorola 88000, PA-RISC і багато інших менш відомих процесорних архітектур, не вважаючи , яка хоч і займає чимало, але все ж таки нішеве місце. Тільки 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, який оголосив про намір випускати процесори, став китайський стартап 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), регістр умов (Condition 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, що вже має трирічну історію.