Software Architecture - cjus/hydra-cluster GitHub Wiki

One Pi 3 is used to host a local instance of Redis and a node webapp, called the MCP, which provides remote web-based control features. The same Pi performs compute task on its two remaining CPU cores.

Each computer is running Raspbian Jesse lite and NodeJS 6.x. The remaining 10 cores are running Hydra on each core.

The web-based MCP program allows for the display and monitoring of the cluster, it also allows for job submissions via a built in editor or file upload.

Cast of players

The Hydra Cluster consists of several software programs.

Name Type Purpose
Hydra npm Microservices library
NodeJS platform JavaScript execution engine and platform
Redis server Key-Value store and pubsub messaging
ConStats console Display server stats
machinfo service Monitors machine level status and processes jobs
MCP web app Master Control Program, status and job monitoring and submission
IoTNode service Handles job execution

All of the code, except for the code running on the Arduino micro-controller, is written in JavaScript and running under NodeJS.