Распределенные вычисления — это не миф, а реальность

Распределенные вычисления — это не миф, а реальность С развитием компьютерной техники в мире появляются все более быстрые компьютеры. Параллельно развитию персональных компьютеров ученые всего мира пытаются создать суперкомпьютер, который позволит решать множество различных задач, на решение которых обычным персоналкам потребовалось бы огромное количество времени. Компаниями-лидерами в этой области разработок являются SUN, SGI и, конечно же, IBM. Именно эта компания создала знаменитый Deep Blue, который сумел обыграть чемпиона мира по шахматам Гарри Каспарова. Однако, для того чтобы создавать такие суперкомпьютеры, необходимо затрачивать сотни миллионов долларов, что не по карману многим компаниям. Баснословная стоимость подобных суперкомпьютеров и родила идею распределенных вычислений, которая стала достойным конкурентом сложнейших вычислительных систем, порой превосходя их по многим параметрам. Именно благодаря сети Интернет возникла идея использовать ресурсы подключенных к ней пользователей.

Идея этого проекта заключалась в следующем. Зачем тратить деньги на создание суперкомпьютеров, когда можно воспользоваться многомиллионным парком компьютеров, простаивающих на работе или же дома? Таким образом, во время бездействия какого-нибудь компьютера его невостребованные ресурсы были бы использованы с пользой для всего мира. Связующей же нитью послужит сеть Интернет. Звание первопроходца в этом направлении по праву принадлежит компании Distributed.net ( http://www.distributed.net ). Организованная в начале 1997 года под эгидой нахождения ключа к системе шифрования RC5 56-бит (спонсируемого разработчиком шифра компанией RSA), группа успешно завершила его 27 октября 1997 года, достигнув к этому моменту скорости в 5.3 гигаключей в секунду. Созданная для взлома шифра система распределенных вычислений послужила образцом для создания подобных систем другими компаниями и успешно применяется Distri-buted.net в нынешних проектах. Технологически она выглядит очень просто.
На компьютер устанавливается небольшая программа — клиент, разработанный почти под все виды операционных систем. Клиент производит обработку данных и через Интернет связывается с головным сервером проекта, отправляя обработанные данные и получая новые. Весь процесс протекает незаметно для пользователя, программа работает в фоновом режиме с наименьшим приоритетом, используя только не задействованное текущими задачами процессорное время. Головной сервер проекта осуществляет распределение заданий между клиентами, обработку полученных данных, а также составление статистики. В статистике отражаются данные о скорости и объеме проделанной каждым из участников работы. Участники проекта могут создавать команды, организуемые по любому принципу, что придает затее спортивный азарт. Немалую роль в привлечении участников к проектам Distributed.net сыграло и вознаграждение, которое можно получить.
Так, за взлом шифра RC5 64-бит компанией RSA объявлен приз размером в 10 тысяч долларов.

К настоящему времени среди почти 300 тысяч участников проекта RC5-64, продолжающегося уже более 3-х лет, создано более 11 тысяч команд, среди которых присутствуют такие громкие имена, как AnandTech, SlashDot, L0pht, IBM. Хочется особо подчеркнуть, что в данном проекте принимают участие и русскоязычные команды. Наиболее мощной из них является HackZone Team ( http://www.hzteam.net ), объединившая под своим флагом более 3000 русскоговорящих участников из стран exUSSR и занимающая пока четвертое место в рейтинге всех мировых команд.
Команда — совместное детище hackzone.ru и Werwolf.de — создана 14 января 1999 г. под эгидой легального взлома криптографического шифра RC5 компании RSA. Отцами-основателями команды являются: Дмитрий Леонов, WERWOLF, а также создатель проекта HackZone Team City — Николай, совладелец Intergroup Communications, LLC. Финансирует затею сама RSA с целью демонстрации надежности 64-битных ключей. Поскольку до сегодняшнего момента неведомы иные пути, кроме перебора "в лоб" всех вариантов, что требует гигантских затрат машинного времени, distributed.net предложила воспользоваться услугами добровольных помощников в лице пользователей сети Интернет. В настоящий момент проект RC5 является основной деятельностью HackZone Team.
Технологически все выглядит проще простого. Вы устанавливаете на своей машине "Клиента", который осуществляет off-line перебор ключей (совершенно не загружая ваш компьютер, так как работает только в момент отсутствия загрузки процессора), в момент вашего выхода в Сеть он обменивается с distributed.net блоками данных (порядка 10 секунд). Кроме определенного престижа и чисто спортивного интереса, участвуя, можно заработать изрядное количество денег. Тот, кому выпадет удача, получит официальную награду в 2.000$! Притом, что расходов на участие никаких от вас не требуется. Даже если "счастливый" блок не выпадет именно вам, что не так уж и маловероятно, важен сам факт появления русской группы в одном ряду с COTDC, L0phT, ССС и т.п. Несмотря на достаточно позднее подключение к проекту, у команды есть еще возможность выбиться в первые ряды.

За время существования команды она объединила в себе более 3000 человек из различных уголков нашей планеты и превратилась в дружную, многонациональную семью, объединенную общими идеями и интересами, занимающую 3 место по численности среди всех команд, участвующих в проекте.
Для того чтобы подключиться к команде HackZone Team, вам необходимо скачать и установить небольшую программу. Далее вы должны правильно настроить ее. Информацию о том, где скачать программу и как ее правильно настроить, можно найти на официальном сайте команды: http://hzteam.net. После обработки и отправки первого же "готового" блока, участник будет зарегистрирован в списках участников проекта Distributed.net. На следующий или, как правило, через день вы уже можете искать себя на сайте статистики ( http://rc5stats.distributed.net/rc5-64/ ). Здесь вы должны ввести свой E-Mail адрес в соответствующем поле. Далее, при нажатии, вы имеете возможность просмотреть более детальную статистику и статистику ваших "соседей" по положению. Нажатие на самую нижнюю (серую) строчку активирует функцию отсылки вам пароля, который позволит позже менять настройки вашей личной статистической базы и подключиться к работе команды. Остается лишь зайти (после получения пароля) на страницу регистрации нового участника команды ( http://stats.distributed.net/pjointeam.php3?team=11269 ) и ввести свои идентификационные данные.

Если вам понадобится перейти в другую команду, то для этого необходимо зайти на страницу статистики команды, найти внизу строчку "I want to join this team", ввести свой идентификатор и пароль. Т.е. процедура сводится лишь к регистрации в новой команде. Имейте, однако, в виду, что все (до перехода) наработанные вами результаты так и останутся в активе прежней команды.
Одним из преимуществ проекта является то, что в процессе работы клиента постоянно находиться в сети вовсе не обязательно. Подключение необходимо только в момент загрузки новых и пересылки обработанных блоков данных. Все остальное время вы можете находиться в оффлайн. В принципе, достаточно запустить правильно сконфигурированного клиента — и он сам, отработав несколько блоков, будет терпеливо ждать возможности их передать и забрать новые, что вообще допускает работу в "hidden" режиме. Кроме того, корректно воспользовавшись "Shutdown", вы можете спокойно выключать компьютер; при последующем включении клиент продолжит работу с места предыдущей остановки.
Кроме того, при наличии локальной сети вы можете подключить к работе все компьютеры, если только один из них имеет возможность выхода в Интернет. Для осуществления этой затеи существует несколько вариантов. Либо вы загружаете от distributed.net прокси-сервер ( http://www.distributed.net/proxies.html ) и устанавливаете его на машине, имеющей выход в Интернет, после чего останется лишь отконфигурировать, для работы с ним, клиентов на остальных машинах. Либо, что более утомительно, вручную снабжаете машины, выхода в Интернет не имеющие, блоками данных. Для этого придется файлы buff-in.rc5 и buff-in.des из директории distributed.net, располагающейся, как правило, в C:\Program Files\, каждый раз копировать в соответствующие директории машин, не имеющих выхода в Интернет. По окончании ими работы на выходе вы получите buff-out.rc5 и buff-out.des. Их необходимо будет по очереди "скормить" основной машине, которая и переправит результат на distributed.net.

Кроме всего перечисленного, существуют еще так называемые "общекомандные прокси". Они существуют по следующей причине. При отсылке готовых блоков на сервер distributed вы соединяетесь, как правило, с ним напрямую или с одним из свободный key-серверов, ведающих раздачей новых блоков. Их выбирает ваш клиент с установками "по умолчанию" — Automatically select a Distributed.Net keyproxy. В этом есть свои плюсы и, как водится, минусы. Рассмотрим последние — во-первых, не у всех хороший провайдер и соединение с distributed иногда занимает, вместо обещанных пары секунд, больше времени. Второе — основная статистика обновляется раз в сутки и не в самое удобное, по российским меркам, время. Собственный же, командный "прокси-сервер" представляет собой практически "узловую станцию", позволяющую принимать, обработанные участниками блоки и далее отсылать их на distributed.net самостоятельно, уже без вашего участия. То, что он располагается в Москве, делает связь с ним гораздо более устойчивой и быстрой. Кроме того, существует локальная статистика, позволяющая просмотреть, кто работает через прокси, сколько было отослано сегодня, вчера, используемые типы процессоров и т.п.

Многие задают один и тот же вопрос: "Как я узнаю, что нашел выигрышный блок?". Отвечаю. При конфигурировании клиента вы указываете свой E-Mail адрес, на который и будет выслано поздравительное письмо с уведомлением о выигрыше. Однако не стоит забывать, главное — это не выиграть главный приз, а доказать всему миру, что русские всегда впереди. Поэтому я и призываю подключаться именно к HackZone Team. Т.к., во-первых, это русская команд, а во-вторых, эта команда занимает 4 место среди всех участвующих команд мира. Остальные русские команды расположены ниже HackZone Team.

Более подробную информацию о команде, а также о многом другом, что касается distributed.net, вы сможете узнать на официальном сайте команды: http://hzteam.net .
Я выражаю огромную благодарность руководителям команды HackZone Team за предоставленные материалы, а также помощь в написании данной статьи.
Евгений Сечко, safeman@mail.ru

(c) компьютерная газета


Компьютерная газета. Статья была опубликована в номере 36 за 2001 год в рубрике интернет :: разное

©1997-2021 Компьютерная газета