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.