Что такое распределенное программирование?

Начальный уровень
Разработка
Учащийся
Azure

Узнайте о распределенном программировании и его преимуществах для облачной разработки, включая модели программирования, типы параллелизма и возможности симметричной и асимметричной архитектуры.

Цели обучения

В этом модуле вы узнаете, как выполнять следующие задачи:

  • Классификация программ как последовательных, параллельных и распределенных
  • Указание того, почему программисты обычно выполняют параллелизацию последовательных программ
  • Объяснение значимости облачных программ для решения сложных вычислительных проблем
  • Определение распределенных систем и указание отношений между распределенными системами и облаками
  • Определение моделей распределенного программирования
  • Определение необходимости синхронизация в системах с общей памятью
  • Описание взаимодействия задач с помощью модели программирования с передачей сообщений
  • Определение различий между синхронными и асинхронными программами
  • Определение модели синхронных параллельных вычислений BSP
  • Определение различия между параллелизмом данных и параллелизмом графов
  • Определение различия между следующими распределенными программами: модель "одна программа — много данных" (SPMD) и модель "много программ — много данных" (MPMD)
  • Изучение двух основных методов, которые можно включить в распределенные программы для устранения проблем с взаимодействием в облаке
  • Определение разнородных и однородных облаков и выявление основных причин разнородности в облаке
  • Пояснения к необходимости синхронизации в облаке
  • Определение основного метода, который можно использовать для допуска ошибок в облаках
  • Описание разницы между планированием задач и планированием заданий

В партнерстве с доктором Маждом Сакром (Majd Sakr) и Университетом Карнеги — Меллона.

Предварительные требования

  • Понимание темы облачных вычислений, в том числе знакомство с моделями и некоторыми поставщиками облачных служб.
  • Знание технологий, лежащих в основе облачных вычислений.
  • Представление о том, как поставщики облачных служб управляют оплатой и выставлением счетов за использование облака.
  • Знание понятия центров обработки данных и их назначения.
  • Знания в области настройки, поддержки и подготовки центров обработки данных.
  • Представление о том, как подготавливаются и измеряются облачные ресурсы.
  • Знакомство с понятием виртуализации.
  • Знание различных типов виртуализации.
  • Представление о виртуализации ЦП.
  • Представление о виртуализации памяти.
  • Представление о виртуализации ввода-вывода.
  • Знания различных типов данных и об их хранении
  • Знакомство с распределенными файловыми системами и принципами их работы
  • Знакомство с базами данных NoSQL и хранилищем объектов, а также с принципами их работы