Односторонный вызов (отправка сообщения)
Предмет распределенных вычислений и классификация по способам организации вычислительного сценария (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 - ~ ближе у функциональным языкам + модель обмена сообщениями. Недостатки – более высокая трудоемкость разработки, основанная на иной модели приложения. Преимущества – масштабируемость; устойчивость к выходу из строя некоторых узлов.
|
|
Основные элементы архитектуры процессов РВС. Серверный и клиентский фрагменты процессов (исполняемого кода). Каркасы и представители удаленных процедур (удаленных объектов). Маршаллинг и демаршаллинг при вызовах удаленных методов. «Представители» и «каркасы» удаленных объектов. Различные способы взаимодействия клиентских и серверных компонент (по типам вызовов «удаленных» методов): синхронный (блокирующий), односторонний, асинхронный («отложенный»).
✔ Типовая структура процессов РВС
Синхронный вызов (блокирующий)
Односторонный вызов (отправка сообщения)
Асинхронный вызов (неблокирующий)
Шаблон «хранитель будущего результата»
Маршалинг — процесс преобразования представления объекта в памяти в формат данных, пригодный для хранения или передачи. Обычно применяется, когда данные необходимо передавать между различными частями одной программы или от одной программы к другой.
Противоположный процесс называется демаршалингом (также называемый десериализацией).
|
|
Основные этапы разработки РВС на основе существующих технологий объектно-ориентированного промежуточного ПО (ОО ППО) на примере программного инструментария Ice, Internet Communication Engine. «Контрактный» принцип проектирования. Проектирование интерфейсов на языке Slice. Назначение предкомпилятора из Slice в различные языки программирования.
«Контрактный» принцип проектирования
В его рамках программная система рассматривается в виде множества взаимодействующих компонентов, чьи отношения строятся на основе точно определенной спецификации взаимных обязательств - контрактов. Контрактное Проектирование обеспечивает:
• лучшее понимание ОО метода и — в более широком плане — процесса конструирования ПО;
• систематический подход к построению не содержащих "багов" ОО систем;
• эффективную концептуальную схему для отладки, тестирования и — в конечном итоге — гарантии качества;
• метод для документирования программных компонентов;
• лучшее понимание и управление механизмом наследования;
• метод для обработки ненормальных ситуаций, обеспечивающий, в частности, безопасную и эффективную языковую конструкцию для обработки исключений.
|
|
Декомпозиция при вычислении обратной матрицы. Возможные схемы распределенного сценария вычислений: LU-разложение; блочная декомпозиция и дополнение Шура. Оценки эффективности реализации в РВС.
Дата добавления: 2018-02-18; просмотров: 552; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!