<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 12 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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 4 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:"\@华文细黑";
        panose-1:2 1 6 0 4 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* 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
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:宋体;}
tt
        {mso-style-priority:99;
        font-family:宋体;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:562449135;
        mso-list-template-ids:-360042828;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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">+1<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"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">A reference case is that, in an operating system like Linux, hardware drivers only abstract hardware devices into<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">manageable resources with standard interfaces. Then the kernel takes the job to allocate resources, map and
<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">schedule workload onto them, and so on.<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"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">In OpenStack, projects for resource abstraction and virtualization, including Nova, Cinder, Neutron, should be considered<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">more like Linux device drivers, instead of the Linux kernel itself. Therefore, the scheduling functions and services could be
<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">separated, which is helpful from the long-term evaluation point of view.<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>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">
<hr size="2" width="100%" align="center">
</span></div>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Yu Zhang<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><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" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.0pt;font-family:华文细黑;color:black">Huawei Technologies Co., Ltd.</span><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" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.0pt;font-family:华文细黑;color:black">Phone:
</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">86-10-82829573<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Email: zhangyu11@huawei.com<br>
http://www.huawei.com <o:p></o:p></span></p>
</div>
<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>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Chen CH Ji [mailto:jichenjc@cn.ibm.com]
<br>
<b>Sent:</b> Thursday, April 10, 2014 5:08 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [nova] Dynamic scheduling<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Is the [1] mentioned below open source? Interested in it :)</span><span lang="EN-US"><br>
<br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Also, my own opinion is nova is a cloud solution that aim to control virtual / real machine lifecycle management   the dynamic scheduling mechanism is something like
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">optimization of the cloud resource, so maybe incubate in other places is better</span><span lang="EN-US"><br>
<br>
<br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Best Regards!
<br>
<br>
Kevin (Chen) Ji </span><span style="font-size:10.0pt">纪</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">
</span><span style="font-size:10.0pt">晨</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif""><br>
<br>
Engineer, zVM Development, CSTL<br>
Notes: Chen CH Ji/China/IBM@IBMCN   Internet: <a href="mailto:jichenjc@cn.ibm.com">
jichenjc@cn.ibm.com</a><br>
Phone: +86-10-82454158<br>
Address: 3/F Ring Building, ZhongGuanCun Software Park, Haidian District, Beijing 100193, PRC
</span><span lang="EN-US"><br>
<br>
<img border="0" width="16" height="16" id="_x0000_i1025" src="cid:image001.gif@01CF54E2.7CE22050" alt="Inactive hide details for Jay Lau ---04/09/2014 11:45:12 PM---@Oleg, Till now, I'm not sure the target of Gantt, is it for init"></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#424282">Jay
 Lau ---04/09/2014 11:45:12 PM---@Oleg, Till now, I'm not sure the target of Gantt, is it for initial placement policy or run time po</span><span lang="EN-US"><br>
<br>
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#5F5F5F">From:
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif"">Jay Lau <<a href="mailto:jay.lau.513@gmail.com">jay.lau.513@gmail.com</a>></span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#5F5F5F">To:
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif"">"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>,
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#5F5F5F">Date:
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif"">04/09/2014 11:45 PM</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#5F5F5F">Subject:
</span><span lang="EN-US" style="font-size:7.5pt;font-family:"Arial","sans-serif"">Re: [openstack-dev] [nova] Dynamic scheduling</span><span lang="EN-US"><o:p></o:p></span></p>
<div class="MsoNormal"><span lang="EN-US">
<hr size="2" width="100%" noshade="" style="color:#8091A5" align="left">
</span></div>
<p class="MsoNormal"><span lang="EN-US"><br>
<br>
<br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">@Oleg, Till now, I'm not sure the target of Gantt, is it for initial placement policy or run time policy or both, can you help clarify?<br>
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">@Henrique, not sure if you know IBM PRS (Platform Resource Scheduler) [1], we have finished the "dynamic scheduler" in our Icehouse version (PRS 2.2), it has exactly the same feature as
 your described, we are planning a live demo for this feature in Atlanta Summit. I'm also writing some document for run time policy which will cover more run time policies for OpenStack, but not finished yet. (My shame for the slow progress). The related blueprint
 is [2], you can also get some discussion from [3]<br>
<br>
[1] </span><span lang="EN-US"><a href="http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS213-590&appname=USN"><span style="font-family:"Times New Roman","serif"">http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS213-590&appname=USN</span></a></span><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
[2] </span><span lang="EN-US"><a href="https://blueprints.launchpad.net/nova/+spec/resource-optimization-service"><span style="font-family:"Times New Roman","serif"">https://blueprints.launchpad.net/nova/+spec/resource-optimization-service</span></a><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">[3] </span>
<span lang="EN-US"><a href="http://markmail.org/~jaylau/OpenStack-DRS"><span style="font-family:"Times New Roman","serif"">http://markmail.org/~jaylau/OpenStack-DRS</span></a></span><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">Thanks.</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">2014-04-09 23:21 GMT+08:00 Oleg Gelbukh <</span><span lang="EN-US"><a href="mailto:ogelbukh@mirantis.com" target="_blank"><span style="font-family:"Times New Roman","serif"">ogelbukh@mirantis.com</span></a></span><span lang="EN-US" style="font-family:"Times New Roman","serif"">>:</span><span lang="EN-US">
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US" style="font-family:"Times New Roman","serif"">Henrique,</span><span lang="EN-US"><br>
<br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">You should check out Gantt project [1], it could be exactly the place to implement such features. It is a generic cross-project Scheduler as a Service forked from Nova recently.</span><span lang="EN-US"><br>
<br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">[1] </span><span lang="EN-US"><a href="https://github.com/openstack/gantt" target="_blank"><span style="font-family:"Times New Roman","serif"">https://github.com/openstack/gantt</span></a><br>
<br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">--</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">Best regards,</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">Oleg Gelbukh</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">Mirantis Labs</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">On Wed, Apr 9, 2014 at 6:41 PM, Henrique Truta <</span><span lang="EN-US"><a href="mailto:henriquecostatruta@gmail.com" target="_blank"><span style="font-family:"Times New Roman","serif"">henriquecostatruta@gmail.com</span></a></span><span lang="EN-US" style="font-family:"Times New Roman","serif"">>
 wrote:</span><span lang="EN-US"> <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:72.0pt"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Hello, everyone!
</span><span lang="EN-US"><br>
<br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">I am currently a graduate student and member of a group of contributors to OpenStack. We believe that a dynamic scheduler could improve the efficiency of an OpenStack cloud,
 either by rebalancing nodes to maximize performance or to minimize the number of active hosts, in order to minimize energy costs. Therefore, we would like to propose a dynamic scheduling mechanism to Nova. The main idea is using the Ceilometer information
 (e.g. RAM, CPU, disk usage) through the ceilometer-client and dinamically decide whether a instance should be live migrated.</span><span lang="EN-US">
<o:p></o:p></span></p>
<p style="margin-left:72.0pt"><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">This might me done as a Nova periodic task, which will be executed every once in a given period or as a new independent project. In both cases, the current Nova scheduler will
 not be affected, since this new scheduler will be pluggable. We have done a search and found no such initiative in the OpenStack BPs. Outside the community, we found only a recent IBM announcement for a similiar feature in one of its cloud products.</span><span lang="EN-US">
<o:p></o:p></span></p>
<p style="margin-left:72.0pt"><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">A possible flow is: In the new scheduler, we periodically make a call to Nova, get the instance list from a specific host and, for each instance, we make a call to the ceilometer-client
 (e.g. $ ceilometer statistics -m cpu_util -q resource=$INSTANCE_ID) and then, according to some specific parameters configured by the user, analyze the meters and do the proper migrations.</span><span lang="EN-US">
<o:p></o:p></span></p>
<p style="margin-left:72.0pt"><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"">Do you have any comments or suggestions?</span><span lang="EN-US">
<o:p></o:p></span></p>
<p style="margin-left:72.0pt"><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif";color:#999999">--<br>
Ítalo Henrique Costa Truta<br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
</span><span lang="EN-US"><br>
<br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">_______________________________________________<br>
OpenStack-dev mailing list<u><span style="color:blue"><br>
</span></u></span><span lang="EN-US"><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank"><span style="font-family:"Times New Roman","serif"">OpenStack-dev@lists.openstack.org</span></a></span><u><span lang="EN-US" style="font-family:"Times New Roman","serif";color:blue"><br>
</span></u><span lang="EN-US"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><span style="font-family:"Times New Roman","serif"">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</span></a><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
_______________________________________________<br>
OpenStack-dev mailing list<u><span style="color:blue"><br>
</span></u></span><span lang="EN-US"><a href="mailto:OpenStack-dev@lists.openstack.org"><span style="font-family:"Times New Roman","serif"">OpenStack-dev@lists.openstack.org</span></a></span><u><span lang="EN-US" style="font-family:"Times New Roman","serif";color:blue"><br>
</span></u><span lang="EN-US"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><span style="font-family:"Times New Roman","serif"">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</span></a><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US" style="font-family:"Times New Roman","serif""><br>
<br>
<br>
-- </span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">Thanks,<br>
</span><span lang="EN-US"><br>
</span><span lang="EN-US" style="font-family:"Times New Roman","serif"">Jay</span><tt><span lang="EN-US" style="font-size:10.0pt">_______________________________________________</span></tt><span lang="EN-US" style="font-size:10.0pt"><br>
<tt>OpenStack-dev mailing list</tt><br>
<tt><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a></tt><br>
<tt><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></tt></span><span lang="EN-US"><o:p></o:p></span></p>
</div>
</body>
</html>