?

Log in

No account? Create an account

Previous Entry | Next Entry

У вас есть мечта помочь всему человечеству сразу? Не задумывались? Ничего страшного! А если бы можно было прямо сейчас помочь, не ударив о палец пальцем, согласились бы? Спасибо. Уверен, что да. Сейчас я объясню, что нужно для этого сделать. Сперва несколько слов о том, кому будем помогать.

Исследовательская организация World Community Grid, что по-русски означает Всемирное сетевое сообщество (далее ВСС), занимается научными задачами, требующими гигантских объемов вычислений. Сообщество рассматривает запросы ученых, претендующих на вычислительное время на одном из самых мощных суперкомпьютеров на свете, оператором которого и является эта организация. Если проект принят, для него выделяется машинное время. Расчет занимает обычно месяцы непрерывной работы, несмотря на огромную вычислительную мощность машины. Критерием выбора является непосредственная польза от проекта человечеству. В числе недавно завершенных и текущих проектов поиск химических соединений — кандидатов на лекарства от желтой лихорадки, СПИДа, рака, моделирование климата. Самый вычислительноемкий проект, предпринимаемый человечеством сейчас — изучение химической структуры белков, констуируемых по данным ДНК человека; ВСС выполняет часть вычислительной работы, необходимой для решения этой задачи: первый этап счета занял год и 7 месяцев вычислений!

Что же это за суперкомпьютер? И почему сообщество, всемирное и сетевое? Ответ на все эти вопросы один. Суперкомпьютер ВСС состоит из сотен тысяч домашних и рабочих компьютеров — в том числе и наших с вами. Современный настольный компьютер выполняет миллиарды операций в секунду. Когда вы читаете ЖЖ, пишете письма или документы, вы используете лишь тысячную часть этой мощности. Все остальное пропадает напрасно! Компьютер — не швейная машина, он не изнашивается от работы, и срок его службы не зависит даже от времени, что компьютер остается включенным. Я никогда не выключаю свои 4 стационарные машины дома (ноутбук, правда, «усыпляю»). Замечательно работающая идея ВСС в том, чтобы «подобрать» все это пропадающее зря машинное время и потратить его с пользой для решения важных задач биологии и медицины. Суммарное время счета на всех компьютерах системы составило за 3,5 года ее работы невообразимое число 160 000 лет — это больше, чем время, что наш биологический вид существует на свете!

Кому помочь разобрались, теперь — как. Сначала нужно зарегистрироваться на сайте ВСС. Никаких личных данных не требуется: только псевдоним, пароль и адрес электронной почты. Регистрироваться следует один раз на все компьютеры, если у вас их больше одного. Следующий шаг — установка программы. Нужно загрузить и установить программу BOINC, которую предложат загрузить после регистрации — версию для вашей операционной системы; поддерживаются Windows, MacOS и Линукс. Выберите Single Device Installation (я также выключаю галочку Default Screen Saver — но это по желанию). После установки программа запустится — и всё, от вас больше не требуется никаких действий! Она сама загрузит порцию счетной задачи и будет ее обрабатывать в те миллисекунды, — или часы — когда процессор вашего компьютера не занят другой работой.

ЧАВО, или, по-простому, катехизис:
Как же я буду работать, если мой компьютер будет знаят таким сложным счетом?
Счетная задача работает с самым низким «приоритетом». Это означает, что ей разрешено работать только если компьютер бы все равно простаивал. Программа получает разрешение на работу на каждые следующие 10—50 миллисекунд, если нет «заявок» от других программ. Более того, нажатие клавиши или движение мышки приостановит ее немедленно. В результате, вы не почувствуете никакой разницы. Я считаю для этого проекта уже около года, до этого «дарил излишки» другому проекту в течение несколькох лет, и не видел никаких проблем с другими программами на компьютере, где бы работала эта.
Значит, и играть я тоже смогу?
Говорят, будто некоторые сложные трехмерные игры работают хуже; какие именно — тогда не уточняли. Если такое вдруг произойдет, программу всегда можно «притормозить» вручную, выбрав команду Snooze в меню.
Сколько памяти и места на диске занимает эта программа?
Типичные требования к компьютеру — не менее 256 МБ оперативной памяти и 600 МБ свободного пространства на диске. В эту самую секунду четыре задачи на моем четырехпроцессорном сервере занимают в памяти вот сколько места: три по 80 МБ, одна 100 МБ. Если у вас один или два процессора — соответственно меньше. Программа запускает по одному счетному процессу в расчете на каждый процессор. Можно уменьшить максимальное число, объясню с удовольствием, если будут вопросы.
А компьютер не перегреется?
Нет, если он исправен и никогда не перегревается. Да, наверняка, если случалось, что он неожиданно выключался от перегрева — но тогда он требует ремонта. На ноутбуке с «Пентиумом 4» программу устанавливать, скорее всего, не стоит; на ноутбуке с «Пентиумом III» или новыми процессорами Core Duo и Core Duo II считать вполне можно, но надо запретить счет при работе компьютера от батарейки (это настройка по умолчанию, менять не надо), иначе она быстро сядет.
А за электричество мне больше придется платить?
Да. Машина с Core Duo II или новым Quad Core (Yorkshire 45 nm) потребляет на 20—50 ватт больше электричества, когда ведет счет, чем когда совершенно ничего не делает.
А он, поди, через интернет кучу данных туда-сюда передает?
Дайте определеие «кучи». :-) Один раз загрузится пакет программ для проекта, это несколько МБ на один проект (т. е. вид расчета — желтая лихорадка, например). Проект продолжается в среднем несколько месяцев, и пакет используется все это время, хотя может быть загружена и новая версия, но это бывает не всегда. Рассчитывайте на 1 такую «масштабную» загрузку в месяц. Дальше этот пакет только примичает заказы из центра и отсылает результаты. Размер одной «посылки» с заказом — несколько КБ (как короткая страница с текстом), с результатом, от вас — несколько сотен КБ (как 2—3 страницы с картинками). При круглосуточном счете на Core Duo II программа сделает 10—20 расчетов в день. Получается суммарный трафик от вас порядка нескольких МБ в день (исходящий трафик обычно бесплатный, но проверьте в догоеоре с провайдером, если сомневаетесь). По умолчанию программа соединяется с центром не чаще, чем раз в 6 часов, и только если связь с Интернетом есть. Если нет связи, тогда она соединается при первой же возможности, если срок уже прошел. По умолчанию загружается «запас» задач на 2 дня счета, но если вы соединяетесь с Интернетом реже, то можете увеличить счетную очередь до 10 дней.
А «жучка́» или вирус какой-нибудь мне не подложат? Откуда я знаю, что эта программа там делает?
Все программы в этом проекте открыты: можете загрузить исходный текст и скомпилировать любую из них. Если эти слова вам ни о чем не говорят — просто поверьте, ответ «нет»: проверка настолько легкa для любого технаря, что обман давно бы вскрылся: в проекте принимают участи сотни тысяч добровольцев. Само ядро комплекса BOINC разработано в университете Беркли.
А враг в дырочку не пролезет?
Нет. Программа не ждет «звонков», она соединяется с центральным сервером по своей инициативе, по известному, правильному адресу (ошибиться и «позвонить» вместо него мерзавцам она никак не может), так что никакой «дырочки» и нет. Вся коммуникация шифруется; все пакеты подписаны уникальным ключом (для каждого пользователя он свой), так что даже вредитель-перехватчик Мэл не может ничего сделать.
Компьютер, на котором работает программа, надо всегда держать включенным? (© vika_1_2)
Нет, не обязательно; можно включать и выключать, как обычно. Программа будет запускаться когда Вы зарегистрируетесь и продолжать вычисления с того места, где она была прервана. Конечно, на компьютере, что включается на час в неделю, смысла устанавливать эту программу не имеет, а если несколько часов в день — то очень даже хорошо!
А можно она будет считать, когда меня дома нет?
В Windows, чтобы счет продолжался, пользователь должен быть зарегистрирован на машине (то есть когда на экране присутствует рабочий стол, а не предложение представиться и ввести пароль). Если это требование неудобно, программу можно установить так, что она будет работать независимо от того, зарегистрирован ли кто-нибудь, и кто это (технически — как сервис). В Линуксе и MacOS программа также может работать как демон. Спрашивайте, я все разъясню или скажу, где искать; переведу, если надо будет, не стесняйтесь.
А что мне с того?
Сопричастность. Искренняя благодарность незнакомых людей. Новые лекарства и новые знания — для всех.
Пропеарить?
Еще бы! Пожалуйста!
А ты, Брут?..
Нет, ни гроша. Не привлекался, на учете не состоял, в связях не замечен. Такой же доброволец, каким, когда подключитесь, будете вы.


Отвечу на любые вопросы — только спрашивайте!

P. S. Отмечайтесь, пожалуйста, если подключаетесь (и нет причин делать это инкогнито), или если просто сочувствуете («обязательно присоединюсь, как только компьютер на стероидах подращу»). На веб-сайте ВСС форумы есть, но там общение все на английском. Если будет хотя бы несколько желающих, то заведем сообщество, чтобы проконсультироваться где было.

Tags:

Comments

( 10 comments — Leave a comment )
iodiot
May. 3rd, 2008 12:39 pm (UTC)
Можно рискнуть, дело то благородное :)
fregimus
May. 4th, 2008 07:44 am (UTC)
Еше какое! :-) Спасибо.
vika_1_2
May. 4th, 2008 02:20 pm (UTC)
Компьютер, на котором работает программа, надо всегда держать включенным?
fregimus
May. 4th, 2008 03:33 pm (UTC)
Нет, не обязательно; можно включать и выключать, как обычно. Программа будет запускаться когда Вы зарегистрируетесь и продолжать вычисления с того места, где она была прервана. Конечно, на компьютере, что включается на час в неделю, смысла устанавливать эту программу не имеет, а если несколько часов в день — то очень даже хорошо!
(Anonymous)
May. 7th, 2008 07:12 pm (UTC)
I look forward...
fregimus
May. 7th, 2008 11:50 pm (UTC)
Cool, thanks!
oaristes
May. 14th, 2008 01:56 pm (UTC)
Спасибо за ссылку: я когда-то читал об этом проекте, тем с большим удовольствием подключусь сейчас. :)
fregimus
May. 14th, 2008 07:08 pm (UTC)
Ну и правильно, а то по нескольку миллиардов тактов почем зря каждую секунду пропадает (не в мире — в одном отдельно взятом компутере) :-)

Таких проектов, кстати, несколько — поиск внеземных цивилизаций, вычисление простых чисел и прочие бычислительные вещи. На веб-сайте BOINC они упоминаются.
bender2008
Jun. 25th, 2008 04:01 pm (UTC)
непойму где в настройках програмы клиента указать, чтобы не использовал диск С: (мало места) и переназначить на диск D: например.
fregimus
Jun. 26th, 2008 10:29 am (UTC)
Думаю, единственный «честный» способ — деинсталлировать ее, а затем поставить снова, указав директорию на диске D:. Я бы сделал так:
  1. Деинсталлировал программу. Кажется, она спрашивает, удалить ли настройки и др. файлы — ответьте нет.
  2. Скопировал всю директорию C:\Program Files\BOINC на D:. Пусть для примера будет D:\BOINC. Так сохранятся все настройки, очередь и прерванные задания.
  3. Установил бы ее заново в директорию D:\BOINC. Когда все заработает, старые копии из C:\Program Files\BOINC можно удалить.
( 10 comments — Leave a comment )