Вычислительный центр Московского государственного университета был создан в 1955 году на базе отдела вычислительных машин механико-математического факультета. Это был первый вычислительный центр в системе вузов и один из первых в нашей стране. Сегодня центр объединяет 20 лабораторий, которые используют вычислительные системы и методы при решении самых разнообразных задач - от моделирования климатических процессов до разработки веществ для будущих лекарств. Заведующий лабораторией математического моделирования НИВЦ МГУ Александр Смирнов рассказал о физических задачах, которые решает суперкомпьютер, о развитии суперкомпьютерных технологий. И об особом азарте ученых.
Александр Владимирович Смирнов – доктор физико-математических наук, заведующий лабораторией математического моделирования НИВЦ МГУ.
- Чем занимается ваша лаборатория в Научно-исследовательском вычислительном центре МГУ?
- Исторически сложилось, что большая часть сотрудников лаборатории занимается не наукой, а поддержкой комплекса информационных систем МГУ. В свое время я подключился именно к этой работе, и она до сих пор входит в число моих обязанностей. Но, разумеется, я совмещаю эту часть работы с научной деятельностью, в частности, с физикой элементарных частиц.
Хотя по образованию я не физик (я выпускник мехмата МГУ), так сложилось, что меня увлекла эта наука. И сейчас я работаю в качестве математика и программиста. Моя работа связана с расчетами в области взаимодействия элементарных частиц.
Смысл в том, что ученые пытаются понять, как устроен наш мир на микроуровне. И здесь существует два подхода, один из которых – практический. Все, конечно, слышали об адронном коллайдере. В свое время он наделал много шума. Люди переживали, что его запуск приведет к концу света. Но на нем лишь измеряется взаимодействие элементарных частиц при столкновении.
Другой подход – теоретический. Это попытка объяснить математическим языком, что собой представляет наш мир. Но поскольку мир сложен, то и теории, как правило, сложные. Чтобы рассчитать те или иные показатели хотя бы с приближением, нужны огромные вычислительные мощности. И здесь как раз сталкиваются физика, математика и программирование, в том числе с использованием суперкомпьютеров. Специалисты пытаются проверить, насколько точно так называемая Стандартная модель объясняет, как устроен наш мир.
- Насколько сильно изменились вычислительные мощности суперкомпьютеров, с которыми вы работаете?
- Изменились существенно. Еще 15 лет назад, когда я защищал кандидатскую диссертацию, суперкомпьютеры и расчеты на них не были таким мейнстримом. Сейчас возможности для расчетов просто колоссальны. Сегодня статьи, которые писали 15 лет назад, покажутся детским лепетом. Но люди в то время мужественно добывали новые знания на переднем крае науки. А сейчас это сделать гораздо проще. Мир шагнул вперед и во многом благодаря развитию суперкомпьютерных технологий.
- Насколько сложные физические задачи приходится решать?
- Мир изменился. Сегодня без использования больших вычислительных мощностей двигаться куда-то невозможно. И под вычислительной мощностью я имею в виду не просто сервера с огромным количеством ядер и оперативной памяти. Мы используем суперкомпьютеры и прогоняем задачи месяцами. И это суммы, поражающие своей величиной.
- Как обычно сформулирована задача?
- Скажем, рассчитать взаимодействие кварков или бозонов до какого-то порядка приближения. Или же посчитать массу определенной фундаментальной константы более точно. Это и есть физическая мотивация задачи. После преобразования задача превращается в нечто вычислительное. Она сводится к стандартным задачам из курса базовой линейной алгебры. Но, конечно, это предполагает решение огромных систем линейных уравнений. Слово «огромный» означает миллиарды уравнений с нечисловыми коэффициентами.
Далее разрабатываются программы, позволяющие решать задачу наиболее эффективно. Ведь ранние версии не справляются; требуется оптимизация, то есть поиск принципиально новых подходов к решению уравнений. Но, в конечном итоге, всё возвращается к суперкомпьютеру, на котором проводятся эти вычисления и проверяются новые подходы. И на самом деле это относится не только к задачам физики. Подобные вычисления, например, широко применяются при создании новых лекарств.
"ДЛЯ НОВЫХ ЗАДАЧ ВСЕГДА ПРИХОДИТСЯ ИСКАТЬ НОВЫЕ АЛГОРИТМЫ, НОВЫЕ ПОДХОДЫ К ИХ РЕШЕНИЮ. И ДЛЯ УЧЕНЫХ ЭТО ТО, ЧТО ВЫЗЫВАЕТ СИЛЬНЫЙ ИНТЕРЕС. КОГДА ВОЗНИКАЕТ НАУЧНАЯ ЗАДАЧА, ПЕРВЫЙ ВОПРОС – А МОЖНО ЛИ ЕЕ РЕШИТЬ ИЛИ НЕТ? ПОЭТОМУ РУТИННЫМ СПОСОБОМ ПРИЙТИ К ОТВЕТУ НЕЛЬЗЯ, ВСЕГДА НУЖНО ЧТО-ТО ИСКАТЬ, МЕНЯТЬ. ТОЛЬКО ТАК ЭТО ПРИНЕСЕТ РЕЗУЛЬТАТ. И ВИДИМО ЭТО ТО, ЧТО ПРЕЛЬЩАЕТ ЛЮДЕЙ В НАУКЕ. КАЖДЫЙ РАЗ ТЫ ВСТРЕЧАЕШЬСЯ С ВЫЗОВОМ, ЧУВСТВУЕШЬ АЗАРТ, ИЩЕШЬ НОВОЕ. И РУТИННЫЕ МЕТОДЫ ЗДЕСЬ НЕ РАБОТАЮТ"
- То есть все вопросы мироздания можно решить с помощью суперкомпьютеров?
- «Решить», конечно, громко сказано. Мы пытаемся приблизиться к ответам, пытаемся проверять теории и гипотезы о природе мироздания. И это, действительно, под силу разве что суперкомпьютеру.
- Может ли он применяться в бытовом ключе?
- Если речь идет о моделировании новых материалов, которые будут использоваться при создании телевизоров или смартфонов, то да. Все чаще подобные вещи создаются при помощи суперкомпьютеров. Но в более широком смысле, бытового назначения у суперкомпьютера нет. Обычному человеку суперкомпьютер ни к чему. Например, для подсчета домашней бухгалтерии мощности смартфона вполне достаточно.
- От физиков часто поступают запросы?
- Запросов много от коллег из разных областей науки. Ведь рассчитать можно что угодно – как течет жидкость, как меняется погода или климат.
- Наши смартфоны и ноутбуки становятся всё мощнее. Можно ли назвать их суперкомпьютерами в миниатюре?
- С 90-х годов скорость ядер росла, то есть росло количество операций, которое проводит конкретное устройство. Сейчас я преподаю для студентов первого курса, а они уже не знают подобного роста. В какой-то момент рост скорости дошел до некоего пика. Мощности ноутбуков и смартфонов увеличивались уже за счет количества самих ядер в устройстве. А рост скорости завершился. Это связано, прежде всего, с проблемой охлаждения. То есть можно создать более мощный компьютер, но он просто перегреется. Именно поэтому для суперкомпьютеров применяется система водяного охлаждения. Для обычного компьютера это неприменимо.
Тем не менее, рост количества ядер продолжился. Я помню, как все удивлялись: «Двухъядерный ноутбук? А что это такое?». А сегодня у нас у всех 8-ядерный процессор в смартфоне. Суть в том, чтобы распараллелить задачу и выполнить ее в несколько раз быстрее. Однако и здесь есть предел. Однажды мы уже не сможем и дальше увеличивать количество ядер.
Вернемся к суперкомпьютерам. На самом деле суперкомпьютер – это множество компьютеров, необязательно самых мощных, объединенных в одну огромную сеть. Все это требует огромных площадей и инфраструктуры для обслуживания. Мне сложно представить, что нечто подобное будет стоять дома. В этом направлении кардинального роста для стационарных компьютеров или ноутбуков я не вижу.
Перспективнее развивать центры обработки больших данных для потребностей ученых, особенно на базе институтов.
- России нужно больше суперкомпьютеров?
- Безусловно. Если мы хотим, чтобы наша наука развивалась, нам нужны суперкомпьютеры. Без отечественных ресурсов ученые будут искать доступ к суперкомпьютерам за рубежом.
- Основной метод решения задач на суперкомпьютерах – параллелизм?
- Верно. Узел суперкомпьютера сам по себе необязательно должен быть мощным. Нужно лишь логически распараллелить задачу на мелкие подзадачи, которые могут выполняться одновременно.
- Появятся ли другие методы?
- Вы, наверное, слышали о квантовом компьютере. В данном случае применяется принципиально иной способ вычислений. Поэтому ряд задач квантовый компьютер сможет решать в разы быстрее и эффективнее.
Тем не менее, у каждой задачи своя специфика. Чтобы ускорить решение задачи вы либо разрабатываете алгоритм, либо более быстрый процессор. А параллелизм как способ вычислений достаточно универсален. Есть множество классов задач, к которым можно применить параллелизм.
Кстати, я уже упомянул, что суперкомпьютер – это множество компьютеров, объединенных в одну сеть. Но и внутри одного компьютера может расти количество ядер. Это тоже параллелизм. Есть также и другие источники параллелизма, например, графические карты, которые изначально создавались для видеоигр. Смысл в том, чтобы для каждой точки экрана вычислить, что будет видеть главный герой игры. Соответственно, расчеты для каждого направления луча зрения будут независимы друг от друга. То есть изначально разработчики видеокарт пошли по иному пути. Современные видеокарты – это множество простейших вычислительных объектов. Конечно, они намного медленнее компьютеров, но у них нет таких проблем с охлаждением. Видеокарты рассчитаны на одновременное выполнение одинаковых вычислений с разными исходными данными. Это тоже некий ресурс для параллелизации, который развивался без влияния суперкомпьютерных технологий. Кстати сказать, первые биткоины майнили на мощных процессорах, а потом перешли на видеокарты, чтобы ускорить процесс.
Сегодня на многие суперкомпьютеры дополнительно ставят видеокарты, используя гибридные программы. Тем самым задача «разбегается» по узлам, на каждом из которых установлена видеокарта, которая также ускоряет процесс решения. Параллелизм во всем, но, пожалуй, именно суперкомпьютеры получают максимум от этого метода.
- Есть ли задачи, которые суперкомпьютер не в состоянии решить?
- Есть, в принципе, задачи, которые никто решить не может. Здесь всё сводится к тому, а подойдет ли к задаче тот или иной алгоритм. Каждую задачу необходимо перевести из области слов в конкретный набор вычислений. Бывает и так, что после оптимизаций вычислений всё равно настолько много, что никаких мощностей суперкомпьютера не хватит. Вы начинаете прикидывать: «Вот если мне предоставят мощности суперкомпьютера «Ломоносов» на сто лет, то я, кажется, смогу это посчитать». Здесь либо неверный алгоритм, либо отсутствует возможность решить задачу. Так или иначе, у всего есть предел. И не всё ограничивается одними суперкомпьютерными вычислениями.
Скажем, в области, где работаю я, часть вычислений производится на суперкомпьютерах, а часть при помощи высокопроизводительных серверов. Эту часть вычислений я просто не смогу запустить на суперкомпьютере, поскольку потребуется много оперативной памяти на один узел – это просто неэффективно.
- Сколько времени уходит на решение задачи?
- Решение задачи разделено на несколько частей. В среднем сам цикл может длиться до 1 года. За это время на использование суперкомпьютера отводится около 3 месяцев. До этого идет долгий процесс оптимизации и отладки алгоритмов.
- Правильно ли я понимаю, что специалисты встают в некую очередь, чтобы воспользоваться возможностями суперкомпьютеров?
- Да, верно. После того как вы получаете доступ к суперкомпьютеру, вы ставите задание в очередь. Запрос на конкретные ресурсы осуществляется с помощью командной строки. А дальше система очередности решает, какое задание запустить и в каком порядке.
- Вспомните какие-нибудь интересные задачи или проекты?
- На самом деле здесь сложно сформулировать что-то конкретное, что будет выглядеть ярко для неспециалиста в данной области. Все-таки фундаментальная наука не всегда напрямую дает практически понятные результаты.
- Все задачи превратились в рутину?
- В плане работы рутины нет, ведь для новых задач всегда приходится искать новые алгоритмы, новые подходы к их решению. И для ученых это то, что вызывает сильный интерес. Когда возникает научная задача, первый вопрос – а можно ли ее решить или нет? Поэтому рутинным способом прийти к ответу нельзя, всегда нужно что-то искать, менять. Только так это принесет результат. И видимо это то, что прельщает людей в науке. Каждый раз ты встречаешься с вызовом, чувствуешь азарт, ищешь новое. И рутинные методы здесь не работают.
- Будут ли дальше развиваться суперкомпьютерные технологии?
- Пока перспективы для роста есть. Но, в первую очередь, необходимо финансирование и поиск новых технологий.