流水線與并行計算

概括來說并行計算是同時使用多種計算資源解決問題,是一種提高計算機系統(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í)行計算。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容