Skip to content
This repository was archived by the owner on Feb 4, 2022. It is now read-only.

pesos/heiko

Folders and files

NameName
Last commit message
Last commit date
Jan 11, 2021
Mar 21, 2021
Jan 9, 2021
Nov 4, 2020
Mar 6, 2021
Dec 8, 2020
Jan 9, 2021
May 2, 2021
Jan 11, 2021
Jan 9, 2021
Jan 10, 2021
Dec 7, 2020

Repository files navigation

heiko

Documentation Status PyPI version Code style: black

heiko is a lightweight load balancer that uses SSH to manage servers running on low-end hardware such as Raspberry Pis or even mobile phones.

The name heiko is derived from the Japanese term for equilibrium.

heiko uses a smart scheduler to run a program on one node from a set of nodes. It is very robust to node failures and switches to a different node as soon as the current node fails. The node to run is intelligently selected based on multiple factors such as CPU power, memory capacity, free memory, current CPU load, past failures and others.

Installation and Usage

Installation using pip

pip install py-heiko

Installation from source

git clone https://github.com/pesos/heiko.git
cd heiko
pip install .

Check if the installation succeeded

heiko --help

Check out the quickstart section of the documentation for usage and more information.

Features

  • Configuring nodes using YAML.
  • Nodes require only ssh to work.
  • Scheduler ranks nodes based on node specifications, also uses load and free memory to decide which node to use.
  • Run multiple jobs across nodes.
  • Test heiko on a single machine.
  • Sync files from master to nodes (requires rsync installed on both master and nodes). Ignore files to be synced with rsync-ignore

License

heiko uses Apache License 2.0