Skip to content
/ ars Public

Automated Resource Scheduling for Compute Resources

License

Notifications You must be signed in to change notification settings

afics/ars

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Automated Resource Scheduling (ARS)

This tool distributes compute resources (VMs, containers, or anything else)
according to available hardware resources, load and configured constraints. It
populates a model which is subsequently solved using a SAT solver from OR-tools
[0]. Run it by executing main.py in a loop every few minutes. It looks for its
configuration in a file named ars.cfg in the current working directory.

With regards to resource usage both CPU and memory utilization are considered.
Supported constraints are:
  - VM-to-VM (Resource-to-Resource)
  - VM-to-Host (Resource-to-Compute-Node)
Both support affinity (keep-together, run-on) and anti-affinity (keep-apart,
run-elsewhere). Example configurations show casing this can be found in the
examples/ directory.

**WARNING**: This tool is highly EXPERIMENTAL. Altough it is used daily by its
creator, it is not recommended to use it in production environments. It is
missing documentation, logging and tests.

Currently supported is Proxmox VE, but the tool is supposed to be easily
extendable to other systems.

This project is licensed under the GPLv3 LICENSE.

[0] https://github.com/google/or-tools

About

Automated Resource Scheduling for Compute Resources

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages