我希望在工作中建立一個微型電腦集群來對我們的一個應用程式進行壓力測試,雖然我有一點財務餘地,但我希望保持較低的成本和較高的計算能力。我對並行計算的想法也很陌生,到目前為止我所做的少量研究是相當艱鉅的。這是我想做的:
- 有一個由 n 台機器組成的集群
- 發送命令讓這些機器運行(最好是它們在它們之間分配工作,但如果我必須按順序發送給它們中的每台機器也可以),並讓它們在完成後向我報告
- 最好使用nodejs,但其他腳本語言如python和ruby也可以
我不知道如何將程式碼發送到設備,但如果它們並行運行,我希望從我的機器發送類似的內容:
cluster.runTest(0, 1000)
看起來cluster.runTest
像這樣:
runTest = function(start, num) {
for(var i=start; i<num; i++) { //split up which devices runs which commands, hopefully
sendRequestToServer()
}
}
但是,如果他們不能相互委託:
for(var i=0; i<10; i++) { //10 devices
chips[i].runCommand(i*100, (i+1)*100) //run a certain chunk of commands
}
..就足夠了。
Pi 很便宜,但它們似乎不具備我在合理時間內運行這些命令所需的那種能力。另一方面,我偶然發現了平行線這似乎足夠了,但成本有點高。我看過其他的,像是 wandboard、cubox、beaglebone,還有很多很多其他的。
如果我對這項工作的想法不正確,我深表歉意,請隨時讓我知道這實際上是如何工作的!我也不確定這裡是否允許提出意見問題,但我試圖盡可能保持客觀。