概括來說并行計算是同時使用多種計算資源解決問題,是一種提高計算機系統(tǒng)計算速度和處理能力的有效手段。
并行是一個相對于串行來說的概念,它是一種可以一次執(zhí)行多個指令的算法,目的是提高計算的速度,以及通過擴大問題的求解規(guī)模從而解決大型而復(fù)雜的計算問題。
并行計算可以分為時間和空間上的并行兩種。
時間上的并行是指流水線技術(shù)。空間上的并行是指用多個處理器并發(fā)地執(zhí)行計算。
舉個簡單的例子。(看這里看這里)
假設(shè)有一個食品加工小作坊,它生產(chǎn)某種食品需要經(jīng)過清洗、消毒、切割、包裝共四步,目前只有1個工人1臺機器且每個步驟的操作均需要工人參與(非自動化),假設(shè)每個步驟需要1分鐘(不要深究,就是個假設(shè))。
那么每件商品的生產(chǎn)需要耗時4分鐘,在只有一個工人的前提下,8分鐘只能生產(chǎn)2件商品:即要分別經(jīng)過“清洗、消毒、切割、包裝”“清洗、消毒、切割、包裝”,在其中某一個步驟進行的時候,用于完成其余功能的機器組件是閑置狀態(tài)(很浪費)。
這個時候,我們可以選擇再雇傭3個工人,這樣目前一共有4個人手,我們讓4個人分別負責某一步驟且同時操作,8分鐘后可以得到8件商品(假設(shè)已經(jīng)經(jīng)過了initial狀態(tài),那么每個步驟在8分鐘內(nèi)分別執(zhí)行了8次),將吞吐量提高了4倍。這個過程對應(yīng)于“并行計算”在時間上的并行,也就是流水線的概念。
那么如果我再雇傭4個人,再買一臺設(shè)備,此時已經(jīng)有8個工人了,每2個人操作2臺機器負責一個步驟,這樣8分鐘后可以得到16件產(chǎn)品,這就是“并行計算”在空間上的并行。即用多個處理器并發(fā)的執(zhí)行計算。