Предыдущая часть С самодельным параллельным суперкомпьютером в рюкзаке Клаус Шультен терпеливо ждал в чикагском аэропорту О'Хара, надеясь, что после прибытия из Германии ему не составит труда пройти таможню. Это было летом 1988 года, и Шультен собирался начать новую работу в Университете Иллинойса. В разгар холодной войны, когда напряженность между США и Советским Союзом достигла наивысшего пика, суперкомпьютеры вызывали у администрации Рейгана большой ужас. Хотя Рейган, находясь на своем посту, усилил гонку вооружений и все сопутствующие ей технологические достижения, он хотел, чтобы бурно развивающиеся разработки суперкомпьютеров не попали в руки Советов, которые могли бы создать более совершенное оружие. Оглавление Пересматривая устоявшиеся подходы Предтечи молекулярной динамики Шультен-числодробитель Рискованный план Паяльник вместо экзамена Транспортировка суперкомпьютера во время холодной войны Невзгоды теоретической биологии В поисках сотрудников Бунт аспирантов Отказ от платоновской информатики Ингредиенты NAMD Награда за декаду Вычислительный микроскоп достигает совершеннолетия NAMD в двадцать первом веке В 1986 году правительство объявило о предполагаемой политике ограничения использования советскими учеными суперкомпьютеров, размещенных в университетах США. Все предельно прозрачно: никакого доступа для ученых из 20 стран коммунистического блока. Но реализация была не столь ясна. Университеты были возмущены этой политикой, беспокоясь о посягательствах на их академическую свободу и исследовательские инициативы, не понимая, как им стать исполнителями политики государственной безопасности. Администрация Рейгана не только собиралась запретить советским ученым проводить моделирование на суперкомпьютерах, но и не хотела, чтобы советские ученые вообще находились рядом, опасаясь, что они могут научиться создавать свои собственные. Но в 1987 году два молодых студента-физика из Мюнхена взяли на себя именно такую миссию по созданию собственного параллельного суперкомпьютера, хотя ни один из них не имел формальной подготовки в этой области. Они не только воплотили свое стремление, но и стоимость их проекта составила около 60 000 долларов, что намного меньше, чем розничная цена Cray-2, популярного суперкомпьютера в конце 1980-х. Их научный руководитель, Клаус Шультен, решил рискнуть всеми грантовыми деньгами, хотя у него не было никаких гарантий, что проект ждет успех, и даже несмотря на то, что он не был экспертом в параллельных вычислениях.  В этом эссе рассматривается, как несколько ученых приняли принципиально новую технологию –   параллельные вычисления, чтобы продолжить поиски описания больших молекул. Их усилия привели к созданию компьютерных программ, которые детализировали движение этих молекул во времени и, по существу, создали, как выражается Шультен, "вычислительный микроскоп".  Это также история о риске; многие ученые ставили на карту все, чтобы сделать работу, которую они считали критически важной, и их решения впоследствии сделали их профессиональную жизнь трудной, но в конечном счете полезной. Этот краткий обзор показывает нескольких ключевых игроков в истории вычислительного микроскопа и показывает, как их рискованность подпитывала рост научных открытий десятилетия спустя. В середине 1980-х Клаус Шультен был профессором Мюнхенского технического университета, и у него был список желаний. Он хотел смоделировать на компьютере поведение во времени фотосинтетического реакционного центра. Сдвиг в том, как ученые рассматривали эти большие молекулы жизни, начался в конце предыдущего десятилетия, наряду с прогрессом в том, как они могли бы вычислять свойства этих биомолекул. Шультен хотел запустить так называемое моделирование молекулярной динамики, в котором внутренние атомные движения этих больших биомолекул давали бы информацию о свойствах молекул. Другими словами, он хотел получить информацию о функциях больших молекул в биохимических реакциях, составляя с помощью компьютера карту движения многих атомов, составляющих биологические макромолекулы. На курсах химии в колледже иногда, помимо учебников, требуются наборы для построения молекул. Студенты собирают молекулы из разноцветных атомов-шариков скрепляя их тонкими палочками. Результатом будет жесткая 3D-модель, которую можно повертеть в руках и рассмотреть со всех сторон. До 1977 года этот статический взгляд на биомолекулу все еще был распространен в некоторых научных кругах. Но постепенно начал происходить сдвиг в концептуальном понимании исследователей, после того, как 1977 год ознаменовался введением вычислительного метода, который прояснил движение атомов, составляющих биологические макромолекулы, что позволяло рассматривать их динамику. Этот сдвиг в сторону использования вычислительных методов для отражения такой динамики стал первым шагом в легитимации вычислительного микроскопа и дал стимул, побудивший Клауса Шультена создать свой собственный суперкомпьютер. В 1968 году Мартин Карплюс был очень успешным химиком-теоретиком, работавшим в Гарварде, и он неожиданно понял, что пришло время вернуться к своей первой любви – биологии. Когда Карплюс был еще мальчиком, отец подарил ему микроскоп, что помогло воспитать в нем любовь к природе. Это пристрастие к природе только усилилось, когда Карплюс посетил лекцию в Бостонской публичной библиотеке под названием "Птицы и их идентификация в полевых условиях", что привлекло его к орнитологии. После, в средней школе, Карплюс был одним из победителей Westinghouse Science Talent Search со своим проектом по семейству чистиковых. Его любовь к биологии продолжалась и в студенческие годы в Гарварде, поскольку в своей автобиографической статье 2006 года он писал: "Я пришел к выводу, что для того, чтобы приблизиться к биологии на фундаментальном уровне (чтобы понять жизнь), необходимо иметь солидный опыт в химии, физике и математике, и поэтому я записался на программу по химии и физике." Однако его аспирантура по биологии не удалась, он перешел на химию и получил докторскую степень осенью 1953 года в Калтехе. (подробности можно найти в автобиографии "Шпинат на потолке: химик-теоретик возвращается в биологию") Пятнадцать лет спустя, после больших успехов в теоретических исследованиях химии, Карплюс был готов возобновить свой интерес к биологии. Он остановился на Институте Вейцмана в Реховоте, Израиль, как на месте, где он мог проводить время в знаменитой библиотеке и обсуждать идеи в группе Шнейора Лифсона, и взял отпуск из Гарварда, чтобы перестроить свои исследовательские интересы. Пребывание в Институте Вейцмана в 1969 году дало Карплюсу то, что он искал, и он вернулся в Гарвард с темами для изучения, а именно: происхождение связности гемоглобина, изучение ретинали в зрении и укладка белка. К началу 1970-х годов один из его учеников, Брюс Гелин, разработал компьютерную программу для вычисления силовых взаимодействий белка просто из его аминокислотной последовательности, а также из координатной разметки его структуры (полученной из экспериментальных данных рентгеновской кристаллографии). Программа была использована в основной работе Гелина по гемоглобину, а затем для изучения ингибитора трипсина поджелудочной железы крупного рогатого скота. С программой Брюса Гелина к середине 1970-х годов группа Карплюса подготовила почву для применения молекулярной динамики к биомолекулам. К моменту когда к группе присоединился Эндрю Маккаммон, код Гелина обрел законченную форму, реализуя уравнения Ньютона для расчета динамики или отдельных движений атомов белка. Однако остальные коллеги не очень-то одобряли применение молекулярной динамики к биомолекулам. Как писал Карплюс в своей автобиографии 2006 года: "Когда я обсуждал свои планы с коллегами-химиками, они думали, что такие расчеты невозможны, учитывая сложность точного анализа нескольких атомных систем; коллеги-биологи считали, что даже если бы мы могли сделать такие расчеты, они были бы пустой тратой времени." Но Карплюса это не разубедило. Он был воодушевлен двумя ответвлениями исследований более простых систем, которые сделали молекулярную динамику возможной для биомолекул. Первой была работа по расчету траекторий нескольких частиц для простых химических реакций, которую Карплюс изучал сам, когда занимался теоретической химией. Эти траекторные расчеты уходили корнями в 1930-е годы. Второе ответвление заключалось в изучении термодинамических свойств большого числа частиц - работа, начатая Берни Олдером и Томом Уэйнрайтом в конце 1950-х годов, когда они впервые применили молекулярную динамику к большой системе взаимодействующих частиц. Карплюс знал не только о работах 1950-х годов по молекулярной динамике, но и о том, что в середине 1960-х и середине 1970-х годов другие исследователи использовали молекулярную динамику для моделирования жидкостей. Таким образом, с оглядкой на работы предшественников, Карплюс решил рискнуть сделать расчеты молекулярной динамики на биомолекуле, даже если его коллеги по биологии и химии не разделяли энтузиазма. Но преобладающее негативное отношение было не единственным, с чем столкнулись Карплюс и его сотрудники. Расчеты молекулярной динамики, которые они хотели провести, требовали серьезной вычислительной мощности. Карплюс утверждает, что в конце 1970-х годов было трудно получить компьютерное время для выполнения таких больших вычислений в Соединенных Штатах, поскольку большинство больших компьютеров предназначались исключительно для оборонных работ. Но когда возможность принять участие в семинаре в Европе пообещала доступ к компьютеру, Брюс Гелин и Эндрю Маккаммон принялись неустанно работать над подготовкой программы для запуска молекулярной динамики на небольшом белке. Работа в CECAM (Center Européen Calcul Atomique et Moléculaire) на большом компьютере прошла успешно, и троица, Маккаммон, Гелин и Карплюс, вскоре опубликовала свою статью по молекулярной динамике ингибитора трипсина поджелудочной железы крупного рогатого скота. Поскольку молекулярная динамика буквально показывает внутренние движения белка во времени, они смогли воспроизвести 9.2 пикосекунды времени жизни белка. В принципе, программа молекулярной динамики должна была бы воспроизвести время необходимое для развития биологического процесса. И хотя несколько пикосекунд могут показаться небольшим количеством времени для выяснения поведения белка, это послужит одной из направляющих сил в продвижении будущих исследователей к поиску более крупных и быстрых компьютеров. Ученые хотели продлить время моделирования расчета молекулярной динамики, то есть использовать вычислительный микроскоп для длительностей, выходящих за пределы пикосекундного диапазона. Шультен знал о работе Маккаммона, Гелина и Карплюса, потому что он заканчивал аспирантуру в Гарварде, где Карплюс был одним из его преподавателей, а Маккаммон и Гелин были сокурсниками, которых часто можно было встретить в коридоре. Статья 1977 года оказала определенное влияние на Шультена, который был обучен использовать теоретические и математические методы, такие как те, которые используются в химии и физике. "Я понял, что этот вычислительный подход, открывает новые двери для описания проблем, которые нельзя было сделать с чисто теоретическим подходом, который я использовал прежде." Но принятие вычислительного метода вместо того, чтобы использовать исключительно чистую теорию, имело свои издержки, и вскоре он стал известен как "Шультен-числодробитель". "Я заплатил за это большую цену, потому что в основном на протяжении большей части моей карьеры люди считали меня глупым. Хотя я продолжал публиковать статьи, ориентированные на математику, для каждой статьи, ориентированной на вычисления, мне приходилось выкупать себя десятью теоретическими работами, и я не мог этого сделать." Шультен был не единственным в этой истории, кто был очернен своими коллегами за то, что отошел от чисто теоретических исследований. На самом деле, доказательство полезности вычислительного микроскопа или молекулярно-динамического подхода на его самых ранних стадиях также была битвой, в которую пришлось ввязаться Шультену. В 1985 году, будучи еще профессором в Мюнхене, Шультен отправился в суперкомпьютерный центр в Иллинойсе, чтобы провести некоторые расчеты, и вернулся в Германию с фильмом, иллюстрирующим белок в движении, основанным на моделировании молекулярной динамики. Когда Шультен показал фильм, один из его коллег пришел в ярость. "Он так взбесился, когда увидел это, что чуть не дошло до рукоприкладства. Он всем говорил, что это самая большая чушь, которую он когда-либо видел в своей жизни. Он был кристаллографом, который в основном думал о белках как о каком-то готическом соборе, отлитом из камня." Несмотря на многочисленные трудности, с которыми пришлось столкнуться Шультену, он был полон решимости использовать молекулярную динамику в своей работе; он был уверен, что это приведет его к новым открытиям, которые будут ценны для науки. "Моя любовь к научным открытиям, заставила меня заняться грязными вычислениями." Шультен хотел досконально разобраться в фотосинтезе, при котором солнечный свет превращается в биохимически пригодную энергию. Но важной макромолекулой в этом процессе является большой белок, который находится внутри мембраны. Имитировать белок сам по себе и пренебрегать мембраной и жидкостью, которая его окружает, было не желательно, потому что такая изоляция не является естественной средой для белка. Этот белок состоит примерно из 12 000 атомов, а мембрана и вода, окружающие его в естественной среде, добавляют еще 100 000. В конце 1980-х годов ни один суперкомпьютер даже близко не был способен справиться с этой задачей. Таким образом, Шультен решил сосредоточиться на понимании и моделировании только части мембраны в воде, когда выпала возможность выполнить расчет на Cray-XMP, но это позволило воспроизвести процессы всего в несколько пикосекунд, что натолкнуло на мысль: нужен свой суперкомпьютер на котором можно гонять расчеты год или больше, чтобы действительно понять механизм. В то время как Шультен, преподававший физику в Мюнхенском техническом университете, задавался вопросом, как завести себе суперкомпьютер, молодой студент того же университета задавался вопросом, как получить возможность быстрый компьютер построить. На самом деле, теоретически, Гельмут Грубмюллер знал, как сделать компьютер быстрее, но ему было интересно, сможет ли он заставить кого-то другого оплатить это. При поступлении в Мюнхенский университет в 1985 году, двадцатилетний Грубмюллер осознал, как выбор специальности определил его цели: "Когда я начал заниматься физикой, я быстро понял, что для того, чтобы узнать больше о том, как работает природа, может потребоваться мощная вычислительная машина. В конечном счете, именно поэтому я был так очарован компьютерами; вы могли делать вычисления, которые иначе не осилить." Во втором или третьем семестре он спаял многопроцессорный компьютер, который будет намного быстрее, чем то, что было доступно обычным студентам в те дни. Хотя технически это был параллельный компьютер, Грубмюллер просто назвал его мультипроцессором. Это была середина 1980-х, и не было никакой Всемирной паутины, чтобы проконсультироваться по техническим вопросам. Вместо этого он читал любые книги о микропроцессорах, какие только мог найти, и разговаривал по телефону с представителями компаний о технических характеристиках продаваемых ими деталей. В качестве наиболее важных для продвижения вперед источников информации для него были технические спецификации чипов, например, из линейки Motorola 68 000, которые он использовал в качестве процессора. Это увлечение быстро опустошило бюджет студента. Настойчивое желание построить более быстрый компьютер привело его к идее, по общему признанию, наивной. "Я подходил к некоторым из профессоров и просто спрашивал их, готовы ли они заключить сделку. Я бы построил большую машину, а они заплатили бы за оборудование".  Профессора отвергали эту идею называя ее безумной. Клаус Шультен в то время преподавал потоку Грубмюллера курс механики, и он помнит тот день, когда молодой человек подошел к нему со своим самодельным многопроцессорным компьютером. "Он открыл свою сумку, достал оттуда суперкомпьютер, показал мне результаты работы и рассказал о характеристиках, и я чуть не упал со стула", – Шультен был впечатлен демонстрацией некоторых возможностей мультипроцессора. "Поэтому я сразу же включил его в свою группу, сказав ему, что в группе есть и другие люди, которые тоже много знают о компьютерах." Одним из таких людей был Гельмут Геллер, который, как впоследствии узнал Шультен, пользовался некоторой славой в университете. Еще в старших классах Геллер начал сам изучать компьютеры. Он был счастливым обладателем одного из первых персональных компьютеров, PET 2001, представленный Commodore в конце 1970-х. Там было всего 8 килобайт оперативной памяти и кассета для архивирования данных. "Я начал с изучения BASIC с отладкой программ на этой машине. Потом же, начал писать машинный ассемблерный код", – вспоминает Геллер. У него в родном городе было несколько друзей, которые тоже интересовались компьютерами и учили друг друга. Поступив в Мюнхенский технический университет, он продолжал пользоваться компьютерами, иногда даже используя их, чтобы выйти за рамки того, что требовалось по образовательной программе. Шультеном преподавал физику группе, в которой был Геллер. По словам Шультена, вторая половина семестра состояла из семинаров, где студенты выполняли небольшие проекты на компьютерах. Однажды Шультен пришел на пару, и ему показалось, что он ошибся аудиторией. Лекционный зал был переполнен, хотя обычно была занята от силы четверть мест. Сбитый с толку, Шультен направился в соседний лекционный зал, но там никого не оказалось. Вернувшись обратно, он увидел Геллера, ожидавшего у входа, чтобы начать защищать  свой проект. "Гельмут Геллер был настолько известен в университете как компьютерный гуру, что все, кроме меня, знали, что если он выступает, то лучше прийти." Геллер сделал на компьютере сложный фильм про фракталы для этого задания. "Он показал нам, как он модифицировал компьютер, чтобы провести этот расчет. Даже сегодня я не в состоянии объяснить, что он на самом деле сделал." Наблюдение за тем, как Геллер играючи управляется с компьютером, действительно произвело впечатление на профессора. Шультен с удовольствием пригласил Геллера присоединиться к группе. "Иногда приходится рисковать", – оправдывает Шультен свое решение позволить Грубмюллеру и Геллеру построить параллельный суперкомпьютер. Риск для Шультена был огромен. Хотя у него был бы суперкомпьютер для моделирования молекулярной динамики, если бы это каким-то образом не сработало, ему было бы нечего показать. В то время он не был экспертом в области параллельных вычислений и имел мало сведений для оценки осуществимости проекта. Кроме того, ему придется объяснять финансирующему агентству, как он вложил десятки тысяч немецких марок в самодельный компьютер, тогда как деньги предназначались для оборудования, которое обычно поставлялось с гарантиями и контрактами на обслуживание. Геллер и Грубмюллер, однако, составили отличную команду, и то, что они пытались сделать, было немалым подвигом. Им нужно было не только построить суперкомпьютер, но и написать программное обеспечение для параллельной работы на нем. "У нас с Гельмутом Грубмюллером были очень похожие, но в то же время комплиментарные компьютерные знания. Он больше занимался аппаратным обеспечением, а я – программным.", – вспоминает Геллер. Однако они разрабатывали и аппаратное, и программное обеспечение вместе, консультируясь друг с другом на каждом шагу. Шультен был поражен их изобретательностью. Например, когда пара сказала Шультену, что им нужен осциллограф, чтобы проверить правильность работы компьютера, Шультен признался, что у него нет дополнительных денег на это. Тогда два студента заверили его, что если они найдут два или три убитых осциллографа, то смогут собрать из деталей один работающий, что они и сделали. В конечном итоге компьютер был собран и назван T60. За основу использовался кластер процессоров, известных как транспьютеры, потому что якобы из них можно было так же легко собрать схему, как из блоков Lego. В результате вышло 60 узлов: десять самодельных плат, по шесть транспьютеров на каждую. Все компоненты были спроектированы, спаяны и собраны вместе: транспьютеры, оперативная память, источник питания, вентиляторы (аэраторы), корпус, шины питания, печатные платы и крепления. Поскольку пайка каждой из десяти печатных плат занимала много времени, к работе подключились другие члены исследовательской группы Шультена. Каждый участник получал детали и лист инструкций и начинал паять плату, что занимало по крайней мере около шести недель, а затем подписывал на ней свое имя. "Это действительно показывало исследовательскую личность студента", – утверждает Шультен. "Работа, которую каждый в группе должен был проделать, действительно очень близко отражала то, как они на самом деле будут вести себя в команде и позже в науке." На самом деле Шультен считает, что вся эта пайка была даже лучше, чем традиционные результаты экзаменов, в определении того, какие кандидаты будут хорошими аспирантами, чтобы принять их в группу. Геллер вспоминает о трудностях, с которыми столкнулась команда при написании кода для параллельной машины, кода, который они назвали EGO. "Я помню, что когда я впервые провел параллельные вычисления, которые хорошо масштабировались, я был очень взволнован, но вскоре я обнаружил, что все результаты были неправильными! У меня была быстрая параллельная программа, дающая неправильные результаты." Найти причину этого было нелегко. Шультен купил кусок промышленного марципана, до которого Геллер был большой любитель, и время от времени отрезал ему ломтики, чтобы побудить его продолжать. После долгих добродушных насмешек со стороны других членов группы за его быстрые, но неправильные вычисления, Геллер в конце концов понял, что ему нужно правильно синхронизировать параллельные задачи, так как сначала он дал им слишком много свободы; решение заняло много дней и долгих вечеров работы. Проект по созданию и программированию Т60 начался в конце 1987 года. На пол пути к  его завершению Шультен получил новую работу в Соединенных Штатах, в Университете штата Иллинойс в Урбана-Шампейн. Вместо того чтобы отправить Т60 в Соединенные Штаты и неделями ждать, пока он прибудет, а затем пройдет таможню, Шультен решил просто пронести компьютер в рюкзаке. Во время холодной войны Соединенные Штаты долго не соглашались со своими западноевропейскими союзниками по вопросу касательно поставок высокотехнологичных товаров, таких как некоторые компьютеры, в страны Советского блока. Европейские страны не хотели ограничивать свою торговлю с Советским блоком, и даже компьютерные компании в Соединенных Штатах были обеспокоены тем, что их бизнес будет ограничен правительственными ограничениями. Существовал специальный список ограничений и запрещенных материалов для экспорта в коммунистические страны, который был составлен под эгидой COCOM, комитета, созданного после Второй мировой войны для ограничения поставок оружия в Советский Союз. Список был единогласно согласован Соединенными Штатами, союзниками по НАТО и Японией. В 1984 году, после долгих ожесточенных споров между Соединенными Штатами и Западной Европой, особенно по поводу экспорта компьютеров, COCOM пересмотрела свой список товаров и в основном разрешила свободно экспортировать персональные, но не суперкомпьютеры. Администрация Рейгана не только хотела ограничить бизнес, как внутренний, так и зарубежный, от экспорта суперкомпьютерных технологий в СССР, она также хотела держать советских ученых подальше от своих недавно созданных суперкомпьютерных центров. В 1985 году Национальный научный фонд выделил четырем университетам 200 миллионов долларов на открытие суперкомпьютерных центров в их кампусах. Этот шаг был признан необходимым и санкционирован Конгрессом, чтобы предоставить академическим исследователям доступ к суперкомпьютерам, которые обычно ограничивались оборонными работами, выполняемыми Пентагоном и Национальными лабораториями. Как сказал один из ключевых ученых, лоббировавших правительство США, использование стандартных компьютеров вместо упрятанных за бюрократическими препонами суперкомпьютеров "похоже на езду на лошади и возу, когда над головой летают самолеты". Но в 1986 году администрация Рейгана предложила запретить доступ к этим суперкомпьютерным центрам советским ученым. Таков был климат летом 1988 года, когда Клаус Шультен решил взять свой самодельный суперкомпьютер на трансатлантический рейс и пронести его через таможню в Чикаго. Шультен знал, что из-за скорости обработки данных компьютер Т60 должен быть зарегистрирован, особенно при экспорте или импорте. Он подошел к таможеннику и показал ему суперкомпьютер. —  Что это? —  спросил таможенник. —  Это компьютер, —  ответил Шультен. —  Зачем Вы мне его показываете? —  Это очень мощный компьютер, и он должен быть зарегистрирован у вас. Затем Шультен объяснил офицеру некоторые технические детали машины. Наконец таможенник посмотрел на Шультена и сказал: "Пожалуйста, положите его обратно и ступайте." Когда Шультен прибыл в Иллинойс, его ученики закончили собирать и программировать свой Т60. Программа, получившая название "EGO", была написана на языке OCCAM II – языке, физическим воплощением которого, по сути, и являются транспьютеры. Точно так же, как создание T60 требовало больших усилий, написание параллельного кода было столь же трудной задачей. Одним из ключевых показателей в параллельном программировании является то, насколько хорошо масштабируется программное обеспечение; хорошее масштабирование (или параллелизуемость) означает, что время выполнения вычислений приближается к ускорению кратному количеству логических потоков. Например, сбор яблок человеком хорошо параллелизуется: по мере того, как все больше людей участвует в сборе, время выполнения работы уменьшается. Было очень важно, чтобы EGO хорошо масштабировалось, потому что расчет мембраны, который Шультен и его группа хотели запустить, был очень большой системой. На самом деле расчет занял двадцать месяцев безостановочных вычислений. Система, которую они изучали, мембрана из липидов, окруженная водой, состояла из 23 978 атомов. Для сравнения, число атомов в системе биомолекул, которую Маккаммон, Гелин и Карплюс изучали в 1977 году, было на два порядка меньше. После таких невероятных усилий, приложенных к проблеме мембраны, можно представить себе удивление Шультена, когда их с Гельмутом Геллером и Михаэлем Шефером статья была отклонена в течение недели, хотя результаты хорошо согласовались с экспериментом. Статья содержала результаты теоретической биофизики. Шультен признает, что опубликовать теорию, связанную с биологией, очень сложно, особенно в журналах с высоким импакт-фактором. Он говорит, что даже сегодня у него больше шансов получить признание, если он объединится с экспериментаторами. В своей автобиографической статье 2006 года Мартин Карплюс суммирует препятствия, с которыми сталкиваются теоретики при публикации результатов, связанных с биологией: "Как и раньше, сегодня эта проблема все так же распространена, то есть, если теория согласуется с экспериментом, она не интересна, потому что результат уже известен, тогда как если кто-то делает прогноз, то он не может быть опубликован, потому что нет доказательств того, что прогноз верен." Тайна отказа так и не была раскрыта. "Я до сих пор не знаю, почему ее отвергли", – рассказывает Шультен. "Я был так взбешен, что, хотя я опубликовал много статей в этом журнале, я сказал им, что больше никогда не буду там публиковаться." Геллер, Шефер и Шультен в конце концов опубликовались в Journal of Physical Chemistry, и статья сейчас высоко цитируется. Этот набег на молекулярную динамику такой гигантской для своего времени системы дал обоснование для использования параллельного компьютера в качестве вычислительного микроскопа. Было важно взять для анализа большой сегмент мембраны, потому что реальные клеточные мембраны непрерывны и не имеют края как такового. Другие типы обычных микроскопов не могли уловить некоторые критические особенности мембраны, которые проясняла молекулярная динамика. "Когда вы смотрите на мембрану в течении какого-то времени, то замечаете, что она вся текучая и движущаяся. Что довольно трудно рассмотреть с помощью микроскопов. А мы действительно видели с помощью компьютера сам процесс и могли провести сравнение с большим количеством экспериментов. Они измеряют некие усредненные характеристики, которые придавали нам убеждение в том, что то, что мы действительно видели с помощью компьютера, было правильной картиной." Успех вычислений только подогрел аппетит Шультена к изучению все больших и больших систем. Шультен не понимал, что его жажда массивных систем на параллельных машинах приведет к своего рода студенческому бунту и программному продукту под названием NAMD, который определит его карьеру. В 1989 году Шультен основал группу теоретической биофизики [Theoretical Biophysics Group] (которая впоследствии стала группой теоретической и вычислительной биофизики) в Институте Бекмана Иллинойского университета. В 1990 году он получил двухлетний грант от Национального института здравоохранения, которого более или менее должно было хватить, чтобы центр заработал. К этому времени Шультен лучше разбирался в параллельных вычислениях, по сравнению с теми временами, когда он вложил все свои деньги в параллельную машину еще в Мюнхене; он понял, что может изучать массивные биомолекулы, используя преимущества параллельных машин. Уже существовали программные коды, некоторые даже в свободном доступе, которые занимались молекулярной динамикой, но Шультен понял, что его потребности намного превышают их возможности. На самом деле, Шультен понял, что его потребности превышают даже его собственные возможности как вычислительного биофизика, если он хочет осуществить свой план по изучению более массивных биомолекул в их естественной среде. Шультен решил выйти за пределы своего поля. "На мой взгляд, это было некоторое предвидение с его стороны, начать искать опытных информатиков", – вспоминает Лаксмикант “Санджай” Кале, один из ученых, к которым обратился Шультен. Мотивированное тремя причинами, суждение Шультена вынудило его обратиться за помощью к компьютерщикам в своем университете. Во-первых, до 1991 года программированием молекулярной динамики в группе Шультена всегда занимались его студенты-физики. После того, как оба Гельмута написали EGO для самосборного компьютера, другой студент, Андреас Виндемут, написал код по молекулярной динамике для  Connection Machine. Как уже упоминалось ранее, в 1985 году в Соединенных Штатах были созданы четыре центра для предоставления академическим исследователям доступа к суперкомпьютерам. Четыре центра находились в Корнелле, Принстоне, Калифорнийском университете, Сан-Диего и Иллинойском университете, в Шампейн-Урбане, где находился Шультен. Иллинойский центр назывался NCSA, и группа Шультена имела доступ к Connection Machine, которая размещалась там. Видя программы для T60 и для Connection Machine Шультен понял, что ему нужны навыки разработки программного обеспечения в группе, чтобы убедиться, что программное обеспечение написано таким образом, чтобы в будущем оно было понятно и открыто для модификаций. Его студенты-физики просто не были обучены таким навыкам. Во-вторых, Шультен понял, что методы программирования меняются, и особенно то, что FORTRAN, разработанный в 1950-х годах, возможно, не будет лучшим вариантом, поскольку начали приобретать известность другие языки. "Нам нужны были лучшие языки программирования, которые были бы более систематичными". В-третьих, освоение кода для параллельных машин казалось пугающим. Код для Connection Machine был в высшей степени обделен кроссплатформенностью, да и в принципе им было трудно пользоваться. Нюансы построения кода, переносимого на другие параллельные машины, в то время, когда так много различных типов поставщиков продавали параллельные компьютеры, убедили Шультена искать вход с другой стороны. Ему нужны были компьютерщики, которые будут в курсе быстро развивающихся и меняющихся технологий Имея в виду вышеупомянутые причины и необходимость получить более солидный грант на обновление своего центра, грант, который обеспечит финансирование на пять лет, а не только на два года, Шультен обратился к двум ученым-компьютерщикам из университета Иллинойса и попросил их принять участие в работе группы. Один из них, Боб Скил, был экспертом в области численных алгоритмов, а другой, Санджай Кале, был экспертом в параллельном программировании. В 1992 году Шультен получил пятилетний грант от Национального института здравоохранения и таким образом приступил к основам программного кода под названием NAMD. На самом деле Шультен воспринимает раннюю работу над T60 как приготовление почвы для NAMD – это вкупе со студенческим бунтом, который произошел в начале 1990-х годов. В это время Шультен надеялся продолжить использовать коды молекулярной динамики, которые были разработаны для Connection Machine и Т60. Аспирант Боба Скила, Марк Нельсон, изучал код Connection Machine, а аспиранты Шультена, Билл Хамфри и Эндрю Далк, изучали код Т60. Все трое были непомерно раздражены своей работой. "Я бился головой об этот код в течение нескольких месяцев, – рассказывает Нельсон, – и никуда не продвигался. Комментариев не было, и все имена переменных были сокращениями немецких названий, что как-то мне не помогало." Трое аспирантов, Нельсон, Хамфри и Далк, решили, что их задача будет проще, если они просто напишут новый код с нуля. Они тайно работали около месяца, пока не получили жизнеспособный код. Взяв на себя большой риск перед своими научными руководителями, они представили на собрании группы идею создать совершенно новый код и оставить в покое предыдущие реализации, которые было бы сложно поддерживать. "Они хотели написать все на C++ и боялись, что профессор пристрелит их за дерзкий отказ от работы с проверенным кодом." – смеется Шультен. Однако на самом деле, он был в восторге от этой инициативы. "Так что я сам был очень взволнован,  потому что увидел здесь ситуацию, которая была почти такой же, как у Гельмутов до них. Студенты осознавали риск и были готовы взять на себя ответственность." На тот момент группа Шультена уже была готова создать программный код с нуля, потому как в команде появились настоящие компьютерщики. Один из них, Санджай Кале, попал в проект в следствие случайного стечения обстоятельств и вскоре узнал, что ему будет нужна толстая кожа для того, что его ждет. В начале 1980-х годов, будучи аспирантом в SUNY Stony Brook в Нью-Йорке, Кале начал работать над параллельным логическим программированием. В частности, он использовал язык Пролог для изучения искусственного интеллекта. "Так уж получилось, – вспоминает Кале, – что если вы осмотритесь в этой области сейчас, то увидите огромное количество людей, которые в середине 1980-х годов кодили на Прологе." Когда он получил работу в Университете Иллинойса, он продолжал работать над параллельным логическим программированием и получил должность в 1991 году. Пока он занимался этим более или менее "чистым" исследованием, основанным на компьютерных науках, он начал обдумывать применение своей работы. "Я занимался поиском на основе состояний, искусственным интеллектом в общем, и его распараллеливанием в частности, задачами а ля коммивояжера и т. д.", – рассказывает Кале об этом периоде времени. "Но мои интересы начали смещаться в сторону: как мы можем применить это к задачам, которые есть у инженеров и ученых?" По удивительному совпадению, сразу после того, как Кале получил должность и собирался отправиться в академический отпуск в Индию на семестр, к нему подошел Клаус Шультен, чтобы спросить, будет ли Кале участвовать в гранте 1991 года в качестве эксперта по параллельным вычислениям. У Кейла внезапно появился прикладной проект, буквально на его собственном заднем дворе. Он провел часть своего отпуска, читая о биологии и биологическом моделировании, а когда вернулся из Индии, начал изучать две программы, которые Шультен использовал для параллельных вычислений молекулярной динамики. На самом деле он написал об этом во многом провидческий меморандум, опубликованный в 1994 году. Он поднял вопрос о том, почему компьютерщики должны ориентироваться на прикладные аспекты, и как это относится к области параллельных вычислений. Во-первых, он понял, что компьютерщики часто занимаются абстрактными исследованиями. "Это не работает, потому что вы не концентрируетесь на реальных проблемах", – говорит Кале. – Поэтому я называю это платоновскими компьютерными науками. Идея выглядит красиво, поэтому вы ее развиваете, а затем перебрасываете ее через забор в реальный мир. А реальному миру все равно, потому что он занят своими проблемами." "Если вы ориентируетесь только на одно приложение, – продолжает он, – это не работает, потому что вы разрабатываете технологию, которая слишком узкая, чтобы обеспечить широкий набор приложений. Таким образом, вы должны нацеливаться на несколько приложений." К началу 1990-х годов Кале работал над прикладными проектами: Клауса Шультена по молекулярной динамике и еще одним по гидродинамике с сотрудником в области машиностроения. Что касается молекулярной динамики, то Кале изучал предыдущие коды, разработанные группой Шультена. Примерно в 1994 году аспиранты предложили начать все сначала. "Мы решили явно оформить его как программу", – вспоминает Кале. "Сделать шаг назад и разработать его как программу, а не позволять ему быть органически выращенным." Этот формальный дизайн привел к прототипу NAMD. Название первоначально было акронимом "Not Another Molecular Dynamics", который придумал аспирант Билл Хампри, вдохновленный названием компилятора аналогичной природы; вскоре аббревиатура стала обозначать "NAnoscale Molecular Dynamics". Явное требование NAMD быть параллельным с самого начала будет иметь долгосрочные последствия с точки зрения успеха программного обеспечения. Хотя Кале исполнил свое желание работать над приложениями, последнее десятилетие века сопутствовалось тяжелым трудом. Кале и его аспиранты разработали язык параллельного программирования, названный ими Charm++, который стал очень важным и ценным для успеха NAMD. Его собственные исследования в области компьютерных наук в течение десятилетия были сосредоточены на этом. "То, что мы предлагали, было параллельным C++ или параллельным объектно-ориентированным языком, который был по-своему новым и существенно отличался от того, как люди занимались параллельным программированием", – рассказывает Кале. "Так что это был мой вызов – заставить людей принять это." Этому предприятию также характерно большое число поражений. У Кале остались стопки отклоненных грантовых предложений в качестве напоминания. Рецензенты говорили, что то, что он предлагал, либо невозможно, либо устарело. Его публикации тоже не всегда ценились: "Мы писали статьи, и я говорил: "Это продемонстрировано в молекулярной динамике". А люди отвечали: "Это просто параллельный C++. Многие люди делают параллельный C++". Они не обращали внимание на элемент новизны. И работы продолжали игнорироваться". Кале также считает, что работа на чужом поле была еще одной причиной, по которой ему приходилось бороться. "Люди говорят о междисциплинарных исследованиях, но на самом деле это очень трудно реализовать.  Они не очень уважают междисциплинарные исследования ни в одной из этих дисциплин." Оглядываясь назад на то время, Кале, как и Шультен, оценивает траекторию своей профессиональной жизни после того, как в 1990-х годах он принял решение перейти к практическим задачам: "Я все еще не советую молодым людям делать то, что сделал я, если они действительно не понимают, какой риск таит этот карьерный путь." Пройдут годы, прежде чем этот риск окупится для Кале. Многие факторы формировали направления в которых развивался NAMD в 1994 году, не последним из которых было то, что теперь он хорошо финансировался грантом NIH. Аспиранты настаивали на использовании языка С++, относительного новичка в области программирования. "C++ предложил хорошую комбинацию объектно-ориентированного языка, – заявляет бывший студент Марк Нельсон, – но мы все равно могли бы написать ключевые вычислительные части на C и получить необходимую скорость." Использование C++ в NAMD сделало его уникальным среди солверов молекулярной динамики того времени. Поскольку NAMD должен был быть адаптирован для параллельных машин, разработчики должны были учитывать, как многие процессоры, составляющие параллельную машину, будут взаимодействовать друг с другом при выполнении вычислений молекулярной динамики. Кале и Аттила Гурсой, его аспирант, работали над средой Charm++ и кое-чем, что называлось message-driven execution. Хотя технические детали выходят за рамки этой статьи, достаточно сказать, что Charm++ использовал message-driven execution, чтобы эффективно позволить процессорам общаться друг с другом во время выполнения молекулярной динамики. В то время как C++ и Charm++ были уникальными элементами для NAMD, параллельный дизайн с нуля был еще одной отличительной чертой. В начале 1990-х годов другие очень успешные коды молекулярной динамики, такие как Amber и CHARMM (который является гарвардским продуктом и не следует путать его с Charm++, который был разработан в Иллинойсе), приняли другую тактику, когда стало очевидно, что программное обеспечение должно быть разработано для параллельных компьютеров. Поскольку они существовали в течение многих лет, и огромные инвестиции ушли на миллионы строк кода, они не могли позволить себе роскошь проектирования с нуля; вместо этого они изменили существующую базу последовательного кода. Санджай Кале приводит преимущества, которые дизайн с нуля давал NAMD: программное обеспечение хорошо масштабировалось и могло обрабатываться любыми новыми машинами, которые быстро появлялись на рынке. "Этот дизайн выдержал испытание временем и до сих пор актуален", – размышляет Кале. "В значительной степени архитектура параллельной программы осталась прежней, хотя в то время мы работали на кластере HP, с восемью процессорами. А теперь мы работаем на 200 000 с лишним процессорах.” И поставщики параллельных компьютеров обратили на это внимание. С самого начала NAMD предлагался сообществу бесплатно и с годами набирал все больше и больше пользователей. На новый пакет положило глаз IBM, что в свою очередь инициировало еще больший интерес со стороны других ученых занимающихся вычислениями. Почти через десять лет после того, как Кале начал свою одиссею в мир параллельных вычислений, он, наконец, был вознагражден. Каждый год проводится международная конференция  “Supercomputing”. Премия Гордона Белла вручается ежегодно на конференции в знак признания достижений в области параллельных вычислений. И в 2002 году она была присуждена разработчикам NAMD. Хотя Кале, возможно, работал в течение многих лет над такими прикладными проектами, как молекулярное моделирование и гидродинамика, он также занимался более или менее чистыми исследованиями в области компьютерных наук. Он считает, что премия Гордона Белла принесла его группе заслуженную славу. "На самом деле, я очень благодарен за это, – отмечает Кале, – потому что наши идеи в области информатики остались бы недооцененными. И было бы трудно добиться их признания, если бы не успех NAMD". Из-за своей репутации в NAMD у Кале теперь есть проекты в области моделирования погоды, вычислительной астрономии и вычислительной химии. К этому времени вычислительный микроскоп стал более сложным. В 1977 году было проведено первое моделирование молекулярной динамики на небольшом белке в вакууме, которое отображало 9,2 пикосекунды. К 1996 году NAMD моделировал систему с 36 000 атомами, рецептор эстрогена с сегментом ДНК в соленой воде, в течение 50 пикосекунд. Расчет выполнялся в течение двух-трех дней на 8-процессорном кластере. В 2004 году для системы аквапорин-1, состоящей из 81 065 атомов, расчет проводился в течение 22,4 часов на параллельной машине с 128 процессорами и отобразил 5 наносекунд времени жизни системы. Эти достижения утвердили вычислительный микроскоп для научного сообщества. "В прежние времена компьютерное моделирование не было таким точным", – вспоминает Шультен. – Поэтому было бы высокомерием просто сказать: 'Это вычислительный микроскоп', – люди посмеялись бы над нами и сказали бы: 'У вас очень плохой микроскоп'.” Когда его спрашивают, какие силы заставили вычислительный микроскоп совершенствоваться, Шультен ясно понимает, что есть более глубокая причина, чем очевидная, стоящая за его мотивом постоянно совершенствовать NAMD для создания более крупных систем. "Мы стали больше не потому, что я хотел бить себя в грудь и говорить, что я могу сделать больше атомов, чем остальные, а скорее по ясной интеллектуальной причине. И причина в том, что я думаю, что для самой природы живых систем, в частности живых клеток, необходимо описать, как биологические макромолекулы, в частности белки, собираются и взаимодействуют. Ключевым моментом является просто то, что эти макромолекулы должны найти друг друга в нужной пропорции, в правильной геометрии, в нужном месте в клетке, и они должны сотрудничать." И для того, чтобы описать это, NAMD пришлось усовершенствовать до такой степени, что он мог описать десятки, сотни или тысячи белков. Часто вычислительный микроскоп правильно предсказывал то, что наблюдал эксперимент; иногда он опережал эксперимент. Одним из таких случаев был пример использования NAMD для запуска моделирования "управляемой молекулярной динамики". В управляемой молекулярной динамике можно применить внешние силы к белку и отобразить его последующее поведение во времени. Анкириновый повтор – это определенная последовательность аминокислот, и эта последовательность содержится в более чем 400 белках человека. В 2005 году Маркос Сотомайр, Дэвид П. Кори и Клаус Шультен изучали упругие свойства этих анкириновых повторов с помощью управляемой молекулярной динамики, в конечном счете, чтобы лучше понять слух и чувство равновесия; год спустя, в 2006 году, эксперимент подтвердил их результаты моделирования. В высоко цитируемой научной статье 2007 года “Одномолекулярные эксперименты in Vitro и in Silico” Сотомайр и Шультен утверждают, что эксперименты in silico "стали мощным инструментом, дополняющим и направляющим эксперименты in vitro". Термин 'in silico' относится к исследованию, выполненному с помощью компьютерного анализа. Обоснование вычислительного микроскопа как мощного инструмента только усиливалось по мере того, как этот эксперимент предвосхитил результаты эксперимента in vitro. NAMD появился на свет в начале 1990-х годов, и семя его восходит к самодельному параллельному компьютеру, построенному в конце 1980-х годов, и программе EGO, которая была написана для этого конкретного суперкомпьютера. Шультен хотел управлять все большими и большими системами, и поэтому NAMD родился, а затем вырос, потому что он хорошо финансировался. Ключевым игроком, стоящим за успехом NAMD, является ведущий разработчик Джим Филлипс, бывший аспирант Шультена в 1990-х годах. Теперь Шультен называет Филлипса "отцом NAMD", поскольку Филлипс разрабатывал творческие решения для параллельного программного обеспечения почти два десятилетия. Многие системы были смоделированы с помощью NAMD за его примерно двадцатилетнюю историю. Полный список выходит за рамки данной статьи, однако в приложении (оригинала) приведено несколько работ, описывающих молекулярную динамику ключевых белков, изученных группой Шультена в Бекмане. И каждая из этих публикаций была высоко цитируема. Некоторые из затронутых тем – это исследования белка титина, который отвечает за пассивную эластичность мышц, и изучение того, как аквапорины работают, чтобы пропускать воду или глицерин через мембрану, но не пропускать протоны. Тот факт, что эти статьи имеют более сотни цитат каждая, доказывает их важность. Но чтобы завершить историю NAMD, сосредоточим внимания на том, чего достиг вычислительный микроскоп в своем исследовании вирусов, что освещает наследие NAMD за последние несколько лет. Само собой разумеется, что исследования вирусов помогут в борьбе с болезнями. В 2009 году Всемирная организация здравоохранения объявила пандемию свиного гриппа – H1N1pdm. Было быстро обнаружено, что этот штамм гриппа приобрел устойчивость к Тамифлю, лекарству, которое лечит людей, недавно инфицированных гриппом. Кроме того, было обнаружено, что вирус птичьего гриппа H5N1 также обладает устойчивостью к Тамифлю. Используя NAMD, а также молекулярную динамику и управляемую молекулярную динамику, сотрудники Университета Иллинойса и Университета Юты объединили усилия, чтобы найти основу для этой лекарственной устойчивости. Их открытие, согласно их публикации 2010 года, "предполагает, как мутации нарушают связывание лекарств и как новые лекарства могут обойти механизмы устойчивости." Вирус табачной мозаики – один из самых маленьких известных вирусов; этот факт в сочетании с достижениями в области компьютерных технологий позволил моделировать эту форму жизни с помощью NAMD целиком. Исследователи из Иллинойса объединились с исследователями из Калифорнийского университета в Ирвине, чтобы изучить стабильность вирусной частицы, а также ее составных частей. Результаты, опубликованные в 2006 году, были первым полностью атомарным моделированием живого организма, охватывающим более миллиона атомов. Полученные результаты установили, какие факторы имеют решающее значение для структурной целостности всего вируса, а также какие факторы могут направлять сборку частицы. Вирусы – это очень примитивные частицы, и многие из них состоят только из белковой оболочки, или капсида, окружающего нить ДНК или РНК. Для размножения вирус проникает в клетку-хозяина и захватывает ее механизмы, чтобы создать больше вирусных частиц. В то время как капсид играет роль защиты вируса, он также должен каким-то образом стать нестабильным и высвободить свои внутренние компоненты в клетку-хозяина для размножения. Распознавание движения белков, составляющих капсид во время такого высвобождения, является приоритетной целью, и исследование, проведенное в 2006 году, изучало динамику различных капсидов. Относительно новый метод – крупнозернистая молекулярная динамика, позволял моделировать целые капсиды, которые до этого времени были недоступны. Ученые из Университета Иллинойса усовершенствовали метод крупнозернистой молекулярной динамики и использовали NAMD для иллюстрации стабильности капсида для нескольких вирусов. С помощью новой техники стало возможным моделировать капсиды размером более 10 нанометров и наблюдать переходы между стабильными и нестабильными структурами. Эта работа может дать полезную информацию для борьбы с вирусными заболеваниями. Будущее для NAMD выглядит радужным. Цель Клауса Шультена – понять биологическую организацию, саму суть того, что делает клетку живой, – маячит на горизонте после сорока лет самоотверженности и творчества. "Так что теперь я могу потихоньку заняться тем, о чем мечтал, – замечает Шультен о биологической организации, – ближе к отставке. И другие люди следующие за мной могут использовать наработки сейчас и могут делать это намного лучше. И это, конечно, тоже делает меня счастливым." И вычислительный микроскоп продолжает прояснять все большие и большие системы. "Сегодня у нас есть симуляция на 20 миллионов атомов", – хвастается Шультен. "И у нас есть симуляция, чтобы быть готовыми к следующему поколению компьютеров, которые потянут 100 миллионов атомов." Сочетание понимания и принятия риска, безусловно, окупилось с точки зрения научных открытий. От выяснения рецептора эстрогена, чтобы лучше понять рак молочной железы, до освещения вирусов, чтобы лучше бороться с болезнями, вычислительные проекты, ставшие возможными с помощью параллельных компьютеров, будут продолжать раздвигать границы. И до тех пор, пока смелые ученые идут на большой личный риск, пытаясь сделать то, что никогда не делалось раньше, и продолжают переосмысливать новые пути для того, чтобы компьютер действовал как научный инструмент, помогающий исследователям, будущее вычислительного микроскопа, кажется, наверняка принесет больше открытий. Продолжение