Введение в BOINC
BOINC - это программная платформа для распределенных вычислений, использующая компьютерные ресурсы добровольных участников.
Особенности проекта BOINC:
Основа для независимых проектов
Совершенно различные проекты могут использовать BOINC.
Эти проекты будут совершенно независимы: каждый из них будет обслуживаться своими собственными серверами и работать со своей базой данных.
Тем не менее, они могут объединить свои ресурсы. Участники проектов устанавливают на своем компьютере
основной клиент, который в свою очередь загружает и выполняет специфичные для каждого проекта приложения. Участники могут выбрать те проекты, в которых они хотят участвовать, и как ресурсы их компьютеров будут поделены между этими проектами.
Когда проект завершен, или не имеет данных для обработки, ресурсы его участников делятся между другими проектами, в которых они зарегистрированы.
Характеристики проекта
Инфраструктура BOINC упрощает создание и поддержку проектов распределенных вычислений.
-
Гибкая прикладная оболочка
Существующие приложения, написанные на наиболее распространенных языках программирования (C, C++, Fortran)
могут быть запущены как приложения BOINC либо без изменений, либо с небольшими модификациями. Приложение может состоять из нескольких файлов (например, несколько программ и управляющий скрипт). Таким образом, новые версии приложений могут быть установлены без вмешательства участника.
-
Безопасность
BOINC защищена от нескольких типов атак. Например, она использует цифровую подпись, основанную на шифровании открытым ключом, для защиты от распространения вирусов.
-
Многочисленные серверы и отказоустойчивость
Проекты могут иметь раздельные серверы данных и серверы управления и сбора результатов. Причем, допускается множество серверов каждого типа. Клиенты автоматически пытаются соединиться с альтернативным сервером, если основной недоступен. Если все серверы не отвечают, он повторяет попытки с экспоненциальной задержкой.
-
Открытые исходные коды
BOINC распространяется по MPL (Mozilla
Public License version 1.0). Прикладные программы, написанные в рамках проектов, могут поставляться без исходных кодов. BOINC может быть использована для частного, коммерческого или свободного распространения компьютерных проектов. Каждый проект может обеспечиваться и поддерживаться своей собственной системой серверов, эти системы могут быть легко установлены с использованием бесплатных компонентов с открытым кодом (MySQL, PHP, Apache).
-
Поддержка для больших данных
BOINC поддерживает приложения, которые производят или обрабатывают большие массивы данных, или используют большое количество дисковой и оперативной памяти.
Распределение и сбор данных может быть распределен между несколькими серверами, и участники могут передавать большие порции данных без особых проблем. Пользователи могут ограничить использование дисковой памяти и сетевого соединения. Обработанные данные будут отправляться только тем серверам, которые способны принять их.
Преимущества проекта для пользователей
BOINC обеспечивает следующие преимущества для участников:
-
Многоплатформенность
Основной клиент BOINC доступен для большинства платформ (Mac OS X,
Windows, Linux и другие Unix системы). Этот клиент поддерживает многопроцессорные системы.
-
Web-интерфейс
BOINC обеспечивает web-интерфейс для создания учетных записей, редактирования их свойств и отображения статуса участника. Настройки каждого участника автоматически переносятся на все серверы, что и позволяет легко использовать большое число серверов.
-
Настраиваемое кэширование данных
Основной клиент загружает достаточно данных, для того чтобы их хватило для непрерывной работы клиента в течение заданного пользователем времени. Это позволяет Вам продолжать работу пока сервер проекта недоступен и уменьшить число соединений.
|