[nova] implementation options for nova spec: show-server-numa-topology

yonglihe yongli.he at intel.com
Thu Jan 3 03:15:26 UTC 2019


On 2018/12/18 下午4:20, yonglihe wrote:
> Hi, guys
>
> This spec needs input and discuss for move on.

Jay suggest we might be good to use a new sub node to hold topology 
stuff,  it's option 2, here. And split

the PCI stuff out of this NUMA thing spec, use a /devices node to hold 
all 'devices' stuff instead, then this node

is generic and not only for PCI itself.

I'm OK for Jay's suggestion,  it contains more key words and seems 
crystal clear and straight forward.

The problem is we need aligned about this. This spec need gain more 
input thanks, Jay, Matt.


Regards

Yongli He



>
> Currently the spec is under reviewing:
> https://review.openstack.org/#/c/612256/8
>
> Plus with POC code:
> https://review.openstack.org/#/c/621476/3
>
> and related stein PTG discuss:
> https://etherpad.openstack.org/p/nova-ptg-stein
> start from line 897
>
> NUMA topology had lots of information to expose, for saving you time 
> to jumping into to the spec, the information need to
> return include NUMA related like: 
> numa_node,cpu_pinning,cpu_thread_policy,cpuset,siblings, 
> mem,pagesize,sockets,cores,
> threads, and PCI device's information.
>
> Base on IRC's discuss, we may have 3 options about how to deal with 
> those blobs:
>
> 1) include those directly in the server response details, like the 
> released POC does:
> https://review.openstack.org/#/c/621476/3
>
> 2) add a new sub-resource endpoint to servers, most likely use key 
> word 'topology' then:
> "GET /servers/{server_id}/topology" returns the NUMA information for 
> one server.
>
> 3) put the NUMA info under existing 'diagnostics' API.
> "GET /servers/{server_id}/diagnostics"
> this is admin only API, normal user loss the possible to check their 
> topology.
>
> when the information put into diagnostics, they will be look like:
> {
>    ....
>    "numa_topology": {
>       cells  [
>                {
>                     "numa_node" : 3
>                     "cpu_pinning": {0:5, 1:6},
>                     "cpu_thread_policy": "prefer",
>                     "cpuset": [0,1,2,3],
>                     "siblings": [[0,1],[2,3]],
>                     "mem": 1024,
>                     "pagesize": 4096,
>                     "sockets": 0,
>                     "cores": 2,
>                      "threads": 2,
>                  },
>              ...
>            ] # cells
>     }
>     "emulator_threads_policy": "share"
>
>     "pci_devices": [
>         {
>                 "address":"00:1a.0",
>                 "type": "VF",
>                 "vendor": "8086",
>                 "product": "1526"
>         },
>     ]
>  }
>
>
> Regards
> Yongli He
>
>
>




More information about the openstack-discuss mailing list