Умная толпа - Говард Рейнгольд
Шрифт:
Интервал:
Закладка:
День выдался солнечный, так что мы с Андерсоном уселись на террасе вне стен Космологической лаборатории. Калифорнийские холмы летом порыжели. До нас доносился запах эвкалиптового леса, я мог любоваться заливом Сан-Франциско. Если бы я работал в этом здании, то проводил бы все встречи на террасе. Андерсон, высокий, темноволосый, поджарый, под стать бегуну на длинные дистанции, отвечает на вопросы не сразу, его слог можно назвать чеканным.
Я спросил его, как начался проект SETI@home. «В 1995 году, — вспоминает Андерсон, — я общался с бывшим выпускником Калифорнийского университета в Беркли по имени Дэвид Геди. Находясь под впечатлением от просмотра документального фильма о посадке на Луну космического аппарата „Apollo“, события, позволившего всем живущим на Земле ощутить свою причастность к совершенному человечеством прорыву, Геди задался вопросом: какой современный проект мог бы оказать подобное действие? И ему пришла мысль воспользоваться повальным увлечением Интернетом и программой SETI, направив их в одно русло».
В середине 1990-х клиентские программы SETI@home были выложены в Сеть для свободного скачивания. «Что тут началось! — рассказывает Андерсон. — Мы рассчитывали, что, если откликнется хотя бы 100 тысяч человек со всего света, овчинка стоит выделки. Через неделю в нашем распоряжении было 200 тысяч добровольцев, а через четыре-пять месяцев их число перевалило за миллион; сейчас преодолен двухмиллионный рубеж».
Хотя распределенные вычисления своей известностью обязаны SETI@home, это была далеко не первая попытка объединить компьютеры в сеть, где они могли бы сотрудничать. В начале 1980-х годов я пытался заглянуть в будущее, роясь в библиотеке Центра научных исследований в Пало-Альто 1 (ЦНИПА) компании Xerox. Наиболее любопытными оказались научные отчеты Центра. Один из документов, написанный достаточно простым языком, имел интригующий заголовок: «Заметки по поводу программ-"червей" — кое-что из раннего опыта работы с распределенными вычислениями» («Notes on the 'Worm' Programs — Some Early Experience with a Distributed Computation»); авторами значились Джон Ф. Шох и Джон Хапп [5]. Это был отчет об опытах с вычислительной программой, «крадущейся» по локальной сети от машины к машине в поисках простаивающих ЦП для использования их вычислительной мощи и затем, после того как машины вновь включались в работу, возвращающейся на «базу» с полученными результатами.
Меня заинтересовало признание авторов, что их подвиг на это один научно-фантастический роман 1975 года: «В своей книге „Оседлавший волну шока“ (The Shockwave Rider) Джон Брайнер придумал некую всемогущую программу-"червь", беспрепятственно гуляющую по сети ЭВМ, довольно пугающее зрелище, но при нынешних наших возможностях такое вряд ли достижимо. Однако исходная мысль весьма заманчива: программа или вычисление, способные переходить от машины к машине, управляя по мере надобности ресурсами и размножаясь при необходимости» [6].
Понадобилась пара десятков лет, чтобы скорости соединяющих ЭВМ линий связи и мощности самих ЭВМ хватило для создания пригодных для практических нужд распределенных вычислений. В 1985 году Майрон Ливни предложил использовать рабочие станции для рассредоточенной работы [7]. Через несколько лет Ричард Крандалл, ныне заслуженный деятель науки (Distinguished Scientist) компании Apple, начал поиск огромных простых чисел на объединенных в сеть компьютерах NeXT.
«Однажды в конструкторском бюро NeXT, — вспоминал Крандалл в телефонном разговоре со мной в 2000 году, — глядя на простаивающие там компьютеры, я подумал, что машинам непозволительно спать. Я установил программу, позволившую производить вычисления при простое компьютеров и объединять их усилия в сети, и назвал ее Годзиллой (Godzilla). Однако этому воспротивилась компания, обладавшая правами на имя «Годзилла». Поэтому мы переименовали ее в Зиллу (Zilla)».
Крандалл хотел заняться поиском больших простых чисел. С двумя сотрудниками после невиданных прежде вычислений ему удалось ответить на вопрос, является ли 24-е число Ферма, состоящее из пяти миллионов цифр, простым [8]. «Это потребовало 100 квадриллионов машинных операций, — с гордостью сообщает Крандалл. — Примерно такое же количество вычислений понадобилось киностудии Pixar при создании мультипликационного фильма с компьютерной анимацией Bug's Life (в российском прокате — «Приключения Флика»). При такой вычислительной мощи можно снять полнометражную картину или определить, простое число или нет». В теории чисел, заверил он, многие идеи интересовали лишь математиков своего времени, но затем оказывалось, что они важны при решении задач, появившихся спустя столетия. Позже я узнал, что интерес Крандалла к простым числам привел его к изобретению защищенного патентом алгоритма, используемого компанией Apple для шифрования [9].
Классический пример задачи с огромным объемом вычислений — машинное моделирование погоды. При всей его технической сложности моделирование погоды выступает важным инструментом в жарких политических спорах относительно глобального потепления и иных вызванных деятельностью человека климатических изменений. Майлс Аллен из Эпплтонской лаборатории Резерфорда (Rutherford Appleton Laboratory) в Чилтоне, Англия, предложил использовать распределенные вычисления для моделирования погоды [10]. Аллен решил апеллировать к гражданскому чувству посетителей своего веб-узла: «Данный эксперимент представляет собой совершенно новый вид прогноза погоды: нечеткое прогнозирование, отражающее всевозможные риски и вероятности, а не „единственно верный“ прогноз. И для этого у нас нет других вычислительных ресурсов. Так что, если вы счастливый обладатель мощного ПК, просьба поспособствовать принятию верных решений с учетом происходящих климатических изменений». На призыв Аллена за две недели откликнулось 15 тысяч человек.
На своем веб-узле Аллен с коллегами так разъясняют свои цели и подход:
«Прогнозирование климатических изменений осуществляется посредством сложных машинных моделей океана и атмосферы Земли. Возникающие при этом неопределенности обусловлены взаимодействием различных физических процессов, протекающих на разных уровнях (от молекулярного до планетарного). Единственный систематический подход к оценке будущих климатических изменений связан с обсчетом сотен тысяч имеющихся климатических моделей со слегка измененными входными физическими данными, чтобы учесть имеющиеся неопределенности. Данный прием, известный как сборный (ансамблевый) прогноз, требует огромных вычислительных мощностей, выходящих далеко за пределы имеющихся нынче ресурсов самых современных суперЭВМ. Единственный приемлемый выход — обращение к распределенным вычислениям тысяч обычных ПК, каждый из которых решает пусть небольшую, но ключевую часть этой глобальной задачи!»
Тех, кого не заботят огромные простые числа или жизнь в космосе, возможно, привлечет сверхсложная задача современной медицины. Создание новых синтетических лекарств от различных заболеваний, включая СПИД и рак, требует трехмерного моделирования процессов подгонки или укладки сложных молекул. При моделировании всевозможных молекул с учетом огромного числа принимаемых ими форм выделение пригодных для фармакологии молекул происходит недопустимо медленно. Множество добровольных и коммерческих предприятии, занятых организацией распределенных вычислений, направляют усилия на «рациональную разработку лекарств».
Инициатор проекта SETI@home Дэвид Андерсон стал главным технологом коммерческого предприятия United Devices, с помощью тотализатора поощряющего тех, кто присоединяется к его инициативе и предоставляет вычислительные циклы своих ЦП корпорациям и научно-исследовательским организациям [11]. Производитель микропроцессоров Intel субсидирует «филантропическую пиринговую» программу. United Devices совместно с Оксфордским университетом дает возможность предоставлять пользователям ПК вычислительную мощь их ЦП для расчета формулы лекарства против лейкемии на основе университетской базы данных, состоящей из 250 миллионов молекул-претендентов [12]. Первая суперЭВМ компании Intel стоимостью 40-50 млн долларов, построенная в 1990-х годах для Сандийской национальной лаборатории (Sandia National Laboratories), являющейся научно-исследовательским центром Управления энергетических исследований США, имела производительность 1 терафлоп (триллион операций с плавающей точкой в секунду), тогда как виртуальная суперЭВМ в United Devices достигает производительности в 50 терафлоп «почти даром» [13]. В 2002 году с помощью 1,35 млн пользователей ПК, присоединившихся к инициативе United Devices, Оксфордскому университету удалось исследовать 3,5 млн химических соединений, способных бороться с сибирской язвой, получив формулы 300 тысяч новых лекарственных препаратов. «Мы смогли проверить всю базу данных чуть ли не за четыре недели вместо долгих лет, — заметил один из исследователей. — Опираясь на столь обширную базу данных, нам удалось получить лекарственные соединения, которые и не снились фармацевтическим компаниям» [14].