1. 程式人生 > >Windows limits of sockets

Windows limits of sockets

分享 範圍 ber 支持 net ted 文檔 stc read

有的操作系統的license會限制socket的數目 ,如Windows Desktop最多支持2個Socket,Windows Server最多支持4個Socket。另外一般地在不同的core上的2個threads的性能會比2個在同相core上的threads的性能要好。同時vCPU topology, libvirt將一個vCPU在虛機中視為: 1 socket with 1 core and no hyper-threads

簡要敘述一下Openstack生成CPU topology的過程:

  • 根據image.metedata得到虛機期望的和最大範圍的(Socket、Core、Thread)
    • hw_cpu_max_sockets、hw_cpu_max_cores、hw_cpu_max_threads指定範圍
    • hw_cpu_sockets、hw_cpu_sockets、hw_cpu_sockets指定期望
  • 根據flavor.vcpu 列舉出所有的socket/core/thread 即vcpu=socket*core*thread
  • 利用指定的期望參數和高性能篩選出合適的socket/core/thread組合 即Thread盡量分配到不同的Socket和Core

Windows limits the number of sockets 的解決方法:

Openstack版本: Mitaka

指定Windows image支持的hw_cpu_sockets最大值,如下圖:

技術分享

參考文檔:

http://blog.csdn.net/quqi99/article/details/50988089

https://wiki.openstack.org/wiki/VirtDriverGuestCPUMemoryPlacement

Windows limits of sockets