Сервисное ПО в распределенных системах

Автор работы: Пользователь скрыл имя, 21 Января 2015 в 21:57, курсовая работа

Описание работы

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

Содержание работы

Введение ………………………………………………………………………………………………………..3
Глава 1. Распределенные Системы Данных.
Определение распределенных систем…………………………………………………..5
Основные требования к распределенным системам……………………………..8
Прозрачность...............................................................................10-12
Открытость...................................................................................12-13
Масштабируемость.....................................................................13-14
Логические программные слои распределенных систем...................14-16
Глава 2. Распределенные вычислительные системы Boinc и Grid
2.1. История развития Распределенных Вычислений..................................16-19
2.2. Grid-системы...................................................................................................19
2.2.1. Концепция грид……………………………………………………………………………...19
2.2.2. Обзор………………………………………………………………………………………....19-20
2.2.3. Сравнение грид-систем и обычных суперкомпьютеров.................20
2.2.4. История...........................................................................................20-22
2.2.5. Типы GRID-систем...............................................................................22
2.3. BOINC..............................................................................................................22
2.3.1. Описание........................................................................................22-23
2.3.2. Серверная часть BOINC..................................................................23-24
2.3.3. Организация проектов.......................................................................24
2.3.4. Использование BOINC...................................................................24-27
2.3.5. Установка и настройка клиента BOINC.........................................27-29
2.3.6. Затраты электроэнергии.....................................................................29
Заключение ……………….…………………………………………………………………………….29-30
Приложения....................................................................................................31
Список Литературы ………………………………………………………………………………

Файлы: 1 файл

Курсовая Сервисное ПО в Распределенных Системах.docx

— 630.26 Кб (Скачать файл)

28 января 1997 года стартовал конкурс RSA Data Security на решение задачи взлома методом простого перебора 56-битного ключа шифрования информации RC5. Благодаря хорошей технической и организационной подготовке проект, организованный некоммерческим сообществом distributed.net, быстро получил широкую известность.

17 мая 1999 года на базе платформы BOINC запущен  проект SETI@home, занимающийся поиском внеземного разума путём анализа данных с радиотелескопов, используя добровольную вычислительную сеть на базе Grid.

Такие проекты распределённых вычислений в интернете, как SETI@Home и Folding@Home обладает не меньшей вычислительной мощностью, чем самые современные суперкомпьютеры. Интегральная производительность проектов на платформе BOINC по данным на 16 мая 2010 года составляет 5,2 петафлопс. Для сравнения, пиковая производительность самого мощного суперкомпьютера («K computer», Япония) — 8,16 петафлопс. До середины 2011 года самым мощным суперкомпьютером являлся Тяньхэ-1А с производительностью «всего» 2,57 петафлопс. Проект отмечен в Книге рекордов Гиннеса как самое большое вычисление.

На сегодняшний день для упрощения процесса организации и управления распределёнными вычислениями создано множество программных комплексов, как коммерческих, так и бесплатных.

 

2.2. Grid-системы

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

Грид (англ. grid — решётка, сеть) — согласованная, открытая и стандартизованная компьютерная среда, которая обеспечивает гибкое, безопасное, скоординированное разделение вычислительных ресурсов и ресурсов хранения информации, которые являются частью этой среды, в рамках одной виртуальной организации.

2.2.1. Концепция грид

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

2.2.2. Обзор

Идея грид-компьютинга возникла вместе с распространением персональных компьютеров, развитием интернета и технологий пакетной передачи данных на основе оптического волокна (SONET, SDH и ATM), а также технологий локальных сетей (Gigabit Ethernet). Полоса пропускания коммуникационных средств стала достаточной, чтобы при необходимости привлечь ресурсы другого компьютера. Учитывая, что множество подключенных к глобальной сети компьютеров большую часть рабочего времени простаивает и располагает ресурсами, большими, чем необходимо для решения их повседневных задач, возникает возможность применить их неиспользуемые ресурсы в другом месте.

 

2.2.3. Сравнение грид-систем и обычных суперкомпьютеров

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

Основным преимуществом распределённых вычислений является то, что отдельная ячейка вычислительной системы может быть приобретена как обычный неспециализированный компьютер. Таким образом можно получить практически те же вычислительные мощности, что и на обычных суперкомпьютерах, но с гораздо меньшей стоимостью.

 

2.2.4. История

Термин «облачные вычисления» появился в начале 1990-х гг. как метафора о такой же лёгкости доступа к вычислительным ресурсам, как и к электрической сети (англ. power grid) в сборнике под редакцией Яна Фостера и Карла Кессельмана «The Grid: Blueprint for a new computing infrastructure».

Использование свободного времени процессоров и добровольного компьютинга стало популярным в конце 1990-х годов после возникновения проектов distributed.net в 1997 году и SETI@home в 1999 году. Эти первые проекты добровольного компьютинга использовали мощности подсоединённых к сети компьютеров обычных пользователей для решения исследовательских задач, требующих больших вычислительных мощностей.

Идеи Grid-системы (включая идеи из областей распределённых вычислений, объектно-ориентированного программирования, использования компьютерных кластеров, веб-сервисов и др.) были собраны и объединены Иэном Фостером, Карлом Кессельманом и Стивом Тики, которых часто называют отцами технологии ГРИД. Они начали создание набора инструментов для Grid Globus Toolkit, который включает не только инструменты менеджмента вычислений, но и инструменты управления ресурсами хранения данных, обеспечения безопасности доступа к данным и к самому гриду, мониторинга использования и передвижения данных, а также инструментарий для разработки дополнительных сервисов Грид. В настоящее время этот набор инструментария является де факто стандартом для построения инфраструктуры на базе технологии грид, хотя на рынке существует множество других инструментариев для Grid-системы как в масштабе предприятия, так и в глобальном.

Грид-технология применяется для моделирования и обработки данных в экспериментах на Большом адронном коллайдере (грид используется и в других задачах с интенсивными вычислениями). На платформе BOINC в настоящее время ведутся активные вычисления более 60 проектов. Например, проект Fusion (юг Франции, разработка метода получения электричества с помощью термоядерного синтеза на экспериментальном реакторе ITER) также использует грид (EDGeS@Home). Под названием CLOUD начат проект коммерциализации грид-технологий, в рамках которого небольшие компании, институты, нуждающиеся в вычислительных ресурсах, но не могут себе позволить по тем или иным причинам иметь свой суперкомпьютерный центр, могут покупать вычислительное время грида.

 

2.2.5. Типы GRID-систем

В настоящее время выделяют три основных типа GRID-систем:

  1. GRID на основе использования добровольно предоставляемого свободного ресурса персональных компьютеров (добровольная GRID);
  2. Научная GRID - хорошо распараллеливаемые приложения программируются специальным образом (например, с использованием Globus Toolkit);
  3. GRID на основе выделения вычислительных ресурсов по требованию (Enterprise GRID или коммерческая GRID) — обычные коммерческие приложения работают на виртуальном компьютере, который, в свою очередь, состоит из нескольких физических компьютеров, объединённых с помощью GRID-технологий.

 

2.3. BOINC

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

 

2.3.1. Описание

BOINC —  программный комплекс для быстрой  организации распределённых вычислений. Состоит из серверной и клиентской  частей. Первоначально разрабатывался  для крупнейшего проекта добровольных  вычислений — SETI@home, но впоследствии разработчики из Калифорнийского университета в Беркли сделали платформу доступной для сторонних проектов. На сегодняшний день BOINC является универсальной платформой для проектов в области математики, молекулярной биологии, медицины, астрофизики и климатологии. BOINC даёт исследователям возможность задействовать огромные вычислительные мощности персональных компьютеров со всего мира.

BOINC разработан  командой во главе с Дэвидом  Андерсоном (David Pope Anderson), возглавляющим также SETI@home, из Space Sciences Laboratory Калифорнийского университета в Беркли. На 7 декабря 2012 года BOINC представляет собой распределённую сеть из более чем 380 000 активных компьютеров (хостов) со средней производительностью около 7 200 TeraFLOPS. Национальный научный фонд США в 2002 и 2005 годах отметил заслуги разработчиков, трижды награждая BOINC: SCI/0221529, SCI/0438443 и SCI/0721124.

Платформа работает на различных операционных системах, включая Microsoft Windows и варианты юниксоподобных GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris и Mac OS X. BOINC распространяется под лицензией GNU Lesser General Public License, как свободное программное обеспечение с открытым исходным кодом.

 

2.3.2. Серверная часть BOINC

Серверная часть состоит из HTTP-сервера с веб-сайтом проекта, базы данных MySQL и набора демонов (генератор заданий, планировщик, валидатор, ассимилятор результатов. Сервер — только на Linux, предпочтительно Debian.

HTTP сервер  представляет собой набор PHP-скриптов  и необходим организаторам проектов  для общего управления проектом: регистрация участников, распределение  заданий для обработки, получение  результатов, управление базами  данных проекта.

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

Демоны — набор программ на C++

 

2.3.3. Организация проектов

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

 

2.3.4. Использование BOINC

Сегодня любому пользователю компьютера, работающего под управлением Windows, Linux или OS X, потребуется не больше десяти минут, чтобы присоединиться к одной из глобальных научных инициатив. Для этого в 2002 году Калифорнийским университетом в Беркли была разработана платформа с единым клиентским приложением BOINC Manager.

Для пользователей понятие BOINC чаще используется в контексте понятия BOINC-клиент — универсальный клиент для работы с различными (BOINC-совместимыми) проектами распределённых вычислений. BOINC-клиент позволяет участвовать одновременно в нескольких проектах с помощью одной общей программы управления (boinc или boinc.exe).

Для визуализации процесса управления BOINC-клиентом можно использовать либо поставляемую по умолчанию официальную программу-менеджер (boincmgr или boincmgr.exe), либо воспользоваться «неофициальной» программой для мониторинга и управления BOINC-клиентом. Следует отметить, что собственно BOINC-клиент в академическом понимании не имеет пользовательского интерфейса как такового, а представляет собой сервис, запускаемый при запуске системы и управляется по протоколу TCP/IP. Однако, для конечного пользователя это не имеет значения, поскольку дистрибутив программы комплектуется программой-менеджером, которая сразу по умолчанию устанавливается вместе с BOINC-клиентом как единое целое и абсолютно прозрачна для пользователя. В этом случае в качестве адреса управляемого программой менеджером BOINC-клиента указывается адрес «localhost». Таким образом, с одной стороны, ничто не мешает пользователю использовать альтернативную программу-менеджер для управления BOINC-клиентом, а с другой стороны даёт возможность управлять несколькими BOINC-клиентами, находящимися на разных компьютерах из одной программы-менеджера. Также такая организация управления BOINC-клиентом подразумевает возможность использовать BOINC-клиент в «невидимом» режиме, когда запускается исключительно сервис, без пользовательского интерфейса вообще.

По состоянию на конец 2012 г. BOINC применяется в 87 открытых проектах распределённых вычислений (ещё 24 обходятся без него). Для удобства они разделены по научным дисциплинам, а их краткая характеристика доступна также и на русском языке.

Некоторые проекты распределённых вычислений на платформе BOINC

 

Общее количество участников на конец 2012 года составляет около 2,5 миллионов. При этом число компьютеров, ведущих вычисления, перевалило за семь миллионов, а суммарная производительность оценивается в семь петафлопс — это мощнее, чем суперкомпьютер JUQUEEN, занимающий пятую строчку ноябрьского рейтинга TOP 500.

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

 

Отклонённые проекты из списка поддерживающих ускорение на ГП

Это не значит, что BOINC принципиально настроен против коммерции. Организации (в том числе коммерческие) могут использовать платформу BOINC и свои компьютеры для решения практически любых задач. Правила лишь запрещают привлекать волонтёров к проектам, подразумевающим извлечение прибыли.

Варианты использования платформы BOINC

 

2.3.5. Установка и настройка клиента BOINC

После скачивания и установки клиентской программы можно указать один или несколько проектов, к которым есть желание присоединиться. Начиная с шестой версии клиент BOINC поддерживает гибкие настройки вычислений, позволяющие точно указать, какой частью аппаратных ресурсов человек готов пожертвовать для нужд науки. Кроме того, можно задать в BOINC Manager автоматическую пазу при запуске некоторых программ или вести вычисления лишь в определённые часы. Расчёты можно в любой момент полностью или выборочно приостановить вручную и так же легко возобновить.

Настройки вычислений на центральном и графическом процессоре в клиенте BOINC

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

Настройки проекта BOINC через веб-интерфейс

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

Информация о работе Сервисное ПО в распределенных системах