<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:宋体;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"批注框文本 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:宋体;}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.Char
{mso-style-name:"批注框文本 Char";
mso-style-priority:99;
mso-style-link:批注框文本;
font-family:宋体;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Exactly. Thank you for your clarification.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">This is part of my job and my company would like to contribute to openstack.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Also I hope we can have more discussion about scheduling.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:10.0pt"> Henrique Truta [mailto:henriquecostatruta@gmail.com]
<br>
</span><b><span style="font-size:10.0pt">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:10.0pt"> 2014</span><span style="font-size:10.0pt">年<span lang="EN-US">4</span>月<span lang="EN-US">25</span>日<span lang="EN-US"> 1:16<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> OpenStack Development Mailing List (not for usage questions)<br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [openstack-dev] [nova][ceilometer][gantt] Dynamic scheduling<o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US">Donald,<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US">By "selection", I think Jenny means identifying whether and which active VM should be migrated, once the current Nova scheduler only deals with the VM in the momment of its creation or with a specific user input.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">2014-04-24 12:08 GMT-03:00 Dugger, Donald D <<a href="mailto:donald.d.dugger@intel.com" target="_blank">donald.d.dugger@intel.com</a>>:<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Jenny-</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">You should look at the `Propose Scheduler Library blueprint’:</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">
<a href="https://review.openstack.org/#/c/82133/9" target="_blank">https://review.openstack.org/#/c/82133/9</a></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">This BP is to create a client library for making calls to the scheduler. If you base
your work upon this library then you shouldn’t need to care about whether the Core Scheduler is the Nova integrated scheduler or the Gantt separated scheduler, the library will call `a` scheduler as appropriate.</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Having said that, I’m not sure I understand the distinction you are seeing between `selection’
and `placement’. The current scheduler filters all hosts based upon filters (the selection part) and then the weighting function finds the best node to host the VM (the placement part). Seems to me the current scheduler does both of those tasks. (We can
argue the effectiveness/efficiency of the current implementation but I think it’s functionally complete.)</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Also, have you proposed a session at the Juno summit on your proposal for dynamic scheduling,
seems like it would be appropriate.</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Don Dugger</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">"Censeo Toto nos in Kansa esse decisse." - D. Gale</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Ph: 303/443-3786</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif"">
Jiangying (Jenny) [mailto:<a href="mailto:jenny.jiangying@huawei.com" target="_blank">jenny.jiangying@huawei.com</a>]
<br>
<b>Sent:</b> Thursday, April 24, 2014 3:36 AM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [nova][ceilometer][gantt] Dynamic scheduling</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">Hi,</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">We have checked that gantt now just made a synced up copy of the code in nova.
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">We still think dynamic scheduling will be a benefit of the nova scheduler (or gantt later). The main
difference between static and dynamic scheduling is that static scheduling is a vm placement problem, while dynamic scheduling deals with both vm selection and vm placement.</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif""> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">Our scheduling mechanism consists of three parts:</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">1. Controller, which triggers the scheduling;</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">2. Data Collector, which collects the resource usage and topo for scheduling;</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">3. Core Scheduler, which decides how to schedule the vms;
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif""> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">We prefer to reuse the nova scheduler as the Core Scheduler, in order to avoid the possible inconsistent
between static scheduling and dynamic scheduling. The vm selection function will be added into nova scheduler. For Data Collector, we expect to get the performance data from ceilometer and topo from nova.
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif""> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">There is still one question that where the controller should be implemented?
</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">We regard implementing the controller in nova scheduler as the first choice. And we also consider
extending ceilometer.(Ie. When ceilometer discovers an overload host, an alarm can be reported and it can trigger a vm evacuate.)</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif""> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">Do you have any comments?</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif""> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:14.0pt;font-family:"Calibri","sans-serif"">Jenny</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:10.0pt">发件人<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:10.0pt"> Henrique Truta [<a href="mailto:henriquecostatruta@gmail.com" target="_blank">mailto:henriquecostatruta@gmail.com</a>]
<br>
</span><b><span style="font-size:10.0pt">发送时间<span lang="EN-US">:</span></span></b><span lang="EN-US" style="font-size:10.0pt"> 2014</span><span style="font-size:10.0pt">年<span lang="EN-US">4</span>月<span lang="EN-US">12</span>日<span lang="EN-US"> 1:00<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> OpenStack Development Mailing List (not for usage questions)<br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [openstack-dev] [nova] Dynamic scheduling</span></span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Is there anyone currently working on Neat/Gantt projects? I'd like to contribute to them, as well.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">2014-04-11 11:37 GMT-03:00 Andrew Laski <<a href="mailto:andrew.laski@rackspace.com" target="_blank">andrew.laski@rackspace.com</a>>:<o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On 04/10/14 at 11:33pm, Oleg Gelbukh wrote:<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Andrew,<br>
<br>
Thank you for clarification!<br>
<br>
<br>
On Thu, Apr 10, 2014 at 3:47 PM, Andrew Laski <<a href="mailto:andrew.laski@rackspace.com" target="_blank">andrew.laski@rackspace.com</a>>wrote:<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><br>
<br>
The scheduler as it currently exists is a placement engine. There is<br>
sufficient complexity in the scheduler with just that responsibility so I<br>
would prefer to see anything that's making runtime decisions separated out.<br>
Perhaps it could just be another service within the scheduler project once<br>
it's broken out, but I think it will be beneficial to have a clear<br>
distinction between placement decisions and runtime monitoring.<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><br>
<br>
Do you think that auto-scaling could be considered another facet of this<br>
'runtime monitoring' functionality? Now it is a combination of Heat and<br>
Ceilometer. Does it worth moving to hypothetical runtime mobility service<br>
as well?<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Auto-scaling is certainly a facet of runtime monitoring. But auto-scaling performs actions based on a set of user defined rules and is very visible while the
enhancements proposed below are intended to benefit deployers and be very invisible to users. So the set of allowable actions is very constrained compared to what auto-scaling can do. <br>
In my opinion what's being proposed doesn't seem to fit cleanly into any existing service, so perhaps it could start as a standalone entity. Then once there's something that can be used and demoed a proper place might suggest itself, or it might make sense
to keep it separate.<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"><br>
--<br>
Best regards,<br>
Oleg Gelbukh<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">--<br>
Best regards,<br>
Oleg Gelbukh<br>
<br>
<br>
On Wed, Apr 9, 2014 at 7:47 PM, Jay Lau <<a href="mailto:jay.lau.513@gmail.com" target="_blank">jay.lau.513@gmail.com</a>> wrote:<br>
<br>
@Oleg, Till now, I'm not sure the target of Gantt, is it for initial<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US">placement policy or run time policy or both, can you help clarify?<br>
<br>
@Henrique, not sure if you know IBM PRS (Platform Resource Scheduler)<br>
[1],<br>
we have finished the "dynamic scheduler" in our Icehouse version (PRS<br>
2.2),<br>
it has exactly the same feature as your described, we are planning a live<br>
demo for this feature in Atlanta Summit. I'm also writing some document<br>
for<br>
run time policy which will cover more run time policies for OpenStack,<br>
but<br>
not finished yet. (My shame for the slow progress). The related blueprint<br>
is [2], you can also get some discussion from [3]<br>
<br>
[1]<br>
<a href="http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=" target="_blank">http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=</a><br>
AN&subtype=CA&htmlfid=897/ENUS213-590&appname=USN<br>
[2]<br>
<a href="https://blueprints.launchpad.net/nova/+spec/resource-" target="_blank">https://blueprints.launchpad.net/nova/+spec/resource-</a><br>
optimization-service<br>
[3] <a href="http://markmail.org/~jaylau/OpenStack-DRS" target="_blank">http://markmail.org/~jaylau/OpenStack-DRS</a><br>
<br>
Thanks.<br>
<br>
<br>
2014-04-09 23:21 GMT+08:00 Oleg Gelbukh <<a href="mailto:ogelbukh@mirantis.com" target="_blank">ogelbukh@mirantis.com</a>>:<br>
<br>
Henrique,<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><br>
You should check out Gantt project [1], it could be exactly the place to<br>
implement such features. It is a generic cross-project Scheduler as a<br>
Service forked from Nova recently.<br>
<br>
[1] <a href="https://github.com/openstack/gantt" target="_blank">https://github.com/openstack/gantt</a><br>
<br>
--<br>
Best regards,<br>
Oleg Gelbukh<br>
Mirantis Labs<br>
<br>
<br>
On Wed, Apr 9, 2014 at 6:41 PM, Henrique Truta <<br>
<a href="mailto:henriquecostatruta@gmail.com" target="_blank">henriquecostatruta@gmail.com</a>> wrote:<br>
<br>
Hello, everyone!<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"><br>
I am currently a graduate student and member of a group of contributors<br>
to OpenStack. We believe that a dynamic scheduler could improve the<br>
efficiency of an OpenStack cloud, either by rebalancing nodes to<br>
maximize<br>
performance or to minimize the number of active hosts, in order to<br>
minimize<br>
energy costs. Therefore, we would like to propose a dynamic scheduling<br>
mechanism to Nova. The main idea is using the Ceilometer information<br>
(e.g.<br>
RAM, CPU, disk usage) through the ceilometer-client and dinamically<br>
decide<br>
whether a instance should be live migrated.<br>
<br>
This might me done as a Nova periodic task, which will be executed<br>
every<br>
once in a given period or as a new independent project. In both cases,<br>
the<br>
current Nova scheduler will not be affected, since this new scheduler<br>
will<br>
be pluggable. We have done a search and found no such initiative in the<br>
OpenStack BPs. Outside the community, we found only a recent IBM<br>
announcement for a similiar feature in one of its cloud products.<br>
<br>
A possible flow is: In the new scheduler, we periodically make a call<br>
to<br>
Nova, get the instance list from a specific host and, for each<br>
instance, we<br>
make a call to the ceilometer-client (e.g. $ ceilometer statistics -m<br>
cpu_util -q resource=$INSTANCE_ID) and then, according to some specific<br>
parameters configured by the user, analyze the meters and do the proper<br>
migrations.<br>
<br>
Do you have any comments or suggestions?<br>
<br>
--<br>
Ítalo Henrique Costa Truta<br>
<br>
<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US">_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"><br>
--<br>
Thanks,<br>
<br>
Jay<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> _______________________________________________<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US">OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
</blockquote>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
</div>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><br>
<br clear="all">
<br>
-- <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US" style="color:#999999">--<br>
Ítalo Henrique Costa Truta</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US"><br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><br>
<br clear="all">
<br>
-- <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US" style="color:#999999">--<br>
Ítalo Henrique Costa Truta<br>
<br>
</span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>