OpenStack CPU pinning

本文转载自:http://www.cnblogs.com/allcloud/p/5063147.html

为了减少CPU竞争,提高CPU cache命中率,可以把guest的vcpu pin到host的物理CPU上。

在openstack中,可以添加以下到flavor extra specs:

hw:cpu_policy=shared|dedicated
hw:cpu_threads_policy=avoid|separate|isolate|prefer

如果hw:cpu_policy=shared,则和现有的默认vcpu放置一样,有NUMA来定义vcpu的放置,即没有显示的vcpu pin。

如果hw:cpu_policy=dedicated则显示的vcpu pin。pin的policy有:

  • hw:cpu_threads_policy = avoid
    guest不会调度到有超线程的host上。
  • hw:cpu_threads_policy = separate
    每个vcpu到放置到不同的core。
  • hw:cpu_threads_policy = isolate
    每个vcpu到放置到不同的core上,并且独占这个core。其他vcpu不能再放置到该core上。
  • hw:cpu_threads_policy = prefer
    guest的vcpu放置到同一core上,让vcpu成为siblings thread。 

image metadata properties也可以用来设置放置policy:

  • hw_cpu_threads_policy=avoid|separate|isolate|prefer

为了使用vcpu pin,必须使用host aggregates,用来区分 hw:cpu_policy=shared/dedicated。

但同一host agg可以同时支持dedicated RAM (via huge pages) and dedicated CPUs (via pinning).

https://specs.openstack.org/openstack/nova-specs/specs/juno/approved/virt-driver-cpu-pinning.html

https://github.com/openstack/nova-specs/blob/master/specs/juno/implemented/virt-driver-numa-placement.rst

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值