Armonik is a high throughput compute grid project using Kubernetes. The project provides a reference architecture that can be used to build and adapt a modern high throughput compute solution on-premise or using Cloud services, allowing users to submit high volumes of short and long running tasks and scaling environments dynamically.
Warning: This project is an Open Source (Apache 2.0 License).
Armonik should be used when the following criteria are meet:
- A high task throughput is required (from 250 to 10,000+ tasks per second).
- The tasks are loosely coupled.
- Variable workloads (tasks with heterogeneous execution times) are expected and the solution needs to dynamically scale with the load.
Armonik might not be the best choice if :
- The required task throughput is below 250 tasks per second.
- The tasks are tightly coupled, or use MPI.
- The tasks uses third party licensed software.
The following resources should be installed upon you local machine :
-
docker version > 1.19
-
kubectl version > 1.19
-
python > 3.7
-
helm version > 3
The current release of Armonik requires python3 in the PATH of your system, and the documentation assumes the use of virtualenv.
Set up this as follows (for example python3.7):
virtualenv --python=python3.7 venvWhen successful :
created virtual environment CPython3.7.10.final.0-64 in 1329ms
creator CPython3Posix(dest=<project_roor>/venv, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/user/Library/Application Support/virtualenv)
added seed packages: pip==21.0.1, setuptools==54.1.2, wheel==0.36.2
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivatorCheck you have the correct version of python (3.7.x), with a path rooted on <project_root>,
then start the environment:
source ./venv/bin/activate
Check the python version as follows:
$ which python
<project_root>/venv/bin/python
$ python -V
Python 3.7.10All instructions to build, deploy and test Armonik software are described in Armonik on-premise
All instructions to build, deploy and test Armonik software are described in Armonik on AWS cloud