- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Распределенные Grid-вычисления, их особенности реализации и отличия от облачных вычислений
Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: | K006259 |
Тема: | Распределенные Grid-вычисления, их особенности реализации и отличия от облачных вычислений |
Содержание
Негосударственное образовательное учреждение высшего образования Московский технологический институт Факультет: Техники и современных технологий Кафедра: Информатики и автоматизации КУРСОВАЯ РАБОТА по дисциплине «Базы данных» на тему: «Распределенные Grid-вычисления, их особенности реализации и отличия от облачных вычислений» Уровень образования: бакалавриат Направление: 230100 «Информатика и вычислительная техника» Профиль: «WEB разработка» Выполнил: Студент 5-го курса Форма обучения: заочная Иванов Иван Иванович Москва 2016 ОГЛАВЛЕНИЕ ОГЛАВЛЕНИЕ 2 ВВЕДЕНИЕ 3 1.1. Концепция Grid-вычислений 5 1.2. Общие принципы архитектуры Grid-систем 7 1.3. Основные функциональные подсистемы промежуточного программного обеспечения Grid-систем 9 1.3.1 Подсистема управления загрузкой 10 1.3.2 Подсистема управления данными 11 1.3.3 Подсистема информационного обслуживания и мониторинга 12 1.3.4 Подсистема безопасности и контроля прав доступа 14 1.3.5 Подсистема протоколирования 15 1.3.6 Подсистема учета 16 1.4. Проекты по созданию систем распределенных Grid-вычислений 16 1.5. Отличие Grid-вычислений от облачных вычислений 17 2. РАБОТА GRID-СЕТЕЙ НА ПРИМЕРЕ WORLD COMMUNITY GRID 19 2.1. Краткая характеристика World Community Grid 19 2.2. Архитектура высокопроизводительных вычислений на базе BOINC 19 2.3. Работа с World Community Grid 25 ЗАКЛЮЧЕНИЕ 28 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 31 ВВЕДЕНИЕ В наше время скорость повышения производительности поколений компьютеров начинает уменьшается в связи с физическими ограничениями, но требования ресурсов для обработки огромных объемов данных и осуществления сложного математического моделирования растут. На практике часто встречается ситуация, когда имеется некоторое отлаженное приложение, но мощностей компьютера, суперкомпьютера или кластера со временем становится недостаточно или их просто нет (это может быть вызвано, например, ростом объема входных данных). В связи с этим, особенно актуальными становятся такие источники вычислительных ресурсов как GRID-сети. Грид с точки зрения сетевой организации представляет собой согласованную, открытую и стандартизованную среду, которая обеспечивает гибкое, безопасное, скоординированное разделение вычислительных ресурсов и ресурсов хранения информации, которые являются частью этой среды, в рамках одной виртуальной организации. Идеи грид-системы (включая идеи из областей распределённых вычислений, объектно-ориентированного программирования, использования компьютерных кластеров, веб-сервисов и др.) были собраны и объединены Иэном Фостером, Карлом Кессельманом и Стивом Тики. Они начали создание набора инструментов для грид-компьютинга Globus Toolkit, который включает не только инструменты менеджмента вычислений, но и инструменты управления ресурсами хранения данных, обеспечения безопасности доступа к данным и к самому гриду, мониторинга использования и передвижения данных, а также инструментарий для разработки дополнительных грид-сервисов. В настоящее время этот набор инструментария является де факто стандартом для построения инфраструктуры на базе технологии грид, хотя на рынке существует множество других инструментариев для грид-систем как в масштабе предприятия, так и в глобальном. Грид-технология применяется для моделирования и обработки данных в экспериментах на Большом адронном коллайдере (грид используется и в других задачах с интенсивными вычислениями). На платформе BOINC в настоящее время ведутся активные вычисления более 60 проектов. Например, проект Fusion (юг Франции, разработка метода получения электричества с помощью термоядерного синтеза на экспериментальном реакторе ITER) также использует грид. Под названием CLOUD начат проект коммерциализации грид-технологий, в рамках которого небольшие компании, институты, нуждающиеся в вычислительных ресурсах, но не могущие себе позволить по тем или иным причинам иметь свой суперкомпьютерный центр, могут покупать вычислительное время грида. Объектом исследования курсовой работы являются «Распределенные Grid-вычисления», а предметом исследования – «Особенности реализации Grid-вычислений на примере WCG». Важной составляющей является и моральная сторона вопроса – каждый человек даже не будучи ученых может внести небольшой вклад в решение научных проблем различных направлений. Так, помощь в исследованиях раковых заболеваний возможно, в будущем, поможет спасти кому-то жизнь, что в некоторой степени воодушевляет. Целью курсовой работы является определение особенностей реализации grid-вычислений и их отличий от облачных вычислений. Для этого в работе будут решены такие задачи, как: исследование концепции GRID-сетей, стандартных архитектур реализации, а также сопоставление исследуемой технологии с технологией облачных вычислений. Для изучения практических вопросов, рассматривается существующая и активно работающая грид-инфраструктура BOINC примере проекта World Community Grid. 1. ПОНЯТИЕ О РАСПРЕДЕЛЕННЫХ GRID-ВЫЧИСЛЕНИЯХ 1.1. Концепция Grid-вычислений Чтобы понять концепцию распределенных Grid-вычислений, рассмотрим сначала более общие понятия. Распределенные вычисления — способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, объединённых в параллельную вычислительную систему. Модель распределенной вычислительной системы основывается на связанных сетью компонентах, действия которых координируются путем передачи сообщений с целью достижения общей цели. Такой модели присущи три значимые характеристики: параллельность вычислительных процессов, отсутствие глобальных часов, отсутствие влияния отказа отдельного компонента на общий процесс. В повседневной жизни подобные системы можно встретить на примере онлайн-игр и peer-to-peer приложений (например, µTorrent). К распределенным вычислениям также относятся облачные вычисления и Grid-вычисления. Облачные вычисления (англ. cloud computing) — технология распределённой обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как Интернет-сервис. Грид-вычисления (англ. grid — решётка, сеть) — это форма распределённых вычислений, в которой «виртуальный суперкомпьютер» представлен в виде кластеров, соединённых с помощью сети, слабосвязанных гетерогенных компьютеров, работающих вместе для выполнения огромного количества заданий (операций, работ). Так, для решения научных, математических и иных ресурсозатратных задач не обязательно строить суперкомпьютеры размером со здание, вместо этого можно объединить одной сетью множество компьютеров простых пользователей, выделив каждому маленький фрагмент вычислений. К сожалению, подобная технология может использоваться как для научных целей: расчет белковых зависимостей для создания новых лекарств и понимания реакций в живой клетке, расчет волновых функций молекул и т.д., так и для личных целей людей, занимающихся майнингом криптовалют (bitcoin и т.п.), которые с помощью вирусов устанавливают на компьютеры ничего не подозревающих пользователей программы-майнеры, незаконно использующие вычислительные ресурсы. Грид является географически распределённой инфраструктурой, объединяющей множество ресурсов разных типов (процессоры, долговременная и оперативная память, хранилища и базы данных, сети), доступ к которым пользователь может получить из любой точки, независимо от места их расположения (рис. 1). Основные свойства Grid-сети: отсутствие централизованного контрольного центра гетерогенность ресурсов масштабируемость динамичность и адаптируемость Рисунок 1 - Концепт Grid-вычислений В настоящее время можно выделить три основных направления развития Grid-технологий: 1. Computational Grid – достижение максимальной скорости вычислений за счет глобального распределения этих вычислений между множеством различных компьютеров 2. Data Grid – обработка огромных объемов данных 3. Semantic Grid – оперирование данными из разнотипных баз данных Важно сказать, что Grid-вычисления в перспективе не заменят полностью суперкомпьютеры, поскольку для решения определенного рода задач требуется интенсивный межпроцессорный обмен, который невозможно эффективно организовать в условиях географической удаленности компьютерных кластеров. К таким задачам можно отнести составление прогноза погоды, моделирование процессов с высокой степенью зависимости. Необходимо отметить, что существуют гибридные проекты, целью которых является достижение максимальной скорости вычислений за счет глобального распределения этих вычислений между суперкомпьютерами – при этом грид координирует использование различных суперкомпьютеров, а собственно нетривиальное распараллеливание происходит внутри суперкомпьютера. Примером является европейский проект DEISA (Distributed European Infrastructure for Supercomputing Applications). [31] 1.2. Общие принципы архитектуры Grid-систем Основная особенность Grid-сетей – формирование их за счет ресурсов, принадлежащих одному или нескольким лицам и/или организациям (множество административных доменов). Это может облегчить проведение коммерческих трансакций или создание вычислительных сетей на добровольной основе. С другой стороны, в такой сети сложно обеспечить надежность и доверие к каждому компьютеру. При разработке Grid-сети необходимо вводить меры по предотвращению сбоев, связанных с получением ошибочной информации от вредоносных участников, а также исключить использование системы с целью хакерских атак. Один из вариантов решения – выделение аналогичных задач двум случайным узлам и сравнение результатов. Расхождение результатов в таком случае свидетельствует о неисправности и неблагонадежности узлов. Еще одна проблема при разработке Grid-сетей – физическое отключение узлов от сети в случайные промежутки времени, которое сложно учитывать из-за отсутствия централизованного контроля. В таком случае, необходимы инструменты по переназначению единиц работы в случае, когда устройство не в состоянии сообщить результаты в назначенное время. Общая структура глобального грида описывается в виде стека (набора уровней или слоев) протоколов (рис. 2) [1]. В такой модели каждый уровень предназначен для решения узкого круга задач и используется для предоставления услуг для более высоких уровней. Такая структура аналогична сетевой модели OSI (Open Systems Interconnection Reference Model; модель взаимодействия открытых систем), - абстрактной модели для сетевых коммуникаций и разработки сетевых протоколов. 1. аппаратный уровень (Fabric Layer) составляют протоколы, по которым соответствующие службы непосредственно работают с ресурсами; 2. связывающий уровень (Connectivity Layer) составляют протоколы, которые обеспечивают обмен данными между компонентами базового уровня и протоколы аутентификации; 3. ресурсный уровень (Resource Layer) – это ядро многоуровневой системы, протоколы которого взаимодействуют с ресурсами, используя унифицированный интерфейс и не различая архитектурные особенности конкретного ресурса; Рисунок 2 - Уровни протоколов и служб в логической архитектуре Grid 4. коллективный (Collective Layer) уровень отвечает за координацию использования имеющихся ресурсов; 5. прикладной уровень (Application Layer) описывает пользовательские приложения, работающие в среде виртуальной организации; приложения функционируют, используя протоколы, определенные на нижележащих уровнях. 1.3. Основные функциональные подсистемы промежуточного программного обеспечения Grid-систем Grid-система включает следующие основные структурные компоненты: совокупность компьютеров с установленными на них интерфейсами пользователя; совокупность Ресурсных центров, включающих в себя вычислительные ресурсы; ресурсы хранения данных; набор базовых Grid-сервисов. Обобщенная схема представлена на рисунке 3. Рисунок 3 - Структура Grid-системы Базовые Grid-службы обеспечивают работу всей Grid-системы. К ним относятся: подсистема управления загрузкой, центральной службой которой является брокер ресурсов (Resource Broker); подсистема управления данными (Data Management System) подсистема информационного обслуживания и мониторинга Grid-системы (Information System) подсистема безопасности и контроля прав доступа (Grid Security Infrastructure) подсистема протоколирования (Logging and Bookkeeping) подсистема учета (Accounting Subsystem) 1.3.1 Подсистема управления загрузкой Workload Management System отвечает за принятие запросов на запуск заданий, поиск соответствующих свободных ресурсов для их выполнения, а также контроль выполнения. В состав данной подсистемы как правило входит набор следующих компонентов: менеджер загрузки – получает и обрабатывает запрос на выполнение задания от пользователя брокер ресурсов – подбирает ресурсы из базы данных ресурсов для выполнения задания в соответствии с заданной стратегией мета-планировщик DAG – для обработки совокупности заданий адаптер заданий – окончательная подготовка описания задания для отправки в ресурсный центр модуль выполнения операций по управлению заданиями – контролирует фактическое выполнение операций с заданиями монитор log-файлов – просмотр сообщений о событиях, связанных с выполнением заданий Подсистема управления является главным и связующим звеном между всеми Grid-службами. 1.3.2 Подсистема управления данными Работа с данными в Grid-системах осуществляется на файловом уровне. Пользовательские файлы могут храниться в виде нескольких реплик в различных местах. Подсистема управления данных обеспечивает организацию работы со всеми файлами-репликами, т. е. обеспечивает глобальную файловую систему, с помощью сервисов каталогов и планировщиков передачи данных. В Grid-системе каждый пользовательский файл обозначен уникальным логическим именем (Logical File Name), при чем пространство логических имен характеризуется иерархической системой. Пример логического имени: /grid/dteam/users/graeme/dm_test/foobar Каждая реплика файла имеет отдельный каталог: lfn:/grid/dteam/users/graeme/dm_test/foobarbaz Workload Management System В подсистеме управления данными каждое LNF-имя файла связывается с физическим именем, указывающим на его однозначное местоположение и протокол вызова. Например, Grid Unique IDentifier, Site Universal Resource Locator, Transport URL. Каждый файл, хранящийся на ресурсах хранения Grid-системы, может быть расположен на устройствах хранения данных с различными особенностями. Для корректной работы, каждый ресурс хранения должен реализовывать единый интерфейс. Самый распространенный стандарт на сегодняшний день – SRM (Storage Resource Manager). Последняя версия спецификаций – v2.2 от 24.05.2008. Роль SRM схематично отображена на рисунке 4. Рисунок 4 - Роль SRM при работе с данными в Grid-системе 1.3.3 Подсистема информационного обслуживания и мониторинга Данная подсистема решает задачу сбора и управления данными о состоянии системы, получая информацию от множества распределенных источников. Подсистема служит для постоянного контроля функционирования Grid-системы и быстрого реагирования на возникающие проблемы. В соответствии с этим, принимающая сторона подсистемы должна выдерживать высокую скорость приема и обеспечивать высокую частоту обновлений данных. В настоящее время создано несколько систем мониторинга распределенных вычислительных систем, основные из них: Grid Monitoring Architecture, Relational Grid Monitoring Architecture, Ganglia, Windows HPC Server. Grid Monitoring Architecture разработана с целями обеспечения минимальной спецификации, которая поддержит необходимую функциональность и взаимодействие. GMA состоит из трех основных типов компонентов, как показано на рисунке 5. потребитель – запрашивает информацию через интерфейс потребителя поставщик – производит и высылает запрашиваемую информацию центральный реестр – хранит информацию о потребителях и поставщиках, событиях, запросах, т. е. является связующим звеном Рисунок 5 - Компоненты GMA Реляционная реализация архитектуры GMA называется R-GMA, она является одной из наиболее распространенных систем grid-мониторинга. Схема данной модели представлена на рисунке 6. Рисунок 6 - Компоненты R-GMA 1.3.4 Подсистема безопасности и контроля прав доступа Данная подсистема обеспечивает безопасный доступ к ресурсам в незащищенных сетях общего доступа с учетом прав данного пользователя и локальной политики. Подсистема безопасности и контроля прав доступа обеспечивает сервисы аутентификации, делегирования прав, конфиденциальность передачи информации. В большинстве крупных Grid-систем используется инфраструктура безопасности Grid Security Infrastructure, основанная на технологии Public Key Infrastructure. В качестве идентификаторов пользователей и ресурсов в GSI используются цифровые сертификаты стандарта X.509. Основные стороны взаимодействия: Центр Сертификации (CA) – организация, уполномоченная на выдачу цифровых сертификатов. Владелец сертификата – пользователь (user), либо грид-ресурс, использующий сертификационные услуги и обладающий уникальным именем. Пользователи или ресурсы, проводящие аутентификацию других грид-объектов на основе сертификатов, подписанных каким-либо центром сертификации. Процесс делегирования прав и авторизации пользователей схематично представлен на рисунке 7. Рисунок 7 - Делегирование прав и единичная авторизация пользователей в инфраструктуре GSI 1.3.5 Подсистема протоколирования Данная подсистема отслеживает процесс выполнения заданий, управляемый подсистемой управления загрузкой, отслеживает выполняющиеся в разных узлах системы шаги обработки заданий, фиксирует происходящие с ними события и запоминает их. Logging and Bookkeeping поддерживает запросы о состоянии заданий (прослеживание течения обработки заданий) и о событиях (прослеживание аварийного поведения). Возможные источники извещений: пользовательский интерфейс - сведения о статусе передачи задания ресурс-брокеру брокер ресурсов – события по мере выполнения задания вычислительный ресурс – ход выполнения задания подсистема протоколирования – события, связанные с управлением уровнями доступа к информации о задании Поток извещений о событиях схематично представлен на рисунке 8. Рисунок 8 - Поток запросов и уведомлений в подсистеме протоколирования 1.3.6 Подсистема учета Данная подсистема аккумулирует информацию об использовании grid-ресурсов отдельными пользователями, группами пользователей и виртуальными организациями. На основе собранной информации может взиматься плата за пользование ресурсами в коммерческих grid-системах. Примером программы для работы подсистемы учета DGAS является gLite (использовалась в проекте EGEE). 1.4. Проекты по созданию систем распределенных Grid-вычислений В данной главе перечислены наиболее известные международные и национальные проекты по созданию Grid-систем. European Grid Infrastructure (EGI) Open Middleware Infrastructure Institute Europe (OMII-Europe) Enabling Grids for E-sciencE (EGEE, EGEE II and EGEE III) KnowARC Nordic Data Grid Facility World Community Grid (разработчики – IBM, проект активен) OurGrid (Federal University of Campina Grande -Brazil) GridPP (UK) CNGrid (China) D-Grid (Germany) GARUDA (India) VECC (Calcutta, India) IsraGrid (Israel) INFN Grid (Italy) PL-Grid (Poland) National Grid Service (UK) Open Science Grid (USA) TeraGrid (USA) Grid5000 (France) Технология распределенных Grid-вычислений является достаточно молодой – впервые крупные проекты были реализованы в 2004 году. 1.5. Отличие Grid-вычислений от облачных вычислений В заключение первого раздела, рассмотрим разницу между Cloud Computing и Grid Computing. Вспомним определение облачных вычислений: Облачные вычисления (англ. cloud computing) — информационно-технологическая концепция, подразумевающая обеспечение повсеместного и удобного сетевого доступа по требованию к общему пулу конфигурируемых вычислительных ресурсов, которые могут быть оперативно предоставлены и освобождены с минимальными эксплуатационными затратами или обращениями к провайдеру. 1. Грид и облачные вычисления фокусируются на различные типы вычислений. Первые – решение сложнейших научных задач, вторые – предоставление конечным пользователям сервисов и ресурсов. 2. Грид-вычисления обеспечивают объединение гетерогенных вычислительных ресурсов в единую вычислительную среду. В такой сети, одна большая вычислительная задача разделяется на маленькие части и вычисляется на множестве машин. Облачные вычисления обеспечивают более высокий уровень абстракции (приложение пользователя не получает прямой доступ к запрашиваемым ресурсам, но получает их через сервис, предоставляющий ресурсы). Таким образом, реализуется принцип динамической масштабируемости, если приложению требуется небольшое количество ресурсов, сервис выделяет именно такое количество, при увеличении требований, сервис выделяет больше ресурсов. Например, веб-сайт «в облаке» может делить один сервер с другими веб-сайтами при небольшом количестве посетителей, а при росте трафика для этого же веб-сайта могут быть задействованы ресурсы целого кластера компьютеров. Облачные вычисления обычно используют в своей основе grid-сети, но системы распределенных grid-вычислений не обязательно задействуют облачные технологии (рис. 9). Рисунок 9 - Взаимоотношение технологий распределенных вычислений 2. РАБОТА GRID-СЕТЕЙ НА ПРИМЕРЕ WORLD COMMUNITY GRID 2.1. Краткая характеристика World Community Grid World Community Grid (WCG) — это глобальное сообщество пользователей, которые предоставляют неиспользуемые мощности своих компьютеров для решения сложных заданий. Проект добровольных вычислений работает на платформе BOINC. Запущен в 2004 году компанией IBM (с технической стороны). Развивался в сотрудничестве с Национальным институтом здравоохранения США, Всемирной организации здравоохранения, ООН и других организаций, связанных с наукой и здравоохранением. Решение о том, к каким расчётам следует привлечь первостепенное внимание, принимается совместно с ведущими учёными разных стран. На 22 августа 2016 года в проекте было зарегистрировано 719, 458 пользователей, которые выполнили 1,291,679 лет процессорных расчётов используя 3,243,221 устройств (по данным официального сайта статистики http://www.worldcommunitygrid.org/stat/viewGlobal.do). Изначально WCG поддерживал только Windows и работал на платформе компании United Devices. Позднее состоялся переход на платформу BOINC, который позволил расширить круг пользователей с другими операционными системами. 2.2. Архитектура высокопроизводительных вычислений на базе BOINC BOINC (Berkeley Open Infrastructure for Network Computing) — открытая программная платформа (университета Беркли для GRID вычислений). Программный комплекс BOINC состоит из серверной и клиентской частей. Серверная часть состоит из HTTP-сервера на базе Linux (Debian) с веб-сайтом проекта, базы данных MySQL и набора подпрограмм на С++ (генератор заданий, планировщик, валидатор, ассимилятор результатов). HTTP сервер представляет собой набор PHP-скриптов и необходим организаторам проектов для общего управления проектом: регистрация участников, распределение заданий для обработки, получение результатов, управление базами данных проекта. Сервер BOINC состоит из: как минимум одного Web-сервера, который обрабатывает входящие и исходящие сообщения; сервера баз данных, который отслеживает состояние подзадач и соответствующие им результаты, а также хранит информацию о клиентах и набранных ими баллах; пяти различных «демонов» (программ), которые периодически проверяют состояние базы данных и выполняют необходимые работы по обслуживанию системы и распределению подзадач. Все эти программы могут быть запущены как на одном физическом сервере, так и на нескольких, в зависимости от нагрузки. Службы («демоны»): Служба обработки состояния подзадач - не зависит от приложения и является одинаковой для всех проектов – будь то предсказание погоды или поиск внеземных цивилизаций. Служба обработки проверяет текущее состояние подзадачи в базе данных и обновляет соответствующие поля, когда подзадача готова перейти в новое состояние. Служба проверки результатов – отвечает за организацию проверку случайных результатов. В целях обеспечения достоверности каждая из подзадач рассчитывается на нескольких различных клиентах. Поэтому полученные в итоге результаты необходимо проверить, сверив между собой и определив «каноническое» решение – результат, полученный кворумом клиентов. Кроме того, программа проверки может следить за правдоподобностью результатов. Например, если моделируется падение тела под воздействием силы тяжести, можно проверить, не является ли конечная точка выше над землей, чем начальная. При запуске служба обращается к базе данных для получения информации о новых результатах, требующих проверки. Если таковые есть, то служба проверки запускает соответствующую функцию сравнения результатов. Для каждой глобальной задачи, решаемой с помощью распределенных вычислений на базе BOINC, необходимо разработать две функции в рамках службы проверки: одна функция сравнивает два результата, а другая – наборы результатов. Первая используется для принятия решения о предоставлении очков, когда клиентским приложением передан новый результат и найдено каноническое решение. Вторая функция используется для определения самого канонического результата из набора результатов, переданных несколькими клиентами. Количество результатов, необходимых для выработки канонического решения, определяется при создании подзадачи. Это значение может быть установлено для всего приложения в целом, но также возможно указать различные значения для различных клиентов. Служба освоения - периодически проверяет наличие завершенных подзаданий. Администратор проекта должен создать функцию, которая определяет, что необходимо сделать с каноническими результатами. Служба удаления файлов - проверяет наличие завершенных и освоенных подзадач, а при нахождении таковых очищает входные и выходные файлы сервера, связанные с этими подзадачами. Служба подачи - загружает необработанные подзадачи из базы данных в сегмент разделяемой памяти. Планировщик - CGI-программа, которая запускается, когда к серверу проекта подсоединяется клиент и запрашивает порцию заданий. Вместо запроса к БД планировщик получает задания из сегмента разделяемой памяти, в который задания загружает служба подачи. Мост – обеспечивает связь и совместную работу над проектом инфраструктуры BOINC и стандартной GRID В базе данных хранятся пользователи, пароли, записи заданий, результатов, информация о хостах, программах проекта и прочее. К этой информации обращаются (как для чтения, так и для внесения изменений) специальные служебные программы сервера. Система BOINC изначально ориентирована на работу с СУБД MySQL. Клиентская часть представлена универсальным клиентом для работы с различными (BOINC-совместимыми) проектами распределённых вычислений. Возможно участие одновременно в нескольких проектах с помощью одной общей программы управления (boinc.exe). Для визуализации процесса управления BOINC-клиентом можно использовать поставляемую по умолчанию официальную программу-менеджер (boincmgr.exe). BOINC-клиент в академическом понимании не имеет пользовательского интерфейса как такового, а представляет собой сервис, запускаемый при запуске системы и управляется по протоколу TCP/IP. Однако, дистрибутив программы комплектуется программой-менеджером, которая сразу по умолчанию устанавливается вместе с BOINC-клиентом как единое целое. В этом случае в качестве адреса управляемого программой менеджером BOINC-клиента указывается адрес «localhost». Также такая организация управления BOINC-клиентом подразумевает возможность использовать BOINC-клиент в «невидимом» режиме, когда запускается исключительно сервис, без пользовательского интерфейса вообще. На рисунке 10 представлена архитектура системы BOINC. Рисунок 10 - Архитектура системы BOINC Жизненный цикл задания выглядит следующим образом (рис. 11): программа генерации заданий (разработанная специально для проекта) создает подзадачи и необходимые для их расчета входные файлы; BOINC создает для каждого из подзаданий один или несколько одинаковых экземпляров (в зависимости от настроек проекта); планировщик BOINC распределяет подзадания различным клиентским программам; каждая клиентская программа загружает с сервера входные файлы; после расчета подзадания клиентская программа загружает выходные файлы на сервер; клиентская программа отчитывается о выполнении подзадания (возможно, после небольшой задержки, необходимой для снижения нагрузки на программу-планировщик сервера); служба проверки результатов (разработанная специально для проекта) проверяет выходные файлы, возможно, сравнивая результаты различных клиентских программ; когда найдено каноническое решение, служба освоения (разработанная специально для проекта) обрабатывает результаты, например, помещая их в отдельную базу данных или отсылая на электронную почту; когда все экземпляры подзадания завершены, служба удаления файлов удаляет ненужные больше входные и выходные файлы, а также очищает базу данных от информации о подзадании и его экземплярах. Рисунок 11 - Процесс обработки задания в системе BOINC 2.3. Работа с World Community Grid Для того, чтобы присоединиться к сообществу World Community Grid, необходимо пройти простой процесс регистрации на официальном сайте и скачать boinc-клиент. В процессе регистрации можно выбрать один из активных проектов (выбран проект по вычислению белков-индикаторов раковых клеток) (рис. 12) Рисунок 12 - Процесс регистрации на сайте WCG Boinc-клиент называется wcg_boinc_7.2.47_windows_intelx86.exe, его размер составляет всего 7,81 МБ. В процессе установки могут быть установлены ограничения для повышения безопасности системы (рис. 13). Присоединившись к сети, пользователь получает на свой компьютер отдельное вычислительное задание (проект разделяется специалистами IBM на миллионы подзадач). Выполнив задание, ПК передает результаты вычислений на сервер и получает новое задание. Вычисления выполняются лишь тогда, когда компьютер не задействован (таким образом участие в проекте не мешает выполнению основных задач). После установки программы рекомендуется настроить параметры ее работы – привилегированные приложения, параметры допустимой загрузки сети/процессора/диска и памяти (рис.14-15). Рисунок 13 - Установка boinc-клиента доступна любым пользователям Рисунок 14 - Настройка ограничений использования сети интернет Рисунок 15 - Настройка ограничений использования дискового пространства и оперативной памяти Нагрузка на систему практически не заметна, уровень потребления ресурсов показан в диспетчере задач Windows (рис. 16). Рисунок 16 - Процесс работы над проектом WCG ЗАКЛЮЧЕНИЕ В первом разделе данной курсовой работы были изучены основные понятия и технологии распределенной обработки данных. Грид-вычисления (англ. grid — решётка, сеть) — это форма распределённых вычислений, в которой «виртуальный суперкомпьютер» представлен в виде кластеров, соединённых с помощью сети, слабосвязанных гетерогенных компьютеров, работающих вместе для выполнения огромного количества заданий, обычно в научных целях. Основные свойства Grid-сети: отсутствие централизованного контрольного центра гетерогенность ресурсов масштабируемость динамичность и адаптируемость Были рассмотрены общие принципы построения Grid-сетей на различных уровнях, их взаимосвязь. Сделан вывод о основных отличиях грид-вычислений и облачных вычислений: 1. фокусировка на различных типах вычислений, вытекающих из различных задач 2. принципиальное различие в подходе к распределению вычислительных ресурсов. В грид-сети одна большая вычислительная задача разделяется на маленькие части и вычисляется на множестве машин. При облачных вычислениях уровень абстракции выше, ресурсы распределяются сервисом в зависимости от потребностей пользователей. Облачные вычисления обычно используют в своей основе grid-сети, но системы распределенных grid-вычислений не обязательно задействуют облачные технологии. Во второй главе рассмотрена работа всемирно-известной грид-сети World Community Grid (IBM). Исследовано устройство данной основанной на BOINC-платформе сети. В процессе работы был установлен клиент grid-сети и было принято участие в работе над проектом WCG по выделению белковых маркеров раковых клеток. Грид-технологии позволяют решить проблемы, связанные с недостатком вычислительных мощностей для научных и производственных задач, требующих большого объема вычислений и/или обработки больших объемов данных. Это достигается объединением компьютерных ресурсов отдельных научных организаций, предприятий и компаний. Полученная в результате сеть компьютеров используется как единый ресурс. Грид – это, по существу, масштабируемый ИТ – масштабируемое исполнение, масштабируемое управление и масштабируемое изменение для поддержки научного сотрудничества географически разбросанных исследователей и динамических бизнес-процессов, обеспечивающих более интенсивную деловую активность. Сегодня гриды можно найти в самых различных организациях по всему миру в таких разнообразных областях, как совместные научные исследования, создание новых лекарств, анализ финансового риска, предсказание погоды, дизайн, моделирование, бизнес-аналитика и среды обработки транзакций. Хотя у гридов много общих характеристик, таких, как виртуализация инфраструктуры, создание пулов ресурсов и их разделение, динамическая инсталляция ресурсов, имеется несколько содержательных категорий гридов, включая: кластерные гриды, корпоративные гриды и гриды центров данных. Благодаря созданию действующей глобальной грид-системы проекта WCG и уже проведенным с ее помощью вычислениям в различных областях стало очевидным, что грид стал одним из важных инструментв, который позволяет большому количеству ученых намного быстрее выполнять трудоемкие расчеты и обрабатывать большие объемы данных. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ Источники на русском языке 1. Довгаль В.А. Особенности реализации безопасного подключения к облачным сервисам // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2015. Вып. 1 (154). 2. Гуляев Ю.В., Журавлев Е.Е., Олейников А.Я., "Методология стандартизации для обеспечения интеропера....................... |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену | Каталог работ |
Похожие работы: