Распределённые вычисления Это способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную.

Презентация:



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

Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Тема 3 Рассматриваемые вопросы 1. Классификация сетей 2. Назначение сетей 3. Компоненты вычислительных сетей 4. Топологии сетей 5. Архитектура сетей.
Архитектура ресурсной системы распределенных виртуальных сред Курсовая работа на тему: «Архитектура ресурсной системы распределенных виртуальных сред»
На сегодняшний день в мире существует более 130 млн. компьютеров и более 80 % из них объединены в различные информационно- вычислительные сети - от малых.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Администрирование информационных систем Лекция 4. Система управления базами данных.
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Проблемы эксплуатации Текст.
Распределенная система мониторинга и диспетчеризации процессов гетерогенной среды студент Костюков В.В., профессор к.ф-м.н Крючкова Е.Н., АлтГТУ / ПОВТ.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Структура компьютерных сетей. Компьютерные сети являются одной из самых перспективных и быстро развивающихся технологий XXI века. Желание передавать информацию.
АлтГТУ им. И. И. Ползунова / ПОВТ, Владимир Костюков Требования 2 отказоустойчивость масштабируемость эффективностьприменимость расширяемость.
Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Операционная система MS-DOS Не управляя оборудованием, программа остается всего лишь литературным произведением, написанным на особом формальном языке.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Система управления ресурсами в гетерогенных вычислительных сетях Ростовский Государственный Университет А.А. Букатов,
АлтГТУ им. И. И. Ползунова / ПОВТ, Владимир Костюков Проблемы Текст 2.
Транксрипт:

Распределённые вычисления Это способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную вычислительную систему.

Грид- система Это форма распределённых вычислений, в которой «виртуальный суперкомпьютер» представлен в виде кластеров, соединённых с помощью сети, слабосвязанных, гетерогенных компьютеров, работающих вместе для выполнения огромного количества заданий (операций, работ) Цель: объединить вычислительные мощности и возможности хранения данных географически распределенных компьютеров

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

Типы Грид-систем Объединение специально выделенных компьютеров (суперкомпьютеров) Объединение персональных компьютеров во время их простоя

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

Volunteer computing Является воплощением второго типа грид-систем, т. е. Систем, объединяющих ресурсы персональных вычислительных машин во время их простоя. Особенность «volunteer computing» заключается в том, что для успешного решения отдельные небольшие подзадачи должны быть очень слабо связаны между собой и практически не зависеть от результатов параллельно выполняемых заданий. В противном случае очень большие издержки производительности будут приходиться на ожидание других результатов и на их синхронизацию.

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

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

Web-сервер Наличие Web-сервера обусловлено необходимостью привлечения участников к своему проекту. Именно для этого нужен сайт, рассказывающий о том, насколько важное дело для всего человечества. Каждый проект распределенных вычислений на базе BOINC предоставляет своим участникам возможность объединиться в команды и следить за увеличением числа набранных баллов. Учитывая, что роль сайта в работе BOINC-проекта все-таки является второстепенной, Web- сервер является первым кандидатом на «отселение» на соседний физический сервер. Необходимо помнить, что для демонстрации актуальных цифр статистики Web-сервер должен иметь связь с базой данных сервера BOINC.

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

Служба обработки состояния подзадач (Transitioner) Эта служба не зависит от приложения, является одинаковой для всех проектов. Служба обработки проверяет текущее состояние подзадачи в базе данных и обновляет соответствующие поля, когда подзадача готова перейти в новое состояние. Сложность заключается в том, что подзадачи имеют не состояния как таковые, а наборы «подсостояний». Эти подсостояния включают в себя также состояния соответствующих результатов вычислений. Служба обработки является одной из наиболее ресурсоемких с точки зрения нагрузки на процессор, поэтому она может быть разделена на несколько процессов, каждый из которых отвечает за определенный набор подзадач. Соответственно, эти процессы могут работать на различных физических серверах.

Служба проверки результатов (Validator) Назначение службы – организация проверки полученных результатов. В целях обеспечения достоверности каждая из подзадач рассчитывается на нескольких различных клиентах. Поэтому полученные в итоге результаты необходимо проверить, сверив между собой и определив «каноническое» решение – результат, полученный кворумом клиентов. При этом алгоритм проверки результатов целиком зависит от решаемой задачи – где-то достаточно удостовериться в равенстве двух чисел (с точностью до третьего знака), а где-то необходимо поэлементно сравнить с десяток матриц. Кроме того, программа проверки может следить за правдоподобностью результатов. Например, если моделируется падение тела под воздействием силы тяжести, можно проверить, не является ли конечная точка выше над землей, чем начальная. Такое никогда не может случиться, а значит, свидетельствует об ошибке в результате. Следовательно, такие результаты являются заведомо неправильными и не должны приниматься во внимание.

Служба проверки результатов (Validator) При запуске служба обращается к базе данных для получения информации о новых результатах, требующих проверки. Если таковые есть, то служба проверки запускает соответствующую функцию сравнения результатов. Необходимо разработать две функции в рамках службы проверки: одна функция сравнивает два результата, а другая – наборы результатов. Первая используется для принятия решения о предоставлении очков, когда клиентским приложением передан новый результат и найдено каноническое решение. Вторая функция используется для определения самого канонического результата из набора результатов, переданных несколькими клиентами.

Служба освоения (Assimilator) Программа, проверяющая наличие завершенных подзаданий. Администратор проекта должен создать функцию, которая определяет, что необходимо сделать с каноническими результатами. Например, их можно архивировать и отсылать по электронной почте определенному человеку или автоматически запускать последующую обработку данных, выделяя интересующие фрагменты и записывая их на устройство хранения. Подзадача помечается как завершенная только после прохождения через службу освоения.

Служба удаления файлов (File deleter) Служба удаления файлов – это «сборщик мусора» проекта BOINC, она просто проверяет наличие завершенных и освоенных подзадач, а при нахождении таковых очищает входные и выходные файлы сервера, связанные с этими подзадачами.

Служба подачи (Feeder) Служба подачи является вспомогательной – она загружает необработанные подзадачи (в терминах BOINC это означает: те подзадачи, для которых еще не получен канонический результат) из базы данных в сегмент разделяемой памяти. Эта предварительная работа выполняется для повышения производительности системы BOINC в целом с помощью ограничения числа запросов к базе данных.

Планировщик (Sheduler) Планировщик – это CGI-программа, которая запускается, когда к серверу проекта подсоединяется клиент и запрашивает порцию заданий. Вместо запроса к БД планировщик получает задания из сегмента разделяемой памяти, в который задания загружает служба подачи. Планировщик имеет возможности по самостоятельному назначению подзадач клиентам, так как не все клиенты имеют одинаковые настройки и компьютеры. Во время сессии работы с планировщиком клиент также отчитывается о завершенных работах, которые были уже загружены на сервер со времени последней сессии планирования. В итоге клиент остается со списком заданий на обработку и списком адресов, с которых можно получить необходимые файлы, т.е. входящие файлы и файлы приложения, если их нет на клиентском компьютере.

Мост (Bridge) Служба, обеспечивающая связь и совместную работу над проектом инфраструктуры BOINC и стандартной GRID (например, на базе популярной технологии Globus Toolkit).. Приложения BOINC специально разрабатываются под архитектуру BOINC. Они вызывают функции BOINC через интерфейсы, реализованные в клиенте и выполняющие такую специфическую работу как, например, разрешение имен файлов. Как следствие, подзадачи проекта BOINC не могут быть напрямую (без дополнительных модификаций) запущены для расчета на инфраструктуре Grid. С другой стороны, Grid не может, подобно клиенту BOINC, без посредника соединиться с планировщиком проекта и запросить подзадачи для расчета. Такие проблемы взаимодействия различных архитектур распределенных вычислений требуют реализации дополнительных механизмов, делающих возможной связку BOINC-Grid.

Жизненный цикл задания

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

10 наиболее популярных проектов системы BOINC анализ радиосигналов с радиотелескопа Аресибо для поиска внеземных цивилизаций. вычисление 3-мерной структуры белков из их аминокислотных последовательностей. World Community Grid помощь в поиске лекарств для лечения человеческих заболеваний, таких как рак, ВИЧ/СПИД, расчёт структуры белков и другие проекты. Организатор IBM. проверка гипотезы Альберта Эйнштейна о гравитационных волнах, а также поиск радио и гамма пульсаров. Climate Prediction изучение и предсказание климата Земли. расчёты для усовершенствования большого адронного коллайдера. создания высокоточной трёхмерной динамической модели звёздных потоков в нашей Галактике Млечный путь. создание базы данных протеинов для вычислительной биологии. PrimeGrid поиск различных больших простых чисел. проект в области нанотехнологий по исследованию молекулярного магнетизма.