OpenNebulaConf2017EU: FairShare Scheduling by Valentina Zaccolo, INDIGO
1. FairShare Scheduling for OpenNebula:
architecture and performances
Stefano Bagnasco, Sara Vallero and Valentina Zaccolo
Istituto Nazionale
di Fisica Nucleare - Torino
1
INDIGO - DataCloud receives funding from the European Union’s Horizon 2020 research and innovation
programme under grant agreement RIA 653549
INDIGO - DataCloud
Better Software for Better Science
INDIGO - DataCloud
Better Software for Better Science
INDIGO – DataCloud
Better Software for Better Science
2. Valentina Zaccolo – OpenNebulaConf 2
Why scheduling fairly?
Large public cloud
• approximately infinite resources
• tenants are charged a posteriori
! applications scale in/out freely
Small scientific datacenter
• saturated regime
• tenants are charged a priori
! advanced resource allocation needed
FairShare Scheduling (FaSS) service
https://github.com/indigo-dc/one-fass
task priorities assigned according to
• v1.0 released with ElectricIndigo in April 2017 with ONE patch
• v1.2 ONE 5.4 compatibility!
check installation and usage demo: https://vimeo.com/216656868, pass: fass
Default OpenNebula (ONE) scheduler is FIFO and based only on static
resources partitioning among the projects " not suitable for scientific DC
initial weight
historical resource usage
3. Valentina Zaccolo – OpenNebulaConf 3
High-level architecture
FIFO SCHEDULER
XML-RPC INTERFACE
fassd
RPC PM TERMINATOR
asynchronous modules
- kills running VMs- only handles
queue
FaSS
- stateless
(no duplicated info in DB)
6. 4
Performances
Test with three users: initial shares configured in /etc/fass/shares.conf :
[huey]
uid=4
gid=1
share=50
[louie]
uid=6
gid=1
share=25
[dewey]
uid=5
gid=1
share=25
Periodically instatiates VMs
for all 3 users
Stops instantiating Louie Reaches configured shares
Instantiates
all 3 users again
7. 4
Performances
Test with three users: initial shares configured in /etc/fass/shares.conf :
[huey]
uid=4
gid=1
share=50
[louie]
uid=6
gid=1
share=25
[dewey]
uid=5
gid=1
share=25
Periodically instatiates VMs
for all 3 users
• configurable TTL per user
• configurable terminator action
• test different algorithms
• …
Stops instantiating Louie
Instantiates
all 3 users again
Reaches configured shares