«Программирование — само по себе творчество»
С 2019 года Павел Костенецкий занимает должность начальника Отдела суперкомпьютерного моделирования. За это время суперкомпьютер Вышки обработал 830 000 вычислительных задач и увеличил производительность до двух квадриллионов операций в секунду.
Простым языком о том, как работает Суперкомпьютер и зачем он нужен университету, почему ИТ – это не только про цифру, но и про креативность, о студентах и планах на будущее Павел Сергеевич рассказал в материале Вышка.Digital.
— В вашей биографии работа в Суперкомпьютерном центре Южно-Уральского государственного университета и научно-педагогический стаж — 15 лет. Почему вы выбрали сферу образования?
Сфера образования и науки мне всегда была интересна. В отличие от сферы промышленности, в данной работе есть место творчеству. Здесь создаются подходы и теории, которых раньше не существовало. Когда начинаешь новое исследование, которое еще никто не делал, очень интересно, что из него получится. Результаты могут быть порой неожиданные. В промышленном программировании все заранее более-менее определено. На входе есть четкая постановка задачи и приемлемые результаты, которые нужно достигнуть заранее известным методом.
— А как пришли в Вышку?
Высшая школа экономики — это ведущий столичный вуз. Когда я узнал, что здесь создается суперкомпьютерный центр, то понял, что такой шанс упускать нельзя и предложил свою кандидатуру. Со мной пришел мой коллектив, у которого есть большой опыт настройки и обслуживания суперкомпьютерных комплексов мирового уровня. Сейчас, регулярно летаем в Челябинск как гости. Летом ходим в походы и на сплавы по горным рекам. Природа Челябинской области за пределами города красива и чиста. Иногда на общественных началах участвую в защитах кандидатских диссертаций и магистерских работ в области параллельных вычислений. Это позволяет «быть в тонусе» в моей научной области и обмениваться опытом с представителями других суперкомпьютерных центров.
— В ИТ много направлений. Почему вы выбрали работу с суперкомпьютерами?
Суперкомпьютерные комплексы — это чрезвычайно производительные, сложные и дорогие установки, которые можно легко пересчитать в стране и в мире.
Каждый суперкомпьютер по-своему уникален, и при его постройке и конфигурировании создаешь что-то новое, чего до тебя не было. Наверное, это самое важное в работе.
Интересно оптимизировать потоки задач супервычислителя, повышая его эффективность, и видеть, как правильно настроенный суперкомпьютер позволяет ученым достигать целей своих исследований мирового уровня и разрабатывать отечественные технологии.
© Дарья Кочеткова / Высшая школа экономики
— Павел, объясните сложное простым языком. Что же такое суперкомпьютеры и зачем они нужны людям?
Самое простое определение суперкомпьютера – это такой компьютер, который мощнее всех других. Т.е. суперкомпьютер помогает людям решить те задачи, с которыми не могут справиться ни какие персональные рабочие станции и даже мощные серверы.
Приведу пример. Разработка двигателей самолетов во всем мире выполняется на суперкомпьютерах уже больше 20 лет. Уже нет ничего, что изначально изготавливают «в железе», а потом проверяют «хорошо ли оно работает».
Все, что производится в современном мире сначала создается в виртуальном пространстве на суперкомпьютере, благодаря его памяти и огромной вычислительной мощности.
Далее, виртуальный цифровой двойник, например, авиадвигатель, проходит испытание на тысячах вариантах окружающей среды, топливе, режимах, температурах и только когда удается добиться нужных параметров, результирующая модель изготавливается в металле. Это позволяет добиться нужных результатов в сотни раз быстрее и дешевле — т.е. суперкомпьютеры экономят деньги на тех работах, которые в промышленности ранее делались вручную.
Еще один пример — суперкомпьютеры спасают жизни, причем не только людей, но и подопытных животных. Десятками лет претенденты на лекарства тестировали на мышах, а сегодня с использованием мощностей суперкомпьютеров можно моделировать взаимодействия лекарств с белками живого организма и заранее исключать сотни вариантов лекарств, которые не могут иметь положительного эффекта. Это многократно повышает безопасность проведения исследований действия экспериментальных препаратов.
При помощи суперкомпьютера обучают искусственный интеллект. На персональном компьютере для обучения современной глубокой нейронной сети попросту не хватит памяти. Если же ухитриться и все же заставить персоналку обучать нейронную сеть, на этот процесс затянется на годы. И не факт, что получится именно нужный искусственный интеллект с первого раза. Кроме того, через год, полученный результат сразу окажется устаревшими, так как исследователи, имеющие доступ к суперкомпьютерам, выполнят то же исследование гораздо раньше. Суперкомпьютер обучает подобные сети в тысячи раз быстрее. Это крайне важно в текущей технологической гонке.
© Дарья Кочеткова / Высшая школа экономики
— А какие сферы применения у Суперкомпьютера НИУ ВШЭ?
В России есть 50 Суперкомпьютеров, при этом Суперкомпьютер Вышки входит в ТОП-10. Его используют во множестве научных исследований Университета в абсолютно различных областях. Много задач посвящено обучению искусственного интеллекта. Например, Факультет компьютерных наук создал нейронную сеть, которая распознает появление на полке в магазине товара, которого там раньше не было, или классифицирует впервые увиденные товары с помощью камеры – раньше такого нейронные сети нигде в мире не умели.
Много исследований с использованием нашего суперкомпьютера проводится в области физически и химии. Атомы достаточно давно удалось исследовать и оцифровать, поэтому известно с какими силами они между собой взаимодействуют, как получаются молекулы и как эти молекулы соединяются между собой. Теперь на базе математических моделей элементарных частиц на суперкомпьютере можно моделировать и исследовать новые материалы. Можно узнать, какими свойствами будет обладать еще не синтезированный материал и в случае необходимости определить, как его можно синтезировать. В вышке проведены обширные исследования, посвящённые Covid-19 и исследования по моделированию мозга человека. При помощи суперкомпьютера можно найти на отсканированном человеческом мозге больного область, нуждающуюся в проведении операции. Список исследований можно продолжать бесконечно. Некоторые из них приведены на сайте отдела суперкомпьютерного моделирования.
— У Суперкомпьютера Вышки есть имя —«cHARISMa». Как оно появилось и что значит? Откуда пошла традиция давать имена суперкомпьютерам?
Крупные вычислительные комплексы всегда получают собственные имена, потому что суперкомпьютер — это штучная уникальная установка. Суперкомпьютер Вышки получил имя «cHARISMa», что расшифровывается как Computer of HSE for Artificial Intelligence and Supercomputer Modelling. Имя было выбрано в 2020 году путем открытого голосования. Голосование проходило в два этапа. На первом — студенты, преподаватели и сотрудники сами предложили различные названия, на втором этапе выбирали из сформированного списка и победила «cHARISMa», что прекрасно ассоциируется с нашими исследованиями. Это в основном суперкомпьютерное моделирование сложных процессов и обучение глубоких нейронных сетей, т.е. искусственного интеллекта.
Высшая школа экономики
— В Вышке вы уже три года. Чего за это время удалось достигнуть в части работы Суперкомпьютера? Какие проекты из осуществленных в университете для вас самые любимые?
Весь накопленный опыт мы вложили в настройку и расширение суперкомпьютера «cHARISMa». Было очень интересно все сделать с нуля и сразу так, как нужно. Основываясь на многолетнем опыте поддержки пользователей суперкомпьютеров ЮУрГУ, мы серьезно упростили пользователям работу, сконфигурировав систему управления ресурсами максимально прозрачно. Например, даже если пользователь не прочитал ни одной инструкции, он все равно скорее всего сможет запустить свою вычислительную задачу. Если он не указывает какие ресурсы ему нужны, система сама подберет те, которые ему подойдут.
Наше большое достижение — разработка программной системы «HPC TaskMaster» для автоматического обнаружения неэффективных и некорректно запущенных вычислительных задач пользователей на суперкомпьютере. Подобные системы есть далеко не у всякого суперкомпьютера из мирового списка ТОП-500.
В России есть только 2 аналога нашей программной системы. Благодаря «HPC TaskMaster» уже удалось повысить эффективность суперкомпьютера на 10% без каких-либо финансовых вложений в расширение оборудования.
На суперкомпьютерах, где системы для автоматического обнаружения неэффективных и некорректно запущенных вычислительных задач отсутствуют, существенная часть вычислительного комплекса может простаивать, пока пользователь думает, что его исследование выполняется полным ходом. Пользователи суперкомпьютера Вышки избавлены от таких неожиданностей, т.е. получают автоматические оповещения в случае, если обнаруживаются аномалии работы их приложений. Как правило, они сразу же находят ошибки в своих программах и устраняют их. При необходимости системные администраторы суперкомпьютера помогают пользователям.
© Дарья Кочеткова / Высшая школа экономики
— Есть стереотип, что ИТ – это про бесконечные цифры, длинные и запутанные элементы кода… Есть ли в вашей работе место творчеству?
Цифры прекрасны, не нужно их бояться. Даже некоторые авторы ими стихи пишут. Вот, прочитайте четверостишие:
17 30 48
140 10 01
126 138
140 3 501.
Да и программирование само по себе творчество. Когда мы занимаемся развитием программной системы «HPC TaskMaster», это особенно проявляется. Многое в нашем программном комплексе сделано впервые. Программный комплекс, кстати, имеет открытый исходный код и свободно доступен в Интернете. Любой суперкомпьютерный центр может взять нашу разработку и адаптировать для своих нужд.
— Работали в Вышке со студентами?
Конечно! В Отделе суперкомпьютерного моделирования работают Цифровые ассистенты Вышки. Студенты выполняют наши поручения, например, написание программных модулей или тестирование работы нового программного обеспечения суперкомпьютера, и даже зарплату за это получают. Еще я лично руковожу выпускной квалификационной работой магистра (дипломом) у инженера моего отдела, который заканчивает НИУ ВШЭ. Считаю, что со студентами нужно работать, раз уж мы в Университете.
— Цифровизация набирает обороты, все больше молодых людей хотят начать карьеру в сфере ИТ. Поделитесь своим опытом, какие качества для этого нужны?
Во-первых, важно желание учиться. Именно учиться, а не нахватывать информации «по верхам», пропуская базовую теорию. IT-специалист, не знающий математики, основ теории баз данных, сетей и т.п. будет делать много глупых ошибок в работе.
Во-вторых, человек должен любить управлять компьютерами. Если нет интереса, далеко не продвинуться. В-третьих, практиковаться. С первого курса заниматься реальной программной разработкой или системным администрированием, пусть даже бесплатно.
— Какие цели из стоящих перед вами в ближайшее время вас больше всего вдохновляют?
Суперкомпьютер – большая и сложная система, которую нужно непрерывно обслуживать, оптимизировать и расширять. Всё это довольно интересно.
Основное правило моего отдела — автоматизировать любые рутинные работы.
Ничего вручную делать нельзя, все профилактические работы у нас делаются путем написания скриптов и программ, которые будут использоваться повторно. Благодаря автоматизации рутинных процессов, удается добиться того, что машина реагирует на известные ошибки и устраняет их самостоятельно в любое время суток со скоростью, недоступной человеку.