Конференція Високопродуктивні обчислення, Київ, 13-15 жовтня 2014

Огляд Intel Xeon Phi: карти Intel у суперкомп’ютері TACC

Після восьми років розробки Intel, нарешті, анонсувала прискорювач Xeon Phi, який є результатом роботи проекту Larrabee. Не дивлячись на те, що його архітектура близька до графічних карт, основне призначення прискорювача  – це високопродуктивні обчислення.

Знайомство

Intel розраховує створити суперкомп’ютер з екзафлопсною продуктивністю до 2020 року. На даний момент найшвидші системи мають швидкість у десяток петафлопс, тобто у 100 разів меншу.

Для подібної мети конче необхідні прискорювачі. AMD та NVIDIA змагаються за право бути лідерами у застосуванні GPU до HPC. І кожна з компаній розуміє, що майбутнє у цій сфері залежить не тільки від процесорів Xeon чи Opteron.

Більшість аналітиків вважає, що майбутнє належить гібридним системам, що складаються з великих процесорів та маленьких спеціалізованих ядер.

Щоб наздогнати конкурентів та задовольнити зростаючий попит на обчислювальні потужності, компанія Intel представила прискорювачі Xeon Phi 5110P та 3100.

У прискорювач інтегровано 60 ядер x86 з 512-розрядними векторними модулями, які працюють на частоті більше 1 ГГц та забезпечують швидкість обчислень більше 1 ТФлопс подвійної точності. Вони розташовані на двохслотовій карті PCI Express зі спеціальною прошивкою на базі Linux.

Безумовно, ядра не розраховані на обробку основних задач, з якими стикаються процесори сімейства Core або Atom. Їх стихія – паралельні задачі, які здатні використовувати велику кількість ядер для максимального ефекту.

Для чого може знадобитись такий прискорювач? Прогнозування погоди, медичні задачі, дослідження в області енергетики, моделювання, фінансовий аналіз – тут вже використовуються апаратні засоби AMD та NVIDIA.

Intel робить те саме, проте її продукція не потребує переробки коду під CUDA або OpenCL. Таким чином, виробники ПЗ можуть оптимізувати свої програми під Xeon Phi, використовуючи C, C++, Fortran з певними доповненнями, які допомагають використовувати цей прискорювач.

Звичайно, на створення такого пристрою пішло чимало часу. Intel запустила проект Larrabee у 2004 році, коли зрозуміла, що тактова частота не може нескінченно зростати через обмеження матеріалу та енергоспоживання. Проект Larrabee знаходився у розробці кілька років, за цей час з’являлось чимало новин, як обнадійливих, так і навпаки.

Етапи розвитку даного проекту завжди були цікаві громадськості, оскільки компанія просувала концепцію багатьох інтегрованих ядер, що відрізнялась від рішень конкурентів.

Природно, що, коли з’ясувалось, що чипи Larrabee не дотягують до графічних процесорів AMD та NVidia, Intel змінила концепцію, залишивши ідею про власну відео карту, і, замість цього, сфокусувалась на високопродуктивних обчисленнях.

На прем’єру Xeon Phi Intel запросила кореспондентів до будівлі Texas Advanced Computing Center, щоб продемонструвати суперкомп’ютер Stampede, який використовує Xeon Phi. Але спочатку трохи про історію проекту Larrabee.

Larrabee: початок багатоядерної революції

Larrabee – це кодова назва сумновідомого проекту, у рамках якого Intel планувала розробляти графічні адаптери на базі багатоядерної архітектури та конкурувати з AMD та NVidia.

«Чому б не використовувати x86 ядра для усіх задач?» – запитала компанія і зробила специфічні програмні та апаратні оптимізації для сфери GPU в одній зі своїх архітектур. Величезні інвестиції у шину ISA x86 пояснюються зацікавленістю компанії у використанні існуючої технології для розв’язання проблем з продуктивністю у майбутньому.

Ідея Larrabee зацікавила багатьох. На жаль, 2009 року Intel повідомила, що Larrabee не буде доступною у роздрібній торгівлі. 2010 року проект не тільки закрили, а й перенесли Larrabee до сфери HPC.

У цій сфері дуже велика конкуренція. У NVidia більше досвіду у сфері обчислень на GPU, ніж у Intel, і недавно вона повідомила, що суперкомп’ютер Titan, створений компанією Cray для Oak Ridge National Laboratory, використовує карти Tesla K20 на архітектурі Kepler для збільшення продуктивності до 20 ПФлопс.

AMD теж намагається привернути увагу до карт FirePro, особливо на фоні визначної обчислювальної продуктивності архітектури Graphics Core Next. До того ж, процесори Opteron користуються успіхом. Той самий суперкомп’ютер Titan використовує 19 688 16-ядерних процесорів Opteron 6274.

Не дивлячись на те, що Intel вже давно є прибічником використання багатьох ядер у паралельних обчисленнях, її підхід переважно пов’язаний з CPU x86 загального призначення, які працюють спільно.

Тим часом, компанії AMD та NVidia конкурують за допомогою графічних архітектур, які, як виявилось, спритно справляються з обчисленнями. Intel трохи запізнилась зі своєю картою. Але вона робить ставку на розповсюдженість архітектури x86 для полегшення роботи розробників софту, багато з яких до сих пір намагаються розібратись у програмуванні для CUDA або OpenCL.

Архітектура Intel Xeon Phi

У корпорації Intel великий портфель технологій, розроблених її інженерами. Тим не менш, архітектура Many Integrated Cores - це дещо більше, ніж купа модифікованих процесорів Pentium, створених за 22-нм процесом.

Наведемо деякі характеристики:

  • Ядра х86 з підтримкою 64-біт
  • 4 потоки на ядро, до 61 ядра на прискорювач
  • 512 біт SIMD
  • 512 КБ кеш L2 на ядро (до 30,5 МБ на всю карту)
  • 6-8 ГБ пам’яті GDDR5 на карту
  • 22-нм тривимірні транзистори
  • Підтримка Red Hat Enterprise Linux 6.x або SuSE Linux 12+

Ви напевно помітили, що навіть у старшої моделі Xeon Phi значно менше ядер, ніж у звичайного графічного процесора. Але порівнювати ядра MIC та CUDA у співвідношення один до одного неможна.

Одне ядро Xeon Phi – це чотирипоточний модуль з 512-бітним набором команд SIMD. Для вірного співставлення не варто звертати увагу на маркетингове означення поняття «ядра».

Цікаво, що карта працює під керуванням Linux. Навряд чи на неї можна встановити пакет LAMP, але напевно знайдуться охочі спробувати. Однак на карту Xeon Phi можна увійти через SSH та дізнатись про неї більше інформації.

Скріншот сесії по SSH на дослідному зразку Intel Xeon Phi з початком та кінцем 6100 рядків команди cat/proc/cpuinfo

На наступній діаграмі, яка описує архітектуру ядра MIC, Intel стверджує, що менше двох процентів області ядра та кеша на кристалі характерні для логіки х86. Хоча процесори Xeon E5-2680, які працюють на суперкомп’ютері Stampede, складаються з 2,27 млрд. транзисторів, родовід х86 стосується процесора 8086 з 20-30 тисячами транзисторів.

Ядро Knights Corner

Звичайно, навіть сучасні десктопні процесори неймовірно складні, що підкреслює важливість отримання та передачі даних найбільш ефективним способом.

За аналогією з процесорами Sandy Bridge та Ivy Bridge, прототип під назвою Knights Corner використовує кільцеву шину, що дозволяє максимально ефективно використовувати пропускну здатність та доступну площу кристала. Оскільки кожне ядро має великий кеш, процесор здатний уникнути падіння продуктивності, пов’язаного з надходженням даних з пам’яті GDDR5.

Мікроархітектура Knights Corner

Апаратна частина Intel Xeon Phi

Починаєте плутатись у кодових назвах зі словом Knights? Intel часто критикують за повторення цього слова у своїх планах. Поки що маємо такий список: 

  • Knights Ferry (попередні моделі)
  • Knights Corner (продукція 2012-2013 рр., відома як Xeon Phi)
  • Knights Landing (продукція наступного покоління)

Моделі Xeon Phi 5110P та 3100 базуються на однаковому залізі, але мають характеристики, які краще підходять для певних цільових обчислювальних задач. У таблиці видно, що дві лінійки оснащені різними системами охолодження. 5110P має лише радіатор, а у серії 3100 є моделі з активним та пасивним охолодженням.

У 5110Р більше пам’яті та ширше шина. Тепловий пакет процесора з 60 ядрами на частоті більше 1 ГГц сягає 225 Вт. Хоча у цієї карти немає активного охолодження, 5110Р все-таки необхідний достатній повітряний потік для розсіювання такої кількості тепла.

Таким чином, карта призначена виключно для стійкових серверів, корпусні вентилятори яких продувають повітря через радіатор карти та випускають його через задню скобу.

Термічний пакет серії 3100 складає вже 300 Вт. Вони оснащуються виключно 6 ГБ пам’яті GDDR5. Всього на карті встановлено 57 ядер та 28,5 МБ кеша другого рівня.

Виникає питання, за рахунок чого TDP цих моделей вище? Швидше за все, вони працюватимуть на вищій тактовій частоті. За аналогією з 5110Р, Xeon Phi 3100 з пасивним охолодженням вимагатиме відповідної серверної системи охолодження. Однак модель з власним вентилятором цілком може підійти для робочих станцій.

Ось кілька фотографій карт Intel Xeon Phi.

Для ентузіаста Intel Xeon Phi виглядає як двослотова відеокарта з інтерфейсом PCI Express x16. Дві найбільших відмінності, принаймні з даного ракурсу, це відсутність вентилятора та наявність утримуючої скоби.

Великий та важкий радіатор під кожухом карти має ребра, які йдуть вглиб, вони дозволяють повітрю проходити крізь усю відеокарту. За специфікацією слота PCIe, потужність, яку він може забезпечити, складає лише 75 Вт. Цього явно недостатньо для даної карти, тому на ній додатково розміщені 6-ти та 8-ми контактні роз’єми живлення.

Продуктивність

Під час прем’єри представники Intel знову і знову повторювали про важливість оптимізованого ядра при порівнянні продуктивності звичайного CPU та прискорювача. Один з перших прикладів компанії включав частину коду на Fortran. Спочатку ми побачили результати неоптимізованого однопоточного коду, а потім оптимізованого для Intel Xeon Phi.

Другий варіант працював приблизно у 300 разів швидше. Пізніше Intel продемонструвала, чому це порівняння не було зовсім коректним. Коли той самий експеримент провели на двох процесорах Xeon E5, результат Xeon Phi був лише удвічі кращим.

Це схоже на хитрий маркетинговий хід. Компаніям на кшталт NVidia вигідно у якості бази запускати паралельний код в один потік, а потім запускати цей самий код на графічному процесорі, демонструючи нереальний приріст продуктивності.

Однак якщо дозволити оптимізованому коду повністю скористатись ресурсами багатоядерних CPU, реальна різниця буде значно меншою.

Потім Intel надала деякі результати покращення продуктивності, отримані при порівнянні двопроцесорних систем на базі Xeon та Xeon Phi.

Ймовірно, що у професійних фінансистів загорілись очі від таких цифр. Методи Монте Карло часто використовуються для розв’язання задач за допомогою введення невідомих даних та ймовірностей.

Після краху доткомів у 2001 році стали віддавати перевагу методу Блека-Шоулза. Це був непоганий вихід для середини 2000-х років.

Intel також запросила представників компанії Altair – постачальника програмних та апаратних комплексів, щоб натякнути, наскільки легко було переписати код на архітектуру карт Xeon Phi, та продемонструвала кілька прикладів таких задач як імітація краш-теста, в якому спостерігалось 2,5-кратне збільшення продуктивності.

Заяви Intel про продуктивність звучать правдоподібно. Оптимізація може по-різному відбиватись на продуктивності, і деякі додатки отримають більше прискорення завдяки Xeon Phi, ніж інші. Але, з урахуванням сказаного, 2-2,5-кратне прискорення у паралельних додатках можливе.

Оптимізація

Під час презентації у TACC Intel виділила два основні аспекти:

  • За допомогою Xeon Phi Intel більш ніж удвічі покращує продуктивність на 1 Вт енергії у додатках сфери HPC у порівнянні з сімейством процесорів Xeon E5.
  • При створенні коду для Xeon Phi розробники використовують такий само підхід, який вже застосовувався для роботи з багатьма ядрами процесорів Xeon.

З першим твердженням все зрозуміло. Подвійний приріст продуктивності в оптимізованих задачах при додаткових витратах 225 або 300 Вт – це зовсім непогано, особливо враховуючи, що тепловий пакет пари процесорів Xeon E5 складає 190-300 Вт.

Але оскільки Xeon Phi є картою PCI Express, можна також використовувати більше однієї такої карти разом з чипами Xeon E5. Мова йде про 2, 3 або навіть 4 карти у сервері з процесорами лінійки Xeon.

Така апаратна комбінація може дати значно більше продуктивності в одному сервері, більше продуктивності в межах певного рівня енергоспоживання або той самий рівень продуктивності при меншому об’ємі та енергозатратах.

Перевага Intel Xeon Phi пов’язана з відносно простою розробкою програм для максимального використання її потенціалу. Intel сподівається, що програмування для CUDA та OpenCL до сих пір знаходиться у зародковому стані, а ідея використання знайомих мов та інструментів сподобається розробникам софту.

Intel посяде сильні позиції, якщо корпорація зможе підтримати конкурентний рівень продуктивності. Універсальна модель програмування дозволяє розробникам використовувати основні та допоміжні ядра через набір команд х86, мінімізуючи час на створення оптимізованого коду.

Під час прес-конференції Intel поставили питання: «Якщо ви продаєте ці прискорювачі за ціною більше $2000, як наступні покоління студентів зможуть навчитись писати код під них?». На нього було одразу дві відповіді.

По-перше, Xeon Phi у роздріб не надійде, тому необхідне обладнання закуповуватимуть університети.

По-друге, перспективні програмісти, які працюють з процесорами Core i3 або старшими моделями, вже можуть на них освоювати нову модель програмування. Не забувайте, що більшість переваг багатоядерної архітектури пов’язані з простою оптимізацією коду під багатопоточність.

Intel байдуже, програмуєте ви на Core i3, Xeon E5 чи Xeon Phi. Компанії потрібен код, написаний для багатоядерних архітектур х86.

У 1990-х роках багатоядерних процесорів для настільних комп’ютерів не було. Сьогодні ця модель широко розповсюджена, і з часом буде тільки розвиватись.

Було б непогано, якби Intel могла віддавати браковані чипи Xeon Phi (з меншою кількістю робочих ядер) студентам. Це дозволило б їм підключатись до проектів, які вимагають аналізу великих обсягів даних.

Багато співробітників та студентів Техаського університету в Остині (University of Texas at Austin) вже з нетерпінням чекають доступу у TACC до суперкомп’ютера Stampede, оснащеного Xeon Phi.

Екскурсія по суперкомп’ютеру Stampede у TACC

Intel хотіла продемонструвати, що Xeon Phi – це не просто продукт, який рятує репутацію компанії та виправдовує останні 8 років розробки, починаючи з проекту Larrabee.

Замість того, щоб просто оголосити про появу нових карт, компанія запросила журналістів на презентацію процесу побудови суперкомп’ютера Stampede. На момент візиту вже було встановлено більше двох тисяч таких карт.

У процесі установки кожна карта встановлюється у спеціальне шасі, а потім монтується у сервер Dell. Кожен вузол PowerEdge C8220x “Zeus” містить два процесора Xeon E5-2680 та 32 ГБ оперативної пам’яті. Ось так виглядає сервер.

Підвішена карта у верхньому лівому куті  – підтримка Infiniband. Два роз’єми LGA 2011 прикриті пасивними радіаторами та оточені чотирма слотами DIMM. Кожен слот DIMM з ECC підтримує 4 ГБ пам'яті. Праворуч знаходиться місце під 2,5-дюймовий накопичувач. У Stampede стоять звичайні жорсткі диски.

Сині світлодіоди всередині деяких вузлів – це карти Xeon Phi.

Прискорювачі Intel забезпечують приблизно 7 з 10 ПФлопс продуктивності суперкомп’ютера.

Але Stampede складається не лише з тисяч процесорів та прискорювачів. Для віддаленої візуалізації встановлено 128 карт NVidia Tesla K20 разом з 16 серверами із загальним обсягом пам’яті 1 ТБ та двома GPU для аналізу великих обсягів даних. Насправді, на додачу до всього перерахованого, до складу суперкомп’ютера входить безліч інших компонентів.

Мережа

У системах з багатьма вузлами досить складно забезпечити ефективний зв’язок між ними. TACC Stampede працює на обладнанні Mellanox Infiniband FDR, яке має малі затримки та забезпечує прямий доступ до пам’яті. Оптоволоконні кабелі від серверів підключені до комутатора, вбудованого до кожної стійки.

У суперкомп’ютері всі вузли пов’язані центральними комутаторами. На фотографії видно ще не до кінця завантажений з’єднаннями комутатор Mellanox.

Великий радіус згинання дозволить уникнути переламу кабелю. Серед 120 кілометрів проводу знайти неробоче з’єднання буде непросто.  

Ось так виглядає повністю заповнений комутатор.

Stampede: сховище даних

Обсягів окремих дисків у кожному вузлі недостатньо для збереження величезних обсягів даних, необхідних для роботи суперкомп’ютера. Тому встановлюються додаткові вузли збереження.

Ми очікували побачити ряди відсіків для дисків з можливістю гарячої заміни, але були вражені тим, що побачили. Принаймні, поки нам не пояснили конфігурацію цих дисків.

Звичайні 2,5-дюймові диски, розміщені по два у товщину та по 8 рядів у довжину, забезпечують сховище обсягом більше 14 ПБ разом з оперативною пам’яттю 270 ТБ. Ці полиці можна витягнути для заміни дисків без відключення кабелів. Дійсно елегантне рішення.

Дякуємо TACC та Техаському університету в Остині за відмінно проведений захід та можливість добре роздивитись Stampede.

Конкуренти

Прем’єру Intel Xeon Phi варто розглядати у контексті інших тенденцій, які відбуваються у сфері HPC.

NVidia

NVidia рухається у кількох цікавих напрямках. По-перше, Tegra 3. Більше всього у платформі приваблює чотири плюс одне ядра ARM та GPU з низьким тепловим пакетом. Вони забезпечують мінімальне енергоспоживання навіть на застарілому 40-нм техпроцесі.

Дивлячись на такі приклади, як Mont-Blanc Project у Суперкомп’ютерному центрі Барселони, стає зрозуміло, що існують можливості для створення потужних кластерів на базі енергоефективного обладнання. Однак компанії NVidia ще необхідно впровадити ядра з підтримкою ECC.

На прикладі суперкомп’ютера Titan у Національній лабораторії Оук-Рідж, ми бачили, як впровадження NVidia CUDA дало видатні результати, особливо враховуючи, що продуктивність окупила додаткові витрати на розробку. Якщо NVidia продовжить демонструвати переваги своєї архітектури та платформи, то їй буде значно простіше переманити незалежних розробників на свій бік.

AMD

Завдяки своїй різноманітності, у AMD, напевно, найбільш цікаве портфоліо HPC-компонентів.

Для початку компанія має Socket G34, добре відомий своїми дешевими 4-процесорними конфігураціями. Компанія Cray часто використовує Socket G34 та застосувала його у суперкомп’ютері Titan (Opteron серії 6200). У серії Opteron 6300 також досить перспективне майбутнє.

У AMD є також про що розповісти у сфері GPU обчислень. У настільному сегменті APU Fusion вже демонструє потенціал ядер х86 та графічних ресурсів на одному кристалі. Враховуючи модульність чипів Bulldozer, неважко уявити, що компанія може замінити загальний блок обчислень з дійсними числами потоковими ядрами для оптимізованих під OpenCL додатків.

AMD рухається і в іншому напрямку. Купуючи SeaMicro, компанія змогла дещо протиставити перевагам Intel у хмарних обчисленнях та буде впроваджувати технологію Freedom Fabric у наступних поколіннях серверних процесорів з 64-розрядними ядрами ARM.

HP / Dell

HP та Dell – дуже сильні гравці у сфері HPC. Наприклад, Stampede переважно складається з серверів Dell. У HP та Dell налагоджені взаємозв’язки з багатьма постачальниками, і вони мають доступ до багатьох технологій. Обидва виробника, як і AMD, придивляються до ARM для хмарних обчислень та HPC.

У випадку Stampede, вузли Dell, у більшій частині, засновані на залізі Intel. Враховуючи сказане, у портфоліо Dell та HP є і AMD, і ARM, і, оскільки вони можуть запропонувати різноманітні технології, у цих компаній величезні обсяги продажів.

IBM

Неможна говорити про суперкомп’ютери, не згадуючи про IBM. Зрештою, завдяки архітектурі IBM PowerPC, суперкомп’ютер Sequoia посів першу сходинку рейтингу Топ500 з результатом 16,32 ПФлопс.

Розробляючи архітектуру Cell, яка не тільки прославилась у PlayStation 3, але й забезпечила ще одне перше місце у рейтингу Top500 2008 року, IBM впровадила ідею використання невеликих спеціалізованих ядер для збільшення ефективності обчислень.

Перед лицем PowerPC, 64-розрядних ARM та технологій GPU, пропаганда х86 з боку Intel цілком виправдана (принаймні з точки зору її бізнесу).

Прискорювач Intel Xeon Phi важливий тим, що допоможе розробникам зекономити час на вивчення нових мов та інструментів. Він пропонує рішення з багатьма ядрами х86, яке працює по аналогії з іншими CPU компанії, принаймні, з програмної точки зору.

Теги: GPU, HPC, Intel, Knights Corner, Xeon Phi, високопродуктивні обчислення, графічні прискорювачі, мережа, продуктивність, сховище

Матеріали за темою:

Коментарі