[openstack]NFVI特性之实时虚拟机(二)
来源:互联网 发布:人工智能男主角长残了 编辑:程序博客网 时间:2024/06/06 04:13
接前文,之前讲了openstack中实时虚拟机特性都作了那些特有的实现,这些代码大部分在M版本中已经合入。但是关于qemu本身消耗的CPU时间,并没有很好的处理。这块的设计和代码实现一直到P版本,也就是最近才合入到主干代码中。
我们知道,openstack中nova根据虚拟机的flavor给虚拟机分配CPU以及确定CPU的放置策略。
由于qemu本身也要消耗很多CPU实现,用于qemu本身的event loop/异步IO/迁移虚拟机/spice等业务。之前nova默认将qemu和vCPUs运行在相同的pCPU上。
大多数情况下,实时性要求不那么高,这样也没有什么问题。但是对实时性要求比较高的场景下,由于qemu偷取了部分vCPUs的时间,会导致实时性不符合要求。
在M版的实现里,我们可以通过cpu_realtime_mask指定qemu和虚拟机的某几个vCPUs共用pCPUs,虚拟机的其他vCPUs使用实时调度策略。从而保证这几个vCPUs符合实时性要求。
由于虚拟机的vCPUs只有部分是实时性的,因此Linux系统可以使用,但是不能满足某些实时操作系统的要求。
P版本中增加了配置hw:cpu_emulator_threads=isolate/share,用于设置emulator使用的cpu的分配策略。如果选用isolate,会从host上固定一个pCPU供emulator使用。(目前不能配置,只能是1个)。如果选用了share,和之前的行为一致。
参考:
https://blueprints.launchpad.net/nova/+spec/libvirt-emulator-threads-policy
- [openstack]NFVI特性之实时虚拟机(二)
- [openstack]NFVI特性之实时虚拟机(一)
- [openstack]NFVI特性之虚拟机绑定CPU
- OpenStack之Nova分析——创建虚拟机(二)
- Java虚拟机实现安全特性(二)
- openstack学习笔记(二)-浅谈OpenStack与虚拟机的区别与联系
- OpenStack之Glance笔记(二)
- OpenStack之RPC调用(二)
- OpenStack之RESTful API调用(二)
- OpenStack之二
- OpenStack之Nova分析——创建虚拟机(一)
- OpenStack之Nova分析——创建虚拟机(三)
- OpenStack之Nova分析——创建虚拟机(四)
- OpenStack之Nova分析——创建虚拟机(五)
- OpenStack之Nova分析——创建虚拟机(六)
- OpenStack之Nova分析——创建虚拟机(八)
- 【OpenStack源码分析之八】openstack中虚拟机在线迁移
- openstack之虚拟机创建流程分析
- 表连接查询
- Linux中安装Tomcat
- 单例模式
- react native 常驻内存(android)
- Java配置环境变量
- [openstack]NFVI特性之实时虚拟机(二)
- MYSQL 优化原理
- delta coding入门
- Python实现文件拷贝和解开权限
- ACM: Simple Line Editor
- Linux环境进程间通信
- 冒泡排序法(BubbleSort)的改进以及效率比较
- logistic回归详解二:损失函数
- kafka总结