Что такое распределенные вычисления? Кто и зачем их организует и в них участвует?
Почему-то, когда люди слышат о распределенных вычислениях, то сразу вспоминают про инопланетян? Ну, вообще-то, понятно почему. SETI@Home — один из первых и самых «раскрученных» проектов распределенных вычислений. Однако, время идет и технология распределенных вычислений получает все большее распространение. На сегодняшний день существует более двух десятков проектов (математических, медико-биологических, физических, климатологических и др.)
В двух словах суть распределенных вычислений такова: Задачи, требующие огромного объема вычислений, разбиваются на небольшие «порции» и рассылаются всем желающим через Интернет. После просчета такого блока (время может быть различным от нескольких минут до нескольких недель, в зависимости от проекта) готовый результат отсылается обратно — организаторам. Сервер проекта из просчитанных кусочков «склеивает» общий результат. Принципиально все очень просто.
Теперь главный вопрос: КОМУ и ЗАЧЕМ все это нужно?
Ну, насчет организаторов понятно — они, за небольшие затраты, получают огромные вычислительные мощности и решение своих проблем. В роли организаторов обычно выступают научные учреждения, которым получаемых на исследования грантов вполне хватает для приобретения серверов и написания необходимых программных средств, но совершенно недостаточно на аренду суперкомпьютеров для проведения своих расчетов. Здесь на помощь им приходят добровольцы — участники проектов распределенных вычислений.
А зачем добровольцы жертвуют свои компьютеры (платят за электричество и трафик)?
Причин обычно несколько, выбирайте для себя любую:
Помощь науке. Для кого-то чувство сопричастности к серьезной научной деятельности достаточно важный стимул.
Интерес. Почему многим нравятся научно-популярные передачи? Интересно. Так же и здесь. Начиная считать какой-либо проект, мы практически ничего не знаем об этом направлении научной или технической деятельности. Становится интересно, что же мы все-таки считаем? Чтобы понять приходится поискать в Интернете, попытаться (в меру сил) перевести иностранные тексты (к сожалению, абсолютное большинство проектов распределенных вычислений иностранные), пообщаться с сотоварищами. Сам по себе этот процесс тоже во многом интересен.
Общение. Частично затронуто в предыдущем пункте. Тусовки ведь бывают разные. И эта ничем не хуже других. Тут много чего можно обсудить, подискутировать и даже поспорить и поругаться иногда (да-да не без этого). Было бы желание, а тема найдется.
Соревновательность. Возможно вторая по значимости (после первой, а для многих — основная) причина. Ведь существует статистика как по каждому проекту, так и общая по, допустим, проектам работающим на общей платформе (boinc-проекты). Причем статистика как по отдельным пользователям, так и по командам, в которые они объединяются, и даже по странам. Когда ты лично обходишь кого-то по числу насчитанных очков это приятно. Когда твоя команда обходит каких-нибудь «U.S. Army«, «Apple Computer» или «IBM» — это приятно вдвойне. А когда в общем зачете Россия обходит Голландию или Бельгию, я думаю у каждого будет повод погордиться за страну, свою команду и за себя.
Вероятно кто-то может назвать еще какие-то свои причины, но эти — основные.
Думаю, что стало немного понятнее. Познакомиться с проектами распределенных вычислений можно здесь, а задать любые вопросы на форуме.