[openstack-dev] [nova][scheduler] Proposal: FairShareScheduler.
Eric Frizziero
eric.frizziero at pd.infn.it
Tue Jul 1 08:38:43 UTC 2014
Hi Belmiro,
On 06/30/2014 11:42 PM, Belmiro Moreira wrote:
> Hi Eric,
> definitely...
>
> In my view a "FairShareScheduler" could be a very interesting option
> for private clouds that support scientific communities. Basically this
> is the model used by batch systems in order to fully use the available
> resources.
Yes, it is.
> I'm very curious about the work that you are doing.
You can find more info at the following link:
https://agenda.infn.it/getFile.py/access?contribId=17&sessionId=3&resId=0&materialId=slides&confId=7915
> Is it available in github?
At slide 18, you can find the pointer to the FairShareScheduler.
Cheers,
Eric.
>
> Belmiro
>
> ----------------------------------
>
> Belmiro Moreira
>
> CERN
>
> Email: belmiro.moreira at cern.ch <mailto:belmiro.moreira at cern.ch>
>
> IRC: belmoreira
>
>
>
> On Mon, Jun 30, 2014 at 4:05 PM, Eric Frizziero
> <eric.frizziero at pd.infn.it <mailto:eric.frizziero at pd.infn.it>> wrote:
>
> Hi All,
>
> we have analyzed the nova-scheduler component (FilterScheduler) in
> our Openstack installation used by some scientific teams.
>
> In our scenario, the cloud resources need to be distributed among
> the teams by considering the predefined share (e.g. quota)
> assigned to each team, the portion of the resources currently used
> and the resources they have already consumed.
>
> We have observed that:
> 1) User requests are sequentially processed (FIFO scheduling),
> i.e. FilterScheduler doesn't provide any dynamic priority algorithm;
> 2) User requests that cannot be satisfied (e.g. if resources are
> not available) fail and will be lost, i.e. on that scenario
> nova-scheduler doesn't provide any queuing of the requests;
> 3) OpenStack simply provides a static partitioning of resources
> among various projects / teams (use of quotas). If project/team 1
> in a period is systematically underutilizing its quota and the
> project/team 2 instead is systematically saturating its quota, the
> only solution to give more resource to project/team 2 is a manual
> change (to be done by the admin) to the related quotas.
>
> The need to find a better approach to enable a more effective
> scheduling in Openstack becomes more and more evident when the
> number of the user requests to be handled increases significantly.
> This is a well known problem which has already been solved in the
> past for the Batch Systems.
>
> In order to solve those issues in our usage scenario of Openstack,
> we have developed a prototype of a pluggable scheduler, named
> FairShareScheduler, with the objective to extend the existing
> OpenStack scheduler (FilterScheduler) by integrating a (batch
> like) dynamic priority algorithm.
>
> The architecture of the FairShareScheduler is explicitly designed
> to provide a high scalability level. To all user requests will be
> assigned a priority value calculated by considering the share
> allocated to the user by the administrator and the evaluation of
> the effective resource usage consumed in the recent past. All
> requests will be inserted in a priority queue, and processed in
> parallel by a configurable pool of workers without interfering
> with the priority order. Moreover all significant information
> (e.g. priority queue) will be stored in a persistence layer in
> order to provide a fault tolerance mechanism while a proper
> logging system will annotate all relevant events, useful for
> auditing processing.
>
> In more detail, some features of the FairshareScheduler are:
> a) It assigns dynamically the proper priority to every new user
> requests;
> b) The priority of the queued requests will be recalculated
> periodically using the fairshare algorithm. This feature
> guarantees the usage of the cloud resources is distributed among
> users and groups by considering the portion of the cloud resources
> allocated to them (i.e. share) and the resources already consumed;
> c) all user requests will be inserted in a (persistent) priority
> queue and then processed asynchronously by the dedicated process
> (filtering + weighting phase) when compute resources are available;
> d) From the client point of view the queued requests remain in
> "Scheduling" state till the compute resources are available. No
> new states added: this prevents any possible interaction issue
> with the Openstack clients;
> e) User requests are dequeued by a pool of WorkerThreads
> (configurable), i.e. no sequential processing of the requests;
> f) The failed requests at filtering + weighting phase may be
> inserted again in the queue for n-times (configurable).
>
> We have integrated the FairShareScheduler in our Openstack
> installation (release "HAVANA"). We're now working to adapt the
> FairShareScheduler to the new release "IceHouse".
>
> Does anyone have experiences in those issues found in our cloud
> scenario?
>
> Could the FairShareScheduler be useful for the Openstack community?
> In that case, we'll be happy to share our work.
>
> Any feedback/comment is welcome!
>
> Cheers,
> Eric.
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> <mailto:OpenStack-dev at lists.openstack.org>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140701/eb894ae9/attachment.html>
More information about the OpenStack-dev
mailing list