Умная толпа
Шрифт:
В своем путешествии по миру р2р не упускайте из виду, что большая часть пиринговой технологии создавалась ради собственного удовольствия, подобно тому как ПК и Всемирная паутина впервые возникли в среде любителей-энтузиаcтов. Дельцы стремятся забыть, что создание подобных технологий было бы немыслимо, если бы не бескорыстное сотрудничество. Ведь рисковый капитал никогда бы не почтил своим вниманием Всемирную паутину, если бы миллионы людей не завели там свои странички, поскольку это было «клевое дело» (то есть если бы их создатели не могли завоевать таким образом авторитет среди равных себе) и поскольку таким образом при ограниченном сотрудничестве можно было создавать ресурсы, полезные всем. Таким же образом хакеры старой закалки ловили кайф, когда видели, что предоставленные ими во всеобщее пользование программы возвращались к ним усовершенствованными.
Сила пиринговой методологии заключена в человеческом, а не машинном факторе,
Сегодня миллионы людей и их ПК уже заняты не только поиском посланий из космоса и обменом музыкой, но и исследованием раковых клеток, отысканием простых чисел, созданием фильмов, прогнозом погоды, разработкой синтетических лекарств, моделированием миллионов всевозможных молекул — решением столь громадных вычислительных задач, которые и не снились прежде ученым.
Распределенные вычисления используют преимущества огромного и долгое время остававшегося невостребованным силового источника [4]. Это своего рода нежданный подарок технического прогресса. В определенном смысле это сэкономленная энергия, подобная сбереженной при создании более совершенных электроприборов и возведении зданий с улучшенной теплоизоляцией. Производительность вычислений можно повысить без создания новых компьютеров, задействовав нерачительно используемый прежде ресурс — разницу в быстроте счета человека и машины.
При печатании со скоростью два знака в секунду мы используем ничтожную часть мощи своей машины. В течение этой секунды большинство ПК способно одновременно производить сотни миллионов сложений. ЭВМ 1960-х годов с распределением времени располагали такой возможностью. Сейчас же миллионы ПК по всему миру, в тысячи раз мощнее мейнфреймов, соединяются между собой через Интернет. По мере расширения сети участвующих в интерактиве ПК и увеличения их мощности, а также скорости обмена информацией между ними, растет как снежный ком их общая производительность, что наверняка приведет к качественным изменениям в пользовании самими компьютерами.
Пиринговые коллективы, повсеместная компьютеризация, социальные сети и мобильная связь взаимно усиливают свое действие: теперь не только миллионы людей соединяют свои общественные сети через устройства мобильной связи, но и микросхемы процессоров внутри этих мобильных устройств уже в состоянии общаться с оборудованными радиосвязью микросхемами, встраиваемыми в окружающую обстановку. Можно представить социальные последствия, когда 1500 людей, пересекающих перекресток Сибуя при каждом переключении светофора, станут временным сосредоточием распределенной вычислительной мощи.
Летом 2000 года я решил навестить Дэвида П. Андерсона, технического зачинателя проекта по поиску внеземного разума SETI (Search for Extraterrestrial Intelligence). Увидев на двери надпись «Добро пожаловать всем тварям», я понял, что не прогадал. Космологическая лаборатория (Space Sciences Laboratory) Калифорнийского университета на Берклийских холмах так и остается нервным центром крупнейшего в мире предприятия по организации совместных вычислений.
Поиск внеземного разума (SETI) — частным образом финансируемое научное исследование внеземных радиосигналов в поисках посланий от инопланетных цивилизаций. Свыше двух миллионов добровольцев со всего света предоставили время ЦП своих ПК при их простое для обработки сигналов, принимаемых радиотелескопом в Пуэрто-Рико. Сам телескоп ежедневно выдает около 50 млн байтов информации, которую Не в состоянии обработать одни серверы SETI. И здесь на помощь приходят совместные вычисления. Участники проекта SETI@home устанавливают клиентское ПО (программу, загружаемую пользователями из Сети и запускаемую ими на своем компьютере; программа-клиент автоматически связывается с центральной «серверной» ЭВМ в Беркли). Клиентское ПО загружает
День выдался солнечный, так что мы с Андерсоном уселись на террасе вне стен Космологической лаборатории. Калифорнийские холмы летом порыжели. До нас доносился запах эвкалиптового леса, я мог любоваться заливом Сан-Франциско. Если бы я работал в этом здании, то проводил бы все встречи на террасе. Андерсон, высокий, темноволосый, поджарый, под стать бегуну на длинные дистанции, отвечает на вопросы не сразу, его слог можно назвать чеканным.
Я спросил его, как начался проект 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.