Что такое распределённые вычисления?

Что такое распределённые вычисления?


Это способ выполнения больших вычислительных задач, при котором множество компьютеров получают от некоего сервера по сети (обычно через Интернет) задания для расчёта, производят расчёт локально, а результаты отсылают обратно на сервер.


Как будет работать ЭТО на моём компьютере?


Для расчётов производится установка более-менее небольшой (инсталляторы обычно "весят" от 1 Мб до 15 Мб) программы-клиента, которая уже самостоятельно (при минимальном участии пользователя в начальной настройке) связывается с сервером проекта для загрузки и выгрузки заданий.

Сами расчёты проводятся этой программой, как правило, во время ПРОСТОЯ процессора, каковое при работе в Windows составляет обычно 97-99%.

Не верите - в Win2000/XP можете открыть Диспетчер задач и минуту-другую полюбоваться на типичный % ресурсов процессора, выделенный под чудесную задачу "Бездействие системы". Те самые 99% на средней системе в GUI Windows.

Таким образом, если ваш компьютер не загружен мощными задачами типа кодирования медиа, игр и пр. круглосуточно, он имеет много свободных ресурсов, которые могут использоваться с большей или меньшей пользой.


И какова же польза от этого странного занятия?


Это всецело зависит от того, какой именно проект распределенных вычислений (англ. distributed computing, или просто DC) вы выбрали.


Есть просто бесполезные. Например, шифроломалки. Там десятки тысяч людей по всему миру ломают шифры RC64, RC72 путём перебора всех возможных ключей. Понимая бессмысленность этой задачи (рассчитать вероятность взлома хороший инженер может и на калькуляторе ), организаторы даже выплачивают денежные премии счастливчикам, что-нибудь таки взломавшим, дабы сделать проекты более популярными.


Есть "условно съедобные"... то есть полезные. Например, SETI@Home - кстати, самый известный проект DC (во многом из-за того, что чуть ли не первый из них; плюс цель амбициозная - найти инопланетный разум. Итог - более 5 млн. людей, регистрировавшихся в проекте, из которых больше 2 млн. так НИЧЕГО и не сосчитали).

Но скажите, вы верите в то, что пришельцы общаются меж звёзд по радио? Я - нет. И хотя проект SETI@Home и пытается извлечь ещё какую-то пользу из анализа записанных радиосигналов из космоса, эффект более чем сомнителен.


Однако есть и проекты, более близкие к Земле, имеющие ту или иную очевидную научную и даже практическую полезность.

Их можно разделить на две группы - молекулярные проекты (исследующие взаимодействие молекул - главным образом в медицинских и биологических целях) и прочие, которых относительно мало - например, предсказание погоды.


Так получилось, что наша команда сосредоточилась на той части молекулярных проектов, которая занимается поиском лекарств от различного рода болезней (другая большая часть занимается исследованием фундаментальных свойств белков и человеческого генома).


Проекты CommunityTSC и Find-a-Drug, в которых мы участвуем, ищут лекарства от рака, заболевания Tuberous Sclerosis Complex (туберозный склероз - детская опухолевая болезнь), ВИЧ, малярии, простудных болезней и других.

Вероятно, у каждого из этих двух проектов в плане полезности есть свои особенности, но мы не великие биологи, чтобы судить, какой из клиентов лучше.

По крайней мере, оба эти проекта проводят реальные исследования тех веществ, которые во время расчётов показали лекарственные свойства.


Что касается того, не пойдет ли наш труд "псу под хвост". TSC имеет весьма значительный бюджет под свои исследования, FaD окупает себя за счёт сотрудничества с фармацевтическими компаниями, что резко сокращает риск преждевременного краха проектов (в отличие от почившего в бозе полукустарного российского проекта MD@Home, в котором на момент его краха мы занимали второе место).


И наконец, не присвоят ли всё себе мерзкие богатеи-фармацевты, чтобы продать нам втридорога? Тут можно заметить, что в TSC итоги расчётов являются общедоступными.

Что касается FaD, мне кажется, что и там та же система, но поскольку я с этим вопросом подробно и точно не разбирался, то лучше пусть ответит кто-нибудь из тех, кто активно работает в форумах этого проекта (я их попрошу)

Что такое распределённые вычисления? Boinc, Вычисления, Windows, Seti, Длиннопост