1. 程式人生 > >計算密集型、IO密集型、資料密集型

計算密集型、IO密集型、資料密集型

計算密集型(CPU-Intensive)

1、特點:要進行大量的計算,消耗CPU資源。比如計算圓周率、對視訊進行高清解碼等等,全靠CPU的運算能力。

2、計算密集型任務雖然也可以用多工完成,但是任務越多,花在任務切換的時間就越多,CPU執行任務的效率就越低,所以,要最高效地利用CPU,計算密集型任務同時進行的數量應當等於CPU的核心數。

3、計算密集型任務由於主要消耗CPU資源,因此,程式碼執行效率至關重要。Python這樣的指令碼語言執行效率很低,完全不適合計算密集型任務。對於計算密集型任務,最好用C語言編寫。

IO密集型(IO-Intensive)

1、涉及到網路、磁碟IO的任務都是IO密集型任務。

2、特點:CPU消耗很少,任務的大部分時間都在等待IO操作完成(因為IO的速度遠遠低於CPU和記憶體的速度)。

3、對於IO密集型任務,任務越多,CPU效率越高,但也有一個限度。常見的大部分任務都是IO密集型任務,比如Web應用。

4、IO密集型任務執行期間,99%的時間都花在IO上,花在CPU上的時間很少,因此,用執行速度極快的C語言替換用Python這樣執行速度極低的指令碼語言,完全無法提升執行效率。對於IO密集型任務,最合適的語言就是開發效率最高(程式碼量最少)的語言,指令碼語言是首選,C語言最差。

文章轉載自:http://blog.csdn.net/qq_24885695/article/details/70214270

 

資料密集(Data-Intensive)

   在2011年,"大資料"的概念已經賺足了人氣,調研機構IDC數字宇宙在2011年6月的報告顯示,全球資料量在2011年已達到1.8ZB,在過去5年裡增加了5倍,而到2015年將達到近8ZB.進入2012年,大資料絲毫不會放慢增長的步伐,全球製造業、政府、零售商、金融等眾多機構已經陷入"資料爆炸"的困境。隨著資料量的急劇增長,以及對資料線上處理能力的要求不斷提高,海量資料的處理問題越來越受到關注。在金融、電信等領域,都需要通過對大量的使用者資料進行分析,才能做出相應的決策。對網際網路資料進行儲存和處理的海量資料處理系統也開始向資料密集型計算系統發展。

   資料密集型應用與計算密集型應用是存在區別的,傳統的計算密集型應用往往通過平行計算方式在緊耦合的超級計算機上執行少量計算作業,即一個計算作業同時佔用大量計算機節點;而資料密集型應用的特點主要是:

1.         大量獨立的資料分析處理作業可以分佈在鬆耦合的計算機集群系統的不同節點上執行;

2.         高度密集的海量資料I/O吞吐需求;

3.         大部分資料密集型應用都有個資料流驅動的流程。

資料密集型計算指能推動前沿技術發展的對海量和高速變化的資料的獲取、管理、分析和理解。這包含了三層含義:

●    它所處理的物件是資料,是圍繞著資料而展開的計算。它需要處理的資料量非常巨大,且快速變化,它們往往是分佈的、異構的。因此,傳統的資料庫管理系統不能滿足其需要。

●    "計算"包括了從資料獲取到管理再到分析、理解的整個過程。因此它既不同於資料檢索和資料庫查詢,也不同於傳統的科學計算和高效能運算。它是高效能運算與資料分析和挖掘的結合。

●    它的目的是推動技術前沿發展,要想推動的工作是那些依賴傳統的單一資料來源、準靜態資料庫所無法實現的應用。

資料型密集計算的典型應用可概括為以下三類:

1)Web應用:無論是傳統的搜尋引擎還是新興的Web 2.0應用,它們都是以海量資料為基礎,以資料處理為核心的網際網路服務系統。為支援這些應用,系統需要儲存、索引、備份海量異構的Web頁面、使用者訪問日誌以及使用者資訊(Profile),並且還要保證對這些資料快速準確的訪問 。顯然,這需要資料密集型計算系統的支援,因而WEB應用成為資料密集型計算髮源地。

2)軟體即服務(Software as a Service, SaaS)應用:SaaS通過提供公開的軟體服務介面,使得使用者能夠在公共的平臺上得到定製的軟體功能,從而為使用者節省了軟硬體平臺的購買和維護費用,也為應用和服務整合提供了可能。由於使用者的各類應用所涉及的資料具有海量、異構、動態等特性,有效地管理和整合這些資料,並在保證資料安全和隱私的前提下提供資料融合和互操作功能需要資料密集型計算系統的支援。

3)大型企業的商務智慧應用:大型企業往往在地理上是跨區域分佈的,網際網路提供了統一管理和全域性決策的平臺。實現企業商務智慧需要整合生產、銷售、供應、服務、人事、財務等一系列子系統。資料是整合的物件之一,更是實現商務智慧的基礎。由於這些系統中的資料包括產品設計、生產過程以及計劃、客戶、訂單、售前後服務等資料,除型別多樣,數量巨大外,結構也是複雜、異構的。資料密集型計算系統是實現跨區域企業商務智慧的支撐技術。