Что такое распределенное программирование?
Узнайте о распределенном программировании и его преимуществах для облачной разработки, включая модели программирования, типы параллелизма и возможности симметричной и асимметричной архитектуры.
Цели обучения
В этом модуле рассматриваются следующие темы:
- Классификация программ как последовательных, параллельных и распределенных
- Указание того, почему программисты обычно выполняют параллелизацию последовательных программ
- Объяснение значимости облачных программ для решения сложных вычислительных проблем
- Определение распределенных систем и указание отношений между распределенными системами и облаками
- Определение моделей распределенного программирования
- Определение необходимости синхронизация в системах с общей памятью
- Описание взаимодействия задач с помощью модели программирования с передачей сообщений
- Определение различий между синхронными и асинхронными программами
- Определение модели синхронных параллельных вычислений BSP
- Определение различия между параллелизмом данных и параллелизмом графов
- Определение различия между следующими распределенными программами: модель "одна программа — много данных" (SPMD) и модель "много программ — много данных" (MPMD)
- Изучение двух основных методов, которые можно включить в распределенные программы для устранения проблем с взаимодействием в облаке
- Определение разнородных и однородных облаков и определение основных причин разнородности в облаке
- Пояснения к необходимости синхронизации в облаке
- Определение основного метода, который можно использовать для допуска ошибок в облаках
- Описание разницы между планированием задач и планированием заданий
В партнерстве с доктором Маджд Сакр и Университетом Карнеги Меллон.
Предварительные требования
- Понимание темы облачных вычислений, в том числе знакомство с моделями и некоторыми поставщиками облачных служб.
- Знание технологий, лежащих в основе облачных вычислений.
- Представление о том, как поставщики облачных служб управляют оплатой и выставлением счетов за использование облака.
- Знание понятия центров обработки данных и их назначения.
- Знания в области настройки, поддержки и подготовки центров обработки данных.
- Представление о том, как подготавливаются и измеряются облачные ресурсы.
- Знакомство с понятием виртуализации.
- Знание различных типов виртуализации.
- Представление о виртуализации ЦП.
- Представление о виртуализации памяти.
- Представление о виртуализации ввода-вывода.
- Знания различных типов данных и об их хранении
- Знакомство с распределенными файловыми системами и принципами их работы.
- Знакомство с базами данных NoSQL и хранилищем объектов, а также с принципами их работы