Отчет о Дне суперкомпьютерных технологий, часть первая
Немного истории вместо предисловия
Некогда, в 80е годы, и в начале 90х, словечко «Суперкомпьютер» было у нас, тогда ещё в Советском Союзе, сильно популярно. Политики ставили его рядом с такими громкими терминами, как «программа «Звездных Войн»« и «стратегическое экспортное ограничение». Физики, астрономы и простые инженеры с благоговением произносили в курилках слово «Крэй». Любители кинофантастики, посмотревшие в видеосалонах «Одиссею-2001» и «Звездный Путь», рассуждали в кулуарах о действительности создания искусственного интеллекта.
Наконец триумфальное шествие персональных компьютеров добралось и до российских просторов. Мегагерцы и мегабайты, еще недавно бывшие прерогативой больших машин, поселились прямо на рабочих столах. Громкое же слово, еще недавно владевшее умами, отступило в тень, сохранив свою важность только для узкого круга посвященных. В условиях экономики переходного периода, когда одна держава прекратила близкое существование, а другая еще только формировалась на обломках, о каких-то крупных проектах, связанных с массивными объемами вычислений, не могло быть и речи.
Время шло, и страна все чаще стала взметать голову с больничной койки, на которую ее уложило колесо истории. Поднимать, обозревать мир кругом - и осознавать, что за это период он не только не стоял на месте, но успел ускакать вдали вперед. Высокопроизводительные вычисления (HPC, High Performance Computing) - важнейшая доля многих научных процессов, от них зависят производства, создание рынка. Обороноспособность большинства развитых стран основывается на них как на единственный из краеугольных камней. Так чего же мы стоим?
Начало 2000х годов не возбраняется мнить периодом, когда HPC в России начали оживать. Первым значимым событием российской эпохи HPC-возрождения разрешено прозвать открытие в 1999г. Межведомственного Суперкомпьютерного Центра (МСЦ) РАН. Сердцем Центра стал комплекс МВС-1000, 1TFlOPS система, собранная на 768 процессорах Compaq Alpha.
Вскоре затем этого один за другим на свет стали являться проекты новых высокопроизводительных систем. Не все они были реализованы, но те, что все же были претворены в жизнь, удачно доказали свою нужность. В их числе - план перевооружения Росгидромета и создание 0,7TFlOPS комплекса для расчета авиадвигателей в НПО «Сатурн».
Однако отставание от мирового уровня в области HPC осилить не так просто. Для этого нужна не только помощь госструктур, но и глубокое постижение задач, которые могут быть решены с помощью больших машин. Да и вообще, что это есть такое - High Performance Computing?
High Performance Computing
У обычного человека с этим термином - если он его вообще слышал - ассоциация простая: большие машины, занимающие другой раз немного комнат, и аббревиатура FlOPS (количество операций с плавающей запятой в секунду) с приставкой «Гига» или «Тера». Специалист, использующий в работе HPC, думает о задачах, которые способен претворить в жизнь компьютер, будь то расшифровка структуры ДНК, расчет траектории полета на Марс или создание математической модели какого-то физического процесса.
Но в чем же принципиальное различие компьютеров с приставкой «cупер» от привычных всем персональных рабочих станций - ну, помимо того что они большие? Реакция содержится в одном слове: параллельность.
Научно-технический прогресс не стоит на месте, и линейная производительность систем всю дорогу растет - но ибо многие фрагменты вычислительного процесса могли бы выполняться одновременно!
Наиболее известные сегодня типы параллелизма - это:
- Параллелизм на уровне данных. В этом случае одна операция выполняется тотчас над несколькими элементами массива данных. Проблема программиста в данном случае сводится к настройке и оптимизации процесса параллельной компиляции, или же к использованию специальных языков для параллельных вычислений.
- Параллелизм на уровне задач. Уже представляет собой своеобразный подход к программированию, предполагающий разбиение задачи на несколько подзадач, которыми позволительно вместе с тем загружать процессоры системы.
Именно окончательный тип притягивает к себе в эти дни наибольшее чуткость - и порождает наибольшее число проблем. Наибольшая эффективность достигается, когда авторы программы мыслят категориями параллельного программирования, начиная с этапа формирования задачи.
К сожалению, это ориентация долгое миг оставалось уделом узкой группы специалистов, причем не только в нашей стране, но и во всем мире. И лишь в последние несколько лет, благодаря распространению многоядерных процессоров, разработчики стали все больше внимания этому вопросу. Потому как как раз благодаря параллельным процессам производительность вычислительных систем может быть грубо увеличена. Тем больше важен этакий подход для HPC, где может быть распараллеливание на нескольких уровнях - на уровне процессорных ядер, процессоров и узлов.
Наиболее распространенным и доступным типом HPC-системы в настоящее момент является кластер.
Кластер - мультисерверная система, состоящая из вычислительных узлов (nodes) и одного (реже нескольких) управляющего узла, объединенных между собой частной высокоскоростной сетью (интерконнектом) . Управляет кластером специальное программное обеспечение, чаще всего на базе *NIX.
Несмотря на то, что справить простейший кластер несложно, настоящая высокопроизводительная организация требует значительных вложений сил и средств на всех подготовительных этапах, одинаково как и в процессе эксплуатации. Оправдать эти расходы могут решаемые задачи - а их, на самом деле, существует великое множество. Прикладная наука, ресурсодобыча, гидрометеорология, системы раннего оповещения о стихийных бедствиях и, конечно, оборонный комплекс - все эти отрасли способны загрузить расчетами ресурсы во полно раз большие, чем есть в текущий момент у нас в стране. Задача в том, что заказчики зачастую легко не знают о возможностях HPC в применении к своим проблемам, а уважаемые чиновники не осознают всей важности развития суперкомпьютерных технологий по всей стране.
Хотите примеров? Так давайте отправимся в Сибирь сообща с компанией Intel, одним из традиционных знаменосцев высокопроизводительных и параллельных вычислений в России.
Сибирский наукоград
Новосибирск не без основания претендует на звание научной и академической столицы Сибири. На территории Академгородка, что в 20 км от центра города, расположились десятки научно-исследовательских институтов, президиум Сибирского отделения РАН, Новосибирский Государственный университет, Физико-математическая школа. Основанный в 1957 году по инициативе академика Лаврентьева, Академгородок молниеносно вырос в всамделишный громадный наукоград. Посреди прочих дисциплин, важное местоположение с самого начала заняли прикладная математика и информатика. В 1964 году был основан Вычислительный Середина (ныне Институт Вычислительной Математики и Вычислительной Геофизики РАН), на базе которого 9 лет обратно был создан Сибирский суперкомпьютерный центр коллективного пользования. Сотни интереснейших научных работ явились на свет в этом уникальном научном инкубаторе.
Для корпорации Intel инновационность и наукоемкость - синонимы успеха, и открытие в 2004 году отделения компании в новосибирском Академгородке было более чем логичным. Разумеется, высокопроизводительные вычисления заняли в его работе одно из важнейших мест.
Трудно изобрести лучшее место для мероприятия, пропагандирующего формирование HPC. Аккурат оттого в конце июня 2010 год и состоялся День Суперкомпьютерных Технологий в Новосибирске.
День Суперкомпьютерных Технологий в Новосибирске
В Большом зале Дома Ученых собралось море людей. Именитые ученые, представители компаний, студенты и, разумеется, наша группа журналистов. Среди гостей были и приезжие из сопредельных государств - потому что задача тревожит умы ни чуточки не только в России.
После кратких приветственных речей видных деятелей науки, образования и бизнеса, докладчики начали к освещению проблематики Дня HPC. Целью выступающих было поведать о состоянии дел в области высокопроизводительных вычислений и поддержать гостям заметить многообразие российских задач, требующих использования суперкомпьютеров.
Открыл программу выступлений Сергей Михайлович Абрамов, управляющий знаменитого Института Программных Систем, что в Переславле-Залесском.
«Суперкомпьютерные технологии Росcии: объективные потребности и реальные возможности» - так назывался его доклад, и приведенные в нем факты однозначно утверждают: почивать на лаврах России противопоказано.
Одна фраза, сказанная некогда Деборой Винс-Смит, Президентом совета по конкурентоспособности США, обрисовывает проблему предельно четко: «Страна, желающая побороть в конкуренции, должна одержать победу в вычислениях». Да, в нашей стране много сделано за последнее пора в области HPC, в эксплуатацию запущено несколько крупных вычислительных систем, таких как 60 TFlOPS «Чебышев» и 414 TFlOPS «Ломоносов»… но на общем фоне российская киберинфраструктура выглядит слабо. Производительных машин мало, и львиная доля финансирования на их создание поступает в центральные регионы страны - при том, что надобность в них от удаленности регионов зависит мало. По общей производительности отставание российской инфраструктуры от лидера - США - составляет не менее 7 лет, и это при условии, что темпы ее развития всего лишь сохраняются. То есть, чтобы подступить к лидерам, нужно существенно ускорить собственное развитие.
А оттого что разработчики не сидят сложа руки! Так, в рамках российско-белорусской программы «СКИФ-ГРИД» с 2003 по 2009 год было построено 6 из 8 отечественных суперЭВМ, когда-либо входивших в важный рейтинг Top500. Программа обладает интереснейшими наработками в области создания масштабируемых HPC-систем в соответствии потребностям заказчика. При этом суперкомпьютеры СКИФ «ряд 4» обладают уникальными показателями по энергопотреблению, массогабаритным характеристикам и акустическому комфорту. 1 PetaFlOPS? Зачем нет, было бы финансирование. Модельная граница «СКИФ/П» имеет проектируемую мощность в 100 TFlOPS и энергопотребление в 0,146 МВт на 1 шкаф; вожделенный 1 PFlOPS поместится всего лишь в пяти таких шкафах!
Не стоит терять из виду и про вторую количество названия программы - «ГРИД». Она означает вероятность объединения разнесенных в пространстве машин в единую вычислительную систему. И, кстати, для производства СКИФов импортировать нужно только микросхемы - все остальное, охватывая печатный монтаж и сборку, может осуществляться в России.
«СКИФ-ГРИД» - не один немалый HPC-проект в России (хотя определенно один из самых интересных). Но существование таких проектов определяет их востребованность.
«Народу нужно что - найти решение задачу! Хоть синтезом, хоть лаптем - все равно!» С этой фразы началось выступление Виктора Владимировича Самофалова, менеджера компании Intel по HPC-решениям в России и СНГ.
Высокопроизводительные вычисления на нынешний день могут находить решение уймище задач не только научного, но и прикладного, практического характера. Производительности в 100 TFlOPS хватит, чтобы целиком смоделировать поведение самолета в заданных условиях, предсказать поведение воздушных масс или составить из отдельных образцов единый клеточный геном. Но не стоит обольщаться: полное моделирование процессов одной активный клетки потребует вычислительной мощности возле 1 ExaFlOPS (10 в 18 операций с плавзапятой в секунду).
По сути, чтобы узнать, как работает свойский свой тело на клеточном уровне, нужна производительность, во невпроворот раз превышающая ресурсы, доступные в текущее время земной науке.
Разумеется, прогресс не стоит на месте. Всякий год Intel показывает общественности новоиспеченный технологический шаг, будь то более «тонкий» техпроцесс или новая система команд. Цифра ядер в процессоре возрастает, и разработчикам значимо обладать возможность в полной мере задействовать эту мощь. Сознавая это, фирма уделяет немалое участливость вопросам разработки алгоритмов, использующих преимущества параллельного исполнения. Специальные инструменты разработки, помогающие программисту на всех этапах создания параллельного кода - предмет особой гордости Intel.
Но уже сейчас необходимо обозревать в будущее; число процессорных ядер в HPC-системе требует многоуровневого распараллеливания и особого подхода к оптимизации кода. Численность ошибок при параллельном программировании существенно возрастает, и благополучно сражаться с ними разрешается только с помощью нового, более эффективного инструментария.
Чтобы простимулировать развитие новой области искусства программирования, корпорация Intel совместно с РОСНАНО, Суперкомпьютерным консорциумом университетов и программой СКИФ-ГРИД организовала конкурс проектов по применению высокопроизводительных вычислений. Фокус конкурса - практическая ценность проектов; многие творческие коллективы получат в конце концов возможность донести свои идеи до тех, кому они нужны с практической точки зрения - настоящих потребителей мощи HPC, ученых и промышленников.
Продолжение следует…
По материалам: http://ferra.ru/online/integral/101004/
Опубликовано: 13 июля 2010