5. Грид - системы 1 1 Типы грид-систем с точки зрения решаемых задач Три направления развития грид-технологии: 1. Вычислительный Грид (Computational Grid) 2. Грид для интенсивной обработки данных(Data Grid) 3. Семантический Грид для оперирования данными из различных баз данных (Semantic Grid). 2 5.1 Сравнение грид-технологий и суперкомпьютеров Если громоздкая задача, которую необходимо решить, может быть разбита на большое количество маленьких, независимых (не обменивающихся никакими данными) частей, - грид-технология оказывается особенно эффективным и относительно дешевым решением. Такие прикладные задачи иногда называют «bag-oftasks» - сумка/мешок задач: вычисления для каждой выполняются независимо, а в конце пользователь или программное обеспечение просто должны соединить результаты индивидуальных вычислений. 3 Типичными примерами таких задач являются: массовая обработка потоков экспериментальных данных большого объема (зачастую изучаемое явление можно разделить на отдельные независимые события и экспериментальные результаты по каждому событию обрабатывать независимо от других); визуализация больших наборов данных (отдельные области визуального представления обрабатываются независимо, а потом «склеиваются»); сложные бизнес-приложения с большими объемами вычислений 4 Организация грид доступ к вычислительным ресурсам, данным, устройствам, измерительным инструментам должен быть простым, прозрачным, удаленным, и безопасным; доступ должен быть виртуальным (нужен доступ не к серверам, а к сервисам, поставляющим данные или вычислительные ресурсы — причем без необходимости знания аппаратной структуры, обеспечивающей эти сервисы); доступ должен осуществлять по требованию (с заданным качеством), а ресурсы должны предоставляться тогда, когда в них возникает нужда; доступ должен быть распределенным, обеспечивая возможность совместной коллективной работы виртуальных команд; доступ должен быть устойчив к сбоям, а при выходе из строя серверов приложения должны автоматически мигрировать на резервные серверы; доступ должен обеспечивать возможность работы в гетерогенной среде – с различными платформами. 5 Три критерия того, что распределенная система является гридом: грид - это такая система, которая координирует использование ресурсов при отсутствии централизованного управления этими ресурсами; использует стандартные, открытые, универсальные протоколы и интерфейсы; обеспечивает высококачественное обслуживание, с точки зрения таких, в частности, характеристик как время отклика, пропускная способность, доступность и надежность. 6 5.2 Архитектура Грид. 5.2.1 Компонента протоколов Стеки протоколов грид-системы и сетевой модели OSI 7 5.2.2 Компонента сервисов Сервисно-ориентированная архитектура (SOA) Наиболее предпочтительными подходами к построению распределенных систем считаются: сервисно-ориентированная архитектура (Service Oriented Architecture, SOA), технология веб-сервисов, грид- стандарты (в первую очередь - Открытая архитектура грид-сервисов (Open Grid Services Architecture, OGSA)). 8 Взаимодействие сервисов в SOA-среде (4) Ответ сервиса 9 Понятие слабой связи сервисов в SOA Достоинствами слабой связи являются: Гибкость: сервис может быть расположен на любом сервере, а при необходимости перемещен. Масштабируемость: функциональные возможности сервиса могут быть расширены или сужены, поскольку при этом описание сервиса динамически меняется и, соответственно, изменяются и запросы. Возможность модификации реализации: при условии, что оригинальные интерфейсы сохраняются, реализация сервиса может быть обновлена без сбоев в обслуживании клиентов. Отказоустойчивость: Если возникают проблемы в работе сервера, программного компонента или сегмента сети, или сервис становится недоступным по любой другой причине, клиенты могут сделать запрос к службе регистрации для обнаружения другого сервиса, который предоставляет требуемые услуги. 10 Понятие состояния сервисов и сервисы без состояний 1. Stateful service - сервис сохраняет в своей локальной памяти некоторую информацию ("состояние") о первом шаге, предполагая использовать ее, когда клиент входит с ним в контакт на следующем шаге. В этом случае, сервис обладает состоянием (Stateful service ), и клиент должен возвратиться к тому же самому сервису при следующем шаге. 2. Stateless - сервисы без состояний. При многошаговой обработке запросов: - В конце каждого промежуточного шага сервис должен возвратить клиенту достаточную информацию о состоянии, чтобы дать возможность любому сервису с соответствующими свойствами идентифицировать и продолжить обслуживание. - Клиент должен передавать информацию о состоянии любому сервису на следующем шаге обработки запроса. - Выбранный сервис должен быть в состоянии принимать и обрабатывать информацию о состоянии, поставляемую клиентом, независимо от того обрабатывал ли он сам запрос на предыдущем 11 шаге, или это делал другой сервис. Мношаговое взаимодействие клиента и сервисов 12 Веб – сервисы и SOA SOA и веб-сервисы являются «ортогональными» понятиями: -сервисная ориентация – это архитектурный стиль, - веб-сервисы - технология выполнения. Они взаимно независимы. Принято считать , что SOA предназначена для распределенных систем. Но она может использоваться и для одиночных компьютеров, когда сервис соответствует индивидуальным процессам с четкими интерфейсами, которые взаимодействуют по внутренним каналам связи, или для кластера персональных компьютеров, где они могли бы общаться посредством высокоскоростной локальной сети. Аналогично, веб-сервисы хорошо подходят в качестве строительных блоков SOA-среды, но в их определении нет ничего, что обязательно требует воплощение принципов SOA. 13 Веб-сервисы используют: XML - язык разметки для того, чтобы обмениваться структурированными данными; SOAP – протокол, основанный на XML, для спецификации содержания сообщений, служебной «обертывающей» информации («конверт сообщения») и информации , необходимой для правильной обработки сообщений; WSDL (Web Services Description Language - язык описания веб-сервисов) – основанный на XML, используемый для описания атрибутов, интерфейсов и других свойств веб-сервис. Документ WSDL используется потенциальным клиентом, чтобы узнать о сервисе и способах обращения к нему. Самым распространенным является SOAP поверх протоколов HTTP или HTTPS. 14 5.2.3 Сервисно-ориентированный грид 15