CFA LogoCFA Logo Computer
Загрузка поиска
Новости Компьютеры Прайс-лист [Новое] Прайс-лист [Б/У] Для ноутбуков Конфигуратор ПК Заказ, Оплата, Доставка Сервис объявления Драйвера Статьи Как нас найти Контакты
Новости
RSS канал новостей
То, что энтузиасты ждали так долго, наконец-то случилось, и компания NVIDIA анонсировала свой новый ...
Официальный анонс графического ускорителя GeForce GTX 1080 Ti состоялся 1 марта, и партнеры NVIDIA ...
Компания ASRock представила мировой общественности материнскую плату H110-STX MXM, которая рассчитана ...
Компания MSI в рамках серии Arsenal Gaming представляет пользователям материнские платы линейки ...
По данным наших коллег, в этом месяце компания Huawei официально представит свой новый смартфон. ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Web-распределители

Вячеслав КУДРЯВЦЕВ kvl@ukrpost.net

Здравствуй, уважаемый читатель. Ты сделал плановый весенний апгрейд, но твой новенький процессор с тактовой частотой 1.5 ГГц загружен всего на каких-то жалких 5–7 %. Надеюсь, что решить эту проблему тебе поможет моя сегодняшняя статья — я расскажу о сетях распределенных вычислений. Ты удивлен и заинтригован, так как не можешь уловить связи между этими двумя вещами? Читай дальше и тебе все станет понятно…

Начнем, пожалуй, с теории. Итак, распределенные вычисления — способ решения какой-либо трудоемкой вычислительной задачи посредством разделения ее на множество независимых друг от друга подзадач, которые решаются раздельно. Ужасное определение, правда? Попытаюсь привести более понятный пример: ты собираешься провести у себя в квартире ремонт, и для этого ты должен знать ее площадь. Ты распределяешь эту задачу между своими родственниками и соседями — просишь каждого замерить площадь одной из комнат, а сам только считаешь сумму. Согласись, таким образом существенно уменьшается время, необходимое для решения этой задачи.

А теперь перейдем к сетям распределенных вычислений в том виде, в каком они существуют сегодня. Технической основой идеи стал тот факт, что ресурсы процессора ПК очень редко используются на 100 % (если не считать особо злостных геймеров). На первом этапе пользователю предлагается скачать с сайта проекта и установить небольшую программу-клиент. Все такие программы можно условно разделить на несколько типов: фоновые клиенты (работают в фоновом режиме, используя только свободные системные ресурсы), клиенты-хранители экрана (являются скринсейверами или запускаются вместе с ними) и ручные клиенты (их необходимо запускать вручную перед тем, как вы прекратите работать с компьютером; они забирают на себя все доступные ресурсы процессора). Наиболее популярными являются представители первого типа.

Второй этап: программа каким-либо образом получает с сервера проекта задание. Чаще всего оно представляет собой пакет так называемых Work Units (WU). После его обработки программа отправляет результаты на сервер и ей высылается следующий пакет. На сегодняшний день обычно принимается некоторое заданное пользователем количество WU, которые пересылаются на сервер по мере отработки.

Самым старым проектом, информацию о котором я нашел, был математический проект PiHex (http://www.cecm.sfu.ca/projects/pihex). Как нетрудно догадаться из названия, он посвящен вычислению числа . Для подсчета использовался разработанный в 1995 году алгоритм ББП. В Интернете проект стартовал 20 марта 1998 года, и к 19 августа того же года был получен пятитриллионный бит этого числа (0), а к 9 февраля 1999 года вычислен уже сорокатриллионный бит числа (тоже 0). Прошло чуть более полутора года, и 11 сентября 2000 года оказалась достигнута цель проекта — найден квадриллионный бит (тоже 0!). По статистике в проекте участвовало около 2000 компьютеров. Согласно расчетам организаторов, на выполнение аналогичной задачи одному круглосуточно работающему процессору Pentium 90 понадобилось бы более 600 лет (а если на бумажке считать :-)?). На данный момент проект закрыт, продолжения не предвидится.

Другой старичок, SETI@home (http://setiathome.ssl.berkeley.edu/home_russian.html), чувствует себя прекрасно и сегодня. Его участники занимаются поиском внеземного интеллекта (название проекта расшифровывается как The Search of Extraterrestrial Intelligence at home). Авторство идеи принадлежит David Gedye и Craig Kasnoff, и пришла она в их светлые головы в 1996 году. Основная мысль такова: нет смысла ждать физического контакта с пришельцами, так как даже для них перелет из другой звездной системы в нашу обошелся бы в кругленькую сумму (необходимой на это энергии хватило бы на то, чтобы обеспечивать миллион среднестатистических домов в течение более чем 30 млн. лет!). «А что мы делаем, если хотим просто сказать «привет» другу или родственнику, который живет в далекой стране? Мы же не поедем к нему в гости, а просто позвоним или напишем письмо», — сказали себе земляне. И решили они анализировать электромагнитные волны на предмет наличия в них сигналов от других цивилизаций.

В 1997 году уже был разработан код анализа сигнала и прототип программного обеспечения сервера и клиента. После накопления фондов в 1998 году, полного тестирования программного обеспечения и разработки сайта в начале 1999 года, проект наконец-то был запущен. Сейчас космический шум, постоянно записываемый радио обсерваторией в Аресибо, пересылается в университет Беркли (Англия), где он разделяется на небольшие отрывки и рассылается на компьютеры участников для исследования. Анализ состоит в поиске особого рода сигналов, которые предположительно могут иметь искусственное внеземное происхождение. Если проект обнаружит иную жизнь, те, чьи компьютеры помогли в обработке юнитов с сигналом, будут в списке соавторов всех последующих научных публикаций. Также я хотел бы обратить внимание, что проект спонсирует множество широко известных мировых компаний (например, Sun Microsystems, Paramount pictures, Fuji Computer Products, Quantum и других).

Далее мы поговорим о компании, которая сделала распределенные вычисления своей специализацией, — речь идет о Distributed.net (http://www.distributed.net). За время своего существования (с 1997 года) она существенно улучшила как свое программное, так и аппаратное обеспечение. Суммарная вычислительная мощность эквивалентна более 160 000 компьютеров с процессором Pentium II 266 MГц, работающих 24 часа в сутки 7 дней в неделю (всего насчитывалось более 320 тысяч участников!). Клиент Distributed.net по праву считается лучшим:

кэширует любое количество юнитов;

может использовать свободно доступные Personal Proxy (которые позволяют создавать запасы WU, например, для целой локальной сети, если доступ в Интернет только на одном компьютере);

может работать как сервис Win9x/NT;

имеет несколько «ядер» обработки, причем для каждого процессора выбирается свое, наиболее быстро работающее именно на нем ядро;

отображает графики производительности расчетов.

Компания уже успешно выполнила 5 проектов, над двумя работает в настоящий момент и еще 4 пока только в планах. Сегодня основным является RC5-64, проект по взлому алгоритма шифрования RC5 с длиной ключа 64 бита. До этого Distributed.net ломали такой же алгоритм, но с длиной ключа 56 бит. Верный ключ был найден 19 октября 1997 года после 250 дней работы. Оба эти алгоритма были «заказаны» американской компанией RSA Labs. Призовой фонд составляет $10 000 (можете еще раз протереть глаза — десять тысяч зеленых американских баксов). Из них 1000 получит победитель, 1000 — команда, к которой он принадлежит, 2000 отойдут организаторам Distributed.net (на программирование клиентов и расширение сети), а еще 6000 — общественной организации. По сведениям сервера статистики, уже проверено около 75 % всех ключей и при текущей скорости на проверку оставшихся ключей уйдет менее года. Всего участвует более 12 000 команд из 209 регионов нашей планеты. По той же статистике США — на первом месте, Россия — на третьем, Украина — на пятнадцатом.

Стать участником и поддержать свою страну очень просто: необходимо скачать клиент (напоминаю, клиенты существуют практически под все современные платформы и операционные системы), настроить его (для этого достаточно просто прописать в файле конфигурации клиента свой e-mail), выкачать несколько блоков из Интернета, обсчитать их и отправить обратно на сервер. Потом дождаться своего появления в статистике (http://stats.distributed.net/rc5-64), нажать на собственный e-mail в табличке, отмеченный красным цветом. Теперь нам нужен пароль Distributed.net — ищем ссылочку I cannot remember my password. Please email ...’s password в самом низу страницы и жмем на нее. Дожидаемся получения пароля на адрес, указанный при регистрации. Теперь на той же странице статистики в верхнем левом углу находим ссылку Edit your Information. У нас просят ввести e-mail и пароль, делаем это и попадаем на страницу личных настроек. Здесь и присоединяемся к нужной команде, в Украине основной является Ukraine RC5 Team (http://www.rc5.org.ua).

Группа Ukraine RC5 основана 13 апреля 1999 года Игорем Завгородним по договоренности с Михаилом Евтеевым, Виталием Новиковым, Олегом Юрковским и Игорем Мариничем. С первого шага команда состояла из представителей различных регионов Украины (Киев, Кременчуг, Мариуполь, Коростень). Кроме того, в нашей команде существует своя страничка статистики (http://uarc5.kherson.org) и некоторое количество подкоманд. Я, например, являюсь участником подкоманды X-Net (команда одноименной киевской FTN), кроме того, существует подкоманда фидошников, а также подкоманды многих крупных городов Украины.

Думаю, читателей журнала также заинтересует Russian Team RC5 (http://rc5.aha.ru), чего только стоит ее эмблема :-) (попытайтесь угадать, на какой из картинок она изображена). Команда была основана Романом Серебряковым из компании ПараГраф осенью 1997 года, почти сразу после старта проекта distributed.net. Решение по поводу того, чего стоит группа, выносить вам, я же просто процитирую часть текста с их странички: «Russian Team на сегодняшний день является самой сильной командой России и стран бывшего СССР, а также одной из сильнейших среди более чем 4000 команд проекта Distributed.net. По вычислительной мощности мы входим в первую тройку, по общему вкладу в проект — в пятерку лучших команд. «Русские медленно запрягают, но быстро ездят» — пожалуй, этой поговоркой сейчас наиболее точно определяется динамика нашего развития».

Немного раньше в статье я упоминал о том, что Distributed.net в настоящее время работает над двумя проектами. Второй из них называется OGR24 (http://www.distributed.net/ogr/index.html.en), что расшифровывается как Optimal Golomb Rulers, и является чисто математическим. Сперва определимся с тем, что же такое, так называемые «линейки Голомба» (названы в честь Dr. Solomon W. Golomb). Это по сути обычные линейки, но на них не найдется двух пар делений, между которыми одинаковое расстояние. Трудно воспринять? Мне тоже, поэтому моя машина работает в проекте RC5 :-). Например, линейкой пятого порядка выглядит таким образом. В данный момент нам предлагают заняться поиском оптимальной линейки 24-го порядка. Нет, не смейтесь, на самом деле это не так уж и просто — дело в том, что с возрастанием количества делений сложность увеличивается экспоненциально. Задача оптимизации линейки состоит в том, чтобы сделать минимальной ее длину (приведенная выше линейка пятого порядка является оптимальной). Некоторых читателей, наверное, волнует вопрос: «А зачем нам вообще нужен этот Голомб со своими линейками? Ведь обычные линейки намного полезнее и удобнее» :-). И действительно, проводить такой линейкой привычные нам измерения будет трудновато :-). А вот насчет полезности я с вами готов поспорить. Согласно информации на Distributed.net, они используются при расположении датчиков в радиоастрономии, а также играют существенную роль в комбинаторике и теориях кодирования и связи.

Зная рвение и упорство наших читателей, я с уверенностью могу сказать, что в ближайшее время оба проекта будут завершены. Но что же делать после? И на этот вопрос есть ответ у Distributed.net — готовятся еще несколько проектов. Тематика — математика, теория кодирования, шахматы. Более подробную информацию можно найти в Интернете по адресу http://www.distributed.net/projects.html.en.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы: *
captcha
Обновить






Рейтинг@Mail.ru
Хостинг на серверах в Украине, США и Германии. © www.sector.biz.ua 2006-2015 design by Vadim Popov