10 лет назад присутствие Интела в HPC ограничивалось, в основном, мощными процессорами и набором математических библиотек.
Интересно посмотреть, какими еще продуктами для HPC Интел оброс за прошедшее время. Не менее интересно спрогнозировать, куда компания будет двигаться дальше. Ниже я изложу свое видение. Приглашаю всех дополнять его с помощью комментариев и опросничков внизу поста.
Все аспекты HPC я разделю на сегменты, а потом мы посмотрим, как Интел представлен в каждом из них. Это разделение условно и отражает только то, как я сам привык смотреть на HPC. Возможно, существуют и более удачные схемы.
Итак, HPC – это (буду использовать английские названия):
- Compute
- Storage
- Interconnect
- Development tools
- Administrative tools
- Services
На текущий момент мне неизвестно о сервисах, которые Интел продавал бы в HPC-секторе напрямую. Если вы что-то знаете об этом, добро пожаловать в комменты!
Во всех остальных сегментах Интел, как оказывается, очень неплохо представлен:
- Compute:
- мощные процессоры Xeon
- (непонятно насколько мощные) ускорители Xeon Phi
- Storage:
- собственный дистрибутив параллельной файловой системы Intel Lustre
- SSD-диски и флеш-карты (складывается ощущение, что использование в HPC-сегменте именно интеловских дисков ограничено).
Буквально несколько дней назад поступили в продажу первые карты на базе технологии 3D XPoint
- Interconnect:
- собственная фабрика Omni-Path
- Development tools:
- Intel Parallel Studio
- либо по-отдельности: математические библиотеки, MPI-библиотека (основанная на библиотеке MPICH), компиляторы, профилировщики
- Administrative tools:
- Intel HPC Orchestrator (по сути, иначе упакованный OpenHPC)
Если я что-то упустил – прошу добавить в комментах.
Такие вещи, как HPC Orchestrator и Omni-Path, появились только в последние 1,5-2 года и позволили Интелу накрыть 2 дополнительных сегмента.
Интерес Интела к HPC легко понять. Сейчас бурно развивается множество вычислительно емких областей, вроде геномики или интернета вещей. В лабораториях по секвенированию человеческого генома могут генерироваться сотни гагабайт данных в час. То же самое можно сказать об обвешанных датчиками энергетических турбинах. И это не просто данные. Это данные, которые нужно «молотить» почти что в реальном времени. Причем на месте, там, где они генерируются. Ибо для отправки их на обработку в облако (например, от Amazon) требуются нереально толстые каналы и кошельки.
По прогнозам агентства IDC, каждый 4-ый сервер, проданный в 2018 году, будет продан в HPC.
Так что мотивация Интела вполне понятна. Но куда он будет двигаться дальше?
Здесь можно только догадываться. Как мне кажется, наиболее радикальные шаги Интел предпримет в сегментах Storage и Interconnect.
На текущий момент в HPC можно выделить два основных вкуса Storage: очень быстрый локальный (но небольшого объема) и основной (более медленный, зато большой). Первый принято называть Burst Buffer.
Подозреваю, что именно Burst Buffer будет представлять интерес для Интела в ближайшее время. И тут вполне могут выстрелить продукты на базе 3D XPoint. В частности, заявленная, но пока не вышедшая «память» Optane (которая не совсем память).
Однако само по себе железо в сегменте Storage не так интересно, как общая схема взаимодействия пользователей/приложений с ним. На текущий момент нельзя сказать, что концепция Burst Buffer в HPC четко очерчена. Пока что нет общего «стандартного» представления о том, что это такое. Каким образом связываются разные уровни иерархии систем хранения? Как HPC-приложения взаимодействуют с хранилищами данных? Как осуществляется интеграция с HPC-планировщиками задач?
Не факт, что на эти и подобные вопросы должен быть дан стандартный ответ. Но скорее всего, будет. И похоже, что у Интела есть свое видение этой проблемы. По крайней мере, в кулуарах прошедшей в конце прошлого года конференции Supercomputing’16 высказывались некоторые утечки/намеки на то, как Интел будет здесь действовать. Пока это только слухи. Поживем – увидим.
Тема хранения данных очень интересна. Однако думаю, что самые большие изменения нас ждут в сегменте Interconnect, которым Интел внезапно озаботился.
Многие эксперты ожидают, что высокоскоростные интерконнекты типа InfiniBand или Omni-Path, в итоге, вытеснят шину ввода-вывода. Сейчас шина выступает ненужным посредником между ними и устройствами, участвующими в обмене данными.
Для того чтобы убрать шину из цепочки передачи данных, потребуется прямая интеграция процессора и подсистемы памяти с фабрикой. Очень интересно посмотреть, как это будет сделано. И раз уж Интел начал играться с собственной фабрикой, то теперь ему прямая дорога к интеграции ее с процессором. Не говоря уже о том, что появляется свобода выбрать решение, которое вставит палки в колеса альтернативным фабрикам вроде InfiniBand.
Именно поэтому мне кажется, что Omni-Path не столько интересен как сиюминутная альтернатива InfiniBand, сколько как плацдарм для дальнейших изысканий Интела.
У меня, пожалуй, все. А что думаете вы по поводу Интела, HPC и «всего такого»?
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (22)
mark_ablov
22.03.2017 21:17Как бы есть уже qpi, встроенный в процы. Заменить физический слой, и в теории можно использовать вместо IB.
lelik363
22.03.2017 21:52+1Без внимания остался, на мой взгляд, такой важный сегмент как ускорители на FPGA, которые должны потеснить GPU.
Anton_Menshov
23.03.2017 01:36По ускорителям: для интела — это будет их семейство Intel Xeon Phi.
А также напрямую для FPGA — покупка Intel'ом Altera.
TechThink
23.03.2017 10:23Верно, этот вопрос я не рассмотрел.
Пока я не вижу широкого использования FPGA или ASIC в HPC. И у меня, к сожалению, нет пока интуиции в этом вопросе.
Хотя, вроде бы, для некоторых направлений HPC FPGA могут быть полезны. Например, в геномике. Вот, например, контора, которая пошла дальше FPGA и предлагает ASIC'и для стандартных геномных алгоритмов: http://www.edicogenome.com/dragen_bioit_platform/
Однако мне неизвестно, насколько хорошо у них идут дела.
Как думаете, какой будет стратегия Интела (и других игроков) в отношении FPGA? И как вся тема будет развиваться?Igor_O
23.03.2017 13:16В России эксплуатируется несколько HPC систем на FPGA. У нас было окошко на одну такую машину, но информации про нее никакой не было.
Ну и всякого почитать можно для начала на http://fpga.parallel.ru/
vtsymbal
22.03.2017 22:00Intel Parallel Studio
Тольк для HPС есть Intel Cluster Studio (включающая в себя MPI библиотеки, рантайм и анализатор производительности на кластерах).Psychopompe
22.03.2017 22:44К сожалению, иногда нужно изобретать велосипед: у нас кластер содержит ноды от amd и intel одновременно.
vtsymbal
22.03.2017 23:35Эт конечно чуть сложнее, но для большинства софта в Parallel Studio достаточно x86 совместимости (хотя конечно, в тех же библиотеках типа MKL производительность будет не интеловская)
Psychopompe
23.03.2017 00:59Можете что-то платформонезависимое посоветовать?
Я знаю, чтоpremature optimization is the root of all evilvtsymbal
23.03.2017 01:08Из библиотек производительности, рантаймов, или анализаторов? Просто уточнить, о чем именно мы говорим.
nikitadanilov
23.03.2017 01:10Из упущенного: DAOS, http://storageconference.us/2015/Presentations/Gorda.pdf.
TechThink
23.03.2017 10:33По-моему, это мертвая тема.
Хотя, несомненно, заслуженная :)
DAOS использовался в самой первой реализации Burst Buffer'ов совместно с EMC и HDF Group в 2012 году. Эту работу проспонсировал американский Department of Energy.
Насколько мне известно, до продуктизации DAOS дело никогда не доходило. Только экспериментальные наработки…
Спасибо, что вспомнили о нем!
TechThink
23.03.2017 10:39Кстати, откуда знаете про DAOS?
Вы занимаетесь системами хранения?nikitadanilov
23.03.2017 11:55Я занимался Люстрой в 2004-2009, потом другой системой, для exascale.
TechThink
23.03.2017 12:19Если не секрет, что делали для Люстры? И что за система для exascale?
nikitadanilov
23.03.2017 13:22Первое, что я сделал для Люстры был OSX клиент, но он так и не был выпущен, потому что Apple поменял VFS интерфейс в следующей версии Дарвина. Потом было много чего: новый сервер мета-данных (http://wiki.lustre.org/images/b/b8/LUG08-head-mds-danilov.pdf), новый клиентский IO стек (http://wiki.lustre.org/images/6/66/CLIO-TOI.pdf) и пр. Про новую систему (Mero) есть обзор: http://www.pdsw.org/pdsw-discs16/wips/danilov-wip-pdsw-discs16.pdf.
TechThink
23.03.2017 13:48О! Кажется, у меня наступило просветление. Мы с вами ужинали в SLC вместе с нашим общим другом Джоном Бентом
Igor_O
Система хранения в HPC — это отдельная большая интересная тема. Я в нее не лез, но от коллег всякого нахватался.
Если коротко, то очень быстрый локальный Storage — редко используется по одной простой причине. Локальный, даже пусть он будет SSD, по скорости сравним со скоростью центрального хранилища, подключенного по Infiniband. Т.е. не такой он и быстрый.
А дальше можно пропустить семь томов рассказа о том, какие задачи и как распараллеливаются и, в связи с этим, как и какое хранение оптимальнее использовать. Например, фермы рендеринга, часто используют локальное хранение в связи с тем, что задача хорошо параллелится просто раздачей вида «кадр на узел». Все данные для рендера кадра можно сразу загрузить локально, а потом три дня считать (утрирую). Но в результате — на рендер фермах обходятся минималистичным Ethernet'ом и обычными NAS/SAN, никаких инфинибэндов, никаких люстр.
А если что-нибудь на тему CFD… То упирается все в латентность интерконнекта и скорость файловой системы — итерации короткие, обмена данными между узлами и узлов с СХД — много.
Основная засада Storage в HPC, это частое почти полное отсутствие «случайного доступа» к системе хранения. Итерация отсчиталась… и _все_ узлы практически идеально одновременно лезут в одну и ту же папку положить промежуточный результат, а потом все узлы дружно, одновременно, лезут в одну и ту же папку за следующей порцией данных. И тут вдруг выясняется, что энтерпрайзная СХД со 100500 миллионов миллиардов IOPS… Зависает минут на десять и неспеша разгребает очередь запросов из-за того, что эти IOPSы рассчитаны на ситуацию, когда случайные процессы в случайные моменты времени лезут к случайным файлам.
Именно по этому чаще всего в HPC видна ситуация вида — локальные диски на 10-30% вычислительных узлов, СХД включенная в ту же высокопроизводительную фабрику и, третий уровень — «обычная» СХД на медленных больших дисках, подключенная через Ethernet, или, иногда, через FC к «голове».