私は私たちのアプリケーションの1つをストレステストするために職場でマイクロコンピュータクラスタを構築しようとしています。少しの金融余裕がある間、コストは低く保ち、コンピューティングのパフォーマンスは高く保ちたいです。私も並列コンピューティングのアイデアに初めて触れましたが、これまでに行った小さな研究はかなり難しいことでした。これが私がしたいことです:
- 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、cubbox、beagleboneなどの他のものをたくさん見ました。
この仕事について私の考えが間違っている場合は謝罪します。これが実際にどのように機能するか教えてください!ここでコメントの質問が許可されるかどうかはわかりませんが、できるだけ客観的にしようとしています。