[Bug fix of NUMA feature] Add vNode run in pNode runtime information

--_000_08AA403C8399104A89AF710307FA78AE24411BD5G5W2717americas_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, I'm working on the NUMA feature of oVirt. The feature is already merged in oVirt 3.5.0 alpha 1. Currently, it only ha= s the virtual numa node (vNode) pin to host numa node(pNode) information wh= ich is configured by user. We plan to collect the runtime information from = vdsm that vNode run in which pNodes. Since this information is dynamic and = changes more often, we want to let this information reported in the process= of vm stats report. According to the above requirement, we will do the following development in= both engine and vdsm: Vdsm side: 1. In vm module, we will add a function to collect and calculate the = real-time information that vNode run in pNodes. From caps module, we can ge= t the cpu mapping information of each pNode; from vm conf, we can get the v= cpu mapping information of each vNode; from libvirt api, we can get each vc= pu run in which physical cpu runtime. According to the information, we can = calculate the vNode run in pNodes information runtime. 2. Add a key in vm stat map to hold the information and report it to = engine. Engine side: 1. Currently we have the structure to store the vNode run in pNode in= formation. In the structure, we have a field "ispinned" to represent if the= vNode is configured by user to pin to the pNode, or it is runtime run in t= he pNode. Now we only need to parse the reported information from vdsm and = update it in db. We will open a bug to implement the requirement and merge it into 3.5.0. Any comments and suggestions are welcome. Thanks & Best Regards Shi, Xiao-Lei (Bruce) Hewlett-Packard Co., Ltd. HP Servers Core Platform Software China Telephone +86 23 65683093 Mobile +86 18696583447 Email xiao-lei.shi@hp.com<mailto:shiguo.li@hp.com> --_000_08AA403C8399104A89AF710307FA78AE24411BD5G5W2717americas_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
</p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal" style=3D"text-autospace:none"><b><span style=3D"font= -size:12.0pt">Thanks & Best Regards</span></b><span style=3D"font-size:= 12.0pt"><o:p></o:p></span></p> <p class=3D"MsoNormal" style=3D"text-autospace:none"><b><span style=3D"font= -size:12.0pt">Shi, Xiao-Lei (Bruce)<o:p></o:p></span></b></p> <p class=3D"MsoNormal" style=3D"text-autospace:none"><b><span style=3D"font= -size:12.0pt"><o:p> </o:p></span></b></p> <p class=3D"MsoNormal" style=3D"text-autospace:none"><b><span style=3D"font= -size:12.0pt;color:black">Hewlett-Packard Co., Ltd.<br> HP Servers Core Platform Software China</span></b><b><span style=3D"font-si= ze:12.0pt"> <o:p></o:p></span></b></p> <p class=3D"MsoNormal" style=3D"text-autospace:none"><b><span style=3D"font= -size:12.0pt">Telephone</span></b><span style=3D"font-size:12.0pt"> +86= 23 65683093<o:p></o:p></span></p> <p class=3D"MsoNormal" style=3D"text-autospace:none"><b><span style=3D"font= -size:12.0pt">Mobile </span></b><span style=3D"font-size:12.0pt">+86 18696583447<o:p></o:p><= /span></p> <p class=3D"MsoNormal"><b><span style=3D"font-size:12.0pt">Email </span></b= <span style=3D"font-size:12.0pt"><a href=3D"mailto:shiguo.li@hp.com"><span=
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:SimSun; panose-1:2 1 6 0 3 1 1 1 1 1;} @font-face {font-family:SimSun; 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:SimSun; panose-1:2 1 6 0 3 1 1 1 1 1;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri","sans-serif";} 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.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {mso-style-priority:34; margin-top:0in; margin-right:0in; margin-bottom:0in; margin-left:.5in; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri","sans-serif";} span.EmailStyle17 {mso-style-type:personal-compose; font-family:"Calibri","sans-serif"; color:windowtext;} .MsoChpDefault {mso-style-type:export-only; font-family:"Calibri","sans-serif";} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in;} div.WordSection1 {page:WordSection1;} /* List Definitions */ @list l0 {mso-list-id:804659359; mso-list-type:hybrid; mso-list-template-ids:97009934 67698703 67698713 67698715 67698703 6769871= 3 67698715 67698703 67698713 67698715;} @list l0:level1 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l0:level2 {mso-level-number-format:alpha-lower; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l0:level3 {mso-level-number-format:roman-lower; mso-level-tab-stop:none; mso-level-number-position:right; text-indent:-9.0pt;} @list l0:level4 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l0:level5 {mso-level-number-format:alpha-lower; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l0:level6 {mso-level-number-format:roman-lower; mso-level-tab-stop:none; mso-level-number-position:right; text-indent:-9.0pt;} @list l0:level7 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l0:level8 {mso-level-number-format:alpha-lower; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l0:level9 {mso-level-number-format:roman-lower; mso-level-tab-stop:none; mso-level-number-position:right; text-indent:-9.0pt;} @list l1 {mso-list-id:910582668; mso-list-type:hybrid; mso-list-template-ids:-1548443178 67698703 67698713 67698715 67698703 6769= 8713 67698715 67698703 67698713 67698715;} @list l1:level1 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l1:level2 {mso-level-number-format:alpha-lower; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l1:level3 {mso-level-number-format:roman-lower; mso-level-tab-stop:none; mso-level-number-position:right; text-indent:-9.0pt;} @list l1:level4 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l1:level5 {mso-level-number-format:alpha-lower; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l1:level6 {mso-level-number-format:roman-lower; mso-level-tab-stop:none; mso-level-number-position:right; text-indent:-9.0pt;} @list l1:level7 {mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l1:level8 {mso-level-number-format:alpha-lower; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-.25in;} @list l1:level9 {mso-level-number-format:roman-lower; mso-level-tab-stop:none; mso-level-number-position:right; text-indent:-9.0pt;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body lang=3D"EN-US" link=3D"blue" vlink=3D"purple"> <div class=3D"WordSection1"> <p class=3D"MsoNormal">Hi all,<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">I’m working on the NUMA feature of oVirt.<o:p>= </o:p></p> <p class=3D"MsoNormal">The feature is already merged in oVirt 3.5.0 alpha 1= . Currently, it only has the virtual numa node (vNode) pin to host numa nod= e(pNode) information which is configured by user. We plan to collect the ru= ntime information from vdsm that vNode run in which pNodes. Since this information is dynamic and changes more of= ten, we want to let this information reported in the process of vm stats re= port.<o:p></o:p></p> <p class=3D"MsoNormal">According to the above requirement, we will do the f= ollowing development in both engine and vdsm:<o:p></o:p></p> <p class=3D"MsoNormal">Vdsm side:<o:p></o:p></p> <p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l1 level= 1 lfo1"><![if !supportLists]><span style=3D"mso-list:Ignore">1.<span style= =3D"font:7.0pt "Times New Roman""> &= nbsp; </span></span><![endif]>In vm module, we will add a function to collect and= calculate the real-time information that vNode run in pNodes. From caps mo= dule, we can get the cpu mapping information of each pNode; from vm conf, w= e can get the vcpu mapping information of each vNode; from libvirt api, we can get each vcpu run in which physica= l cpu runtime. According to the information, we can calculate the vNode run= in pNodes information runtime.<o:p></o:p></p> <p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l1 level= 1 lfo1"><![if !supportLists]><span style=3D"mso-list:Ignore">2.<span style= =3D"font:7.0pt "Times New Roman""> &= nbsp; </span></span><![endif]>Add a key in vm stat map to hold the information an= d report it to engine.<o:p></o:p></p> <p class=3D"MsoNormal">Engine side:<o:p></o:p></p> <p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level= 1 lfo2"><![if !supportLists]><span style=3D"mso-list:Ignore">1.<span style= =3D"font:7.0pt "Times New Roman""> &= nbsp; </span></span><![endif]>Currently we have the structure to store the vNode = run in pNode information. In the structure, we have a field “ispinned= ” to represent if the vNode is configured by user to pin to the pNode= , or it is runtime run in the pNode. Now we only need to parse the reported information from vdsm and update it in db.= <o:p></o:p></p> <p class=3D"MsoNormal">We will open a bug to implement the requirement and = merge it into 3.5.0.<o:p></o:p></p> <p class=3D"MsoNormal">Any comments and suggestions are welcome. <o:p></o:p= style=3D"color:blue">xiao-lei.shi@hp.com</span></a></span><o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> </body> </html> --_000_08AA403C8399104A89AF710307FA78AE24411BD5G5W2717americas_--

afaik you should not directly call libvirt api but use the vdsm api? but someone with more insight into vdsm can provide better information than me. Am 22.05.2014 04:13, schrieb Shi, Xiao-Lei (Bruce, HP Servers-PSC-CQ):
from libvirt api, we can get each vcpu run in which physical cpu runtime
-- Mit freundlichen Grüßen / Regards Sven Kieske Systemadministrator Mittwald CM Service GmbH & Co. KG Königsberger Straße 6 32339 Espelkamp T: +49-5772-293-100 F: +49-5772-293-333 https://www.mittwald.de Geschäftsführer: Robert Meyer St.Nr.: 331/5721/1033, USt-IdNr.: DE814773217, HRA 6640, AG Bad Oeynhausen Komplementärin: Robert Meyer Verwaltungs GmbH, HRB 13260, AG Bad Oeynhausen

Actually we don't directly call libvirt api, we call it from the wrapped libvirtconnection like other functions do in vdsm. Thanks & Best Regards Shi, Xiao-Lei (Bruce) Hewlett-Packard Co., Ltd. HP Servers Core Platform Software China Telephone +86 23 65683093 Mobile +86 18696583447 Email xiao-lei.shi@hp.com -----Original Message----- From: devel-bounces@ovirt.org [mailto:devel-bounces@ovirt.org] On Behalf Of Sven Kieske Sent: Thursday, May 22, 2014 3:20 PM To: devel@ovirt.org Subject: Re: [ovirt-devel] [Bug fix of NUMA feature] Add vNode run in pNode runtime information afaik you should not directly call libvirt api but use the vdsm api? but someone with more insight into vdsm can provide better information than me. Am 22.05.2014 04:13, schrieb Shi, Xiao-Lei (Bruce, HP Servers-PSC-CQ):
from libvirt api, we can get each vcpu run in which physical cpu runtime
-- Mit freundlichen Grüßen / Regards Sven Kieske Systemadministrator Mittwald CM Service GmbH & Co. KG Königsberger Straße 6 32339 Espelkamp T: +49-5772-293-100 F: +49-5772-293-333 https://www.mittwald.de Geschäftsführer: Robert Meyer St.Nr.: 331/5721/1033, USt-IdNr.: DE814773217, HRA 6640, AG Bad Oeynhausen Komplementärin: Robert Meyer Verwaltungs GmbH, HRB 13260, AG Bad Oeynhausen _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
participants (2)
-
Shi, Xiao-Lei (Bruce, HP Servers-PSC-CQ)
-
Sven Kieske