Estoy buscando construir un grupo de microcomputadoras en el trabajo para realizar pruebas de estrés en una de nuestras aplicaciones y, aunque tengo un poco de margen financiero, me gustaría mantener el costo bajo y la capacidad informática alta. También soy muy nuevo en la idea de la computación paralela y la poca investigación que he realizado hasta ahora es bastante abrumadora. Esto es lo que quiero hacer:
- tener un grupo de n máquinas
- enviar un comando para que estas máquinas se ejecuten (preferiblemente, distribuyen el trabajo entre ellas, pero si tengo que enviarlo a cada una de ellas en secuencia, también está bien), y hacer que me informen cuando hayan terminado.
- preferiblemente con nodejs, pero otros lenguajes de script como python y ruby también están bien
No sé cómo enviar código a los dispositivos, pero esperaría enviar algo como esto desde mi máquina si se ejecutaran en paralelo:
cluster.runTest(0, 1000)
donde cluster.runTest
se ve así:
runTest = function(start, num) {
for(var i=start; i<num; i++) { //split up which devices runs which commands, hopefully
sendRequestToServer()
}
}
Sin embargo, si no pueden delegar entre ellos:
for(var i=0; i<10; i++) { //10 devices
chips[i].runCommand(i*100, (i+1)*100) //run a certain chunk of commands
}
.. sería suficiente.
Los Pis son baratos, pero no parecen tener el tipo de potencia que necesitaría para ejecutar estos comandos en un tiempo razonable. Por otro lado, me topé con elParalelalo cual parece suficiente, pero cuesta un poco más. He mirado otros como wandboard, cubox, beaglebone y muchos, muchos otros.
Pido disculpas si mis ideas sobre cómo funciona esto son incorrectas. ¡No dude en informarme cómo funcionaría realmente! Tampoco estoy seguro de si se permiten preguntas de opinión aquí, pero intento mantenerlas lo más objetivas posible.