Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
распры.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
932.35 Кб
Скачать

6. Предмет распределенных вычислений и классификация по способам организации вычислительного сценария (High-Performance, High Throughput Computing, Data Intensive Computing, Many Task Computing.). Вызовы «удаленных» процедур (RPC) и обмен сообщениями (MOM) - как основные стили организации взаимодействия в РВС; их сходства и отличия. Представление о РВС как о совокупности взаимодействующих (по сети) процессов.

Предмет курса

Место и роль распределенных вычислений в ИТ

  • характерные области применения (варианты использования) РВС

Принципы организации и функционирования РВС

  • общие правила взаимодействия элементов РВС

  • «типовые» элементы РВС, выполненных по существующим стандартам

характерные этапы жизненного цикла РВС (проектирование, программная реализация, развертывание)

Примеры решения вычислительных задач в РВС

High-Performance (Distributed) supercomputing (HPC Grid)

  • задачи, требующие существенных вычислительных мощностей, процессорного времени, памяти (MPI, PV микро-параллельные выч.);

  • Многопроцессорные выч. комплексы (МВК), кластеры, использование GPU (nVIDIA CUDA, Compute Unified Device Architecture)

High-Throughput Computing (HTC)

  • решение большого числа слабо связанных подзадач при помощи простаивающих вычислительных ресурсов в течение длительного времени (SETI@home, BOINC, …)

Data-intensive computing - вычисления с привлечением больших объемов распределенных данных (ГИС, …)

Many-Task Computing сложные алгоритмы распределенных вычислений, предусматривающие интенсивный обмен промежуточными результатами решения вспомогательных подзадач (различного вида), на которые декомпозируется исходная задача

Distributed Systems (HLA, High Level Architecture, IEEE 1516*)

  • Имитационное моделирование сложных технических и военных систем

  • Кооперация в рамках работ над сложными техническими проектами

Грид-вычисления – совместное использование выч. ресурсов (МВК/МВУ, суперкомп., кластеры) нескольких организаций на принципах «кооперации»

Desktop Grid - использование временно неиспользуемых ресурсов многоядерных процессоров настольных (персональных) компьютеров «обычных» пользователей.

Облачные вычисления – реинкарнация модели ВЦ, аренда грубой выч. мощности для создания виртуальных ВС, в т.ч. И РВС

От RPC (Remote Procedure Call) к MOM (Message Oriented Middleware)

RPC - процедурный, пусть даже и объектно-ориентированный, стиль программирования РВС. Преимущества – привычность для традиционного программиста «монолитных» приложений. Недостатки – высокая чувствительность к сбоям во взаимодействии «по сети»; проблемы масштабирования (например, автоматическое увеличение производительности при появлении новых узлов).

MOM - ~ ближе у функциональным языкам + модель обмена сообщениями. Недостатки – более высокая трудоемкость разработки, основанная на иной модели приложения. Преимущества – масштабируемость; устойчивость к выходу из строя некоторых узлов.

7. Основные элементы архитектуры процессов РВС. Серверный и клиентский фрагменты процессов (исполняемого кода). Каркасы и представители удаленных процедур (удаленных объектов). Маршаллинг и демаршаллинг при вызовах удаленных методов. «Представители» и «каркасы» удаленных объектов. Различные способы взаимодействия клиентских и серверных компонент (по типам вызовов «удаленных» методов): синхронный (блокирующий), односторонний, асинхронный («отложенный»).

  • Типовая структура процессов РВС

С инхронный вызов (блокирующий)

Односторонный вызов (отправка сообщения)

А синхронный вызов (неблокирующий)

Ш аблон «хранитель будущего результата»

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

П ротивоположный процесс называется демаршалингом (также называемый десериализацией).

8. Основные этапы разработки РВС на основе существующих технологий объектно-ориентированного промежуточного ПО (ОО ППО) на примере программного инструментария Ice, Internet Communication Engine. «Контрактный» принцип проектирования. Проектирование интерфейсов на языке Slice. Назначение предкомпилятора из Slice в различные языки программирования.

«Контрактный» принцип проектирования

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

  • лучшее понимание ОО метода и — в более широком плане — процесса конструирования ПО;

  • систематический подход к построению не содержащих "багов" ОО систем;

  • эффективную концептуальную схему для отладки, тестирования и — в конечном итоге — гарантии качества;

  • метод для документирования программных компонентов;

  • лучшее понимание и управление механизмом наследования;

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

9-10. Декомпозиция при вычислении обратной матрицы. Возможные схемы распределенного сценария вычислений: LU-разложение; блочная декомпозиция и дополнение Шура. Оценки эффективности реализации в РВС.

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

Использование разложения (первый вариант)

Пусть M - матрица [N×N]. LU-разложение {L, U, P}: L - нижне-треугольная; U -верхне-треугольная; P - перестановочная матрица.

L⋅U=P⋅Μ .

Пусть EN единичная матрица. Для вычисления M^(-1) нужно решить уравнение (прямой и обратной прогонкой) L⋅U⋅X=P⋅EN ⇒ X=M^(-1) (M⋅X=P^(-1)⋅(L⋅U⋅X)=P^(-1)⋅P⋅EN=EN).

Процедура Maxima lu_backsub(LU,B), где LU - результат lu_factor(M), позволяет решать L⋅U⋅X=P⋅B для произвольной прямоугольной матрицы B[N×M].

Е сли «расслоить» матрицу EN на K не пересекающихся «вертикальных полос» , где ,

т о параллельное выполнение lu_backsub(LU, позволяет одновременно получить K «групп столбцов» M-1[nk-1:nk] обратной матрицы M-1.

При K=N такая схема означает параллельное вычисление столбцов M-1.

  • Блочное распараллеливание (два блока)

Обращение мартиц с помощью дополниения Шура

Известный алгоритм обращения матриц, основанный на «блочной декомпозиции» и дополнении Шура.

Вычисления отдельными блоками позволяют получить более гибкий для дальнейшей оптимизации «рекурсивный» алгоритм (т.к. вычисление A-1 и S-1 и умножение распараллеливаются).

Пусть M[N×N] разделена на четыре блока [N/2×N/2]. Стоимость параллельного вычисления блоков обратной матрицы (символ «||»):

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

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

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

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

  • Повсеместный, стандартный, надежный и дешевый доступ к ресурсам

  • Сложность инфраструктуры скрыта от пользователя (прозрачность)

  • Легкость интеграции новых ресурсов

  • Динамическое перераспределение нагрузки иотказоустойчивость

  • Управление сложным ансамблем ресурсов

  • Типы грид-систем

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

  • Добровольные гриды — гриды на основе использования добровольно предоставляемого свободного ресурса персональных компьютеров;

  • Научные гриды — хорошо распараллеливаемые приложения программируются специальным образом (например, с использованием Globus Toolkit);

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

  • Понятие виртуальной организации

В компьютерных Грид-системах различные организации, имеющие общие научные или практические интересы, на добровольной основе создают объединение, которое в грид-технологиях называется виртуальной организацией (ВО). Участники ВО связаны между собой с помощью Интернета таким образом, что их вычислительные мощности объединяются. Система включает в себя вычислительные ресурсы и ресурсы хранения данных, но при этом каждая организация контролирует использование своих ресурсов. Пользователи могут получать практически неограниченные ресурсы для вычислений и хранения данных, не задумываясь об их происхождении. Каждый из участников ВО предоставляет свои вычислительные ресурсы (или их часть) для использования другими участниками и, в тоже время, получает доступ к ресурсам других участников ВО.

13. Отличие грид-систем от других распределенных вычислительных систем. Требования к программной инфраструктуре грид. Примеры грид-систем и технологий.

Требуемая инфраструктура

  • Разделяемые ресурсы

  • Сетевая

– Internet или научные/частные каналы

  • Программная

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

Важные требования

  • Автономность владельцев ресурсов

  • Безопасность

  • Непрерывность функционирования

  • Качество обслуживания

Тест на звание «грид» (Ian Foster, 2002)

  • Система, которая:

– Координирует использование ресурсов при отсутствии централизованного управления этими ресурсами

– Использует стандартные, открытые, универсальные протоколы и интерфейсы

– Обеспечивает качество обслуживания

  • Что не является гридом?

– Кластер, сетевое хранилище данных, сеть, …

– Важные компоненты грида, но сами по себе им не являются

Виды грид-систем

Поставщики ресурсов = P

Пользователи ресурсов = U

  • P >> U : desktop grid

– Добровольные проекты (BOINC), объединение ресурсов внутри организации (Condor)

  • U >> P : service grid (в режиме 7/24)

– Национальные и глобальные грид-инфраструктуры (EGI, OSG, WLHC, DEISA, TeraGrid...)

  • U ~ P ?

14-15. Программное обеспечение сервисных гридов, основные компоненты. Обеспечение безопасности в грид. Управление ресурсами.

Программное обеспечение сервисных гридов, основные компоненты. Управление данными. Информационные сервисы.

Сервисные гриды

Сервисные гриды соединяют кластеры, установленные в различных организациях. Это решение дешевле по отношению к суперкомпьютерам, но также требует выделенных ресурсов и значительных усилий, связанных с эксплуатацией. Инфраструктура сервисных гридов состоит из набора сервисов, обеспечивающих доступ к брокерам ресурсов, информационным службам, хранилищам данных, вычислительным ресурсам. Пользователи сервисных гридов имеют соответствующие права доступа к предоставляемым сервисам. Контроль доступа к ресурсам осуществляется посредством сертификатов безопасности. Хорошо известны следующие технологии создания сервисных гридов, как Globus, LCG-2/gLite (EGEE).

Globus Toolkit

  • Основанное на открытых стандартах, свободно распространяемое ПО для создания грид-систем

  • Разработка ведется в рамках Globus Alliance (http://www.globus.org/)

  • Набор готовых решений и базовых сервисов, обеспечивающих функционирование грид

  • Унификация внешних интерфейсов и использование стандартов (Open Grid Forum)

  • Open source: Apache License

Безопасность

– Унифицированный механизм безопасности грид

Безопасность:

  • Конфиденциальность

– Только отправитель и получатель могут прочитать сообщение

  • Целостность

– Получатель сообщения может однозначно определить, совпадает ли полученное им сообщение с отправленным

  • Аутентификация

– Получатель и отправитель сообщения должны быть уверены в том, что в действительности взаимодействуют с требуемой стороной

Современный подход:

Алгоритмы шифрования с открытым ключом (public key cryptography)

Управление ресурсами

– Унифицированный интерфейс запуска заданий

Запуск заданий:

  • Унифицированный сервис GRAM:

Grid Resource Allocation Manager - Унифицированный сервис для запуска заданий из грид в локальной системе управления ресурсами

Основные обязанности

– Авторизация

– Подготовка среды выполнения

– Передача данных

– Мониторинг и управление жизненным циклом задания

– Остановка задания, очистка ресурсов

  • Метапланировщик GridWay

Управление данными

– Репликация, поиск, передача и доступ к данным

  • Передача данных

– GridFTP

– Reliable File Transfer (RFT) - сервис, позволяющий заказать надежную передачу данных между узлами грид

  • Репликация и поиск данных

– Replica Location Service (RLS) - логический идентификатор файла (имя): не зависит от местоположения файла; один для всех реплик файла.

– Data Replication Service (DRS) - физический идентификатор файла (адрес): местоположение конкретной реплики.

  • Доступ к базам данных

– OGSA-DAI - сервис доступа к базам данных.

Информационные сервисы

– Мониторинг и поиск ресурсов грид

  • Стандартные интерфейсы

– Публикации и доступа к данным

– Обнаружения данных

– Подписки на уведомления об изменении данных

  • Стандартная XML-схема описания данных

– GLUE

Monitoring and Discovery System (MDS4)

  • Поставщики информации

– Грид-сервисы (GRAM, RFT, RLS)

– Локальные системы мониторинга и

управления ресурсами

  • Коллективные сервисы

– Index Service - агрегация информации

– Trigger Service - уведомления о событиях

  • Клиенты

– WebMDS — Web-интерфейс

– Интерфейс командной строки