Samara Portal Technology, Computers

Самарский портал "Технологии, компьютеры"

21 июня 2010 года недалеко от новосибирского Академгородка мне довелось неформально пообщаться с Андреем Сёминым, HPC Technology Manager, EMEA (руководителем направления высокопроизводительных вычислений ) Intel Corporation. С разрешения г-на Сёмина камера была включена, и записанный разговор был оформлен в виде интервью.

Владислав Бояров: Как соотносятся сегодня специализированные и универсальные суперкомпьютеры?

Андрей Сёмин: Последняя специализированная машина – это Blue Gene. До этого были специализированные компьютеры GRAPE, Янус.

Андрей Сёмин, HPC Technology Manager, EMEA (руководитель направления высокопроизводительных вычислений ) Intel Corporation. 21 июня 2010 г. Фото: Владслав Бояров.

Но специализированными здесь были математика, архитектура самого компьютера, а процессоры были стандартными. Почему не разрабатываются процессоры под конкретную задачу?

Потому что разработка процессора стоит несколько миллиардов долларов, и трудно представить себе одну задачу, на которой бы эта разработка окупилась.

Я считаю, что существуют приоритетные правительственные задачи, и главная цель суперкомпьютинга в выполнении этих задач. Подобные задачи на маленькие расходы не рассчитаны.

Я не соглашусь с этим подходом: правительства обязаны экономить деньги точно так же, как и все остальные структуры. Кроме того, высокопроизводительные вычисления применяются и в коммерческих структурах, таких как производственные и нефтедобывающие компании, банки.

Хорошо, но ведь существуют задачи, для решения которых многомиллиардные расходы подразумеваются. Много миллиардов для великой страны – это ничто. Предположим, что существуют исследования, которые принесут стране господство над миром, и здесь уже стоимость таких исследований не имеет большого значения.

Дело не только в финансовых затратах. Естественное развитие информационных технологий, ориентированных на универсальное применение, идёт такими быстрыми темпами и использует для своего развития такие колоссальные ресурсы массового рынка, что подобный узкосрециализированный проект на момент своего завершения рискует отстать от достижений массовой ИТ-отрасли. Собственно, поэтому все проекты секретных, военных, специализированных компьютеров и потерпели неудачу. Реализацию закона Мура, по которому производительность удваивается каждые 18 месяцев, сумела осуществить только открытая система.

Андрей, а можно ли сформулировать вопрос иначе: есть алгоритмически распараллеленная задача, и есть задача, не поддающаяся алгоритмическому распараллеливанию, которую Intel пытается распараллелить аппаратно-программным путём. Если задача распараллелена, то, грубо говоря, потеть уже не надо: потоки передаются на независимые серверы кластера. Можно ли сказать, что задача суперкомпьютера – распараллелить внутри себя нераспараллеленную задачу?

Задача суперкомпьютинга – создать программно-аппаратный комплекс, способный решить ресурсоёмкую задачу. Сюда входят как сам кластер, так и программное обеспечение. Всё начинается не с процессоров – процессором скорее как раз заканчивается. Всё начинается с задачи, которая не решается на смартфоне или ноутбуке. То есть, если появляется задача, которую решить на десктопе или доступном сервере нереально, тут же появляется потребность в высокопроизводительных вычислениях.

Здесь примерно понятно. Но сейчас дело обстоит так, что любой суперкомпьютер является многопроцессорным, и процессорные ресурсы должны быть консолидированы, то есть процессоры должны работать параллельно. Сейчас и на суперкомпьютере, и на обычном сервере могут стоять одни и тот же процессоры, разница только в их количестве и способе коммутации.

Позвольте один пример. Завтра, 22 июня, на мероприятии «День суперкомпьютерных технологий» состоится презентация о выравнивании цепочек протеинов, которые могут быть найдены в последовательностях ДНК. У одного из наших клиентов расчёт по их базе данных составлял около 10 дней. Нам, путём распараллеливания, удалось сократить время счёта в 9 раз, т.е. до одного дня, на том же «железе». Реально это дало изменение подхода и способа их работы.

То есть, вы чисто технически решили вопрос и сократили время счёта. А какой эффект это принесёт конкретному пользователю, как это отразилось на их бизнесе или научных исследованиях – это уже не ваша, а их забота. Честно говоря, мне это даже не интересно, поскольку для того, чтобы оценить эффект, нужно очень глубоко погрузиться в их область деятельности.

Вопрос может быть наивный, но я никак не могу для себя сформулировать: что же такое суперкомпьютер? А пока я не сделаю этого, то не смогу и изложить читателю понятным общедоступным языком. Если суперкомпьютер, это такое устройство, которое может всеми своими процессорами одновременно решать нераспараллеленную задачу…

Не так. Как говорил академик Лебедев, суперкомпьютер – это всё, начиная от чистых комнат и заканчивая сверхточными алгоритмами, то есть это не только «железо» (в частности, процессоры) или программное обеспечение, а комплекс всех этих вещей. Просто сделать «параллельное железо» – это только половина, или даже меньше половины пути. Многие проблемы можно решить только в комплексе с распараллеленным программным обеспечением.

Хорошо. Суперкомпьютер имеет какую-то свою операционную систему, Middleware (промежуточное ПО), которые позволяют консолидировать все имеющиеся ресурсы для оптимального выполнения сложной задачи. Это будет корректной формулировкой?

Именно. Суперкомпьютер – это комплекс программно-аппаратных ресурсов работающих над выполнением одной задачи, решить которую другими способами не представляется возможными или такое решение не будет эффективным.

Иначе говоря, суперкомпьютер – это большая сложность протекающих вычислительных процессов (чем и занимается Intel) плюс некая технология по консолидации всех ресурсов.

Раньше при обсуждении сложности строительства суперкомпьютеров основной упор делался на аппаратные проблемы. Сейчас, по мере решения аппаратных проблем, на первый план выходит эффективность реализации программного обеспечения суперкомпьютеров.

Значит, получается так: Intel постоянно совершенствует как сами процессоры, так и компьютерную архитектуру. Процессоры становятся всё мощнее, они повышают производительность как серверов, так и десктопов (мы же знаем, что Nehalem устанавливается теперь везде). Возникает вопрос: если мы возьмём, например, суперкомпьютер «Ломоносов» или суперкомпьютер «Чебышёв» – что здесь конкретно сделано создателями конечного продукта? Потому что есть такое ощущение, что как в электрическом аккумуляторе для повышения его мощности просто набрано некоторое количество секций, так и здесь происходит соединение отдельных модулей по стандартам, разработанным производителями этих модулей. То есть остаётся не совсем понятным – а что же эти люди сделали своими руками и головой.

Каждый суперкомпьютер, входящий в первую сотню мирового рейтинга является уникальным изделием. Каждый из них имеет свою неповторимую конструкцию. Достаточно большое количество людей по всему миру пытаются создать компьютеры, работающие быстрее других. Через несколько лет эти уникальные изделия идут в тираж и в серию, но к этому времени они уже отстают от лидеров, которые уже на тот момент являются уникальными. В реальности все эти проекты собирают большое количество специалистов разных профилей, которые пытаются решить некоторые прикладные задачи путём создания суперкомпьютеров. Кто-то создаёт «железо», мы стремимся оснастить его своими процессорами, создать или оптимальным образом использовать Middleware, помочь решить проблемы питания и охлаждения суперкомпьютера. Например, суперкомпьютер «Ломоносов» потребляет несколько мегаватт электроэнергии – это на уровне посёлка, сконцентрированного в небольшом помещении. Также важный параметр – надёжность работы. Даже теоретически вероятность того, что хоть один из миллионов компонентов входящих в состав суперкомпьютера будет давать сбои достаточно высока. Поэтому, консолидируя работу всех узлов, одновременно надо предусмотреть самовосстановление системы в случае сбоев отдельных её частей.

Задачи подвода энергии и отвода тепла я бы всё же отодвинул немного в сторону, поскольку они актуальны как для суперкомпьютеров, так и для большого количества обычных серверов, сконцентрированных в центрах обработки данных. То есть эта задача присутствует не только в случае высокопроизводительных вычислений, а носит более общий характер.

Сегодня мы видим, что основная проблема не в объединении большого количества процессоров, а в обеспечении отказоустойчивости их совместной работы, и эта задача решается множеством способов и приёмов. Надо сказать, что решается эта проблема не только аппаратными, но и программными средствами. В том же «Ломоносове» около 10 000 четырехядерных процессоров, а общее количество электронных компонентов превышает миллион. Добиться их безотказной работы в течение длительного периода времени очень сложно, тем не менее, разработчики обязаны обеспечить безотказную работу всего суперкомпьютера. Здесь уже будет корректным сравнение суперкомпьютера с человеческим организмом: часть клеток в нём работает неправильно, клетки постоянно умирают, однако весь организм продолжает функционировать. Создание таких систем и является задачей разработчиков суперкомпьютеров.

По Вашей оценке на сколько процентов эта часть проблемы решается корпорацией Intel, специалисты которой дают общие рецепты, и на сколько – создателями конечных изделий? Мы ведь знаем, что Intel занимается не только созданием отдельных компонентов, но и платформ в целом, наверняка есть и суперкомпьютерная платформа.

Высокопроизводительные вычисления (HPC) – это есть некая вертикальная структура. Соответственно и создание суперкомпьютера – вертикальная интеграция различных решений. Однако это не подход компании Intel, начиная со времени её существования. Мы не пытаемся стать вертикальной компанией, а стремимся создать экосистему, в которой существовали бы компании различных направлений и уровней интеграции. Создать экосистему значительно труднее, чем всё сделать самим, поскольку независимые компании проводят собственную политику, не всегда совпадающую с нашими стремлениями. Однако этот путь, как показали 40 лет нашего существования, оказывается и более эффективным. Результатом такой работы является гибкость и масштабируемость наших решений. Мы не пытаемся решать проблемы в одиночку, а всегда делаем это вместе с нашими партнёрами: производителями аппаратных средств, программного обеспечения и интеграторами. Это достаточно большое сообщество людей, работающих внутри одной индустрии. Вместе с нами в ней работают такие компании, как НР, IBM, SGI, которые делают огромную вертикальную работу внутри одной компании.

Как-то я проводил анализ динамики доли различных компаний в TOP-500 высокопроизводительных компьютеров. В 1993 году наибольшая доля принадлежала компании Cray, а суперкомпьютеров на платформе от Intel тогда было совсем немного. К 2008 году Intel уже лидировал.

В середине 90-х появился Pentium Pro – первый процессор, который реально стал массовым серверным процессором. Уже тогда формировался подход компании Intel: мы создаём платформу и отдаём её производителям конечных изделий, и они зачастую делают с нашей платформой такие вещи, до которых мы возможно сами и не додумались. Какие бы ни были умными мы с коллегами, но подобных людей, работающих вне Intel, значительно больше. Те варианты использования процессоров, которые мы не видим, они-то очень часто и придумывают. Со временем мы всё больше убеждались в правильности этого подхода: вместо того, чтобы всё сделать в рамках нашей компании и либо попасть в точку, либо промахнуться, нам проще передать разработку множеству независимых производителей, каждый из которых сможет найти свежие решение.

Но вы ведь не просто отдаёте…

Конечно, мы с ними активно работаем, поддерживаем, но не пытаемся сделать всё за них и не навязываем свою точку зрения.

Откровенно говоря, я восторгаюсь корпорацией Intel. И в первую очередь не процессорами или платформами, а подходом, философией. Мой восторг – это восторг конструктора. Если взять любую область человеческой деятельности – автомобили, стиральные машины, телевизоры, то везде мы увидим только логотип создателя конечного изделия и никогда – создателя компонентов. Кто делал для автомобиля свечи, кто делал резину – это дело десятое. Компьютеры – это единственная область, где мы в первую очередь обращаем внимание на платформу, а уже потом – на производителя конечного изделия. И вот этот переворот в сознании, эта техническая революция не то, чтобы прошла совсем незамеченной, но, на мой взгляд, она сильно недооценена в массовом сознании.

Это произошло в момент, когда появился персональный компьютер. Согласен, тогда можно было применить стандартный подход…

Как это сделал Apple…

Да, это типичная вертикально интегрированная компания с полным спектром производства продуктов внутри себя. Хочу сказать ещё одну вещь: мы не ищем лёгких путей и не стремимся фокусироваться на краткосрочной прибыли. Очень часто мы делаем поступки, которые с точки зрения обыденного здравого смысла (то есть краткосрочной прибыли) кажутся бессмысленными. Например, до 1999 года в компании Intel было подразделение Supercomputer System Division. С 1996 по 1999 год оно делало систему Paragon, и создало суперкомпьютер ASCI RED, ставший первым суперкомптьютером достигшим производительности в 1 ТФЛОПС, и занимавший 1-е место в Тор500. Это было коммерчески успешное подразделение, приносящее прибыль, но, тем не менее, оно было расформировано, поскольку противоречило нашей стратегической модели бизнеса. Скорее, это подразделение было ликвидировано именно по причине слишком большой своей успешности, поскольку вместо того, чтобы создавать концепты и прокладывать путь независимым производителям (OEM) суперкомпьютеров, получалось, что оно с ними конкурировало.

Некоторые аналитики в тот момент говорили: это безумие…

Вспоминается знаменитая фраза «Не могу поступиться принципами». Да, именно эта последовательная стратегия и внушает уважение.

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

Можете ли Вы что-нибудь сказать об альянсе Cisco, VMWare и EMC (несмотря на то, что VMWare формально является подразделением EMC, они позиционируются как самостоятельный бренд) и продукта Unified Computer System (UCS)?

Это хороший пример создания инновации на платформе Intel. Мы здесь видим один из подходов, когда на базе известной всем платформы люди создают инновационные решения, добавляют к известному качеству новое. Подобное решение является примером того, что платформа позволяла сделать, но это не лежало на поверхности и в самой платформе не подразумевалось. Но мне бы не хотелось выделять Cisco среди остальных производителей больших систем на платформе Intel. Интересные решения есть у компаний HP, IBM и других создателей серверов стандартной архитектуры, а также у меньших по размеру производителей суперкомпьютеров: размер компании не самое главное для создания инновации.

Остается только пожелать успехов корпорации Intel, её многочисленным партнёрам и пользователям, то есть всем нам!

Сергей Курт-Аджиев: «В каждом регионе есть свой Серпухов»

Сергей Курт-Аджиев: «В каждом регионе есть свой Серпухов». Интервью Владислава Боярова.

«Код ИБ» – 2017 в Самаре: безопасность и безопасность

«Код ИБ» – 2017 в Самаре: безопасность и безопасность. Статья Владислава Боярова