|
Как принять участие
Данный раздел содержит информацию, объясняющую основы того, как подключиться к проектам distributed.net.
- Что именно вы просите меня сделать?
Чтобы помочь в решении нашей огромной вычислительной задачи, вам нужно установить на свой компьютер специальную клиентскую программу и разрешить ей устанавивать соединение с одним из наших координирующих ключевых серверов. При первом запуске клиентской программы она соединится с сервером и запросит один или несколько блоков с ключами. Далее она приступит к проверке ключей в поисках того, который расшифрует сообщение. После проверки всех блоков результаты передаются обратно на сервер, с которого далее забирается очередное задание. Время, необходимое для проверки всех ключей в блоке, зависит от типа и скорости компьютера. У очень медленных систем на проверку блока может уйти до 12 и более часов, в то время как быстрые многопроцессорные системы справятся с блоком менее чем за 3 минуты (вы можете ознакомиться с нашей базой, в которую сведены скорости клиента на различных компьютерах).
- Что необходимо для подключения к проекту?
Все, что вам нужно - компьютер, периодически подключающийся к internet (примерно раз в пару дней).
- Чего не следует делать?
Вам не следует запускать клиента на машинах, которыми вы не владеете и не администрируете. Например крайне нежелательно запускать клиента на серверах вашего провайдера, не поставив его в известность. Более подробно с этой важной темой можно ознакомиться на странице официальной политики.
- Где можно получить клиентское программное обеспечение?
Все текущие клиентские пакеты доступны на странице http://www.distributed.net/download/clients.html.
Если вы предпочитаете работать через FTP, все версии доступны также на
ftp://ftp.distributed.net/pub/dcti/current-client/
- Требуется ли постоянное подключение компьютера к сети?
Разумеется, нет. Клиент способен накапливать блоки для последующей обработки в оффлайне. Если вся работа будет выполнена до того, как компьютер подключится к сети, клиент продолжит работу, проверяя случайно сгенерированные ключи. Это позволяет непрерывно работать любым машинам, в том числе и тем, что подключаются к сети достаточно редко.
- Достаточно ли использовать модем, или требуется более быстрое соединение?
Любого модема более чем достаточно. Вашему компьютер необходимо подключаться к сети только для получения новых заданий и отправки результатов работы. В зависимости от выбранного размера буфера и скорости вашего компьютера, это может происходить раз в несколько дней. При этом передается мизерный объем информации (порядка 125 байтов на блок в случае RC5), так что даже передача большого объема работы по медленному модему не займет много времени.
- Пригодится ли мой старый медленный компьютер?
Ключевым фактором для завершения наших проектов за разумное время является подключение возможно большего числа компьютеров, и не обязательно более мощных. Суммарная мощность мировых запасов устаревших 386-х и 486-х значительно превосходит свободную вычислительную мощность тех суперкомпьютеров, которые мы могли бы попытаться подключить к проекту. Информация к размышлению: сообщение из конкурса DES было дешифровано Pentium 90 под управлением FreeBSD с всего 16 мегабайтами оперативной памяти. Причем как 48-битный RC5, так и 56-битный DES были взломаны машинами, даже не входящими в первую дватцатку участников. Каждый имеет шанс найти верное решение. Rаждый компьютер, участвующий в проекте, способен помочь.
Примечание. В настоящее время не могут быть использованы очень старые машины (до 386). Например, алгоритм RC5 сильно зависит от обработки 32-битных данных. Все текущие клиенты используют 32-битный код, который просто не будет работать на этих старых машинах.
- Не будет ли у меня проблем из-за участия во взломе шифра?
Некоторые из наших проектов, включая RC5, DES и CSC, имеет криптографическую сторону. В том, чего мы пытаемся достичь, нет ничего нелегального, аморального или нечестного. Это абсолютно законные конкурсы, спонсируемые законными и уважаемыми организациями (RSA Data Security, Inc. и CS Communications &
Systems). Мы пытаемся декодировать зашифрованные фразы, которые были запущены в открытый доступ специально для тестирования и оценки стойкости соответствующих криптоалгоритмов.
- Где я могу получить помощь по установке клиента?
У вас есть несколько путей. Во-первых, проверьте раздел FAQ, посвященный клиентской программе. Вы также можете послать письмо на help@distributed.net, посетить канал #distributed на
CuckooNet IRC, или подписаться на один из листов рассылки (http://www.distributed.net/discussion/). Может оказаться полезной пошаговая инструкция по установке клиента.
[Примечание переводчика. Русскоязычным пользователям также полезно ознакомиться с нашей инструкцией по установке клиента.]
- Где можно получить дополнительную информацию о распределенных вычислениях?
-
- Прочтите наш раздел Как помочь.
- Ознакомьтесь с другими разделами FAQ.
- Подпишитесь на наши листы рассылки.
- Участники вне США могут связатсья со своими
региональными представителями, которые смогут ответить на ваши вопросы на вашем родном языке.
- На нашем IRC-канале #distributed в сети EFnet всегда достаточно людей.
- Просто побродите по нашему сайту, вы наверняка найдете там много интересного.
[Примечание переводчика. Кроме того, не забывайте и об этом сайте :) Кроме того, полезно ознакомиться со старой, но до сих пор актуальной статьей по распределенным вычислениям, опубликованной в Русском Журнале.]
- Кто еще занимается этим?
В проекте участвую самые разные люди с разной степенью технической подготовки.
Для участия в этом развлечении вам не нужно быть опытным программистом или экспертом по криптографии.
Все, что вам нужно - компьютер, который периодически подключается к Internet, и желание принять участие в крупном распределенном проекте. Достаточно поверхностного взгляда на список участвующих команд, чтобы убедиться в разнообразии компаний, организаций и отдельных людей, работающих над проектом прямо сейчас. Возможно, более важный вопрос - кто НЕ участвует. Успех всего предприятия зависит от подключения к нему как можно большего числа людей. Так что подключайтесь к нам сегодня и не забудьте рассказать об этом своим друзьям :)
- Следует ли мне держать компьютер постоянно включенным, если я установил на него клиента?
Если хотите, вы можете это делать, но мы рекомендуем не менять привычного режима использования компьютера исключительно ради distributed.net. В конце концов, цель distributed.net - продемонстрировать, какие вычислительные вершины достижимы с помощью использования циклов процессора, которые обычно просто теряются.
- Не повредит ли компьютеру постоянная работа?
Существуют аргументы как за, так и против, поэтому решать вам придется самостоятельно. На нашем листе рассылки была некая дискуссия на эту тему, и далее мы предлагаем вам краткое изложение ее основных моментов.
Среднее время между сбоями постоянно работающих жестких дисков составляет 10 лет, и обычно диск или умирает через несколько месяцев. или продолжает работать практически вечно. Для большинства жестких дисков их включение и выключение приводит к большему ущербу, чем круглосуточная работа. Мне известны некоторые случаи, когда старое оборудование (десятилетней давности файл-серверы), выключалось в процессе подготовки к встрече ошибки 2000 года. Увеличившаяся нагрузка на диски при их включении затем привела к выходу дисков из строя.
Частота обращений к диску на самом деле имеет мало отношения к его сбоям. Большинство дисков, ломавшихся на моих машинах, были предназначены для резервного копирования и использовались относительно редко.
Большинство людей сейчас пришло к выводу, что простейший способ обеспечения надожной работы компьютерной техники - поставить компьютер в холодное место с низкой влажностью и оставить его там постоянно включенным. Нагрузки при старте гораздо опаснее чем обычное использование. На мой взгляд, основными факторами продолжительности жизни жестких дисков, являются фоновые вибрации, влажность и охлаждение.
На самом деле постоянно работающий компьютер имеет чуть МЕНЬШЕ (НАСКОЛЬКО - по прежнему активно обсуждается экспертами) шансов на выход из строя, поскольку он не испытывает бросков питания при запуске, и ему не нужно раскручивать диски. Раскручивание дисков с нуля - наиболее критичное время в жизни жестких дисков, поскольку, в зависимости от конкретного диска, для раскрутки диска может потребоваться чуть ли не стократное количество энергии по сравнению с поддержкой вращения в холостом режиме (это в худшем случае, обычное соотношение - 3-5 раз). Внезапный сбой в источнике питания в этот момент сам по себе может вызвать сбой всей системы.
В то же время, держать постоянно включенным ноутбук - не такая уж хорошая идея, они не проектируются для постоянной работы. У большинства нет достаточного охлаждения, и они гораздо нежнее стандартных компьютеров.
Большинство сбоев в полупроводниках происходит из-за медленного рассеивания атомов примесей в кристаллической матрице подложки (кремния/германия). Степень рассеивания увеличивается с температурой, и даже при использовании охлаждающих вентиляторов это происходит быстрее в случае работающей машины.
У меня есть и хорошие новости: этот эффект обычно минимальный, и у машины гораздо больше шансов просто морально устареть, чем сломаться при круглосуточной работе.
Как кто-то упоминал, избыточый ток вбивает примеси из N-слоя в P-слой полупроводника в месте их соединения, что может привести к выводу транзистора из строя. Я читал, что это может произойти за пару лет использования процессора в режиме агрессивного разгона, или за 10 и более лет в штатном режиме. Если вы используете разогнанный процессор, но только изредка используете его на полную мощь, он проживет дольше. Linux и некоторые другие операционные системы используют инструкцию halt в своем цикле простоя для перевода процессора в ждущий режим с низким потреблением энергии.
Постоянная работа клиента не обязательно приведет к поломке машины быстрее, чем ее работа в режиме простоя. Режим простоя означает только то, что процессор перегоняет через свои регистры нули, но по-прежнему выполняет какие-то команды, хотя и ничего не делающие.
Озаботился ли кто-нибудь взглянуть на дополнительную нагрузку процессора, на котором не запущен клиент? Например, рассмотрим сервер, который обычно простаивает, но периодически получает порцию работы. Процессор на этом сервере должен быть холодным в промежутке между заданиями, потом быстро разогревается при начале работы и охлаждается при ее завершении. Всевозможные колебания температуры в процессе этих циклов нагрева/охлаждения увеличивают термонагрузку на процессор. Эти удары могут вызвать мелкие сбои в микросхеме, которые в какой-то момент могут привести к обрыву серьезной цепи и выходу процессора из строя. При работе клиента процессор постоянно занят, так что колебания температуры минимальны.
Мой опыт работы показывает, что сбои в полупроводниках гораздо чаще происходили в местах контактов, и вызывались скорее термической усталостью, а постоянно высокой температурой. Возможно, за эти годы контакты значительно улучшились - да их не так уж и много осталось в современной технике. Любое оборудование, которое я хочу сохранить работающим, просто постоянно включено. На мой взгляд, большинство сбоев в электронике происходит из-за нагрузок при включении/выключении.
Я подозреваю, что в первую очередь потенциальным местом для сбоем в компьютерной системе должны быть ее механические составляющие, такие как жесткий диск или блоки питания.
Микросхемы, успешно пережившие период "детской смертности" (обычно 48 часов), должны прожить 10-20 лет вне зависимости от того, что с ними делают. На них не должны значительно влиять температурные колебания, и примеси не должны существенно рассеиваться при типичных температурах переходов порядка 100°C.
Два основных механизма сбоя работающих микросхем - инжекция горячих электронов и электромиграция. Горячие электроны возникают при переключении состояния транзисторов. Они вынуждают заряд оставаться в затворе транзистора, в конце концов (чрезе многие годы) меняют поведение транзистора и приводят к его выходу из строя. Постоянная работа вашей системы ускоряет ее смерть по этой причине. Однако, как я уже заметил, я считаю, что гораздо раньше выйдут из строя другие компоненты. Степень этой инжекции также пропорциональная напряжению и частоте, на которой работает процессор, так что на нее можно повлиять разгоном. Электромиграция происходит при слишкой высокой концентрации проводников. Поток электронов может сместить металл проводников так, что в конце концов вызовет короткое замыкание. Обычно это проиходит только в плохо спроектированных цепях и не должно нас волновать.
Я также встречал сбои, вызванные случайными специфичными дефектами микросхем. Однако, причиной их смерти не были ни температурные колебания, ни электрические поля. Большинство этих дефектов выявляются на этапе "детской смертности".
- Требует ли работа клиента больших затрат электроэнергии?
-
Помните, что мы рекомендуем пользователям не менять их обычного режима использования компьютера только ради работы клиента. Так что и после установки клиента компьютеры должны работать, только если они активно используются, или их и так оставляли включенными.
Большинство современных компьютеров могут входить в режим экономного использования энергии во время простоя. Обычно это подразумевает отключение монитора, остановку жестких дисков и перевод процессора в режим простоя, в котором он не так сильно греется. Запуск клиента в обычном режиме не должен повлиять на отключение монитора, который обычно является значительным потребителем электроэнергии.
Однако, периодическое сохранение клиентом результатов работы на диск может препятствовать остановке жестких дисков в энергосберегающих системах. Если в вашей системе установлено несколько жестких дисков, вы можете рассмотреть возможность размещения буферов клиента и логов на том же диске, с которым, скорее всего, будет связана и другая активность (работа с файлом подкачки операционной системы, системный каталог и т.п.), позволяя другим дискам останавливаться, как и раньше. Возможно, стоит разрешить бездисковый режим работы клиента, в котором для операций используется только оперативная память, но помните, что в этом случае ваша работа может быть потеряна при сбое в работе компьютера. Также стоит помнить, что раскрутка/остановка ваших жестких дисков на самом деле может сократить их срок жизни.
Кроме того, клиент скорее всего не даст вашему процессору войти в режим сниженного потребления энергии (в процессорах x86 часто называющийся HLT-режимом). Однако реальное потребление энергии одним процессором является лишь малой частью общей энергии, потребляемой компьютером (обычно значительно менее 20%), и переход в режим простоя снижает эту долю крайне незначительно. Заметим, что этот режим простоя не имеет отношения к снижению частоты процессора, которая иногда производится APM-службами, когда они не обнаружвают пользовательской активности (клиент никак не влияет на это снижение). Вам также следует помнить, что иногда вентилятор на процессоре работает только при обнаружении избыточного тепла (как в случае постоянно работающего процессора или жесткого диска). Эти вентиляторы являются дополнительным потребителем энергии.
В целом, энергопотребление компьютеров, на которых запущен клиент во время их обычной работы, меняется крайне незначительно. Задача distributed.net - исключительно задействовать холостые циклы работы процессора, которые в противном случае остались бы неиспользованными.
|