Скринсейвер для агента Малдера

Одни ли мы во вселенной? Этот вопрос всегда волновал не только героев сериала «Секретные материалы», но и ученых. И вот они решили записывать данные с самого большого в мире радиотелескопа, расположенного в пустыне Arecibo (это в Пуэрто-Рико), и затем искать в них сигналы, имеющие особую форму (предполагается, что именно такие характеристики будут иметь сигналы искусственного происхождения). Но, как оказалось, даже самый мощный суперкомпьютер (на который у института, занимающегося этими исследованиями, денег, конечно же, нет) не в состоянии справиться с этой задачей за приемлемое время, потому что и объем данных поистине гигантский (35 гигабайт ежедневно) и алгоритм поиска сигналов не то чтобы простой. Но решение было найдено.alt

Идея простая – ведь множество компьютеров в мире никогда не загружены «на все сто». Пользователи читают тексты, обсуждают что-то с коллегами, да и просто оставляют свои компьютеры включенными на время обеда, а иногда даже на ночь. А компьютер в это время, по сути, простаивает. Когда вы набираете какой-нибудь текст, процессор тоже не особо «напрягается», обрабатывая сигналы от клавиатуры. Если учесть, что большинство пользователей работают в обычных офисных приложениях, которые «грузят» процессор «по полной программе» только лишь во время импорта данных и прочих подобных операций, то можете себе представить, сколько процессорного времени (в мировых масштабах) пропадает зря ежедневно! Вот если бы всю эту мощь да направить на общее дело… То есть разбить все данные, которые нужно обработать, на части и раздать по кусочку каждому желающему через Интернет, благо число пользователей сети постоянно растет. И тогда суперкомпьютер можно будет создать буквально «из ничего» — нужно только привлечь достаточное количество добровольцев для участия в проекте!

И вот 17 мая 1999 года одна из лабораторий Калифорнийского Университета в Беркли (США) запустила в Интернете проект, занимающийся анализом данных с помощью компьютеров, разбросанных по всему миру — SETI@home (Search of Extraterrestrial Intelligence at Home — Поиск внеземного разума в домашних условиях). Суть проекта в следующем. Информация с упоминавшегося выше телескопа записывается на магнитные ленты и затем попадает в университет, где она разбивается на блоки данных по 250 килобайт (называемые в программе «рабочими единицами»). Компьютер участника проекта загружает такой блок — по существу, сигнал с крошечного кусочка неба, имеющий некоторый диапазон радиочастоты и около двух минут по длительности — и обрабатывает его. После того как компьютер сделает свою работу, он посылает проанализированные данные назад в Беркли через Интернет и принимает другой блок. Любой желающий может скачать себе программу — «клиент», которая собственно, и будет заниматься обработкой данных. И, как сказано на официальном сайте проекта, «есть слабый, но захватывающий воображение шанс, что именно ваш компьютер обнаружит чуть слышный шепот цивилизации, находящейся далеко за пределами Земли». Если проект обнаружит такой сигнал, участников, чьи компьютеры занимались обработкой блоков содержащих сигнал, занесут в список соавторов всех последующих научных публикаций.

Клиентская программа может быть настроена как для работы в режиме «скринсэйвера», так и в режиме, когда анализ данных происходит постоянно. Правда при этом программа будет использовать процессор под свои нужды только в моменты простоя. Это заметно не повлияет на общую производительность вашей системы, особенно если у вас современная быстрая машина и больше чем 64 мегабайта памяти. Но даже если вы настроили ее как скринсейвер, ее всегда можно запустить вручную, щелкнув по иконке в виде зеленого телескопа, которая приютилась в трэе. Итак, скачиваем инсталляционный вариант клиента для семейства Windows (работает он на всей линейке 95/98/2000/NT/ME/XP). Инсталлятор сам пропишет в системе свой скринсейвер, который, собственно, всего лишь вызывает саму клиентскую программу. При первом запуске она предлагает указать уже упоминавшийся выше вид работы и настройки для подключения к Интернету. Потом вы вводите свои данные для регистрации в качестве участника проекта (или только e-mail, если вы им уже являетесь и просто переустанавливаете программу), и клиент сразу приступит к получению первого блока данных с сервера и начнет его обработку. В специальном разделе на сервере можно посмотреть статистику или присоединиться к какой-нибудь из команд. Постоянного подключения к Сети для работы программы не требуется — она обращается к серверу только тогда, когда обработка очередного блока закончена, и ей нужно соединиться с сервером, чтобы отослать результаты и скачать новый блок. Тогда, в зависимости от того, как вы ее настроите, она либо автоматически будет соединяться со своей серверной частью (это удобно, когда у вас есть постоянный канал в Интернет) либо будет спрашивать у вас на это разрешения.

Окно клиента разделено условно на четыре части. Внизу — графическое представление обработки сигнала, отображаемое в реальном времени, которое выглядит, кстати, ничуть не хуже различных развлекательных скринсейверов. Выше размещены окно информации о текущих действиях программы и индикатор процесса обработки данных, информация о самом блоке данных, и, наконец, общая информация о пользователе (подробнее об этом можно прочитать здесь).

Для тех, кто присоединился к проекту не из праздного любопытства и кому, прежде всего важен результат, разработана версия клиента без графического интерфейса. Причем существуют также версии для UNIX, OS/2, BeOS, Mac OS X Server, OpenVMS и прочей «экзотики». Кроме того, участники могут использовать различные вспомогательные утилиты, разработанные энтузиастами в качестве дополнения к основному клиенту. Например, для наблюдения за процессом обработки данных удобно использовать программу SETISpy. Она показывает всю информацию о блоке данных, обнаруженных сигналах, измеряет производительность, выводит карту неба с отмеченным районом-источником данных текущего блока. А использование «не-графических» версий клиента в совокупности с разработками «народных умельцев» позволяет получить систему, которая сможет скачивать за один сеанс несколько блоков и обрабатывать их по очереди, тем самым увеличивая эффективность работы и не допуская «простоев», если вы не можете регулярно иметь доступ к Интернету.

Такой метод использования множества компьютеров, названный распределенными вычислениями, десятилетиями был лишь концепцией, которая существовала почти исключительно в теории и в учебниках. Он был проверен только в довольно мелких масштабах, среди соединенных в сеть компьютеров в пределах университета или фирмы. SETI@home — не первый проект, использующий этот метод, но это, конечно, наиболее высококлассный проект, один из немногих, не ограниченный узкими рамками математики и информатики. Сейчас этот проект уже может рассматриваться как исторический пример — в ближайшее время он должен претерпеть значительные изменения. Если не вдаваться в подробности, то все сводится к тому, что SETI@home в его сегодняшнем виде в течение года будет закрыт. Однако уже начата работа над новыми проектами, и подробно о трех ее основных направлениях можно почитать здесь (к сожалению, только на английском). Кстати, вот здесь можно узнать о том, какие сигналы все-таки были обнаружены — на данный момент еще не зарегистрировано ни одного радиосигнала, действительно подтверждающего существование внеземного разума.

Даже если вы не верите в существование внеземных цивилизаций и научную ценность такого рода исследований, то идея и размах этого проекта заслуживают внимания. Тем более, что существует довольно много других задач и связанных с ними проектов распределенных вычислений, как некоммерческих, вроде поиска лекарства от рака, так и проектов с определенным призовым фондом, к примеру, «взлома» различных криптографических алгоритмов. Но о них — как-нибудь в другой раз.

Понравилась статья? Поделиться с друзьями: