Помощь в написании студенческих работ
Антистрессовый сервис

Введение. 
Разработка приложений на систему распределенных вычислений на BOINC

РефератПомощь в написанииУзнать стоимостьмоей работы

Была поставлена цель, запустить виртуальный BOINC сервер для департамента компьютерной инженерии, запустить на нем сначала тестовые задачи, а далее запустить задачу Апробация параллельной версии метода исчерпывающего поиска (pScaNoC) для синтеза квазиоптимальных топологий сетей на кристалле используя встроенные решения имеющиеся у системы. В этой схеме есть ряд недостатков, один из них, если… Читать ещё >

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

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

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

GRID — это объединение нескольких компьютеров для решения единой вычислительно сложной задачи, разбитой на подзадачи. Каждый компьютер при этом решает несколько подзадач, а результаты решения объединяются. Основное преимущество GRID в том, что система может состоять из удаленных друг-от-друга на тысячи километров и совершенно различные по характеристикам компьютеры.

Одной из форм реализаций GRID, является Volunteer Computing (Добровольные вычисления), её специфика заключается в использовании времени простоя компьютеров обычных пользователей.

Нацелен на поиск гравитационных волн от очень плотных и быстро вращающихся тел — таких как нейтронные или кварковые звёзды. В проекте участвуют 5,375,352 активных узлов, суммарная мощность системы составляет 680.339 TeraFLOPS.

В тоже время, самая высокая производительность у другого проекта, запущенный учеными из Стэндфордского университета для симуляции свертывания молекул белка, мощность системы составляет 48,524 TeraFLOPS, в то время как активных узлов всего 170,755.

Различия этих проектов не только в цели, количестве участников и суммарной мощности, а так же в использованном ПО.

Folding@home — использует узкоспециализированное ПО, разработанное специально для задачи проекта, и дальнейшее использование в других проектах является затруднительным.

Einstein@home — построен в системе BOINC, которая предоставляет возможность создания на своей основе разнообразных научных проектов, начиная с поиска наибольшего простого числа заканчивая поиском внеземных цивилизаций.

BOINC (Berkeley Open Infrastructure for Network Computing) — это открытая программная платформа университета Беркли, для реализации GRID сетей. Причиной создания стала нехватка свободных вычислительных мощностей для обработки данных, поступающих с радиотелескопов. И в связи с этим, разработчики решили объединить несколько проектов и сообществ, для решения масштабной задачи.

Архитектура системы BOINC клиент-сервер, состоит из программы-клиента и составного сервера BOINC. что подразумевает возможность использования нескольких компьютеров в качестве сервера.

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

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

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

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

Первая проблема решается путем постановки сроков отклика программы-клиента.

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

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

Постановка Задачи

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

Техническое задание.

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

Обзор предметной области.

Выбор в качестве основной системы BOINC сервер был не случаен, так как система представляет собой комплекс для разработки.

Архитектура системы BOINC

Для максимальной эффективности «volunteer computing» достигается, когда для решения отдельных небольших подзадач необходимо, чтобы задачи были практически не связаны между собой и результаты других параллельно выполняемых заданий не зависели между собой. Иначе очень большие затраты производительности будут приходиться на ожидание синхронизации и решения из других процессов. Идеальной задачей можно считать, к примеру, прямой подбор пароля методом «brute force» -он заключается в том, что для каждого вариантов (которых, возможно, сотни, тысячи — в зависимости от количества символов) пароля отдельный компьютер вычисляет хэш и сравнивает его с исходным. При первом совпадении задача считается решенной. Другие результаты не влияют на нахождение правильного ответа, только лишь отметают неверные варианты, подзадачи не зависят друг от друга (из-за свойств хэш-функций паролей). Для такого рода задач, подзадачи которых независимы, и разработали архитектуру системы BOINC (см. рисунок 1).

Архитектура системы BOINC.

Рисунок 1. Архитектура системы BOINC.

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

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

Globus Toolkit

Это набор инструментов для создания вычислительных Grid-сетей предоставленный в общем доступе (Open Source). В его составе набор сервисных программ и библиотек которые, ведут учет ресурсов, обнаруживают и управляют вычислительными узлами, обеспечивают безопасность и управление файлами. Разработкой и поддержкой занимается организация Globus Аlliаnce.

Сервер BOINC состоит из следующих частей:

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

Далее более подробно рассмотрим компоненты, составляющие сервер BOINC.

Показать весь текст
Заполнить форму текущей работой