Synergy
a new approach for optimizing the resource usage in OpenStack
Lisa Zangrando
INFN Padova
Synergy a new approach for optimizing the resource usage in - - PowerPoint PPT Presentation
Lisa Zangrando INFN Padova Synergy a new approach for optimizing the resource usage in OpenStack Overview Synergy cloud service developed in the context of the INDIGO-DataCloud European project which aims to develop a new cloud software
a new approach for optimizing the resource usage in OpenStack
Lisa Zangrando
INFN Padova
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 2/16
enable a more efgective and fmexible resource allocation and utilization in open clouds such as OpenStack cloud service developed in the context of the INDIGO-DataCloud European project which aims to develop a new cloud software platform for the scientifjc community
Synergy Main objective
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 3/16
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 4/16
functionality (managers) executed periodically or interactively through a RESTful API
Synergy manager
Interaction between managers Interaction with OS services
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 5/16
class class Manager Manager(Thread): (Thread): def getName(self): #returns the manager name def getName(self): #returns the manager name def getStatus(self): #returns the manager status def getStatus(self): #returns the manager status def isAutoStart(self): #is AutoStart enabled or disabled? def isAutoStart(self): #is AutoStart enabled or disabled? def setup(self): #allows custom initialization def setup(self): #allows custom initialization def destroy(self): #invoked before destroying def destroy(self): #invoked before destroying def def execute execute(self, cmd): #executes user command synchronously (self, cmd): #executes user command synchronously def def task task(self): #executed periodically at fixed rate (self): #executed periodically at fixed rate
Any new manager can be easily implemented by extending a Synergy python abstract base class “Manager”: synchronous and asynchronous activities are respectively implemented by the last two methods: execute() and task().
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 6/16
allocation and scheduling model
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 7/16
Queue Manager Queue Manager
AMQP
Quota Manager Quota Manager FairShare Manager FairShare Manager Nova Manager Nova Manager Keystone Manager Keystone Manager
Synergy
RESTFul RESTFul Scheduler Manager Scheduler Manager keystone keystone nova nova
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 8/16
resources in addition to those statically assigned
priority queue
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 9/16
…. ….
resources and the total resources statically allocated to the private quotas
quota beside to their own private quota
Pr_1 quota Pr_1 quota
Shared Quota Shared Quota
Pr_2 quota Pr_2 quota Pr_N quota Pr_N quota Pr_3 quota Pr_3 quota
statically allocated resources unallocated resources
total resources
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 10/16
project A=70%, project B=30%)
share policies defjned by the administrator:
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 11/16
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 12/16
the EGI Federated Cloud
a production environment
80 20
total resources static shared
70 30
shared resources
shares
prj A prj B
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 13/16
by using difgerent users
algorithm, as documented in https://slurm.schedmd.com/fair_tree.html
production projects/VOs (not involved in fair-share computation)
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 14/16
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 15/16
measured with HEPSPEC 2006 (HS06) benchmark (not only the CPU wall-clock time)
ISGC2017, 5-10 March 2017, Taipei TW <lisa.zangrando@pd.infn.it> 16/16