IEEE Computer Society, IEEE Computing in Science and Engineering Интервью с Жилом Вейгандом и Полом Мессиной, Министерство энергетики США
Вместе с национальными лабораториями министерство возглавляет программу, цель которой состоит в сохранении технологической базы и разработке программ для сохранности, безопасности, военной эффективности и надежности запасов ядерного оружия США.
До того, как вступить в эту должность, Вейганд был помощником заместителя министра по стратегическим вычислениям и моделированию и главным представителем по связям с прессой комитета по оборонным программам министерства энергетики США, где он возглавлял инициативы по созданию передовых решений в области высокопроизводительных компьютерных моделей, вычислений и коммуникаций. В частности, он руководил реализацией инициативы Accelerated Strategic Computing Initiative (ASCI), в рамках которой создавались передовые инструментальные средства компьютерного моделирования и имитации, необходимые для того чтобы отказаться от проверки и сертификации на основе прямых испытаний и проводить необходимые измерения с помощью моделирования. Инициатива ASCI базируется на Международном договоре о постепенном отказе от ядерных испытаний, представленном президентом США Биллом Клинтоном 11 августа 1995 года.
Пол Мессина теперь руководит ASCI в качестве еще одного помощника заместителя министра энергетики по передовым решениям для моделирования и вычислений для оборонных программ. Он на два года ушел из калифорнийского Института технологий, где он был заместителем вице-президента по научным вычислениям и директором центра Center for Advanced Computing Research. Он также был назначен в Jet Propulsion Laboratory в качестве менеджера по высокопроизводительным вычислениям. Мессина также ушел с поста ведущего проектировщика National Partnership for Advanced Computational Infrastructure, где он создал и руководил инициативой Scalable I/O Initiative.
Главный редактор журнала IEEE CS&E Джордж Цыбенко недавно встретился с Вейгандом и Мессиной, чтобы поговорить об их роли в ASCI и программе Alliance Program, а также чтобы узнать их мнение о том, каков предел производительности вычислительных систем.
Были ли в рамках проекта ASCI сделаны какие-то открытия? Какого рода технические новшества используются для поддержки крупномасштабных вычислений, которых требует ASCI?
Вейганд: Четыре года назад десять крупнейших систем в мире были векторными; сейчас десять крупнейших систем являются параллельными, масштабируемыми машинами. Национальный научный фонд США (NSF) копирует все, что мы делаем. Работа центров NSF PACI сосредоточена на параллельных масштабируемых машинах и NPACI (партнерство, возглавляемое университетом штата Калифорния) только что установило машину с производительностью 1 TFLOPS.
Когда мы начинали свой проект четыре года назад, был необходим общий набор целей - того, к чему должны стремится люди. Вы помните, когда впервые услышали о том, что мы собираемся к 2004 году добиться производительность 100 TFLOPS? Некоторые считали нас сумасшедшими.
Да, я думаю, что это были очень честолюбивые замыслы.
Я хотел чтобы мы как можно быстрее доказали, что это возможно, поскольку тогда мы смогли бы развивать все компоненты нашей инфраструктуры. Необходимо было выяснить: мы - закаленная сталь или металл, который годиться только для кастрюль! Другие поддерживали наше стремление поставить в программе столь амбициозные цели и сделать это как можно раньше, поскольку они рассчитывали, что мы быстро сломаемся и они смогут предложить другой план.
Мессина: Сейчас у трех систем ASCI пиковая производительность превышает 3 TFLOPS, а буквально через несколько месяцев появится система с производительностью 10 TFLOPS. Все эти машины были разработаны в рамках сотрудничества ASCI с компьютерными компаниями.
Эти системы позволят нам создавать приложения, которые раньше были за гранью наших возможностей. Например, в декабре лаборатория Lawrence Livermore National Laboratory успешно завершила первую в мире трехмерную модель первичного взрыва ядерной бомбы. (Современное ядерное оружие состоит из двух основных компонентов: «первичного», или пускового, и «вторичного», который высвобождает большую часть всей энергии, или мощности, ядерного оружия - Прим. ред.)
Кроме того, благодаря тщательно спланированной программной архитектуре и использованию таких методик, как объектно-ориентированное программирование, мы можем интегрировать новые физические пакеты и алгоритмы в прикладные программы ASCI буквально за несколько недель - задача, для решения которой раньше требовалось больше года. Более того, некоторые основные прикладные программы довольно мобильны; они работают на всех трех машинах ASCI, несмотря на то, что эти системы достаточно отличаются друг от друга.
Вейганд: Позвольте я объясню, почему наши программы взрыва настолько важны. Программы взрыва по своей сути - это модель основных первичных и вторичных ядерных детонаций. Их, пожалуй, можно назвать научными программами, которые требуют самых больших ресурсов - людей, компьютерных ресурсов, дисковых файлов, инфраструктуры и возможностей визуализации. Несмотря на то, что сторонние наблюдатели иногда считают, что то, что мы делаем способно выдерживать многократное уничтожение, этот код очень хрупок. Он часто сбоит, потому что использует абсолютно все ресурсы до предела.
Работа программы взрыва невероятно амбициозна с точки зрения физики, используемой в таком масштабе - поэтому необходимо подумать о проверке. Как только у вас появляются результаты моделирования, их необходимо проверить. Вероятно, такой проверке подлежат все новые идеи, с которыми программа должна иметь дело. Как вы все это поддерживаете логически последовательным образом?
Вейганд: Мы привыкли к тому, что приходится выполнять множество различных, несвязанных запусков. Мы реализовали различные части физического процесса на различных сетях так, что нам не нужна была вся энергия сразу в течение одного временного шага. Мы не могли бы это сделать с помощью одной всеобъемлющей сети; всегда существовала интерполяция между кодами. Я потребовал, чтобы мы поместили это все в один общий пакет и запускали его с начала и до конца, также, как вы проводите эксперимент. Мы нажимаем на кнопку, тест идет и вычисления выполняются последовательно, до самого конца.
Это изменение емкости было плодотворным и кардинальным?
Вейганд: Позвольте, я вернусь немного назад и расскажу том, насколько грандиозен этот эффект. Тысячи людей в Лос-Аламосе, Сандии и Ливерморе работали для того, чтобы установить эти компьютеры во всех трех лабораториях. Они содержали тысячи строк кода, все написанные за короткий период времени. Это были тысячи процессоров, в тысячи раз с большей скоростью, в тысячи раз большее число файлов, чем нам приходилось писать раньше. При одном запуске использовалось 66 тысяч файлов объемом 6 Тбайт, он длился две недели, а затем мы вынуждены каждый раз начинать все с начала. Мы не могли сохранить все данные. Данных было в тысячи раз больше, чем когда-либо ранее человек был способен понять и проанализировать, поэтому и возможности визуализации нужно было усовершенствовать в тысячи раз. Нам была необходима в тысячи раз большая точность, при вычислениях в тысячи раз больших по объему. И в тысячи раз больше кабелей и модулей, чем раньше. Что я хочу сказать? Это огромный, огромный прогресс для всех! Для нас, инженеров, лишь тот факт, что у нас есть система в Сандии, которая позволяет обеспечить тысячи часов работы процессора для того чтобы выполнять вычисления - это дань инжинирингу. И затем это было сделано в Ливерморе и Лос-Аламосе. Большинство людей не верили, что такой прогресс возможен, а мы этого добились.
Каков следующий шаг? Теперь мы доказали, что способны выполнять моделирование такого рода, насколько хорошо оно выдерживает вашу жесткую критику, Мать Природа? Огромная часть нашей программы связана не только с подтверждением, но и с проверкой.
Вы собираетесь открыть абсолютно новые области знания, поскольку, в действительности, люди не имеют большого опыта работы с масштабными вычислениями, с которыми вам пришлось иметь дело. Это тоже здорово.
Вейганд: И часть этого подтверждения - это тесное сотрудничество с университетами, где они работают как раз над большой и сложной проблемой. Сотрудники университета штата Иллинойс решают задачу подтверждения корректности своих моделей ракетных двигателей. Специалисты в Юте должны проверять корректность своих моделей больших пожаров; они собираются тушить некоторые из крупных пожаров. Нам необходимо совершенствовать свою работу и двигаться вперед., но теперь мы больше не сомневаемся в том, что способны это сделать. Я не говорю, что следующего увеличения в 100 раз мы добьемся легко, но это достаточно просто. В скором времени в Ливерморе будет установлен еще больший компьютер, который поможет нам этого добиться. Мы продолжаем создавать дополнительные модели, интеграция которых позволит нам смоделировать все оружие полностью.
Я скажу вам, что произойдет. Мы прошли полпути благодаря программе проверки и вынуждены изменить некоторые из своих планов, поскольку намерены изучить материалы. Мы предполагаем заняться изучением, поскольку у нас есть очень скрытный, безжалостный, коварный критик - Мать Природа. Она не рассказывает о своих слабых местах. Она демонстрирует их в тот момент, когда вы меньше всего этого ожидаете, вот почему я испытываю к ней столь большое уважение. Можем мы получить необходимое уточнение физического явления? И можем мы сгладить различия между цифровым и физическим явлениеми? Если мы сможем это сделать, инженерное моделирование станет недосягаемым лидером.
И все это делается для того, чтобы дать толчок развитию науки и определенным коммерческим усилиям, например, предсказанию погоды и лечению почти любой изнурительной болезни. Все это будет совершенствоваться, поскольку мы получим более совершенные инструментальные средства для инжиниринга.
Даже фармацевтические исследования. Учитывая такие болезни. как болезнь Альцгеймера и HIV...
Вейганд: Да. Подождите до тех пор, пока мы не научимся моделировать все клетки человека. Поэтому я с таким жаром и рассказываю о проекте. Я бы хотел, чтобы вы прониклись важностью этой работы.
Существует ли какая-либо предпочтительная программная платформа для ASCI? Это компонентная архитектура?
Мессина: При создании некоторых основных прикладных программ ASCI использовались компонентные программные архитектуры, и они подтвердили свою эффективность. Однако пока преждевременно говорить о выборе какой-то одной архитектуры - сейчас еще недостаточно опыта, чтобы сделать это с должным основанием, и, скорее всего, в обозримом будущем должны использоваться несколько архитектур. Программные системы, которые пытаются предложить все, что угодно для любого приложения, часто терпят неудачу из-за избытка универсальности.
Позвольте мне прояснить до конца ситуацию с аппаратным обеспечением лаборатории. Министерство энергетики, благодаря ASCI, ведет весьма амбициозные проекты, связанные с моделированием. Министерство обороны США, Национальное агентство безопасности и НАСА - все решают задачи, требующие высокопроизводительных вычислений. Вы считаете, что существует основная архитектура, основная компьютерная архитектура, которую люди могли бы использовать как основу, а затем адаптировать ее для различных нужд? Вы знаете, что одно приложение требует больше памяти, другому нужны высокоскоростные диски, третье требует большой производительности при работе с целыми числами, забывая о плавающей арифметике...? Дальше, исходя из полученного вами опыта, не считаете ли вы, что можно определить некоторые общие характеристики для того вида архитектуры, которая могла бы удовлетворять всем этим требованиям?
Вейганд: Именно сейчас это сделать очень сложно. Я бы очень хотел ответить на этот вопрос положительно; я бы все сделал для того, чтобы так оно и было. Но сейчас проект, над которым мы работаем здесь, в министерстве энергетики, охватывает проблемы от слабой синхронизации до достаточно жесткой синхронизации, такой как радиоактивное излучение, поэтому мы предъявляем очень высокие требования к компьютерным системам. Иногда они похожи, иногда отличаются, скажем от требований наших друзей в NSA, которые решают проблемы иного рода. Я уверен, что для нас самое лучшее - выходить на рынок. Мы можем попытаться воспользоваться возможностями отрасли. Мы пришли к выводу, что наше сотрудничество с компьютерными компаниями, и в первую очередь с Intel - одним из наших первых партнеров, а также с IBM и SGI, оказалось весьма полезным для программы. И весьма эффективным для корпораций. Мы стоим на передовом рубеже, и они получили возможность предложить достаточно сложные и надежные системы для общего пользования. Кроме того, эти компании выразили готовность пойти нам навстречу, предложив определенный набор функций.
Сотрудники проекта ASCI очень продуктивно работали с американскими компьютерными компаниями. Наша политика максимального использования стандартных компьютерных компонентов параллельно с созданием систем, которые способны масштабироваться до нескольких тысяч процессоров, доказала свою эффективность и мы намерены действовать так и дальше.
Вейганд: То, о чем вы говорите, Джордж, вероятно было 10 лет назад. Скорее всего, мы будем выполнять квадриллионы операций с помощью архитектур «процессор в памяти». Алгоритмы станут намного совершеннее. Нам понадобиться еще 10 лет на то, чтобы создать новую область в математике для решения задачи распараллеливания и алгебры, и здесь, как мне кажется, может помочь NSF, да и другие тоже.
Защите везде придается большое значение. Как это влияет на работу ASCI, где используются распределенные вычисления?
Вейганд: Интересы защиты требуют от нас разработки особых аппаратных и программных стратегий. Чтобы реализовать нашу стратегию распределенных вычислений, мы вынуждены использовать шифрующее оборудование в каналах глобальной сети и совместно с другими агентствами разрабатывать более быстрые шифраторы. Что же касается программной области, то тут стоящие перед нами задачи защиты не сильно отличаются от тех, с которыми сталкиваются другие организации и, помимо наших собственных усилий, мы используем результаты других проектов, которые ведут NASA и NSF, касающиеся создания некоторых из необходимых инфраструктур.
Свободен ли доступ к высокопроизводительным ресурсам компьютерных центров? Пусть, например, кто-то работает в министерстве обороны над задачей потоков жидкостей, возникшей в связи с вертолетными винтами. Если они воспользуются машиной ASCI, они могут найти более эффективный способ решения каких-то своих задач. Понимаете, что я имею в виду? Взаимная помощь. Вы считаете, что между агентствами налажена достаточная координация и сотрудничество для того чтобы разрешить пользователям знать, что делает другое агентство?
Вейганд: Вероятно до такой степени доверительных отношений не будет создано никогда, но все-таки сделано больше, чем люди думают. Мы работаем со всеми этими интерфейсами и эту работу координирует National Coordination Office. Нас связывают тесные отношения с Национальным научным фондом США (NSF). NSA и ASCI оба стремятся к созданию конкретных высокопроизводительных решений, поэтому мы объединили свои ресурсы, что дало каждому из нас возможность заниматься тем, что нам удается особенно хорошо - каждый в своей предметной области, а затем учиться друг у друга.
Мы никогда не смогли бы добиться столь высоких результатов, если бы не могли использовать некоторые из действительно важных достижений в области визуализации Национального научного фонда США и его центров - это действительно выдающаяся работа. До такого «разделения труда», я могу сказать, что мы изучали почти все решения, созданные частными компаниями в области гидродинамики, динамики жидкости, радиационного излучения и так далее. Одна из наших действительно успешных программ - это программа Alliances - великолепный пример того, что мы на верном пути.
Государственные заказы Alliance Center оказались неожиданно большими; создало ли это какие-то определенные трудности для университетов?
Вейганд: Хотя заказы Alliance Center действительно являются крупными, они вовсе не беспрецедентны по своему размеру. Трудности, которые возникли у университетов в связи с заказами, главным образом вызваны тем, что проекты по своей природе предполагают знания в самых разных дисциплинах. В университетах по большей части отсутствует культура проведения в больших группах работы, требующей знаний в различных областях. Но все университеты, получившие заказы Alliance Center, смогли справится с трудностями и руководство университетов активно контролирует выполнение проектов и решает все возникающие вопросы.
Как исследования, проводимые в центрах, влияют на работу лабораторий?
Вейганд: Центры предоставляют лабораториям новые алгоритмы, физические модели, методологии программирования, системное программное обеспечение и методики визуализации. Одним из достоинств информатики и математики является тот факт, что инструментальные средства, созданные для одной прикладной области, часто оказываются весьма эффективны и для ряда других областей.
Вам удалось необычайно эффективно реализовать все эти инициативы в соответствии со своими планами и продолжать их развивать. Что ваши планы предусматривают дальше, на ближайшие три - пять лет? Что необходимо делать теперь?
Вейганд: Есть две задачи. Я верю, что работа, которой я занимаюсь, должна определить, раз и навсегда, насколько хорошо мы сможем сгладить различия между цифровой моделью и физическим явлением. Этим действительно стоит заниматься и это очень важно для работы ASCI. Но побочный результат будет состоять в том, что, опираясь на возможности современных компьютеров, мы откроем огромное число новых направлений науки и сможем использовать их, к примеру, для ускорения выпуска лекарств: ветеринарные лаборатории будут служить для подтверждения результатов клинической работы, а не для выполнения всей клинической работы. Эта позволит создать огромное количество новых направлений деятельности и резко улучить качество жизни. Я был бы рад видеть подлинные преимущества перед конкурентами на мировом рынке американских отраслей, которые поддерживали и поддерживают все, что мы делаем.
Итак, вы считаете, что это должно делаться с помощью определенного рода цифрового моделирования, а не с помощью физических экспериментов?
Вейганд: Мы не говоря о детях, которые в шлемах носятся по комнате - это не то, что я имею в виду под цифровым миром. Я имею в виду, что мы сможем направить наши аппаратные и программные ресурсы для работы с некоторыми материалами высокого риска, такими как сертификация лекарств для использования, а кроме того, уберечь множество матерей, дочерей и сыновей от рака; вот такого рода вещи.
Скажите мне, не может ли министерство электронной энергетики сыграть в этом какую-то роль. Если вы придете в ветеринарные лаборатории биологов или в экспериментальные лаборатории физических институтов, вы найдете там прекрасные регистрационные журналы и научные записи. Это часть обучения и работы практикующего врача. Но я не знаю ни одного компьютерного инженера, который постепенно бы прививал такую методологию студентам, и, я думаю, что такого и нет. Я знаю, что сам, по крайней мере, так студентов не учу. Вы понимаете к чему я клоню? Чтобы добиться такой конвергенции, мы должны изучить, как сделать это еще на студенческой скамье: как работать по научному, как делать записи.
Вейганд: Чтобы добиться этого, мы должны добиться того, чтобы сотрудники лабораторий думали в одинаковой степени и как специалисты по компьютерам, и как прикладные физики. Лабораториям было сложно развернуться лицом к информатике. Я потратил на это массу сил, создавая институты, где висел лозунг: «Физик не может переступить этот порог. Здесь царство информатики». Чтобы добиться поставленных целей, нам необходимо лучше документировать свои коды. Для этого, мы должны обратиться за помощью к университетам, чтобы понять, как создавать самодокументирующийся код, самопроверяющийся код, а иногда самотестирующийся код. Специалисты национальных лабораторий должны быть настолько восприимчивы, чтобы мы могли попытаться создать такой код. И мы должны иметь хорошие партнерские связи с компьютерными компаниями, чтобы компиляторы начали использовать новые, быстрые языки. Мы не можем добиться увеличения производительности на порядок, а раз так, то мы можем иметь самодокументирующийся код. Поэтому я считаю, что мы будем первыми в этом деле и, я надеюсь, что мы сможем заключить больше контрактов на исследования с университетами. Это долговременная цель. Вы знаете, что оружие будет существовать многие десятилетия; и нам придется мириться с этим какое то время.
Существует огромные различия между культурой физической науки и информатики: научная методология намного более заинтересована в том, как вы проводите эксперименты и как вы описываете их в документах - это часть данной культуры. Компьютерные специалисты к этому практически не приучены. Было бы неплохо, если бы программа ASCI проникла в университеты и научила бы людей работать более методично.
Вейганд: Многие коды, созданные в лаборатории, написаны на Си, а некоторые - на C++. В текстах нет всех типов языка Fortran. Мы используем нити и MPI, объектно-ориентированные методы и интерактивные интерфейсы. Одна из наших программ частично написана на Python - интерактивном языке, который позволяет динамически менять код во время его выполнения. Мы не находимся на передовых рубежах, как университеты, но в наших лабораториях, безусловно, произошли определенные сдвиги, чего не было раньше. У нас есть прекрасные возможности для студентов и там ведутся грандиозные исследования.
Это очень перспективная карьера.
Помимо того, что мы добиваемся прогресса в специальных технических вопросах информатики, центры стимулируют интерес к информатике в университетах, где они расположены, да и в других местах.
Вейганд. Именно так. Одна из целей контроля запасов вооружений состоит в том, чтобы по-прежнему привлекать американцев, которые хотят посвятить себя такого рода работе.