)]}'
{"specs/liberty/approved/hyper-v-vnuma-enable.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7a9cf8ba98282a6b79765b32af9b437fa77c5f7e","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"vNUMA can improve the performance of workloads running on virtual machines that"},{"line_number":27,"context_line":"are configured with large amounts of memory. This feature is useful for"},{"line_number":28,"context_line":"high-performance NUMA-aware applications, such as database or web servers."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_088d6fd5","line":28,"updated":"2015-07-02 13:09:23.000000000","message":"Sorry, I really don\u0027t understand what vNUMA is for here.","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64713d0588e02745626c7a5bf085463bd947036","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"vNUMA can improve the performance of workloads running on virtual machines that"},{"line_number":27,"context_line":"are configured with large amounts of memory. This feature is useful for"},{"line_number":28,"context_line":"high-performance NUMA-aware applications, such as database or web servers."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_0b8009f4","line":28,"in_reply_to":"ba3cc151_088d6fd5","updated":"2015-07-02 13:14:18.000000000","message":"It seems there are two things here:\n* spreading the load between NUMA nodes\n* exposing that to the VM\n\nI think they are rolled into one here.\n\nWe already have lots of settings for the first one that I think this spec needs to adopt.","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"656a123c2c71489e957848a6c69e13c2d1e55b25","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"vNUMA can improve the performance of workloads running on virtual machines that"},{"line_number":27,"context_line":"are configured with large amounts of memory. This feature is useful for"},{"line_number":28,"context_line":"high-performance NUMA-aware applications, such as database or web servers."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_71118203","line":28,"in_reply_to":"ba3cc151_0b8009f4","updated":"2015-07-02 13:39:05.000000000","message":"It is exposing a NUMA topology to the guest OS, and exposing the host NUMA topology to the schedular, which in turn lets the schedular place guests on to hosts efficiently. This spec is pretty much following the approach already impl in libvirt, so I think we\u0027re good in that regard. If everything works as expected, then this should only require code changes in the Hyperv driver code, to export the required NUMA info about hosts and utilize the instance numa topology. All the existing common code should \"just work\".","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64713d0588e02745626c7a5bf085463bd947036","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"This feature is not available in earlier versions than Windows / Hyper-V Server"},{"line_number":39,"context_line":"2012. Requesting this feature will result in an exception."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Scheduling is assured by the ImagePropertiesFilter, which checks if the"},{"line_number":42,"context_line":"image property ``hypervisor_version_requires`` is satisfied by the given"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_0bcec962","line":39,"updated":"2015-07-02 13:14:18.000000000","message":"What will Nova do in these cases? ignore the hits, or go to ERROR?","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"859c867ef41ea9a71bc4a89e68a7902033a3c39b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"This feature is not available in earlier versions than Windows / Hyper-V Server"},{"line_number":39,"context_line":"2012. Requesting this feature will result in an exception."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Scheduling is assured by the ImagePropertiesFilter, which checks if the"},{"line_number":42,"context_line":"image property ``hypervisor_version_requires`` is satisfied by the given"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_11fcb66e","line":39,"in_reply_to":"ba3cc151_0bcec962","updated":"2015-07-02 14:42:31.000000000","message":"Yes. If the instance should have NUMA enabled but the host doesn\u0027t provide it, an exception should be raised. This can\u0027t happen, since the Scheduler shouldn\u0027t schedule NUMA instances on non-NUMA hosts.","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64713d0588e02745626c7a5bf085463bd947036","unresolved":false,"context_lines":[{"line_number":38,"context_line":"This feature is not available in earlier versions than Windows / Hyper-V Server"},{"line_number":39,"context_line":"2012. Requesting this feature will result in an exception."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Scheduling is assured by the ImagePropertiesFilter, which checks if the"},{"line_number":42,"context_line":"image property ``hypervisor_version_requires`` is satisfied by the given"},{"line_number":43,"context_line":"hosts. This is the initial approach to solving the scheduling problem. Ideally,"},{"line_number":44,"context_line":"this problem will be solved by exposing this feature as a host capability."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_ebbe05ad","line":41,"updated":"2015-07-02 13:14:18.000000000","message":"but its a flavor as well right?","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"859c867ef41ea9a71bc4a89e68a7902033a3c39b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"This feature is not available in earlier versions than Windows / Hyper-V Server"},{"line_number":39,"context_line":"2012. Requesting this feature will result in an exception."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Scheduling is assured by the ImagePropertiesFilter, which checks if the"},{"line_number":42,"context_line":"image property ``hypervisor_version_requires`` is satisfied by the given"},{"line_number":43,"context_line":"hosts. This is the initial approach to solving the scheduling problem. Ideally,"},{"line_number":44,"context_line":"this problem will be solved by exposing this feature as a host capability."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_1171160f","line":41,"in_reply_to":"ba3cc151_ebbe05ad","updated":"2015-07-02 14:42:31.000000000","message":"This section refers to the ``hypervisor_version_requires`` image property, in order to ensure that the isntance will be spawned on an appropiate host. This won\u0027t be needed, as the scheduler won\u0027t allocate a NUMA instance on a non-NUMA host.","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"19f0f07227992fa482b3d1d29a6dd7a9be197203","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* hw:numa_nodes\u003dNN - number of NUMA nodes to expose to the guest."},{"line_number":79,"context_line":"* hw:numa_mempolicy\u003dpreferred|strict - memory allocation policy."},{"line_number":80,"context_line":"* hw:numa_cpus.X\u003d\u003ccpu-list\u003e - mapping of vCPUS N-M to NUMA node X."},{"line_number":81,"context_line":"* hw:numa_mem.X\u003d\u003cram-size\u003e - mapping N MB of RAM to NUMA node X."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The most common case will be that the admin only sets ``hw:numa_nodes`` and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_6e6f63fc","line":80,"updated":"2015-07-02 13:34:25.000000000","message":"It would be good to make it clear here that NUMA node here refers to the Guest NUMA node and is in no way related to which actual host NUMA node this will refer (that is up to Nova\u0027s scheduling/placement logic to decide).","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"859c867ef41ea9a71bc4a89e68a7902033a3c39b","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* hw:numa_nodes\u003dNN - number of NUMA nodes to expose to the guest."},{"line_number":79,"context_line":"* hw:numa_mempolicy\u003dpreferred|strict - memory allocation policy."},{"line_number":80,"context_line":"* hw:numa_cpus.X\u003d\u003ccpu-list\u003e - mapping of vCPUS N-M to NUMA node X."},{"line_number":81,"context_line":"* hw:numa_mem.X\u003d\u003cram-size\u003e - mapping N MB of RAM to NUMA node X."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The most common case will be that the admin only sets ``hw:numa_nodes`` and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_3d950b86","line":80,"in_reply_to":"ba3cc151_6e6f63fc","updated":"2015-07-02 14:42:31.000000000","message":"Done","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7a9cf8ba98282a6b79765b32af9b437fa77c5f7e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* hw:numa_nodes\u003dNN - number of NUMA nodes to expose to the guest."},{"line_number":79,"context_line":"* hw:numa_mempolicy\u003dpreferred|strict - memory allocation policy."},{"line_number":80,"context_line":"* hw:numa_cpus.X\u003d\u003ccpu-list\u003e - mapping of vCPUS N-M to NUMA node X."},{"line_number":81,"context_line":"* hw:numa_mem.X\u003d\u003cram-size\u003e - mapping N MB of RAM to NUMA node X."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The most common case will be that the admin only sets ``hw:numa_nodes`` and"},{"line_number":84,"context_line":"then the flavor vCPUs and RAM will be divided equally across the NUMA nodes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_08b48f7d","line":81,"updated":"2015-07-02 13:09:23.000000000","message":"How does this relate to all the libvirt numa properties?\n\nhw:cpu_sockets - preferred socket count\nhw:cpu_cores - preferred core count\nhw:cpu_threads - preferred thread count\nhw:cpu_maxsockets - maximum socket count\nhw:cpu_maxcores - maximum core count\nhw:cpu_maxthreads - maximum thread count\n\n(and the matching image metadata)\n\nSee:\nhttps://github.com/openstack/nova/blob/master/nova/virt/hardware.py#L263","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"656a123c2c71489e957848a6c69e13c2d1e55b25","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* hw:numa_nodes\u003dNN - number of NUMA nodes to expose to the guest."},{"line_number":79,"context_line":"* hw:numa_mempolicy\u003dpreferred|strict - memory allocation policy."},{"line_number":80,"context_line":"* hw:numa_cpus.X\u003d\u003ccpu-list\u003e - mapping of vCPUS N-M to NUMA node X."},{"line_number":81,"context_line":"* hw:numa_mem.X\u003d\u003cram-size\u003e - mapping N MB of RAM to NUMA node X."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The most common case will be that the admin only sets ``hw:numa_nodes`` and"},{"line_number":84,"context_line":"then the flavor vCPUs and RAM will be divided equally across the NUMA nodes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_11c836a5","line":81,"in_reply_to":"ba3cc151_08b48f7d","updated":"2015-07-02 13:39:05.000000000","message":"@john Those props you refer to are configuring vCPU topology.  The props listed in this spec are the NUMA topology props and do match the libvirt props defined in hardware.py","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"859c867ef41ea9a71bc4a89e68a7902033a3c39b","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* hw:numa_nodes\u003dNN - number of NUMA nodes to expose to the guest."},{"line_number":79,"context_line":"* hw:numa_mempolicy\u003dpreferred|strict - memory allocation policy."},{"line_number":80,"context_line":"* hw:numa_cpus.X\u003d\u003ccpu-list\u003e - mapping of vCPUS N-M to NUMA node X."},{"line_number":81,"context_line":"* hw:numa_mem.X\u003d\u003cram-size\u003e - mapping N MB of RAM to NUMA node X."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The most common case will be that the admin only sets ``hw:numa_nodes`` and"},{"line_number":84,"context_line":"then the flavor vCPUs and RAM will be divided equally across the NUMA nodes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_bc9b6117","line":81,"in_reply_to":"ba3cc151_11c836a5","updated":"2015-07-02 14:42:31.000000000","message":"Yeah, I think Daniel is right about this. the link provided by John reffers to what vCPU topology is exposed to the VM, not how the vCPUs and memory is distributed amoung the NUMA nodes.","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64713d0588e02745626c7a5bf085463bd947036","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"This is useful for applications that require a very specific NUMA topology"},{"line_number":106,"context_line":"characteristics. Image properties can and will be overriden by flavor extra"},{"line_number":107,"context_line":"specs."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Alternatives"},{"line_number":110,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_cbac618e","line":107,"updated":"2015-07-02 13:14:18.000000000","message":"This is too much detail really.\n\nI think its just a case of saying what properties you can support, and what you can\u0027t support.\n\nThen describe any differences in what the user will see.","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"859c867ef41ea9a71bc4a89e68a7902033a3c39b","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"This is useful for applications that require a very specific NUMA topology"},{"line_number":106,"context_line":"characteristics. Image properties can and will be overriden by flavor extra"},{"line_number":107,"context_line":"specs."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Alternatives"},{"line_number":110,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_bda7dbbb","line":107,"in_reply_to":"ba3cc151_cbac618e","updated":"2015-07-02 14:42:31.000000000","message":"Done","commit_id":"5b45f5b19f91739f7c5eb90bfdf9b91d489e63c1"}]}
