С купюрами и редакторскими правками материал, представленный на этой странице, помещен на сайте журнала "Наука и жизнь"(http://www.nkj.ru), для которого и был написан. |
Ответы С.М. Абрамова для Интернет-интервью на сайте научно-популярного журнала "Наука и жизнь"
1.Сергей Михайлович, объясните, пожалуйста, что такое суперкомпьютеры? Что является существенным признаком, отличающим их от "просто компьютеров"? (Редакция журнала "Наука и жизнь")
В каждый момент времени развития компьютерных технологий производители массово выпускают обычные компьютеры, производительности которых хватает для большинства "обычных задач". И таких компьютеров выпускается много - миллионы штук.
В то же время, есть некоторое количество пользователей, которым надо решать
задачи высокой сложности, и для их решения выпускаются высокопроизводительные
вычислительные установки. Таких установок выпускают значительно меньше, чем
обычных компьютеров - десятки тысяч штук.
В то же время, есть некоторое количество пользователей, которым надо решать
суперсложные задачи, и для их решения выпускаются суперкомпьютеры - самые мощные
компьютеры на сегодняшний момент развития технологий.
Можно ли как-то точно определить, что есть суперкомпьютер, а что есть высокопроизводительная установка? Ученые и специалисты спорят о критериях до сих пор. Но в одном нет сомнения: если в каждый момент времени взять 500 самых мощных машин мира, то все специалисты согласятся, что их можно смело называть суперкомпьютерами. Так что, вполне можно придерживаться такого определения данного термина.
C 1993 года в мире ведется рейтинг пятисот самых мощных компьютеров - TOP-500 (http://www.top500.org). Рейтинг обновляется 2 раза в год - в июне и ноябре. На сайте TOP-500 есть база данных всех выпусков рейтинга с 1993 года, есть очень удобные средства поиска (http://www.top500.org/sublist/) в этой базе данных. Легко, например, узнать, сколько суперкомпьютеров было в такой-то стране за весь период существования рейтинга или в тот или иной год. Легко узнать, сколько суперкомпьютеров попало в этот список (за все годы существования рейтинга, или в некоторый год) от некоторого производителя: IBM, HP, и т.д. Можно узнать, сколько было отечественных разработок - наши производители еще не такие именитые, как IBM, и такие суперкомпьютеры отмечают в графе "Производитель" словами "собственная разработка" - "self-made".
Пользуясь поиском по базе данных Top-500, легко узнать, что на территории СССР за все время существования рейтинга находилось семь суперкомпьютеров - пять в России и два в Республике Беларусь. Эти суперкомпьютеры в разные годы 24 раза занимали различные места в рейтинге (18 раз на счету у России, 4 раза - у Беларуси). Четыре из семи этих суперкомпьютеров были Россией просто куплены у западных фирм: IBM, Hewlett-Packard, Sun Microsystems. А оставшиеся три суперкомпьютера имеют в рейтинге Top500 пометку "self-made" - "собственная разработка":
Кроме определения "суперкомпьютер, значит, самый мощный сегодня компьютер", еще правильно посмотреть, чем же суперкомпьютеры отличаются по устройству от простых (персональных) компьютеров? То есть, надо сказать про архитектурные особенности суперкомпьютеров. Сегодня все суперкомпьютеры - это мультипроцессорные системы, т.е. это системы, в которых не один и не два процессора (как в большинстве персоналок), а очень много - сотни, тысячи, до десятка тысяч процессоров. Архитектура у суперкомпьютеров бывает разная: векторная, конвейерная и др. Но на сегодняшний день самая популярная архитектура суперкомпьютеров (72% в списке TOP-500) - это кластеры.
Кластерная архитектура - это когда суперкомпьютер создается по следующей схеме:
Конструктивно все это выглядит довольно внушительно: даже если мы рассматриваем суперкомпьютеры с 100 до 500-го места списка TOP-500, то это от 2-х до 10-ти шкафов, в которые компактно упакованы вычислительные узлы. Первая сотня в списке TOP-500 - это десяток -десятки шкафов оборудования. А первая десятка машин списка TOP-500 - это огромное помещение, заставленное сотней шкафов. Иногда для этого даже строят специальное здание, как это было для известного японского суперкомпьютера Earth Simulator - сегодня он занимает седьмое место в Top500, а ранее долгое время (с ноября 2001 по июнь 2004 года, шесть выпусков рейтинга Top500!) он был самым мощным суперкомпьютером в мире.
Рис.1 Японский суперкомпьютер Earth Simulator (3-ий этаж компьютера)
В этом здании первый этаж занимает электростанция - Earth Simulator потребляет шесть мегаватт электроэнергии, второй этаж занимают только коммуникации - кабельные сети, третий этаж (показан на рисунке) заставлен полностью шкафами с оборудованием. Размеры каждого этажа 65х50 метров, высота - 7 метров.
А, скажем, наш самый мощный суперкомпьютер отечественной разработки "СКИФ К-1000" требует помещения в 20 кв. метров для своего размещения, это 8 шкафов (которые занимают около 5 кв.м), 288 вычислительных узлов, 576 процессоров. Кроме узлов в шкафах тянутся 2,5 километра кабеля с около 2000 разъемов, которые надо было, ничего не напутав, правильно подсоединить. Потребляет эта установка 89 киловатт.
Вот выдержка из некоторой статьи о суперкомпьютере "СКИФ К-1000": ":по площади эта установка занимает всего 5 кв. метров, легко умещаясь в восьми шкафах. Высота шкафов - 2 метра. Понятно, что у такой машины должна быть весьма солидная система воздушного охлаждения. Она прогоняет через шкафы 16000 куб. метров воздуха в час.
Сборщикам суперкомпьютера пришлось изрядно потрудиться: ведь только во время прокладки коммуникаций им надо было без единой ошибки заботливо уложить в специальные короба 900 компьютерных кабелей (общей длиной почти в 2,5 км!) и подключить 1800 разъемов. Эти коммуникации соединяют все части компьютера в единый организм."
Несколько слов о том, что же такое производительность суперкомпьютера. Измеряется она в количестве вычислительных арифметических операций, выполняемых суперкомпьютером за одну секунду. Современные суперкомпьютеры способны выполнять миллиарды (GFlops) и триллионы операций в секунду (TFflops).
Здесь надо отметить, есть два вида производительности: пиковая (теоретическая, предельная) производительность и реальная.
Пиковая производительность измеряется так:
А для измерения реальной производительности берется задача, про которую известно, сколько команд выполняется в процессе решения данной задачи. Задача решается на суперкомпьютере и замеряется время решения. Затем количество команд делится на время - мы получаем реальную производительность на данной задаче.
Так список "TOP-500" ранжирует суперкомпьютеры по реальной производительности, измеренной на задаче "Linpack" - это задача, решающая систему линейных уравнений (с тысячами неизвестных, с тысячами уравнений в системе).
Отношение реальной Linpack-производительности к пиковой производительности -коэффициент полезного действия суперкомпьютера. Он показывает, насколько вам удалось выбрать все возможные ресурсы всех процессоров для решения задачи. Как правило, с списке TOP-500 КПД равен 50-60%. Установок с КПД 80% и выше - единицы. КПД говорит об уровне научной разработки, это оценка интеллектуальной составляющей каждого суперкомпьютера.
Говоря о разнице между суперкомпьютерами и обычными компьютерами, надо отметить и использование специализированного программного обеспечения. Операционная система суперкомпьютеров - это, как правило, Linux, либо другие виды Unix-систем. При составлении суперкомпьютерных программ используются специальные библиотеки для организации параллельного счета - чаще всего используется библиотека MPI.
Вот такие характеристики - суперпроизводительность, особенности аппаратной архитектуры, особенности программного обеспечения - и отличают обычный компьютер от суперкомпьютера.
На эту же тему полезно посмотреть в Интернет раздел "Суперкомпьютерная азбука".
2. Каковы возможности России на своих мощностях и капиталовложениях поставить конвейер по производству если не суперкомпьютеров, то хотя бы домашних ПК, или же комплектующих к ним? (Дмитрий Вертело)
Здесь мы видим сразу несколько вопросов. Давайте их разделим и на каждый я дам ответ.
Первый вопрос про комплектующие. Комплектующие (микросхемы, процессоры) для компьютеров выпускает электронная промышленность. В свое время у нас за это отвечало отдельное Министерство - Министерство электронной промышленности СССР (МЭП). А за выпуск изделий вычислительной техники из комплектующих - другая промышленность. В свое время за это отвечало Министерство радиопромышленности СССР (МРП). В соответствии с вопросом Дмитрия надо понять, можем ли мы сейчас (по ресурсам и по капиталовложениям) иметь свой собственный МЭП и МРП. И хотя я не считаю себя специалистом в электронной промышленности, попробую ответить.
Заметим, что многие страны выпускают компьютеры, при этом не имея своей электронной промышленности, выпускающей комплектующие для компьютеров. И никто не чувствует себя ущербным, никто от этого не страдает. Это отражение мирового разделения труда.
Например, посмотрим на список Top-500: около 15 стран (в разные выпуски рейтинга по-разному) делают суперкомпьютеры. A фирм-производителей процессоров для суперкомпьютеров всего восемь (или около того): AMD, HP, IBM, Intel, Cray Inc, Hitachi, NEC, Sun Microsystems. - Из трех стран, не из пятнадцати! При этом, сегодня 330 машин из 500 сделаны на процессорах фирмы Intel, а в совокупности процессоры Intel, IBM, AMD и HP (все фирмы из одной страны - из США) составляют более 95% - и по количеству всех процессоров в списке Top500, и по производительности.
Остальные страны-производители суперкомпьютеров, закупают готовые, разработанные в других странах (как правило, в США) процессоры и строях из них свои суперкомпьютеры.
Так что, нужен ли свой собственный мощный МЭП России или мы будем использовать мировое разделение труда - этот вопрос должно решать государство (а в конце концов - народ). Иметь свою электронную промышленность - дело довольно хлопотное и накладное. А не иметь - мы попадаем под зависимость от поставок комплектующих. Вот и надо на государственном, политическом уровне проработать этот вопрос и принять решение.
Если мы обеспокоены возможными проблемами с поставкой комплектующих, с возможными ограничениями (эмбарго) на передовые электронные изделия, с информационной безопасностью, то надо принимать решение, что нам нужна собственная электронная отрасль. Но тогда надо делать адекватные капиталовложения, закупать технологии, заводы по производству микросхем, так как разрабатывать свое технологическое оборудование практически с нуля - путь тяжелый, да и по срокам можно не уложиться в темпы развития мировой электроники. Кроме того, нам придется заниматься подготовкой соответствующих кадров, растить элитные высококвалифицированные кадры для электронной промышленности. Далее потянутся такие необходимые условия для возрождения электронной отрасли, как адекватные зарплаты и жилищные условия высококвалифицированных кадров и многое другое.
А если говорить абстрактно: по силам ли России такие капиталовложения? Ответ: да, конечно, по силам. Вспомните про наши золотовалютные запасы и прочие резервные фонды! Да на эти деньги (при наличии политического решения) можно создать не одну высокотехничную промышленность! И по интеллектуальному уровню, уровню образования Россия вполне способна на такие научно-технические подвиги.
Второй вопрос Дмитрия про производство обычных компьютеров (ПК). Этот вопрос про промышленность, которая занимается вычислительной техникой (то, что раньше называлось Минрадиопром). Производит ли Россия свои персональные компьютеры? - Да, производит. Возьмите "Белый ветер", "Формозу". И там речь идет не об отверточной сборке, а о нормальной, собственной разработке.
Так что, сегодня и государственные, и коммерческие предприятия способны делать это хорошо, и уже делают. И тут самому государству, по большому счету, ничего и вкладывать не надо. Предприятия сами разрабатывают и производят свои материнские платы, даже какие-то наборы кристаллов, микросхем. То, что сами не могут - берут зарубежные микросхемы, а из них производят свои, российские персональные компьютеры. С этим у нас все вполне в порядке!
Это массовый рынок, поэтому и не требующий большого участия государства. Роль государства сводится к одному - формировать этот рынок в стране, пропагандировать отечественные изделия, защищать собственных производителей и уж, по крайней мере, не давить отечественного производителя, не давать явных преимуществ зарубежным производителям перед отечественными! Похоже, последнее как-то не очень получается у нас - российский производитель зачастую платит налоги, от которых освобожден зарубежный! Здесь затрагивается важнейшая тема: ответственность государства за формирование в нашей стране компьютерного рынка, суперкомпьютерного рынка и, более широко, рынка информационно-коммуникационных технологий. Об этом я подробнее скажу в ответе на четвертый вопрос.
И последний вопрос Дмитрия: а какие возможности у России на рынке суперкомпьютеров? Буду отвечать за ту Программу, в которой имел честь быть исполнительным директором от России. Это Суперкомпьютерная программа "СКИФ" Союзного государства (России и Беларуси).
Программа завершена, проведены многие исследования, проведена разработка семейства суперкомпьютеров "СКИФ" (Ряд 1 и 2), выпущен комплект конструкторской документации, то есть комплект, по которому промышленность способна выпускать эту технику. Выпущены шестнадцать опытных образцов, проведен весь комплекс мероприятий, который соответствует промышленной разработке - это нормоконтроль документации (конструкторской и программной), проведение предварительных и государственных испытаний (и документации, и опытных образцов), присвоение литеры "01" документации, что означает готовность к массовому производству на заводах-изготовителях. Выполнена подготовка производственных площадей, то есть площадки, производственные линии, персонал, оснастка.
Итак, мы абсолютно готовы серийно выпускать суперкомпьютеры. В этом месте (в полном соответствии с планами) и завершена Программа "СКИФ", в этой "позиции низкого старта" и находится сейчас группа разработчиков семейства "СКИФ"... Есть ли заказы на суперкомпьютеры? - Да, но до обидного мало. Сейчас производством и поставками этих изделий занимаются участники Программы "СКИФ" ОАО "НИЦЭВТ" (Москва), предприятия ("НИИ ЭВМ", ОИПИ НАН Беларуси и др.) в Минске и наши партнеры - московская компания "Т-платформы". Так, только компания "Т-платформы" выпустила 30 мощных кластеров за последние несколько лет.
Так что мой ответ, в целом, положителен. Да, есть возможности, есть мощности, есть грамотный, обученный персонал на эти разработки, есть промышленная документация.
Но вот востребовано ли все это? Нужна ли суперкомпьютерная отрасль России? Это должен решить сам народ - его представители: ветви власти, "нанятые" на некоторый срок этим народом выражать его волю. А дальше, в зависимости от решения, следует принимать адекватные меры по реализации решения. Подробнее об этом см. ответ на четвертый вопрос.
3. Хотелось бы увидеть сводную табличку или подробные данные по производительности вычислительного комплекса СКИФ К-1000" и зарубежных аналогов. (Дмитрий Вертело)
Давайте сначала скажем про "СКИФ", а потом сравним его с аналогичными зарубежными машинами. Тогда станет ясно: уступаем мы или нет и вообще, где находимся.
Что касается подробностей, то тут ответ очень простой. Есть такой сайт - http://skif.pereslavl.ru/ . На этом сайте материал хорошо структурирован, тут можно найти много интересных сведений, и если Вы пойдете в пункт меню "Образцы СКИФ", то там Вы сможете найти большинство наших опытных образцов, включая суперкомпьютеры "СКИФ К-500" и "СКИФ К-1000". И по каждому образцу можно получить самую подробную информацию: производительность, архитектурные особенности, историю создания и даже цену (пожалуй, никто, кроме нас, этого не делает).
Можно сравнить наши образцы по производительности, по стоимости-цене - последнее очень важно для России - потенциальные потребители данной техники имеют весьма ограниченную покупательную способность. Надо сказать, что мы превосходим по соотношению "стоимость-производительность" зарубежные аналоги. Мы выигрываем в цене в 1.5-2-10 раз без потерь качества, как в программном обеспечении, так и в аппаратной базе, сервисе, гарантийном обслуживании. Так что наши, отечественные модели - на достойном мировом уровне при преимуществе в цене.
Когда создавалась машина "СКИФ К-1000" (она создавалась за белорусскую часть союзного бюджета, по этой причине этот союзный суперкомпьютер расположен в Минске), проводился тендер - сумма значительная, примерно 1,8 млн. долларов, тендер обязателен. Заметим, для суперкомпьютеров это довольно скромная цена, установки такого масштаба строятся обычно за совершенно другие деньги.
На тендере компания "Т-платформы" представляла наше отечественное решение. Другие участники тендера представляли решения от IBM, HP и Siemens-Fujitsu. Подсчет очков по тендеру шел по самым различным критериям: цена, производительность, а также длительность и условия гарантийного обслуживания, сколько лет на рынке работает соответствующая компания, каков ее опыт в предыдущих успешных проектах, требования свозить специалистов в США на учебу (на фирмах изучить технологии процессоров AMD Opteron и сети Infniband) и т.п. Лично я в тендерной комисcии не работал (тендер был белорусский), но в силу ряда обстоятельств предполагал положительное решение в сторону IBM. Подсчет голосов был абсолютно честный. И с отрывом в 30% победителем стало наше, отечественное решение. Вот пример непредвзятого сравнения импортного и отечественного. В итоге, исполнителями проекта создания "СКИФ К-1000" стали фирма "Т-платформы" (Москва), ИПС РАН (Переславль-Залесский), ОИПИ НАН Беларуси, НИИ ЭВМ (Минск).
А еще для сравнения мы можем опять обратиться к рейтингу Top-500. Просто посмотрим на рейтинг ноября 2003 года. Там наш суперкомпьютер "СКИФ К-500" занимает 407 место. А рядом, чуть проигрывая по Linpack-производительности нам, на 408 позиции стоит суперкомпьютер фирмы Dell. Обратите внимание, и у нас и у них процессоры 2.8 GHz. Только у нас 128 процессоров, а у них - 160 (почти на треть больше)! У нас пиковая производительность 716.8 GFlops (млрд. оп./сек), у них - 896 GFlops - опять на треть больше! А вот реальная (на задаче) Linpack-производительность и КПД лучше у нас. Они потратили на треть больше "железа" с меньшим эффектом, чем у нас. Нужны еще какие-то сравнения?
Кстати, там же интересно посмотреть и на 406 место и сравнить КПД СКИФ К-500 с КПД "соседнего" суперкомпьютера Министерства обороны США.
Когда говорят о суперкомпьютерах, часто все сводят к железу. А это неверно. В Программе СКИФ огромные усилия, время и деньги были израсходованы на создание программного обеспечения для суперкомпьютеров семейства СКИФ. Здесь представлены и системное программное обеспечение, и инструментальные системы для разработки прикладных систем (очень эффективные, позволяющие в короткие сроки, с малыми затратами делать прикладные системы для конкретных использований), и отечественные прикладные системы.
Говоря о сравнении с зарубежным уровнем, сказав о "железе", мы должны сказать и о программном обеспечении. И здесь все достаточно достойно. Например, часть из наших программных разработок заинтересовала фирму Microsoft, которая сегодня активно борется за место на рынке производителей программных средств для кластеров.
Еще надо отметить, что все наши разработки - и программные, и аппаратные, - выдерживают принятые в этой отрасли стандарты и совместимость. Поэтому на суперкомпьютерах СКИФ без затрат времени и сил по переносу и адаптации могут быть запущены различные зарубежные коммерческие системы для суперкомпьютерных расчетов. Таких систем наработано в мире очень много, их часто называют "суперкомпьютерными системами инженерных расчетов". Они общепризнанны в мире, часто многие заказчики требуют, чтобы те или иные параметры заказанного изделия были рассчитаны именно на той или иной системе инженерных расчетов. Поэтому, особенно важно, что суперкомпьютеры СКИФ поддерживают совместимость с этими системами.
4. Серийное производство суперкомпьютеров предполагает их серийное использование. В каких целях планируется использовать СКИФ К-1000? Будет ли иметь место коммерческое использование, продажа? (Дмитрий Кучеров)
Нужны ли России суперкомпьютеры, подобные "СКИФ К-1000"? Для промышленности, для коммерческих структур, для банковских структур, для государственного управления и для структур, связанных с безопасностью и обороноспособностью страны?
Объективно сегодня человечество достигло такого уровня, что конкурентоспособная продукция ни в одной отрасти промышленности не может быть создана без использования высокопроизводительных вычислений. Суперкомпьютеры объективно нужны всем отраслям экономики. Это верно для обрабатывающей и для добывающей промышленности (нефтяной и пр.), для машиностроения, сельской промышленности, легкой промышленности, медицины, химической промышленности. Это верно и для банковских и финансовых структур, для государственного управления (электронное государство и т.п.), для МЧС - предсказание чрезвычайных ситуаций и моделей их развития, их последствий).
Иллюстрация по последнему пункту: в рамках программы СКИФ разработана система обнаружения (по космическим снимкам) лесных пожаров и прогноза движения и выпадения продуктов горения (даже когда горит обычный лес - это беда, а выпадение сажи от пожаров "чернобыльских" лесов требует особого внимания...).
Про легкую промышленность: есть примеры, когда по заказу западных фирм производились высокопроизводительные расчеты на наших "СКИФах" параметров спортивной обуви и даже нижнего белья! И это не говоря уже о таких безусловных вещах, как высокопроизводительные расчеты в авиации, космической промышленности, автомобильной, геологоразведке и т.д.
Итак - если мы хотим быть конкурентоспособными на рынке, то объективно мы обязаны использовать суперкомпьютеры. Если этого не произойдет, то у нас не будет шансов после вступления в ВТО, куда мы так стремимся.
А упираются вопросы развития суперкомпьютерной отрасли и спроса на высокопроизводительные вычисления только в одно: в политическую волю. Этому (среди прочего) была посвящена статья (ITnews, #17(18), 2004, стр. 16-18) под названием "Чем хочет гордиться наша страна?". Это вопрос о выборе национального пути. И выбор должен быть народный.
Если, к примеру, мы провозглашаем Россию как туристическую страну - вот такая национальная идея: "У нас замечательная природа, исторические памятники и т.п. и мы рады гостям!" - значит, мы должны развивать туризм, его инфраструктуру и, может быть, этого будет достаточно, чтобы всем нам жить припеваючи. Почему бы и нет? Это был бы нормальный выбор! И наверное, до поры, до времени нам бы не нужны были суперкомпьютеры.
Если мы говорим, что Россия - это сырьевая страна - значит, мы будем жить только с доходов от нефте- и газодобычи. Надо только развить эти отрасли и справедливое участие всего народа в прибыли от них. И это тоже нормальный путь. Но в этом случае уже нужны суперкомпьютеры!
Ну а если мы говорим, что Россия должна прирастать высокими технологиями, если говорим, что "мы строим экономику, основанную на знаниях", что мы должны выйти на рынок ВТО - это означает, что путь тогда ровно один - серийное производство и широкое внедрение суперкомпьютеров. Выбора нет: либо не надо так говорить (не надо никого обманывать), либо же надо делать выводы из своих слов и выполнять адекватную подготовку к высоким технологиям, к вступлению в ВТО, к экономике, основанной на знаниях.
Какие адекватные выводы должна делать власть, выбрав путь развития высоких технологий? Сложный вопрос, но нам можно сэкономить свои усилия и подсмотреть ответ у других: конгресс США потратил деньги, создал группу независимых ученых, которой была поручено разработка стратегии развития США в суперкомпьютерной области; группа долго работала и подготовила соответствующие отчеты; за отчетами последовали прямые государственные решения. Мы можем сэкономить время и средства - просто изучить соответствующие отчеты и решения, последовавшие за ними. Есть еще при Президенте США постоянно действующий комитет советников по информационным технологиям (The President's Information Technology Advisory Committee, PITAC), интересно посмотреть и их отчеты.
Логика принятия государственных решений в США построена очень четко и просто - сказал "А", говори и "Б":
Последний пункт стоит пояснить. Поскольку суперкомпьютерная отрасль развивается очень быстро, решения в отрасли (это и организационные мероприятия, и адекватная финансовая поддержка, и научная структура проекта, и вовлечение промышленных компаний в проект) требуется принимать быстро, без бюрократической волокиты. Для этого принимаются особые организационные меры.
В общем, как видим, в США ведется серьезная перестройка государства на базе суперкомпьютерных технологий.
Вернемся, однако, к вопросу "В каких целях планируется использовать...". Суперкомпьютеры "СКИФ" уже используются: на сайте http://skif.pereslavl.ru/ в разделе "Образцы СКИФ", в подразделе "Использование суперкомпьютеров СКИФ" Вы найдете полный список, где работают наши суперкомпьютеры. Вот, к примеру, выдержка из этого списка (только перечень некоторых областей расчетов):
И еще одна грань вопроса Дмитрия. Да, объективно суперкомпьютеры нужны всем отраслям. Да, есть прикладные системы... Но будут ли покупать суперкомпьютеры в России - вот второй вопрос!
Как я говорил, за несколько лет компания "Т-платформы" продала 30 установок. Кажется, это не плохо. На самом деле, это очень мало! И развитие серийного производства суперкомпьютеров целиком будет зависеть от того, будет ли иметь место идея развития национального рынка высокопроизводительных вычислений, и в более широком плане - рынка информационно-коммуникационных технологий (рынка ИКТ).
По этому поводу могу сказать только одно: этот вопрос не ко мне, а к российскому правительству.
Поясню. Весной (22.03.2005) этого года состоялось знаменательное событие: Министр информационных технологий и связи Российской Федерации Рейман Леонид Дододжонович сделал доклад на заседании Президиума Российской академии наук по проблемам отрасли ИКТ в России. После выступления ему еще было задано несколько серьезных вопросов и он на них отвечал. Поскольку пресса об этом ярком, значительном событии практически умолчала, я кратко расскажу о том, что сам слышал на этом заседании:
По мнению министра Реймана: за развитие ИКТ-рынка в России отвечает правительство. То есть, если этот рынок у нас плохо развит, то не доработало правительство - можно и нужно спросить за это.
По мнению министра Реймана: правительство обязано всячески
пропагандировать и поддерживать льготами, финансовыми, налоговыми рычагами
спрос на отечественные ИКТ со стороны отечественных предприятий.
Когда какому-то предприятию нужно купить средства ИКТ, включая
высокопроизводительные установки, ему должно быть и престижнее, и выгоднее
купить отечественное, нежели зарубежное. И если это не так, за это надо строго
спрашивать с правительства. Правительство не имеет права диктовать
хозяйственным субъектам, но стимулировать их выбор - обязано.
По мнению министра Реймана: если наши ИКТ-производители
выходят на зарубежный рынок, правительство должно активно их в этом
поддерживать, давать правительственные гарантии, поддерживать своим
государственным авторитетом.
Если этого не происходит - за это отвечает правительство.
По мнению министра Реймана: когда речь идет о государственных закупках, то двух мнений тут быть не может - если соответствующую услугу или продукцию способна предоставить отечественная фирма, то зарубежные предложения просто не должны рассматриваться! Любые иные бездарные действия не могут быть оправданы ничем. Уже надоели все эти уловки, одна из них: "у нас связанные кредиты" - а вы не берите таких кредитов, казну не разоряйте! Подобных трюков множество и они только слегка вуалируют прямое лоббирование, протаскивание на наш рынок всего зарубежного, когда отечественное ничуть не хуже, но еще и дешевле.
Тем выступлением Министра была продемонстрирована весьма здравая позиция члена правительства: именно правительство в ответе за развитие отрасли ИКТ. Вот только вопрос, а есть ли у нас механизм, позволяющий спрашивать с правительства за все недоработки по вышеперечисленным пунктам?
Интересное выступление Реймана... И очень обидно, что это выступление прессой до народа целиком не донесено. Да, были небольшие упоминания, но на свет вытаскивалось совсем не главное, а очень второстепенное... Например, писали совсем несуразное про СПАМ. Да разве это сейчас главное? Со СПАМом мы худо-бедно научились бороться и еще научимся. А вот угробить всю суперкомпьютерную отрасль - вполне реальный вариант развития. Ведь здесь каждый месяц чиновничьей волокиты с рассмотрением документов, их подписанием и т.п. - скажется колоссальным отставанием в целом. Но кто хочет это понять?
5. Еще ни один суперкомпьютер в мире не участвовал в международных проектах по распределенным вычислениям. Будет ли участвовать СКИФ К-1000? (Дмитрий Кучеров)
В мире существуют разные подходы к организации высокопроизводительных вычислений, соответственно - разные термины.
Суперкомпьютерные, кластеры и кластерные вычисления - это один подход к организации высокопроизводительных вычислений, со своей технологией, своим набором программ, средств, способам организации параллельных вычислений.
А еще есть так называемые распределенные вычисления и метакомпьютинг. Суть в следующем. Если посмотреть на домашние или рабочие машины, за которыми сидят обычные сотрудники, то видно, что вычислительная мощность этих машин колоссальная, и они частенько простаивают. И в рабочее время, не говоря уже о ночах и выходных. Возникла такая идея: а не попробовать ли использовать вычислительные мощности простаивающих ПК в глобальных масштабах, для решения различных задач. Это называется метакомпьютинг. Был разработан особый подход к организации такого сорта параллельных вычислений. Сразу скажем, это не просто - на тысячах и миллионах домашних компьютеров, связанных сетью Internet, решить какую-то содержательную научную задачу, и далеко не каждая задача может быть решена при помощи таких метакомпьютинговых средств. Тем не менее, стали возникать различные интересные проекты и методика их решения. Например, были чисто соревновательные проекты: сможет ли сообщество энтузиастов собраться, отдать вычислительные мощности своих машин и на таком "народном суперкомпьютере" сломать шифр кодированного сообщения? Потом стали появляться много содержательных метакомпьютинговых проектов. Один из самых известных - SETI@home - когда на домашних машинах анализируются сигналы, полученные радиотелескопами из космоса. Цель - обнаружение разумной жизни в космосе.
Программное обеспечение, которое здесь используется, нацелено именно на домашние компьютеры. Частенько оно даже и выглядит как-то специфично: например, пишется как screen saver. И даже если это мультиплатформенное программное решение, способное работать и на Windows, и на Linux, и на MacOS, оно будет для ПК, но не для суперкомпьютеров! Да и сама модель организации параллельных вычислений, принятая в подобных работах, для суперкомпьютеров не совсем подходит. Вот поэтому в проектах подобного типа суперкомпьютеры и не используются.
Однако, помимо метакомпьютинга, существует еще такой подход, как метакластерные вычисления и GRID-вычисления. И в такого рода проектах для вычислений объединяются десятки суперкомпьютеров, разбросанных по всему миру. И в таких проектах суперкомпьютеры "СКИФ" используются очень широко.
Один из таких интересных проектов возглавляет чл.-корр. РАН Владимир Валентинович Воеводин, и на сайте http://www.parallel.ru можно найти материал о технологии X-COM, которую развивает В.В. Воеводин. Когда к нам обращались, мы, как и многие другие кластерные центры страны, никогда не отказывали в предоставлении наших вычислительных мощностей для ведения параллельного счета в таких расчетах. Были случаи, когда в его проекте участвовали сразу несколько СКИФ-установок, внося свой вклад, выполняли хороший кусок работ наряду с другими кластерными центрами России и ближнего зарубежья.
6. А кроме СКИФА у нас есть какие-нибудь еще суперкомпьютеры? Как они используются (или будут использоваться)? Кто финансирует их разработку? (Татьяна, Москва)
Как я уже говорил:
Программа "СКИФ" финансировалась из бюджета Союзного государства. То есть это было бюджетное финансирование - сравните с подходом США к проблеме, см. предыдущий ответ... Вот только в США на данную проблематику (суперкомпьютеры и GRID) тратят 2 млрд. доллара в год, а в программе СКИФ бюджет был в тысячу раз меньше (а в части России - в две тысячи раз меньше).
Сегодня программа "СКИФ" завершена, развитие работ не ведется. Из-за нерасторопности бюрократических согласований новой программы "СКИФ-ГРИД" обеспечено два года простоя (и реальная угроза развала) упомянутой выше команды разработчиков.
Другие отечественные проекты я упоминал: это проекты, связанные с суперкомпьютером МВС-1000М и Межведомственным суперкомпьютерным центром РАН. Этот проект финансировался из бюджета ряда ведомств (как следует из названия): Министерства образования, Министерство науки, Российская академия, РФФИ и т.д. (приведены старые названия ведомств).
Есть несколько университетских и научных проектов по созданию высокопроизводительных установок (на Урале, в МГУ, в Санкт-Петергбурге и т.п.) Но если мы придерживаемся определенной планки требования "вхождение в Top-500", назвать их суперкомпьютерными пока, увы, нельзя. Финансирование на подобные проекты руководство соответствующих организаций ищет самыми различными способами.
Не могу не упомянуть два интернет-проекта, связанных с высокопроизводительными вычислениями:
Еще раз вспоминая логику организации суперкомпьютерного дела в США: "суперкомпьютерная отрасль - забота государства" ("Supercomputing is Government Business") - на вопрос Татьяны "Кто финансирует их разработку?", естественно должен быть таким "бюджет и в размерах, адекватных проблеме". Как мы видим, вторая часть ответа (о размере бюджетной поддержки) явно повисает...
К слову, совсем еще недавно, в 1986 году, из бюджета СССР финансировалось одновременно и полнокровно не один и не два, а около десятка альтернативных проектов разработки и создания (R&D) собственных оригинальных суперкомпьютерных (не побоюсь этого слова) средств:
И политическая воля была, и бюджета на собственные суперкомпьютерные проекты всем хватало.
7. Каким образом планируется наращивать вычислительную мощность суперкомпьютеров? За счет увеличения числа процессоров, их тактовой частоты или изменений в архитектуре?
Конечно, всех в первую очередь должна интересовать реальная производительность суперкомпьютеров на той или иной прикладной задаче (хотя бы на задаче Linpack), этому и уделим внимание.
Несложно проанализировать список Top500 и построить набор графиков для исследования того, как менялись от года в год следующие интегральные по всему рейтингу параметры:
Будет видно, что из года в год имеется рост и частоты процессоров, и числа процессоров, и Linpack-производительности. Причем, рост каждого из первых двух параметров будет отставать от роста Linpack-производительности, и в совокупности роста первых двух параметров будет недостаточно для объяснения роста Linpack-производительности. Таким образом, и рост частоты процессоров, и рост числа процессоров были и будут фактором роста реальной производительности суперкомпьютеров. Но кроме них, есть и другие факторы.
По моему мнению, основными направлениями наращивания (не пиковой, а реальной) производительности на ближайшее время будут следующими:
Некоторый рост (каждый год) тактовой частоты процессоров. Этот фактор будет играть свою роль (как и раньше), но все сводить к нему было бы большим заблуждением.
Увеличение числа процессоров (правильнее сказать так: увеличение числа процессорных ядер в суперкомпьютерах). Сегодня все ведущие производители микропроцессоров находятся в неизбежной одинаковой технологической ситуации:
a. продолжает выполняться так называемый
закон Мура: из года в год растет (примерно удваивается) число транзисторов,
которые могут быть в одном кристалле (микросхеме);
b. сложность процессора (в том числе - количество
транзисторов в процессоре) наращивать невозможно, из-за усложнения,
удорожания и затягивания процесса разработки, легко проиграть конкурентам;
Единственный вывод из этого - неизбежен выпуск производителями многоядерных процессоров: то есть, микросхем, внутри которых, по сути, размещено несколько процессорных ядер, объединенных между собой. Таким образом, переход к выпуску многоядерных процессоров является неизбежным решением всех производителей процессоров. Именно это мы и наблюдаем уже сегодня. Легко можно предсказать (и это хорошо совпадает с публикуемыми планами производителей), что число микроядер в одном процессоре будет удваиваться каждый год: 2 ядра - в 2005 году, 4 ядра - в 2006 году, 8 ядер - в 2007 году и т.д.
В некотором смысле, многоядерные процессоры - это многопроцессорная установка на одном кристалле. При создании суперкомпьютеров использование многоядерных процессоров (с N ядрами, например) дает возможность существенно (примерно в N раз) повысить производительность (по сравнению с использованием одноядерных процессоров) при сохранении числа вычислительных узлов, частоты процессора, габаритов и мощности электропитания установки.
Отметим, что в докладах о многоядерных процессорах специалисты Intel часто используют термин "сдвиг проблемы". Действительно, исходная проблема - "что делать с перепроизводством числа транзисторов на одном кристалле?", - решается за счет сдвига ее из области электроники в область программирования: "а смогут ли операционные системы, системы программирования и программисты эффективно использовать процессоры с 2-4-16-64 ядрами?"
Для решения прикладных проблем в суперкомпьютерах будут использовать не только универсальные процессоры, но и специализированные (под ту или иную проблему) процессоры.
Понятно, что специальный вычислитель, рассчитанный на решение не любой, а одной взятой задачи (или узкого класса задач) может развивать на этой самой задаче более высокую реальную производительность, чем универсальные вычислители. Так, уже сегодня есть вычислительные установки со скромными размерами, имеющие реальную производительность, близкую к тысяче триллионов операций в секунду -на одной конкретной задаче!
Идея не нова. Например, упоминаемая ранее советская разработка ЕС2700 (80-тые годы), являлась высокопроизводительным спецпроцессором: она не могла выполнить какое угодно вычисление, она умела выполнять только узкий набор операций над матрицами и векторами... Зато делала это с фантастической скоростью! А вот гибрид из универсальной машины и ЕС2700 мог с огромной скоростью решать любые сложные задачи, в которых была большая доля векторных и матричных вычислений.
Подобные разработки велись и ведутся во многих странах. Кстати, в рамках Суперкомпьютерной Программы "СКИФ" были выполнены разработки не только универсальных кластерных вычислительных установок, но и ряда спецпроцессоров (ускорителей) и "гибридные установки", состоящие из кластера и спецпроцессоров. В современном суперкомпьютере Cray-XD1 эта идея (сочетания универсальных и специализированных вычислителей) была реализована на новом уровне. Суперкомпьютер Cray-XD1 можно рассматривать, как кластер с гибридными узлами - в каждом вычислительном узле имеются универсальные процессоры (AMD Opteron) и перестраиваемый спецпроцессор. Данный спецпроцессор реализован на микросхеме FPGA, а слово "перестраиваемый" означает следующее: загружаемый в FPGA специальный код определяет, на какие именно операции будет специализирован спецпроцессор. И во время решения задачи можно перепрограммировать FPGA "на лету".
Рассмотренное выше поясняет идею одного из перспективных направлений повышения реальной производительности суперкомпьютеров: сочетание универсальных и специализированных процессоров.
Новые архитектурные решения. Конечно, все разработчики суперкомпьютеров стараются найти новые оригинальные архитектурные решения. Одна из интересных разработок данного направления - проект Cell компании IBM (в сотрудничестве с Sony и Toshiba).
Повышение КПД суперкомпьютеров (и КПД программистов!), в том числе и в первую очередь за счет развития программных средств поддержки эффективной организации параллельного счета, средств поддержки эффективного программирования для гибридных установок и вычислительных узлов, средств поддержки эффективного программирования для новых архитектур. Нужны новые компиляторы, библиотеки и средства параллельного программирования и, может быть, новые средства уровня операционных систем, чтобы можно было бы за разумные трудозатраты программистов создавать программы, которые будут показывать высокие КПД всех упомянутых выше аппаратных изысков:
a. кластеров с огромным, ранее невиданным количеством процессорных ядер;
b. вычислительных узлов с многоядерными процессорами и/или со спецпроцессорами;
c. установок с новыми архитектурами.
Почему-то является традицией уделять внимание прогрессу в области аппаратных средств суперкомпьютеров и замалчивать прогресс в области программирования. Хотя есть много примеров, когда повышение реальной производительности было получено за счет усовершенствования программного обеспечения, без изменения "железа". Или за счет такого аппаратного "тьюнинга", который не изменял пиковую производительность суперкомпьютера, число, тип и частоту процессоров в нем.
Вот один подобный пример: сравните записи за июнь 2002 Top500 место 64 и ноябрь 2002 Top500 место 74. Видно, что без изменения пиковой производительности суперкомпьютера, без изменения числа, типа и частоты процессоров реальную производительность (то есть КПД) разработчикам удалось поднять на целых 30%.
Подведем итог. Основными направлениями наращивания реальной производительности суперкомпьютеров в ближайшее время мне представляются: