Избыток популярности
Избыточность(redundancy) - это способ повышения надежности результатов проектов распределённых вычислений путем отправки одинаковых данных на обработку сразу нескольким участникам.
В идеальном случае, каждый пакет данных в любом проекте распределённых вычислений должен обрабатываться не более чем два раза. Сервер должен отправить один и тот же пакет двум участникам, получить результаты, и при их несовпадении(или при долгом отсутствии одного из них) выслать ещё несколько копий этого пакета.
Однако
если руководители проекта не имеют достаточно работы для загрузки всех участников
(либо в целях упрощения логики работы сервера), используется гораздо более высокий
коэффициент избыточности. Например сейчас, один и тот же пакет в SETI@home
обсчитывается в среднем 4 раза(update: уже 40 раз!). Всё дело в том, что
скорости "сплиттеров"
SETI@home не хватает для производства достаточного потока новых юнитов.
Данный факт руководителями проекта особенно не афишируется — понятно, что мало
кому интересно делать работу, зная что её уже три раза сделали(или сделают) другие.
Похожие
проблемы некоторое время назад испытывал и UD CRP. После
завершения проекта UD Anthrax было сообщено об использованной в нём пятикратной
избыточности.
В 2002 году проект несколько месяцев работал в режиме так называемой "бесконечной избыточности", означающем обработку одного и того же блока данных сотнями тысяч участников. По словам руководителей проекта, это помогло более полно оттестировать новую версию клиентского ПО.
Намного лучше в плане избыточности выглядят, например, Folding@home, Distributed Folding и Find-a-drug.
В
случае Folding@home существуют четко установленные "таймауты"
для различных типов юнитов(около 10-30 дней). Руководители предупреждают, что
хотя сервер и начислит очки за юниты, не вернувшихся за отведенное для их обработки
время, пользы проекту они не принесут (так как уже будет высланы другим участникам).
Вот что по этому поводу пишет глава проекта, Vijay Pande:
"Прежде всего мы хотели бы получить результаты, а не просто обработать огромное количество юнитов. И хотя другие проекты распределённых вычислений имеют больше ресурсов, они используют их КРАЙНЕ неэффективно. Конечно, вы можете сказать что это нормально... но я думаю вам решать, как вы относитесь к бесполезной трате вашего процессорного времени."
Судя по всему, избыточность в проекте Distributed Folding технически невозможна либо очень мала, так как при создании новых белковых структур используются случайные данные.
А руководитель проекта Find-a-drug Keith Davies считает, что исключение ненужной избыточности — неплохой способ повысить производительность проекта:
"Мы стремимся достичь минимального уровня избыточности гораздо меньшего, чем используемый в других проектах (например в UD THINK). Это позволяет нам более эффективно задействовать компьютеры участников, и тем самым обработать больше молекул и протеинов."
