Грид-системы из персональных компьютеров (ГСПК). Отличия от сервисных гридов. Технологии добровольных вычислений на примере платформы BOINC.



ГСПК обеспечивают возможность объединения свободных вычислительных мощностей домашних компьютеров и персональных компьютеров учреждений в единую распределенную систему для решения сложных вычислительных задач. В отличие от сервисных гридов, грид-системы из персональных компьютеров легко установить и поддерживать. Как правило, требуется одна рабочая станция, на которой запускается серверная часть инфраструктуры.

Пользователи со всего мира имеют возможность подключать свои персональные компьютеры к этому ресурсу, предоставляя тем самым свободные ресурсы своих компьютеров для работы приложений, размещенных на центральном сервере. Грид-системы из персональных компьютеров являются наиболее дешевым решением, обеспечивающим большую вычислительную мощность. К сожалению, далеко не все распределенные приложения могут эффективно выполняться на подобных системах из-за серьезных ограничений, накладываемых возможностями по передаче данных и высокой вероятностью отказа узлов, участвующих в вычислениях. Вместе с тем, достаточно широкий класс практических задач укладывается в модель управляющий-рабочие, которая является основной моделью приложения в ГСПК. К этому классу относятся многие переборные и комбинаторные задачи, моделирование методом Монте-Карло, задачи идентификации и многие другие. Для таких задач использование ГСПК оправдано и позволяет разгрузить суперкомпьютеры и сервисные гриды. 

BOINC

BOINC (Berkeley Open Infrastructure for Network Computing) представляет собой платформу с открытым кодом для организации проектов добровольных вычислений. Разработка системы ведется в U.C. Berkeley Spaces Sciences Laboratory (США) исследовательской группой, которая также разрабатывала проект SETI@home. Работа над BOINC была начата в 2002 году с целью создания универсальной программной платформы для проектов подобного рода, которая бы упростила процесс развертывания необходимой инфраструктуры и разработки приложений.

Первый проект добровольных вычислений на основе BOINC был запущен в 2004 году. В настоящее насчитывается около 60 публичных проектов на основе BOINC, делая платформу

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

Программное обеспечение BOINC состоит из двух основных частей: серверной, которая обеспечивает функционирование проекта, и клиентской, размещаемой на машинах добровольцев. Каждый проект на основе BOINC создается и функционирует независимо от других проектов, поддерживая собственный центральный сервер и веб-сайт. Для участия в проекте добровольцы устанавливают на своих компьютерах универсальный клиент BOINC, распространяемый с сайта платформы и доступный для всех основных операционных систем.

Проект на основе BOINC идентифицируется с помощью уникального адреса (URL), являющегося одновременно главной страницей веб-сайта проекта и точкой входа для клиентов. В рамках проекта могут выполняться несколько приложений, состав которых может со временем изменяться. В рамках BOINC предусмотрена поддержка широкого класса вычислительных приложений, которые могут быть сформулированы в виде совокупности из большого количества независимых заданий. Платформа обеспечивает надежное  и эффективное выполнение приложений в динамичной распределенной среде, реализуя механизмы планирования заданий, передачи данных и обработки отказов. Существующие приложения на таких языках, как C, C++ и FORTRAN, могут быть использованы в рамках BOINC без или с минимальной модификацией их кода. После установки клиента BOINC, добровольцы могут подключить клиент к одному или нескольким проектам. При этом пользователь может указать то, каким образом в процентном отношении ресурсы его компьютера будут распределены между данными проектами. При подключении к проекту пользователь фактически дает разрешение на выполнение на своей маши-не любых исполняемых файлов, загруженных с сервера проекта. Несмотря на то, что BOINC обеспечивает определенную изоляцию выполняемого на клиентской стороне кода (sandboxing), в общем случае пользователь самостоятельно должен убедиться в подлинности, защищенности и научной значимости проекта.

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

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


Дата добавления: 2018-02-18; просмотров: 613; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!