Какие приложения соответствуют требованиям BOINC?
BOINC разработана для поддержки приложений,
которые очень требовательны к вычислительным ресурсам,
или ресурсам сохранения информации, или и к тому и к другому.
Если проект может привлечь миллион участников,
он может получить доступ к многим терафлопам процессорной мощности
и, возможно, к петабайтам дисковой памяти.
Однако, из-за того что ресурсы проекта BOINC ненадежны, а компьютеры
подсоединяются через Интернет периодически,
приложение должно обладать некоторыми свойствами для
эффективного использования BOINC:
-
Привлекательность
-
Приложение должно выглядеть для всех как интересное и дающее результат,
для того чтобы присоединились как можно большее число участников.
Проект должен обладать ресурсами и обязательствами для поддержания
этого интереса, обычно путем создания интересного веб-сайта
и генерирования приложением красивой графики.
-
Назависимый параллелизм
-
Приложение должно быть разделяемо на параллельные части
с несколькими или без всяких зависимостей данных.
-
Низкое соотношение данные/вычисления
-
Входные и выходные данные отправляются через коммерческие
Интернет-соединения, которые могут быть дорогими и/или медленными.
Эмпирическое правило: если ваше приложение
производит или потребляет больше чем гигабайт данных на день процессорного
времени, то может оказаться дешевле использовать собственные кластерные
вычисления.
-
Отказоустойчивость
-
Результат, возвращенный с общедоступного компьютера,
не может быть принят как верный.
Для уменьшения возможности ошибки могут использоваться избыточные вычисления,
но они не сводят ее к нулю. Если вы полагаете, что ваше приложение на 100%
безошибочно, то вы не должны использовать BOINC.