含有多個邏輯上的獨立執行塊,它們能夠獨立地並行執行,也能夠串行執行。web
同一時間應對多件事的能力服務器
同一時間動手作多件事情的能力網絡
並行等同於多核,但線代計算機在不一樣層次上都是用來並行技術。
如:單核的運行速度每一年不斷提高的緣由是:單核包含的晶體管數量(如摩爾定律預測那樣變得愈來愈多)
而單核在位級和指令級兩個層次上都可以並行地使用這些晶體管資源。架構
– 位級並行: 兩個32位數想加,8位計算機必須進行8次計算,而32位計算機一步完成,即並行處理32位數的4個字節
–指令級並行:cpu並行度很高,其中包括流水線、亂序執行和猜想執行等。這種串行設計逐漸變得不適用。」待補充」
–數據級並行:也稱」單指令多數據」,SIMD架構,能夠並行地在大量數據上施加統一操做。這並不適合解決全部問題,但在
適合場景能夠大展身手。
圖像處理就是一種適合的場景。如,爲了增長圖片亮度須要增長每一個像素的亮度(現代GPU也因圖像處理的特色而煙花成了極其強大的數據並行處理器)
–任務級並行
多處理器 共享內存
對於共享內存的多處理器系統,每一個處理器都訪問整個內存,處理之間的通訊經過內存進行
分佈式內存的多處理器系統
對於分佈式內存的多處理器系統,每一個處理器都有本身的內存,處理器之間通訊主要經過網絡。
併發
1.併發的世界,併發的軟件
手機能夠同時播放音樂,同時上網瀏覽
2.分佈式的世界,分佈式的軟件
分佈式的服務器能夠解決地理分佈問題,咱們能夠把
服務器一半部署到歐洲,一半部署到亞洲
3.不可預測的世界,容錯性強的軟件
併發代碼的關鍵是獨立性和故障檢測
4.複雜的世界,簡單的軟件分佈式