A. 什麼是並行計算什麼是分布式計算
【並行計算】
並行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程,是提高計算機系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來並行計算。並行計算系統既可以是專門設計的、含有多個處理器的超級計算機,也可以是以某種方式互連的若乾颱的獨立計算機構成的集群。通過並行計算集群完成數據的處理,再將處理的結果返回給用戶。
並行計算可分為時間上的並行和空間上的並行。
時間上的並行:是指流水線技術,比如說工廠生產食品的時候步驟分為:
1. 清洗:將食品沖洗干凈。
2. 消毒:將食品進行消毒處理。
3. 切割:將食品切成小塊。
4. 包裝:將食品裝入包裝袋。
如果不採用流水線,一個食品完成上述四個步驟後,下一個食品才進行處理,耗時且影響效率。但是採用流水線技術,就可以同時處理四個食品。這就是並行演算法中的時間並行,在同一時間啟動兩個或兩個以上的操作,大大提高計算性能。
l 空間上的並行:是指多個處理機並發的執行計算,即通過網路將兩個以上的處理機連接起來,達到同時計算同一個任務的不同部分,或者單個處理機無法解決的大型問題。
【分布式計算】
所謂分布式計算是一門計算機科學,它研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。 最近的分布式計算項目已經被用於使用世界各地成千上萬位志願者的計算機的閑置計算能力,通過網際網路,您可以分析來自外太空的電訊號,尋找隱蔽的黑洞,並探索可能存在的外星智慧生命;您可以尋找超過1000萬位數字的梅森質數;您也可以尋找並發現對抗艾滋病病毒的更為有效的葯物。這些項目都很龐大,需要驚人的計算量,僅僅由單個的電腦或是個人在一個能讓人接受的時間內計算完成是決不可能的。
中國科學院的定義
分布式計算是一種新的計算方式。所謂分布式計算就是在兩個或多個軟體互相共享信息,這些軟體既可以在同一台計算機上運行,也可以在通過網路連接起來的多台計算機上運行。分布式計算比起其它演算法具有以下幾個優點:
1、稀有資源可以共享。
2、通過分布式計算可以在多台計算機上平衡計算負載。
3、可以把程序放在最適合運行它的計算機上。
其中,共享稀有資源和平衡負載是計算機分布式計算的核心思想之一。
B. 為什麼需要並行演算法
並行演算法可以在同時進行計算,提高運算速度,
這個視頻很清楚地展示出了並行計算的優點:
http://v.youku.com/v_show/id_XMTQxNTY2Njg0.html
C. 並行演算法的介紹
並行演算法就是用多台處理機 聯合求解問題的方法和步驟,其執行過程是將給定的問題首先分解成若干個盡量相互獨立的子問 題,然後使用多台計算機同時求解它,從而最終求得原問題的解.
D. 並行數據挖掘是指什麼並行呢
並行數據挖掘技術不同於其它並行演算法的地方在於它需要處理的數據的規模很大。人們知道,對於並行而言,交互之間的消耗(即內存的使用)是比執行時間(計算階段)重要得多的因素。串列數據挖掘演算法對於規模很小的數據也需要大量的運行時間,而且可用於分析的數據增長得很快,這樣就需要尋找用於數據挖掘的並行演算法,目前對並行數據挖掘演算法已有了充分的研究
並行數據挖掘的策略
一個演算法的復雜性可以表示為空間復雜性和時間復雜性兩個方面。並行演算法的目標是盡可能減少時間復雜性,但其代價是通過增加空間復雜性(如增加空間的維數及增加處理器的台數)來實現的。從演算法樹的結構來看,通常的串列演算法樹「深而窄」;而並行演算法樹的結構截然不同。為了達到把時間復雜性轉化為空間復雜性的目的,並行演算法樹採用「淺而寬」的結構即每個時刻可容納的計算量相應增加,使整個演算法的步數盡可能減少。
並行數據挖掘策略通常是有三種:
1.樸素並行,也就是人們通常說的網路並行。網路並行,就是通過高速信息網路充分利用網上的計算機資源,實現大規模數據上的並行計算。在這種並行類型中用於計算的時間會減少但是每一個處理器都要掃描所有的數據,這樣就阻礙了演算法性能的提高。
2.典型並行是當前並行數據挖掘策略的典型代表(這里稱為典型並行)。在演算法的每一步中,一個處理器只處理 1/p 的數據,而且在步驟的最後需要交換從數據中收集到的信息。
3邏輯並行類型 的技術是適用於邏輯性較強的並行。對於這種類型的並行數據挖掘策略,初始化階段可能要重復進行是為了給該類型技術的結構減小數據規模。然而,該結構進一步發生在進一步抽取信息的過程中。許多歸納的邏輯方法(如的處理是ProgoL) 就是這種並行類型。
E. 並行計算的定義
並行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程,是提高計算機系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來並行計算。並行計算系統既可以是專門設計的、含有多個處理器的超級計算機,也可以是以某種方式互連的若乾颱的獨立計算機構成的集群。通過並行計算集群完成數據的處理,再將處理的結果返回給用戶。
並行計算可分為時間上的並行和空間上的並行。
時間上的並行:是指流水線技術,比如說工廠生產食品的時候步驟分為:
1. 清洗:將食品沖洗干凈。
2. 消毒:將食品進行消毒處理。
3. 切割:將食品切成小塊。
4. 包裝:將食品裝入包裝袋。
如果不採用流水線,一個食品完成上述四個步驟後,下一個食品才進行處理,耗時且影響效率。但是採用流水線技術,就可以同時處理四個食品。這就是並行演算法中的時間並行,在同一時間啟動兩個或兩個以上的操作,大大提高計算性能。
l 空間上的並行:是指多個處理機並發的執行計算,即通過網路將兩個以上的處理機連接起來,達到同時計算同一個任務的不同部分,或者單個處理機無法解決的大型問題。
比如小李准備在植樹節種三棵樹,如果小李1個人需要6個小時才能完成任務,植樹節當天他叫來了好朋友小紅、小王,三個人同時開始挖坑植樹,2個小時後每個人都完成了一顆植樹任務,這就是並行演算法中的空間並行,將一個大任務分割成多個相同的子任務,來加快問題解決速度。
F. 並行計算與串列計算有什麼區別
元計算FELAC並行版和串列版要區分特別簡單,串列版是只能在一台電腦進行工作,而並行版沒有電腦台數工作的限制。所以大多數會選擇並行版。
G. 什麼是並行演算法的復雜度復雜度作用可以通過哪些指標來分析
時間復雜度
演算法的時間復雜度是指執行演算法所需要的時間。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
T(n)=Ο(f(n))
因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度
2.空間復雜度
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
3.正確性
演算法的正確性是評價一個演算法優劣的最重要的標准。
4.可讀性
演算法的可讀性是指一個演算法可供人們閱讀的容易程度。
5.健壯性
健壯性是指一個演算法對不合理數據輸入的反應能力和處理能力,也成為容錯性。
H. 串列演算法和並行演算法有什麼區別 盡可能詳細點
串列演算法是單個處理器的運算並行演算法,是將一個計算任務分攤到多個處理器上並同時運行的計算方法。比如雙核CPU ,從外部看起來是一個CPU,但是內部有兩個運算核心。
I. 請問並行計算和分布式計算的區別和聯系都是什麼
首先,應用的場合和解決的問題不一樣。分布式計算比較傾向於在計算尋找模式的東西,窮舉暴力之類的計算。分布式的計算被分解後的小任務互相之間有獨立性,節點之間的結果幾乎不互相影響,實時性要求不高。而並行計算則比較傾向於一些海量數據進行分析處理的場合,每個節點的每一個任務塊都是必要的,計算的結果相互影響,要求每個節點的計算結果要絕對正確,並且在時間上做到同步。舉例來說,像MD5破解,就比較適合使用大規模的分布式計算來窮舉,但對海量日誌數據進行處理來分析用戶行為就比較適合並行計算處理。
其次,實現方式區別比較大。分布式計算會是一個比較鬆散的結構,並行計算則是各節點之間通過高速網路或其它匯流排之類的東西連接。因此並行計算一般在企業內部進行,而分布式計算可能會跨越區域網,或者直接部署在互聯網上,節點之間幾乎不互相通信。很多公益性的項目,就是的使用分布式計算的方式在互聯網上實現,比如以尋找外星人為目的的SETI項目。