[openstack]NFVI特性之虚拟机绑定CPU
来源:互联网 发布:pb 数据窗口过滤 编辑:程序博客网 时间:2024/06/06 08:43
..
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:http://blog.csdn.net/halcyonbaby
新浪微博:@寻觅神迹
内容系本人学习、研究和总结,如有雷同,实属荣幸!
虚拟机CPU绑定特性,是NFVI的一个重要特性。该特性在openstack的K版本合入社区。
CPU绑定特性是创建实时虚拟机的前提。
CPU绑定特性,主要解决虚拟机互相正确pCPU导致的延迟。
该特性主要用于计算密集型/要求CPU低延迟的使用场景。
这块会涉及多个概念,SMT/CMP/SMP(大家可以自行百度了解内容)。简单的说一台主机可以由多个
CPU,每个CPU可以有多个cores,每个core可以有多个thread。
openstack的CPU绑定特性允许你指定vCPUs是独占绑定core还是独占绑定thread。
使用方法
openstack提供了两个参数,可以在flavor中配置(也可以在image中配置,这里主要描述flavor的配置方法)。
- cpu_policy
- cpu_thread_policy
cpu_policy支持使用shared/dedicated进行配置。shared表示不独占绑定pCPUs,dedicated表示独占绑定pCPUs。
cpu_thread_policy支持使用prefer/isolate/require三种指定方式。prefer表示如果主机提供thread则使用thread方式绑定,没有则使用core绑定;isolate表示使用core绑定;require表示必须使用thread绑定。
值得说明的是,使用cpu_thread_policy为prefer或者require时,openstack的thread分配策略是尽量占满一个core,然后再使用下一个core上的thread,从而避免导致thread/core碎片。这个从下边的例子也可以看出来。
使用例子
主机共有3个CPU,3个node:
CPU1有2个core,4个thread。
CPU2有1个core,2个thread。
CPU3有1个core,2个thread。
验证core绑定策略
openstack flavor create –ram 1024 –vcpu 2 –disk 1 isolate
openstack flavor set isolate –property hw:cpu_policy=dedicated –property hw:cpu_thread_policy=isolate
openstack server create –flavor isolate –image cirros-0.3.4-x86_64-uec isolate
创建成功。
openstack server create –flavor isolate –image cirros-0.3.4-x86_64-uec isolate2
创建成功。
原因:openstack默认一个numa node。虽然还有两个core,但是不在1个node。openstack因此返回失败。
openstack flavor create –ram 1024 –vcpu 1 –disk 1 isolate_1u
openstack flavor set isolate_1u –property hw:cpu_policy=dedicated –property hw:cpu_thread_policy=isolate
openstack server create –flavor isolate_1u –image cirros-0.3.4-x86_64-uec isolate_1u1
创建成功。
openstack server create –flavor isolate_1u –image cirros-0.3.4-x86_64-uec isolate_1u2
创建成功。
openstack server create –flavor isolate_1u –image cirros-0.3.4-x86_64-uec isolate_1u3
创建失败,因为已经没有空余的core了。
通过xml也可以看出3个虚拟机使用了0,2,4,6四个pCPUs。
验证thread分配策略
openstack flavor create –ram 1024 –vcpu 2 –disk 1 prefer
openstack flavor set prefer –property hw:cpu_policy=dedicated –property hw:cpu_thread_policy=prefer
openstack server create –flavor prefer –image cirros-0.3.4-x86_64-uec prefer
创建失败,因为资源不足。
删除虚拟机isolate后,重新创建prefer,创建成功。
通过xml可以看出使用了0,1两个pCPUs。
openstack的分配策略是按顺序使用未用的pCPUs。
这样做的好处,避免thread碎片。
require的行为
openstack flavor create –ram 1024 –vcpu 2 –disk 1 require
openstack flavor set require –property hw:cpu_policy=dedicated –property hw:cpu_thread_policy=require
openstack server create –flavor require –image cirros-0.3.4-x86_64-uec require
openstack server create –flavor require –image cirros-0.3.4-x86_64-uec require2
可以创建成功,分别使用0,1和2,3
openstack server create –flavor require –image cirros-0.3.4-x86_64-uec require3
创建失败,因为没有资源了。
- [openstack]NFVI特性之虚拟机绑定CPU
- [openstack]NFVI特性之实时虚拟机(一)
- [openstack]NFVI特性之实时虚拟机(二)
- openstack中有关虚拟机cpu绑定总结
- 绑定kvm虚拟机到CPU核心(转)
- KVM虚拟机CPU绑定性能调优
- KVM虚拟机CPU绑定性能调优
- qemu-kvm 之 CPU 绑定
- openstack中虚拟机CPU与内存布局设计(一)
- openstack中虚拟机CPU与内存布局设计(二)
- openstack中虚拟机CPU与内存布局设计(三)
- openstack 在cpu型号不同, 虚拟机热迁移失败,
- 【OpenStack源码分析之八】openstack中虚拟机在线迁移
- openstack之虚拟机创建流程分析
- KVM上如何绑定虚拟机vcpu与物理CPU?
- 绑定KVM虚拟机的vcpu与物理CPU
- KVM虚拟机绑定物理CPU进行性能调优
- NGINX源码剖析 之 CPU绑定(CPU亲和性)
- pandas数据重塑
- A-Fast-RCNN代码运行以及问题解决方法
- 【PostgREST 基本教程(一)】 PostgREST快速搭建
- pictureBox sizemode=zoom时图片像素坐标
- caffe安装
- [openstack]NFVI特性之虚拟机绑定CPU
- STM32的PWM极性和模式
- C语言之重载运算符()/[]/++/->等运算符
- 欢迎使用CSDN-markdown编辑器
- Oracle SQL使用笛卡尔连接、正则表达式和层次查询、union all、unpiovt 解决多列值筛选、列转行问题
- Ubuntu16.04安装网易云音乐
- DAO模式的组成、软件系统的三层架构、连接数据库的步骤
- vue.js从入门到放弃2--官方文档阅读笔记
- Django 之 (7)Django与JS交互