Скачать презентацию Распределенные вычисления Архитектура GRID Программирвание грид-систем Лекция 8 Скачать презентацию Распределенные вычисления Архитектура GRID Программирвание грид-систем Лекция 8

0e3b999a6626d6f6dae18980e9b36126.ppt

  • Количество слайдов: 69

Распределенные вычисления Архитектура GRID. Программирвание грид-систем Лекция 8 Подготовил: Хованский Е. П. Мар. ГТУ Распределенные вычисления Архитектура GRID. Программирвание грид-систем Лекция 8 Подготовил: Хованский Е. П. Мар. ГТУ 2008 г. 1

1. Архитектура GRID Мар. ГТУ 2008 г. 2 1. Архитектура GRID Мар. ГТУ 2008 г. 2

Модель ISO/OSI Мар. ГТУ 2008 г. 3 Модель ISO/OSI Мар. ГТУ 2008 г. 3

Мар. ГТУ 2008 г. 4 Мар. ГТУ 2008 г. 4

Мар. ГТУ 2008 г. 5 Мар. ГТУ 2008 г. 5

Грид-архитектура Мар. ГТУ 2008 г. 6 Грид-архитектура Мар. ГТУ 2008 г. 6

Архитектура протоколов Мар. ГТУ 2008 г. 7 Архитектура протоколов Мар. ГТУ 2008 г. 7

Уровень Fabric (Фабрикаты) n предоставляет ресурсы, совместный доступ к которым обеспечивается через протоколы GRID Уровень Fabric (Фабрикаты) n предоставляет ресурсы, совместный доступ к которым обеспечивается через протоколы GRID Мар. ГТУ 2008 г. 8

Уровень Fabric. Доступ к ресурсам Для доступа к вычислительным ресурсам требуются: n механизмы для Уровень Fabric. Доступ к ресурсам Для доступа к вычислительным ресурсам требуются: n механизмы для запуска программы и мониторинга ее выполнения. n механизмы для определения аппаратных и программных характеристик, а также определения текущего состояния (например, рабочей загрузки). Мар. ГТУ 2008 г. 9

Уровень Fabric. Доступ к ресурсам хранения n n n механизмы для запуска программы и Уровень Fabric. Доступ к ресурсам хранения n n n механизмы для запуска программы и мониторинга ее выполнения. механизмы для посылки/получения файлов; механизмы для проведения удаленной выборки данных; механизмы менеджмента, которые позволили бы контролировать ресурсы, назначенные для пересылки данных; механизмы, позволяющие узнать аппаратные и программные характеристики и текущую загрузку; механизмы улучшенного резервирования. Мар. ГТУ 2008 г. 10

Уровень Fabric. Сетевые ресурсы Для доступа к сетевым ресурсам требуются: n механизм менеджмента и Уровень Fabric. Сетевые ресурсы Для доступа к сетевым ресурсам требуются: n механизм менеджмента и контроля над ресурсами, назначенными для сетевого трафика; n функции определения характеристик и загрузки сети. Мар. ГТУ 2008 г. 11

Уровень Fabric. Доступ к ресурсам n n Для доступа к ресурсам репозитория кодов программ Уровень Fabric. Доступ к ресурсам n n Для доступа к ресурсам репозитория кодов программ требуется механизм управления версиями исходного и объектного кода (например, система CVS). Для доступа к ресурсам каталогов требуется механизм обеспечения хранения данных, обработки запросов и проведения обновления данных. Мар. ГТУ 2008 г. 12

Уровень Connectivity (Связь) n n определяет базовые коммуникационные и идентификационные протоколы, требуемые для проведения Уровень Connectivity (Связь) n n определяет базовые коммуникационные и идентификационные протоколы, требуемые для проведения специфичных для GRID операций (транзакций). Коммуникационные протоколы позволяют осуществлять обмен данными между ресурсами уровня Fabric. Мар. ГТУ 2008 г. 13

Уровень Connectivity. Безопасность. n n однократное регистрирование пользователя; делегирование (программа пользователя должна иметь доступ Уровень Connectivity. Безопасность. n n однократное регистрирование пользователя; делегирование (программа пользователя должна иметь доступ к ресурсам, на которых он авторизован) n каждый провайдер ресурсов может иметь ряд локальных решений по безопасности. Система безопасности вычислительной среды должна взаимодействовать с этим классом локальных решений. Мар. ГТУ 2008 г. 14

Уровень Resource (Ресурсы) n базируется на коммуникационном и авторизационном протоколах уровня Connectivity. Мар. ГТУ Уровень Resource (Ресурсы) n базируется на коммуникационном и авторизационном протоколах уровня Connectivity. Мар. ГТУ 2008 г. 15

Уровень Resource определяет протоколы для: n осуществления безопасного обмена информацией; n инициализации, мониторинга и Уровень Resource определяет протоколы для: n осуществления безопасного обмена информацией; n инициализации, мониторинга и проведения совместных операций на индивидуальных ресурсах; n создания учетных записей пользователей; n проведения учета утилизированного времени для каждого из пользователей. Мар. ГТУ 2008 г. 16

Классы протоколов уровня Resource n n информационные протоколы, которые используются для обзора информации о Классы протоколов уровня Resource n n информационные протоколы, которые используются для обзора информации о структуре и состояниях ресурса; протоколы менеджмента, которые используются для предоставления доступа к совместным ресурсам. Мар. ГТУ 2008 г. 17

Протоколы уровней Resource и Connectivity n являются базовыми, образуют «горлышко» в модели «песочных часов» Протоколы уровней Resource и Connectivity n являются базовыми, образуют «горлышко» в модели «песочных часов» (см слайд 6) и должны быть ограничены небольшим, хорошо продуманным множеством. Эти протоколы должны быть спроектированы таким образом, чтобы позволить совместное использование разнородных ресурсов, но при этом не должны слишком ограничивать допустимые типы протоколов более высокого уровня и их производительность. Мар. ГТУ 2008 г. 18

Уровень Collective (Кооперация) n сгруппированы протоколы и сервисы, которые не связаны с каким-либо конкретным Уровень Collective (Кооперация) n сгруппированы протоколы и сервисы, которые не связаны с каким-либо конкретным ресурсом, являются более глобальными по природе и обеспечивают коллективное взаимодействие ресурсов. Мар. ГТУ 2008 г. 19

Уровень Collective. Примеры n сервис директории, который позволяет участникам GRID исследовать имеющиеся ресурсы и Уровень Collective. Примеры n сервис директории, который позволяет участникам GRID исследовать имеющиеся ресурсы и их свойства. Этот сервис использует протокол GRIP уровня Resource; сервисы распределения и планирование ресурсов, обработки заявок пользователей позволяют участникам GRID получать доступ к необходимым ресурсам, а также планировать выполнение задач на них. Примерами реализации таких сервисов могут служить App. Le. S, Condor-G, Nimrod-G и DRM брокер; n остальные примеры на самостоятельное изучение. n Мар. ГТУ 2008 г. 20

Уровень Application (Приложения) n n включает в себя приложение пользователя, функционирующее в среде GRID. Уровень Application (Приложения) n n включает в себя приложение пользователя, функционирующее в среде GRID. Взаимодействие прикладной программы с различными уровнями GRID-системы: Мар. ГТУ 2008 г. 21

Мар. ГТУ 2008 г. 22 Мар. ГТУ 2008 г. 22

2. Модели и средства программирования грид-систем. Мар. ГТУ 2008 г. 23 2. Модели и средства программирования грид-систем. Мар. ГТУ 2008 г. 23

2. 1. Проблемы программирования Грид-систем Мар. ГТУ 2008 г. 24 2. 1. Проблемы программирования Грид-систем Мар. ГТУ 2008 г. 24

Мобильность, интероперабельность и адаптивность n n n Модели программирования для Грид должны давать программный Мобильность, интероперабельность и адаптивность n n n Модели программирования для Грид должны давать программный код, независимый от процессора, на котором он должен выполняться. Наличие распределенной среды, которая может поддерживать протоколы, сервисы, интерфейсы прикладного программирования и среды программирования, в которых такое взаимодействие является возможным. Грид должна уметь адаптировать себя к различным конфигурациям, основанным на доступных ресурсах Мар. ГТУ 2008 г. 25

Обнаружение ресурсов n n Программы для Грид должны ясно ”находить” соответствующие хост-машины, на которых Обнаружение ресурсов n n Программы для Грид должны ясно ”находить” соответствующие хост-машины, на которых выполняться; программы должны уметь обнаруживать эти постоянные сервисы и интерфейсы. n среды программирования и инструментальные средства должны знать о возможностях обнаружения сервисов и предлагать пользователю явные или неявные механизмы для использования этих сервисов при разработке и развертывании приложений Грид. Мар. ГТУ 2008 г. 26

Производительность n n в условиях общедоступной среды, качество обслуживания становится все более и более Производительность n n в условиях общедоступной среды, качество обслуживания становится все более и более необходимым для достижения надежной производительности для данных конструкций программирования на данной конфигурации ресурсов. Некоторые потребители могут требовать фактически детерминированной модели производительности, поэтому более приемлемым может быть получение надежной производительности в пределах некоторой статистической границы. Мар. ГТУ 2008 г. 27

Отказоустойчивость n n n Динамическая природа Грид-вычислений предполагает обеспечение некоторого уровня отказоустойчивости. с увеличением Отказоустойчивость n n n Динамическая природа Грид-вычислений предполагает обеспечение некоторого уровня отказоустойчивости. с увеличением количества ресурсов повышается вероятность отказа некоторого ресурса. Приложения Грид должны уметь проверять исправность коммуникаций и/или вычислительных ресурсов во время выполнения программ и обеспечивать на программном уровне реакции на ошибки или действия по восстановлению вычислений. Мар. ГТУ 2008 г. 28

Безопасность n n в Грид-системе не редки случаи, когда приложение включает большое количество программно-управляемых Безопасность n n в Грид-системе не редки случаи, когда приложение включает большое количество программно-управляемых узлов; необходимость отслеживать деревья запросов произвольной глубины, в которых отбор ресурсов решается динамически. n механизмы защиты, которые обеспечивают удостоверение подлинности и секретность, должны быть неотъемлемой частью модели программирования Грид. Мар. ГТУ 2008 г. 29

Метамодели программ n n Традиционное программирование на языках высокого уровня при трансляции между двумя Метамодели программ n n Традиционное программирование на языках высокого уровня при трансляции между двумя моделями программирования основано на технике компиляции и системе команд машины. Часть процесса трансляции – построение ряда семантических моделей программ и их расширений, которые относятся к уровню метамоделей программирования n метамодели требуются для программирования Грид, где применение расширений усложняется распределенной и разнородной природой Грид-систем. Мар. ГТУ 2008 г. 30

2. 2. Средства программирования Грид-систем Мар. ГТУ 2008 г. 31 2. 2. Средства программирования Грид-систем Мар. ГТУ 2008 г. 31

2. 2. 1. Модели с общедоступным состоянием Мар. ГТУ 2008 г. 32 2. 2. 1. Модели с общедоступным состоянием Мар. ГТУ 2008 г. 32

Модели с общедоступным состоянием n Модели программирования с общедоступным состоянием (централизованные) обычно ассоциируются с Модели с общедоступным состоянием n Модели программирования с общедоступным состоянием (централизованные) обычно ассоциируются с тесно-связанными системами, синхронными языками и моделями реализации, предназначенными для машин с общей или гибридной (физически распределенной, но логически общей) памятью. Мар. ГТУ 2008 г. 33

Java. Spaces n n n это реализация понятия пространства кортежей координационного языка Linda на Java. Spaces n n n это реализация понятия пространства кортежей координационного языка Linda на основе Java, в которой кортежи представлены сериализуемыми объектами. Модель Java. Spaces рассматривает приложение как совокупность процессов, сообщающихся между собой передачи и получения объектов в/из одного из пространств. Пространство кортежей – это общедоступный и постоянный (persistent) объектный репозиторий. Мар. ГТУ 2008 г. 34

Java. Spaces. Действия с пространством объектов n n n put (включение); take (изъятие); read Java. Spaces. Действия с пространством объектов n n n put (включение); take (изъятие); read (чтение, т. е. копирование без изъятия). Инструменты для реализации: n Jini/Jxta; n Globus. Мар. ГТУ 2008 г. 35

Механизмы опубликования/подписки n n n Ассоциативное соответствие. включает создание коммуникационных подсистем на основе распределения Механизмы опубликования/подписки n n n Ассоциативное соответствие. включает создание коммуникационных подсистем на основе распределения по содержанию (contentbased routing), службы событий (event services) и механизма опубликования/подписки. Ассоциативное соответствие – это дорогой способ реализации, особенно в географических широкомасштабных средах. Мар. ГТУ 2008 г. 36

Механизмы опубликования/подписки. Три различных подхода n сеть серверов – традиционный подход для многих существующих Механизмы опубликования/подписки. Три различных подхода n сеть серверов – традиционный подход для многих существующих распределенных систем обслуживания; n n промежуточное программное обеспечение – слой программного обеспечения, в котором, в частности, содержится расширенный сервис связи; наложения сетей (оверлейные структуры) – используются для выделения проблемы построения топологии распределения и имеют свойства абстрагирования. Мар. ГТУ 2008 г. 37

2. 2. 2. Модели передачи сообщений Мар. ГТУ 2008 г. 38 2. 2. 2. Модели передачи сообщений Мар. ГТУ 2008 г. 38

Модели передачи сообщений n n процессы работают в непересекающихся адресных пространствах и информация передается Модели передачи сообщений n n процессы работают в непересекающихся адресных пространствах и информация передается в виде сообщений между ними; явное распараллеливание с передачей сообщений (может быть громоздким); дает пользователю полный контроль; Вынуждает программистов точно учитывать, где может происходить потенциально дорогостоящий обмен сообщениями. Мар. ГТУ 2008 г. 39

Интерфейс передачи сообщений MPI n n широко принятый стандарт, который определяет библиотеку двусторонних передач Интерфейс передачи сообщений MPI n n широко принятый стандарт, который определяет библиотеку двусторонних передач сообщений, т. е. таких, где согласованы операции передачи и приема, и который является вполне подходящим для Грид. MPICH-G 2 – это реализация MPI с поддержкой Грид, которая использует сервисы Globus Мар. ГТУ 2008 г. 40

MPICH-G 2 n n автоматически преобразовывает данные в сообщениях между компьютерами различной архитектуры; поддерживает MPICH-G 2 n n автоматически преобразовывает данные в сообщениях между компьютерами различной архитектуры; поддерживает многопротокольную связь, автоматически выбирая TCP для межмашинной передачи сообщений и поставляемый продавцом MPI протокол для внутримашинной передачи сообщений. Мар. ГТУ 2008 г. 41

MPICH-G 2. Плюсы и минусы n n n освобождает пользователя от продолжительной работы по MPICH-G 2. Плюсы и минусы n n n освобождает пользователя от продолжительной работы по изучению специфичных свойств машин; Запуск многомашинного приложения одной командой mpirun; требует, чтобы сервисы Globus были доступны на всех участвующих компьютерах. Мар. ГТУ 2008 г. 42

2. 2. 3. Модели RPC и RMI Мар. ГТУ 2008 г. 43 2. 2. 3. Модели RPC и RMI Мар. ГТУ 2008 г. 43

Модели RPC и RMI В отличие от MPI: n данные модели – односторонние; n Модели RPC и RMI В отличие от MPI: n данные модели – односторонние; n изменяют парадигму передачи сообщений , не требуя соответствия приема и разрешая отправителю определять тип удаленной обработки. Мар. ГТУ 2008 г. 44

2. 2. 3. 1. RPC с поддержкой Грид Grid. RPC - это модель RPC 2. 2. 3. 1. RPC с поддержкой Грид Grid. RPC - это модель RPC и API для Грид-систем. Grid. RPC предоставляет следующие возможности: n n n динамическое обнаружение ресурсов и планирование: сервис RPC может быть расположен где угодно в Грид-сети. Обнаружение, отбор и планирование удаленного выполнения должны выполняться на основе ограничений пользователя; безопасность: защита Грид через сертификаты GSI и X. 509; отказоустойчивость: обеспечивается через автоматические контрольные точки, откаты или повторные выполнения. Мар. ГТУ 2008 г. 45

RPC с поддержкой Грид n Администрирование интерфейсов – важная проблема для всех моделей RPC. RPC с поддержкой Грид n Администрирование интерфейсов – важная проблема для всех моделей RPC. Обычно она решается на основе языка описания игтерфейсов (IDL). В этом отношении средства Grid. RPC разрабатываются с рядом других свойств для улучшения: n n поддержка ”научного” IDL; управление IDL только на стороне сервера. Мар. ГТУ 2008 г. 46

RPC с поддержкой Грид n n n Фундаментальными объектами в модели Grid. RPC являются RPC с поддержкой Грид n n n Фундаментальными объектами в модели Grid. RPC являются функциональные дескрипторы (function handles) и идентификаторы сеанса (session IDs). Имена функций Grid. RPC отображаются на сервер, который может вычислить эти функции. Модель Grid. RPC не определяет механизм обнаружения ресурса возможность использовать различные методы и протоколы. Мар. ГТУ 2008 г. 47

RPC с поддержкой Грид n используется управлением IDL только на стороне сервера. n развертывание RPC с поддержкой Грид n используется управлением IDL только на стороне сервера. n развертывание и поддержка распределенных вычислений здесь проще, чем, например при CORBA. Мар. ГТУ 2008 г. 48

RPC с поддержкой Грид Существуют другие реализации: n на основе протоколов SOAP и XML-RPC, RPC с поддержкой Грид Существуют другие реализации: n на основе протоколов SOAP и XML-RPC, которые используют XML поверх гипертекстового транспортного протокола HTTP. n На основе открытой архитектуры сервисов Грид OGSA Мар. ГТУ 2008 г. 49

Мар. ГТУ 2008 г. 50 Мар. ГТУ 2008 г. 50

2. 2. 4. Гибридные модели Мар. ГТУ 2008 г. 51 2. 2. 4. Гибридные модели Мар. ГТУ 2008 г. 51

2. 2. 4. 1. Open. MP и MPI Open. MP –многопоточная модель программирования. Open. 2. 2. 4. 1. Open. MP и MPI Open. MP –многопоточная модель программирования. Open. MP поверх MPI потребует от MPI: n n безопасности потоков; явного управления доступом к библиотеке MPI поверх Open. MP потребует от Open. MP: дополнительной синхронизации и ограничивать степень параллелизма. Мар. ГТУ 2008 г. 52

2. 2. 5. Одноранговые модели Мар. ГТУ 2008 г. 53 2. 2. 5. Одноранговые модели Мар. ГТУ 2008 г. 53

Одноранговые модели n Одноранговые вычисления и Грид-технологии концентрируются на гибком разделении и использовании разнородных Одноранговые модели n Одноранговые вычисления и Грид-технологии концентрируются на гибком разделении и использовании разнородных вычислительных и сетевых ресурсов Мар. ГТУ 2008 г. 54

2. 2. 5. 1. JXTA n JXTA представляет собой набор открытых, обобщенных протоколов P 2. 2. 5. 1. JXTA n JXTA представляет собой набор открытых, обобщенных протоколов P 2 P, определенные в XML -сообщениях, которые позволяют любому подсоединенному к сети устройству, от сотовых телефонов и беспроводных вычислительных устройств до персональных компьютеров и серверов, взаимодействовать в сети способом P 2 P. Мар. ГТУ 2008 г. 55

2. 2. 5. 1. JXTA n n Поддержка групп участников; своих ресурсов и обнаружения 2. 2. 5. 1. JXTA n n Поддержка групп участников; своих ресурсов и обнаружения сетевых ресурсов (сервисы, каналы, и т. д. ); Узлы также сотрудничают для маршрутизации сообщений и формирования полнодоступной связности узлов; Протоколы JXTA позволяют узлам связываться без необходимости понимать или управлять сложными и динамическими сетевыми топологиями, которые становятся общими. Мар. ГТУ 2008 г. 56

2. 2. 6. Каркасы, компонентные модели и порталы Мар. ГТУ 2008 г. 57 2. 2. 6. Каркасы, компонентные модели и порталы Мар. ГТУ 2008 г. 57

Каркасы, компонентные модели и порталы n n Кроме библиотечно-ориентированных подходов и языковых средств для Каркасы, компонентные модели и порталы n n Кроме библиотечно-ориентированных подходов и языковых средств для облегчения проектирования и развертывания распределенных приложений разрабатываются полнофункциональные среды программирования. Классификация данных подходов включает каркасы, компонентные модели и порталы. Мар. ГТУ 2008 г. 58

2. 2. 6. 2. Объектные и компонентные архитекуры n Общая объектная архитектура брокера запроса 2. 2. 6. 2. Объектные и компонентные архитекуры n Общая объектная архитектура брокера запроса (CORBA) – это стандартный инструмент, в котором используется интерфейс метаязыка для управления интероперабельностью объектов. Доступ к элементу объекта определяется, используя язык описания интерфейса IDL. Объектный брокер запроса (ORB) используется для обнаружения ресурсов среди клиентских объектов. Мар. ГТУ 2008 г. 59

CORBA n n Компоненты расширяют объектноориентированную парадигму, позволяя объектам управлять интерфейсами, которыми они себя CORBA n n Компоненты расширяют объектноориентированную парадигму, позволяя объектам управлять интерфейсами, которыми они себя представляют и обнаруживать интерфейсы, представленные другими объектами. Наиболее известны среди компонентных и компоненто-подобных систем – это COM/DCOM, CORBA 3 Component Model, Enterprise Java Beans и Jini, и Common Component Architecture. Мар. ГТУ 2008 г. 60

2. 2. 6. 3. Порталы n рассматриваются как обеспечение Вебинтерфейса для распределенных систем. трехъярусная 2. 2. 6. 3. Порталы n рассматриваются как обеспечение Вебинтерфейса для распределенных систем. трехъярусная архитектура: n клиентов (первый уровень); n брокеров или серверов (средний уровень); n репозитариев объектов (вычислительные серверы, базы данных или любые другие ресурсы или сервисы). Мар. ГТУ 2008 г. 61

Порталы. Примеры n n Грид Grid. Port научный портал XCAT Мар. ГТУ 2008 г. Порталы. Примеры n n Грид Grid. Port научный портал XCAT Мар. ГТУ 2008 г. 62

2. 2. 7. Модели Веб-сервисов Мар. ГТУ 2008 г. 63 2. 2. 7. Модели Веб-сервисов Мар. ГТУ 2008 г. 63

2. 2. 7. 1. OGSA n n открытая архитектура сервисов Грид (OGSA), в которой 2. 2. 7. 1. OGSA n n открытая архитектура сервисов Грид (OGSA), в которой Грид обеспечивает расширяемый набор сервисов для осуществления взаимодействий виртуальных организаций. определяет общую модель ресурсов, которая является абстрактным представлением как реальных ресурсов, таких как узлы, процессы, диски, файловые системы, так и логических ресурсов; Мар. ГТУ 2008 г. 64

OGSA n n обеспечивает некоторые общие операции и поддерживает множество лежащих в основе моделей OGSA n n обеспечивает некоторые общие операции и поддерживает множество лежащих в основе моделей ресурсов, представляющих ресурсы как экземпляры сервиса; не рассматривает проблемы реализации программной модели, языка программирования, инструментальных средств или среды выполнения. n Независимость от языка программирования, инструментальных средств или среды выполнения. Мар. ГТУ 2008 г. 65

Мар. ГТУ 2008 г. 66 Мар. ГТУ 2008 г. 66

OGSA. Интероперабельность n n Интероперабельность на уровне сообщений является ключевой характеристикой этого стандарта, и OGSA. Интероперабельность n n Интероперабельность на уровне сообщений является ключевой характеристикой этого стандарта, и она достигается путем использования XML, как базового формата передаваемых сообщений, и схемы XML. Одним из требований к службам - способность описать данные о состоянии, характеристики жизненного цикла и поведение экземпляров служб, используя модель описаний OGSI, которая представляет собой комбинацию WSDL и GWSDL (Grid Web Services Definition Language). Мар. ГТУ 2008 г. 67

Мар. ГТУ 2008 г. 68 Мар. ГТУ 2008 г. 68

Спасибо за внимание! Мар. ГТУ 2008 г. 69 Спасибо за внимание! Мар. ГТУ 2008 г. 69