Вход

Просмотр полной версии : Программа распределённых вычислений


Kord
12.03.2009, 18:04
Программа распределённых вычислений на дому
http://tower-libertas.com/logo9.jpg

Распределённые вычисле́ния (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров, объединённых в сеть.
Распределённые вычисления являются частным случаем параллельных вычислений, то есть одновременного решения различных частей одной вычислительной задачи несколькими процессорами одного или нескольких компьютеров. Поэтому необходимо, чтобы решаемая задача была сегментирована, то есть разделена на подзадачи, которые могут вычисляться параллельно. При этом для распределенных вычислений приходится также учитывать возможное различие в вычислительных ресурсах, которые будут доступны для расчёта различных подзадач. Более того, не всякую задачу можно разделить на подзадачи, которые можно решать параллельно.

История

В последнее время в качестве исполнителей выступают компьютеры, связанные посредством той или иной среды передачи данных, однако в прошлом для этого использовались и люди. Например, решение для модели атомной бомбы в США было получено коллективом учёных, которые пользовались вычислительными машинами.
С появлением и бурным развитием интернета всё большую популярность стала получать идея добровольного использования для распределённых вычислений компьютеров простых пользователей, соединённых через интернет.
Такой проект распределённых вычислений в интернете, как SETI@Home обладает не меньшей вычислительной мощностью, чем самые современные суперкомпьютеры. Проект отмечен в Книге рекордов Гиннеса, как самое большое вычисление.
На сегодняшний день для упрощения процесса организации и управления распределёнными вычислениями создано несколько программных комплексов, как коммерческих, так и абсолютно бесплатных (см. ссылки).

Участие в проектах распределенных вычислений

Общая схема участия

Общая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник скачивает клиентскую часть программного обеспечения под свою операционную систему, настраивает и запускает её. Клиент периодически общается с сервером проекта — запрашивает у него данные на обработку и отсылает результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя (англ.)) и не мешает основной работе.

Привлечение и мотивация участников

Существует несколько методов привлечения участников в проекты распределённых вычислений. Прежде всего это реклама, в том числе на вебсайтах по смежной проекту тематике. Почти каждый проект старается заинтересовать потенциальных участников описанием важности решаемой задачи и последующего применения результатов её решения в реальной жизни. Здесь, безусловно, большую выгоду могут извлечь проекты, у которых такие приложения есть (например, поиск лекарств и другие биомедицинские проекты).
Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и красиво оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и т.п. — все это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта (см. ссылки), которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.
Некоторые проекты распределённых вычислений так или иначе финансируются и предлагают своим участникам денежное вознаграждение при достижении определённых результатов. В частности, проекты, занимающиеся поиском редких объектов (например, чисел специального вида), могут награждать конкретных участников, нашедших на своём компьютере очередной объект поиска. Такие проекты можно рассматривать как лотерею, в которой участники платят своими компьютерными ресурсами, вычисляя что-то полезное (или бесполезное), и имеют шанс выиграть приз. При этом шанс на успех прямо пропорционален вложенным мощностям — как и в лотерее: чем больше покупаешь лотерейных билетов, тем больше вероятность выигрыша.
Несмотря на то, что большинство проектов распределенных вычислений основываются на добровольном участии пользователей ПК, у рядового пользователя существует потенциальная возможность стать невольным участником того или иного проекта, клиентское ПО которого может быть установлено компьютерным вирусом. При современном уровне развития информационных технологий и сетей передачи данных такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность компьютера, может долгое время оставаться необнаруженной.

Критика проектов распределенных вычислений

Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а так же то, что их результаты будут опубликованы, однако, существует возможность того, что:
заявленные цели проекта не соответствуют реальным и присылаемые для обработки данные являются, например, проектом по разработке новейшего вооружения. Проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы - попытка дизассемблировать программу противозаконна.
научные достижения, полученные в ходе исследования, будут сначала рассмотрены и/или использованы с точки военного применения, а лишь потом перейдут в гражданские сферы. Эти достижения также могут быть присвоены организаторами проекта и остальные участники не получат ничего.
Это может привести к ситуации, когда участники интернациональной команды своими усилиями укрепляют возможности страны-организатора проекта при получении результатов проекта производить политический, военный или экономический шантаж остального мира, как в случае с атомной бомбой.

SETI@home (от англ. Search for Extra-Terrestrial Intelligence at Home — поиск внеземного разума на дому́) — научный некоммерческий проект распределённых вычислений на платформе BOINC, использующий свободные вычислительные ресурсы на компьютерах добровольцев[1] для поиска радиосигналов внеземных цивилизаций.

LHC@Home — проект распределённых вычислений (http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D 0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1 %87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F), организованный сотрудниками CERN (http://ru.wikipedia.org/wiki/CERN) (Conseil Européen pour la Recherche Nucléaire) для проведения расчётов, необходимых при постройке и эксплуатации Большого адронного коллайдера (http://ru.wikipedia.org/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B9_%D0%B0% D0%B4%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D 0%BE%D0%BB%D0%BB%D0%B0%D0%B9%D0%B4%D0%B5%D1%80). В ходе этих расчётов, проводимых добровольцами на своих домашних компьютерах, осуществляется моделирование поведения пучка заряженных частиц при различных параметрах воздействия на них управляющих магнитов ускорителя. Полученные данные будут в дальнейшем использоваться для исключения ситуаций, при которых пучок частиц может стать нестабильным в ходе проведения реальных экспериментов.
Проект работает под управлением менеджера распределённых вычислений (BOINC), производя расчёты в фоновом режиме и периодически требуя подключения к Интернету для отправки и получения новых заданий.
В данное время задания выдаются крайне редко.

Вот 10 наиболее популярных проектов:
SETI@home (http://ru.wikipedia.org/wiki/SETI@home) — анализ радиосигналов с радиотелескопа Аресибо для поиска инопланетных цивилизаций.
Rosetta@home (http://ru.wikipedia.org/wiki/Rosetta@home) — вычисление 3-хмерной структуры белков из их аминокислотных последовательностей.
Einstein@Home (http://ru.wikipedia.org/wiki/Einstein@Home) — проверка гипотезы Альберта Эйнштейна о гравитационных волнах с помощью анализа гравитационных полей пульсаров или нейтронных звёзд.
Climate Prediction (http://ru.wikipedia.org/wiki/Climate_Prediction) — построение модели климата Земли для предсказания его изменений на 50 лет вперёд.
World Community Grid (http://www.worldcommunitygrid.org/) — Различные проекты. Организатор — IBM.
Malaria Control Project (http://www.malariacontrol.net/) — Контроль распространения Малярии в Африке (AFRICA@home).
Predictor@home (http://ru.wikipedia.org/wiki/Predictor@home) — моделирование 3-хмерной структуры белка из последовательностей аминокислот.
SIMAP (http://boinc.bio.wzw.tum.de/boincsimap) — создание базы данных для вычислительной биологии.
LHC@home (http://ru.wikipedia.org/wiki/LHC@home) — расчёты для исследования экспериментов на LHC в CERN (Centre Europeen de Recherche Nucleaire).
BBC Climate Change Experiment (http://bbc.cpdn.org/) — предсказание изменений климата на 160 лет. Проводится при поддержке BBC (Би-Би-Си).
QMC@Home (http://qah.uni-muenster.de/) — расчёты с использованием метода Монте-Карло в квантовой химии.
Seasonal Attribution Project (http://attribution.cpdn.org/) — оценка степени влияния деятельности человека на климатические изменения. Проводится при поддержке Всемирного фонда дикой природы — WWF.

Проекты, набирающие популярность:
ABC@home (http://abcathome.com/) — проект в области математики.
Spinhenge@home (http://ru.wikipedia.org/wiki/Spinhenge@home) — проект в области нанотехнологий.
Leiden Classical (http://boinc.gorlaeus.net/) — проект в области физики.

Вся статья (http://ru.wikipedia.org/wiki/Распределённые_вычисления)

Существуют также сайты статистики, где можно посмотреть заработанные вами очки за вклад в проэкты. Мелочь, а приятно:)

Вобщем, народ, давайте все дружно вступим в программу, и внесём свой вклад в развитие науки для всего человечества.