- Распределительные вычисления
-
Распределённые вычисле́ния (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров, объединённых в сеть.
Распределённые вычисления являются частным случаем параллельных вычислений, то есть одновременного решения различных частей одной вычислительной задачи несколькими процессорами одного или нескольких компьютеров. Поэтому необходимо, чтобы решаемая задача была сегментирована, то есть разделена на подзадачи, которые могут вычисляться параллельно. При этом для распределенных вычислений приходится также учитывать возможное различие в вычислительных ресурсах, которые будут доступны для расчёта различных подзадач. Более того, не всякую задачу можно разделить на подзадачи, которые можно решать параллельно.
Содержание
История
В последнее время в качестве исполнителей выступают компьютеры, связанные посредством той или иной среды передачи данных, однако в прошлом для этого использовались и люди. Например, решение для модели атомной бомбы в США было получено коллективом учёных, которые пользовались вычислительными машинами.
С появлением и бурным развитием интернета всё большую популярность стала получать идея добровольного использования для распределённых вычислений компьютеров простых пользователей, соединённых через интернет.
Такой проект распределённых вычислений в интернете, как SETI@Home и Folding@Home обладает не меньшей вычислительной мощностью, чем самые современные суперкомпьютеры. Проект отмечен в Книге рекордов Гиннеса, как самое большое вычисление.
На сегодняшний день для упрощения процесса организации и управления распределёнными вычислениями создано несколько программных комплексов, как коммерческих, так и абсолютно бесплатных (см. ссылки).
Участие в проектах распределенных вычислений
Общая схема участия
Общая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник скачивает клиентскую часть программного обеспечения под свою операционную систему, настраивает и запускает её. Клиент периодически общается с сервером проекта — запрашивает у него данные на обработку и отсылает результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя (англ.)) и не мешает основной работе.
Привлечение и мотивация участников
Существует несколько методов привлечения участников в проекты распределённых вычислений. Прежде всего это реклама, в том числе на вебсайтах по смежной проекту тематике. Почти каждый проект старается заинтересовать потенциальных участников описанием важности решаемой задачи и последующего применения результатов её решения в реальной жизни. Здесь, безусловно, большую выгоду могут извлечь проекты, у которых такие приложения есть (например, поиск лекарств и другие биомедицинские проекты).
Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и красиво оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и т.п. — все это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта (см. ссылки), которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.
Некоторые проекты распределённых вычислений так или иначе финансируются и предлагают своим участникам денежное вознаграждение при достижении определённых результатов. В частности, проекты, занимающиеся поиском редких объектов (например, чисел специального вида), могут награждать конкретных участников, нашедших на своём компьютере очередной объект поиска. Такие проекты можно рассматривать как лотерею, в которой участники платят своими компьютерными ресурсами, вычисляя что-то полезное (или бесполезное), и имеют шанс выиграть приз. При этом шанс на успех прямо пропорционален вложенным мощностям — как и в лотерее: чем больше покупаешь лотерейных билетов, тем больше вероятность выигрыша.
Несмотря на то, что большинство проектов распределенных вычислений основываются на добровольном участии пользователей ПК, у рядового пользователя существует потенциальная возможность стать невольным участником того или иного проекта, клиентское ПО которого может быть установлено компьютерным вирусом. При современном уровне развития информационных технологий и сетей передачи данных такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность компьютера, может долгое время оставаться необнаруженной.
Критика проектов распределенных вычислений
Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а так же то, что их результаты будут опубликованы, однако, существует возможность того, что:
- заявленные цели проекта не соответствуют реальным и присылаемые для обработки данные являются, например, проектом по разработке новейшего вооружения. Проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы - попытка дизассемблировать программу противозаконна.
- научные достижения, полученные в ходе исследования, будут сначала рассмотрены и/или использованы с точки военного применения, а лишь потом перейдут в гражданские сферы. Эти достижения также могут быть присвоены организаторами проекта и остальные участники не получат ничего.
Это может привести к ситуации, когда участники интернациональной команды своими усилиями укрепляют возможности страны-организатора проекта при получении результатов проекта производить политический, военный или экономический шантаж остального мира, как в случае с атомной бомбой.
Организации, участвующие в проектах распределенных вычислений
Список проектов распределённых вычислений
Ниже приведен список наиболее популярных проектов распределённых вычислений в интернете. Более полный список практически всех существующих и существовавших проектов распределённых вычислений в интернете доступен на сайте Distributed Computing(англ.).
Биология и медицина
- Rosetta@home — вычисление структуры белка с самой низкой энергией.
- Folding@Home — проект по расчёту третичной структуры белков;
- World Community Grid — исследования, связанные с генетикой человека, а также с различными тяжёлыми заболеваниями. Изучение белков и их каталогизация.
- grid.org — проект по поиску лекарства от рака (завершен 27 апреля 2007 года (не нашли));
- Find-a-Drug — проект по поиску лекарств от различных болезней путём расчёта докинга белков с различными молекулами (завершен в 2005 году);
Математика и криптография
- Seventeen or Bust — проект, занимающийся решением задачи Серпинского;
- чисел Мерсенна;
- ZetaGrid — проверка гипотезы Римана. /Окончен/
- RC5 полным перебором, поиск оптимальных линеек Голомба;
-
Естественные науки
- SETI@Home — проект по обработке сигналов радиотелескопа, для поиска радиосигналов внеземных цивилизаций.
- Einstein@Home — проект по проверке гипотезы Эйнштейна о гравитационных волнах с помощью анализа гравитационных полей пульсаров или нейтронных звёзд.
- Climate Prediction — проект по моделированию влияния выбросов углекислого газа на климат Земли.
- Spinhenge@home — проект в области нанотехнологий.
- LHC@home — расчёты для создания ускорителя заряженных частиц — Большого адронного коллайдера (LHC, ввод в эксплуатацию в 2009 году).
- Muon1 DPAD — расчёты по проектировке еще более мощного ускорителя — Neutrino Factory/Muon Collider.
- Enabling Grids for E-sciencE — информация о проекте EGEE.
Ссылки
- «Распределённые вычисления в Интернете» — поддержка массы проектов распределенных вычислений.
- Сравнение биомедицинских проектов распределенных вычислений
- русский Сайт о параллельных вычислениях
- Подборки материалов о GRID вычислениях. Полезные ссылки
- Премия Дейкстры за выдающиеся работы в области распределенных вычислений
Статьи о распределенных вычислениях
- Леонид Дурман «Гонки по вертикали. Числа Ферма от Эйлера до наших дней: начало, продолжение, окончание». Компьютерра, №№ 393-395, 2001. (альтернативная ссылка)
- boinc.ru: Кто организует распределённые вычисления и кто в них участвует, Распределённые вычисления,
- Операционная система Интернет-масштаба — перевод статьи основателя SETI@home о будущем распределённых вычислений
- Региональные grid-сети, Мир ПК, №08, 2005.
- Научные статьи по распределенным вычислениям
Командные сайты
- Сайт команды BugTraq.Ru — проекты distributed.net
- Сайт команды Russia по многим проектам распределённых вычислений
- Сайт команды Grodno Information Networks
- Сайт команды IvanovoTeam, проекты распределённых вычислений OGR и RC
- Форум команды Kostroma_City
- Сайт Minsk Team
- Сайт команды BOINC SETI@HOME
- Сайт команды TSC! Russia, распределенные вычисления на благо человечества
- Сайт команды Russia Team
- Сайт команды PolarSETI
- Сайт команды <Компьютерра>
- Сайт команды Ukraine по множеству проектов, форум, поддержка
Распределенные вычисления в операционных системах
ПО для организации распределённых вычислений
- LGPL.
- Condor(англ.)
- Globus Toolkit(англ.) — набор программ значительно упрощающий создание и управление распределёнными вычислениями.
См. также
-
- Сервисно-ориентированная архитектура
- Кластер (группа компьютеров)
- Beowulf (кластер)
- Грид
- Ботнет
- Клиент-сервер
- Пиринговые сети
Проекты распределённых вычислений Астрономические Einstein@Home • SETI@home • Orbit@home • Cosmology@home Биомедицинские CommunityTSC • eOn • evolution@home • FightAIDS@Home • Folding@home • Lattice Project • Malariacontrol • Predictor@home • Rosetta@home • Tanpaku • SIMAP@home • QMC@Home • United Devices Cancer Research Project Климатологические BBC Climate Change Experiment • Seasonal Attribution Project Математические 3x+1 • ABC@Home • Chess960@home • GIMPS • PrimeGrid • Rectilinear Crossing Number • Seventeen or Bust • SZTAKI Desktop Grid Физико-технические CuboidSimulation • LHC@home • Magnetism@home • µFluids@home • Muon1 DPAD • Spinhenge@home Прочие Africa@HOME • BURP • DIMES • HashClash • AQUA@home
Wikimedia Foundation. 2010.