2013-10-20 55 views
0

我在下面看了一篇關於Storm的帖子。 What is the "task" in Storm parallelismStorm中只有「針對機器的並行計算」,而不是「針對每臺機器的並行計算」?

對於我來說,這個問題和答案都非常有幫助,這是Storm的初學者。不過,我仍然有一些評論。 它在答覆中指出,

運行每執行多個任務不增加並行的水平 - 一個>執行總是有它使用其所有的任務,這意味着任務的一個線程>連續執行一個執行器。

這是否意味着Storm的「並行計算」專注於「並行機器」。正如Miguno所說,它使我們能夠靈活地擴展集羣機器。但是,該機器正在集成越來越多的CPU核心,如果我們對羣集中的每臺機器使用並行計算,它會更有用嗎? (在某種程度上,我覺得每臺機器上的多核也是一個「集羣」)。 也有一些非常有用的並行編程庫,如AKKA,Disruptor,Killim等,這使我們可以方便地開發並行程序。

我不確定我是否誤解了有關Storm框架(或這種可能計算框架)的內容?

謝謝,

回答

0

有點困惑你到底在問什麼。正如在同一篇文章中提到的那樣,通過增加Worker Process,您可以增加羣集中運行的Java進程的數量以執行任務。

wiki它說

Config.TOPOLOGY_WORKERS:設置工作進程的數量 使用執行拓撲。例如,如果將其設置爲25,那麼執行所有任務的集羣中將有25個Java進程爲 。 如果您在 拓撲中的所有組件之間具有150個並行性,則每個工作進程將有6個任務作爲 線程運行。

它可以做這樣的事情

Config conf = new Config(); 
    conf.setNumWorkers(25); 

做按說並行計算如果您有意增加線程隨後的數,你應該尋找在executors,通過增加同你可以爲每個組件產生更多的線程。從你提到的同一篇文章中可以看到

請注意,從Storm 0.8開始,parallelism_hint參數現在指定該螺栓的執行程序的初始數量(不是任務!)。

e.g topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2)

請糾正我,如果我誤解了你正在尋求

+0

感謝您的答覆。是的,這是我正在尋找的答案(對不起,我錯過了你提到的原創藝術)。另一個令人困惑的「雲計算」是我覺得多線程編程並不容易,因爲在這裏「多線程」標籤下有很多帖子:)。然而,在我看到的「雲計算」的文章中,關於這一點的關注較少,僅限於擴展架構的能力。也許我失去了一些文章。 (我沒有可以計算的實踐經驗。) –

相關問題