Date post: | 22-Jan-2018 |
Category: |
Technology |
Upload: | opennebula-project |
View: | 63 times |
Download: | 3 times |
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
CHEP 2016 - October 10/14 - San Francisco (CA)
Vallero Sara - Bagnasco Stefano
INDIGO - DataCloudBetter Software for Better Science
A FairShare Scheduling Service for OpenNebula
INDIGO - DataCloudBetter Software for Better Science
INDIGO – DataCloud Better Software for Better Science
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
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)
Valentina Zaccolo – OpenNebulaConf 3
High-level architecture
FIFO SCHEDULER
XML-RPC INTERFACE
fassd
RPC PM TERMINATOR
asynchronous modules asks queue
queue
- reorders queue - kills pending VMs (synchronous)
- kills running VMs
influxDB - nosql - holds internal data (initial priorities, historical usage, recalculated priorities)
Algorithms - MultiFactor
FaSS - stateless (no duplicated info in DB)
- only handles queue
Valentina Zaccolo – OpenNebulaConf 3
High-level architecture
FIFO SCHEDULER
XML-RPC INTERFACE
FaSS fassd
RPC PM TERMINATOR
asynchronous modules
queue - reorders queue - kills pending VMs (synchronous)
- kills running VMs
influxDB - nosql - holds internal data (initial priorities, historical usage, recalculated priorities)
sends queue
Algorithms - MultiFactor
- stateless (no duplicated info in DB)
- only handles queue
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
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