我希望在工作中构建一个微型计算机集群来对我们的一个应用程序进行压力测试,虽然我有一点财务余地,但我希望保持较低的成本和较高的计算能力。我对并行计算的想法也很陌生,到目前为止我所做的少量研究是相当艰巨的。这是我想做的:
- 有一个由 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,还有很多很多其他的。
如果我对这项工作的想法不正确,我深表歉意,请随时让我知道这实际上是如何工作的!我也不确定这里是否允许提出意见问题,但我试图尽可能保持客观。