Микрокомпьютерный кластер для стресс-тестирования

Микрокомпьютерный кластер для стресс-тестирования

Я собираюсь построить кластер микрокомпьютеров на работе для стресс-тестирования одного из наших приложений, и хотя у меня есть небольшая финансовая свобода, я хотел бы сохранить низкую стоимость и высокую вычислительную мощность. Я также новичок в идее параллельных вычислений, и небольшое исследование, которое я провел до сих пор, довольно подавляющее. Вот что я хочу сделать:

  • есть кластер из 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
}

.. было бы достаточно.

Pis дешевы, но, похоже, у них нет той мощности, которая мне нужна для выполнения этих команд в разумные сроки. С другой стороны, я наткнулся наПараллельночто, кажется, достаточно, но стоит немного дороже. Я смотрел и на другие, типа wandboard, cubox, beaglebone и многие, многие другие.

Я извиняюсь, если мои идеи о том, как это работает, неверны, пожалуйста, не стесняйтесь, дайте мне знать, как это будет работать на самом деле! Я также не уверен, разрешены ли здесь вопросы с мнениями, но я стараюсь сохранять максимальную объективность.

Связанный контент