2、計算密集型任務雖然也可以用多工完成,但是任務越多,花在任務切換的時間就越多,cpu執行任務的效率就越低,所以,要最高效地利用cpu,計算密集型任務同時進行的數量應當等於cpu的核心數。
3、計算密集型任務由於主要消耗cpu資源,因此,**執行效率至關重要。python這樣的指令碼語言執行效率很低,完全不適合計算密集型任務。對於計算密集型任務,最好用c語言編寫。
1、涉及到網路、磁碟io的任務都是io密集型任務。
2、特點:cpu消耗很少,任務的大部分時間都在等待io操作完成(因為io的速度遠遠低於cpu和記憶體的速度)。
3、對於io密集型任務,任務越多,cpu效率越高,但也有乙個限度。常見的大部分任務都是io密集型任務,比如web應用。
4、io密集型任務執行期間,99%的時間都花在io上,花在cpu上的時間很少,因此,用執行速度極快的c語言替換用python這樣執行速度極低的指令碼語言,完全無法提公升執行效率。對於io密集型任務,最合適的語言就是開發效率最高(**量最少)的語言,指令碼語言是首選,c語言最差。
資料密集型應用與計算密集型應用是存在區別的,傳統的計算密集型應用往往通過平行計算方式在緊耦合的超級計算機上執行少量計算作業,即乙個計算作業同時占用大量計算機節點;而資料密集型應用的特點主要是:
資料密集型計算指能推動前沿技術發展的對海量和高速變化的資料的獲取、管理、分析和理解。這包含了三層含義:
● 它所處理的物件是資料,是圍繞著資料而展開的計算。它需要處理的資料量非常巨大,且快速變化,它們往往是分布的、異構的。因此,傳統的資料庫管理系統不能滿足其需要。
● "計算"包括了從資料獲取到管理再到分析、理解的整個過程。因此它既不同於資料檢索和資料庫查詢,也不同於傳統的科學計算和高效能計算。它是高效能計算與資料分析和挖掘的結合。
● 它的目的是推動技術前沿發展,要想推動的工作是那些依賴傳統的單一資料來源、準靜態資料庫所無法實現的應用。
資料型密集計算的典型應用可概括為以下三類:
1)web應用:無論是傳統的搜尋引擎還是新興的web 2.0應用,它們都是以海量資料為基礎,以資料處理為核心的網際網路服務系統。為支援這些應用,系統需要儲存、索引、備份海量異構的web頁面、使用者訪問日誌以及使用者資訊(profile),並且還要保證對這些資料快速準確的訪問 。顯然,這需要資料密集型計算系統的支援,因而web應用成為資料密集型計算發源地。
2)軟體即服務(software as a service, saas)應用:saas通過提供公開的軟體服務介面,使得使用者能夠在公共的平台上得到定製的軟體功能,從而為使用者節省了軟硬體平台的購買和維護費用,也為應用和服務整合提供了可能。由於使用者的各類應用所涉及的資料具有海量、異構、動態等特性,有效地管理和整合這些資料,並在保證資料安全和隱私的前提下提供資料融合和互操作功能需要資料密集型計算系統的支援。
3)大型企業的商務智慧型應用:大型企業往往在地理上是跨區域分布的,網際網路提供了統一管理和全域性決策的平台。實現企業商務智慧型需要整合生產、銷售、**、服務、人事、財務等一系列子系統。資料是整合的物件之一,更是實現商務智慧型的基礎。由於這些系統中的資料報括產品設計、生產過程以及計畫、客戶、訂單、售前後服務等資料,除型別多樣,數量巨大外,結構也是複雜、異構的。資料密集型計算系統是實現跨區域企業商務智慧型的支撐技術。
CPU 密集型 計算密集型,IO密集型
1 cpu 密集型 計算密集型 計算密集型,顧名思義就是應用需要非常多的cpu計算資源,在多核cpu時代,我們要讓每乙個cpu核心都參與計算,將cpu的效能充分利用起來,這樣才算是沒有浪費伺服器配置,如果在非常好的伺服器配置上還執行著單執行緒程式那將是多麼重大的浪費。對於計算密集型的應用,完全是靠c...
cpu密集型 計算密集型 io密集型 簡介
cpu密集型 cpu bound cpu密集型也叫計算密集型,指的是系統的硬碟 記憶體效能相對cpu要好很多,此時,系統運作大部分的狀況是cpu loading 100 cpu要讀 寫i o 硬碟 記憶體 i o在很短的時間就可以完成,而cpu還有許多運算要處理,cpu loading很高。在多重程...
計算密集型和IO密集型
什麼是計算密集型 計算密集型就是計算 邏輯判斷量非常大而且集中的型別,因為主要占用cpu資源所以又叫cpu密集型,而且當計算任務數等於cpu核心數的時候,是cpu執行效率最高的時候。特點 消耗cpu 什麼是io密集型 io密集型就是磁碟的讀取資料和輸出資料非常大的時候就是屬於io密集型 由於io操作...