17 лет назад 9 ноября 2006 в 15:03 750

Компьютерные технологии — пожалуй, одна из самых быстро меняющихся областей знаний. И именно постоянный апгрейд технологий и софта заставляет меня снова поднять на страницах журнала тему, посвященную проекту распределенных вычислений по поиску сигналов внеземных цивилизаций SETI@Home. Подробно об истории проекта, принципах анализа и обработки сигналов, полученных радиотелескопом Arecibo в те минуты, когда ваш персональный компьютер простаивает, вы можете почитать в февральском номере журнала # 7 (149) или на моей страничке в интернете http://www.markelov.net/, где с разрешения редакции выложена копия этой статьи. А сейчас я хочу сообщить, что 22 июня 2004 года в стане интересующихся зелеными человечками произошло знаменательное событие. В этот день закончилось бета-тестирование новой версии программного обеспечения проекта, основанной на так называемой платформе BOINC (Berkeley Open Infrastructure for Network Computing — открытой инфрастуктуры распределенных вычислений Беркли), на которую вскоре всем участникам сообщества и предстоит окончательный и бесповоротный переход.

Сам BOINC (boinc.berkeley.edu) представляет собой специальное клиентское программное обеспечение, в рамках которого вы можете одновременно работать над несколькими проектами распределенных вычислений. В настоящее время поддерживаются описанный в журнале SETI@Home и задача предсказания структуры белка по данным о его последовательности атомов — Predictor@home.

Но поговорим конкретнее о новой реализации «сетей». По сравнению с оригинальной версией в ней изменилась система ведения статистики. В отличие от классического, основанного на подсчете числа просчитанных юнитов, в новом варианте пользователю начисляются очки, в зависимости от сложности просчитываемой задачи. Очки же за выполненный вашим компьютером объем работ прибавляются к вашему счету только тогда, когда те же данные независимо от вас обсчитаются на машинах еще двух пользователей. Только в этот момент все трое получают заработанные очки — это сделано для достоверности данных. Из существенных изменений также можно отметить возможность автоматического обновления клиента и выдачу юнитов под конкретное «железо».
BOINC-клиент поддерживает многопроцессорные системы, а графики скринсейвера для Windows-версии теперь выводятся на экран монитора в виде трехмерного объекта. Хочу заметить, что база данных по пользователям SETI@Home классической версии, как ее теперь называют разработчики, была перенесена в новую SETI@Home/BOINC по состоянию на 14 мая 2004 года.

Теперь рассмотрим процесс безболезненной миграции на SETI@Home/BOINC. С главной странички новой инкарнации проекта (setiweb.ssl.Berkeley.edu) заходим по ссылке «Participating SETI@Home» в соответствующий раздел сайта, где нам предлагаются два варианта действия: активация аккаунта перенесенного из классической версии программы и создание нового.
При выборе первого варианта необходимо ввести ваш адрес электронной почты, на который вы регистрировали свою учетную запись в «классике». После успешного выполнения операции вам на указанный ящик будет выслан уникальный 32-байтный идентификатор (Seti@Home Account ID), который однозначно определяет вашу учетную запись в рамках проекта. Скопируйте строчку-идентификатор в соответствующее поле открывшейся после отсылки ID странички и нажмите кнопку «Активировать».

BOINC
После активации вам будет выслан уникальный идентификатор, который определяет вашу учетную запись в рамках проекта.

Вам будет предложено выбрать, является ли SETI@Home первым проектом, над которым начинается ваша работа в рамках BOINC (как вы помните, Berkeley Open Infrastructure for Network Computing позволяет работать над несколькими направлениями распределенных вычислений одновременно). Затем, в случае если вы впервые присоединились к BOINC, необходимо будет установить параметры аккаунта. Впрочем, можно их оставить такими, какими они выставлены по умолчанию. Наконец, вы попадаете на страничку, где можно скачать клиентское программное обеспечение. На момент написания статьи были доступны бинарные версии клиентов для четырех операционных систем: Windows, Linux x86, MacOS X 10.3+ и SPARC / Solaris. Нужно сказать, что исходные коды клиента открыты по BOINC public license, и если вы используете одну из операционных систем, под которую разработчики не соблаговолили выпустить скомпилированную версию, вы можете попытаться выполнить эту процедуру самостоятельно, скачав исходники по адресу: boinc.berkeley.edu/source.

BOINC
Одна из закладок рабочего интерфейса проекта BOINC — Messages («Сообщения»), где содержится подробный лог работы клиента.

Чтобы закрыть вопрос с регистрацией и активацией данных вашего аккаунта на сайте BOINC, хочу отметить, что в любой момент с главной странички можно попасть в раздел с вашей личной статистикой и просмотреть или изменить свои данные. Также можно посмотреть целый ряд характеристик для всех компьютеров, на которых вы запускали клиентское программное обеспечение: начиная от полного DNS-имени и заканчивая версией ОС и составом «железа», на котором работает ПК. Учтите, что все эти данные доступны администраторам проекта. Кстати, существует и отдельный сайт по статистике всех проектов, работающих на платформе BOINC: http://www.boincstats.com/.

Теперь рассмотрим установку клиента для операционных систем Windows и Linux. А начнем, само собой, с наиболее популярной из них. Запускаем скачанный с сайта проекта инсталлятор (на момент написания статьи — версии 3.20). Он проведет нас по стандартным для Windows-установщика окошком с лицензионным соглашением, выбором пути к домашнему каталогу программы и в конце предложит зарегистрировать BOINC в качестве «умолчального» скринсейвера, а также настроить автозапуск клиента.
После завершения процесса инсталляции запустится сам клиент и запросит у вас URL проекта и ваш ID. И то и другое, как уже было сказано выше, вы должны были получить заранее по электронной почте при регистрации аккаунта. После ввода параметров ваш компьютер подвергнется тесту на производительность. Он нужен для того, чтобы определить приемлемые для клиента объемы вычислений. После чего будет сформирован запрос на закачку необходимого числа данных.

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

«Работа» (Work) — список скачанных блоков, находящихся в работе. Щелкнув правой клавишей мышки по блоку, можно вывести на экран график, аналогичный тому, что выводится при работе скринсейвера. Данная опция доступна только для обсчитываемых в данный конкретный момент блоков.
«Передача» (Transfers) — очередь блоков на обмен с сервером BOINC/Seti@Home.
«Сообщения» (Messages) — подробный лог работы клиента.

«Диск» (Disk) — круговые диаграммы, показывающие свободное место на жестком диске вашего компьютера.
Кстати говоря, Windows-клиент включает в себя все необходимое для русификации. В домашнем каталоге программы (обычно это C:Program Files
BOINC) расположены подпапки с локализованными сообщениями программы. Чтобы все сообщения выдавались на русском языке, достаточно перенести файл из подпапки ru в корень домашнего каталога BOINC и перезапустить клиент. Если доступ в интернет вашего компьютера осуществляется через прокси-сервер, то у вас имеется возможность настроить его параметры, зайдя в меню Settings > Proxy server.

Теперь рассмотрим установку клиента для операционной системы Linux. В отличие от Windows-версии, как и в классическом Seti@Home, для этой операционной системы доступен только консольный вариант программы. После того как вы скачали файл boinc_3.20_i686-pc-linux-gnu.gz размером 3,3 Мбайт, содержащий скомпилированную консольную версию клиента, необходимо распаковать бинарник с помощью gunzip, установить атрибут исполняемого файла командой chmod или через оболочку MC и запустить файл на исполнение. Первым заданным вопросом будет просьба ввести URL проекта, а потом вас попросят указать ID. После ввода параметров, как и в Windows-версии, ваш ПК подвергнется тесту на производительность и приступит к загрузке данных.

Дальше вам останется лишь следить за сообщениями, которые будут появляться в ходе работы программы.
Вся середина августа у администраторов проекта прошла под знаком борьбы с энтропией. То базу откатят, то RAID-массив откажет — раздел новостей на сайте проекта напоминает сводки театра военных действий. Даже выход этой статьи вашему покорному слуге пришлось задержать, так как он не имел перед глазами работающего клиента BOINC/Seti@Home. Вернее, клиент-то был, а вот сервер категорически отказывался с ним (клиентом) работать. Однако, несмотря на эти рабочие моменты, будем надеяться, что, в конце концов, мы увидим стабильно работающую систему.

Остается добавить, что хотя мы с вами и понимаем всю мизерность шансов найти признаки внеземного разума в хаосе радиосигналов притягивающего космоса, все-таки… А вдруг? UP

Андрей Маркелов

Никто не прокомментировал материал. Есть мысли?