什麼是分散式程式設計?

初級
開發人員
學生
Azure

了解分散式程式設計及其適用於雲端的原因,包括程式設計模型、平行處理原則的類型,以及對稱與非對稱架構的比較。

學習目標

在本課程模組中,您將會:

  • 將程式分類為循序、並行、平行和分散式
  • 指出程式設計人員為何通常會平行處理循序程式
  • 說明雲端程式對於解決複雜計算問題來說為何很重要
  • 定義分散式系統,並指出分散式系統和雲端之間的關聯性
  • 定義分散式程式設計模型
  • 指出共用記憶體系統為何需要同步處理
  • 描述工作如何使用訊息傳遞程式設計模型來通訊
  • 概述同步和非同步程式之間的差異
  • 說明大量同步平行 (BSP) 模型
  • 概述資料平行處理原則和圖表平行處理原則之間的差異
  • 區分下列分散式程式:單一程式、多個資料 (SPMD),以及多個程式、多個資料 (MPMD)
  • 討論可納入分散式程式以解決雲端中通訊瓶頸的兩個主要技術
  • 定義異質和同質雲端,並找出雲端中異質性的主要原因
  • 說明雲端中需要同步處理的時機和原因
  • 判別可用來容忍雲端錯誤的主要技巧
  • 概述工作排程與作業排程之間的差異

與 Majd Sakr 博士及卡內基美隆大學合作。

必要條件

  • 了解什麼是雲端運算,包括雲端服務模型與常見的雲端提供者
  • 了解實現雲端運算的技術
  • 了解雲端服務提供者如何支付雲端費用與計費
  • 了解什麼是資料中心與其存在原因
  • 了解資料中心如何設定、提供技術支援及佈建
  • 了解雲端資源的佈建及計量方式
  • 熟悉虛擬化的概念
  • 了解不同類型的虛擬化
  • 了解 CPU 虛擬化
  • 了解記憶體虛擬化
  • 了解 I/O 虛擬化
  • 了解不同類型的資料及其儲存方式
  • 熟悉分散式檔案系統及其運作方式
  • 熟悉 NoSQL 資料庫和物件儲存體及其運作方式