linux静态网络带宽分配策略,Xen网络带宽分配优化方案的设计与实现

摘要:

利用虚拟化技术,可以在一台物理服务器上模拟出若干个虚拟服务器.这些虚拟机之间通过资源共享,提升了物理资源的利用率.也因此,如何合理地在虚拟机之间管理和分配硬件资源成为了虚拟化技术的关键.网络带宽是一种非常重要的物理资源,如果不能妥善地在虚拟机之间分配带宽,就会对服务集群的性能造成很大影响.本文研究了开源虚拟化系统Xen的网络带宽分配策略,发现它采用了一种基于配置文件的静态分配方法.这种分配策略限制了虚拟机的带宽使用率,从而也会对虚拟机的性能产生影响.为了克服Xen的缺陷,我们重新实现了Xen的网络带宽分配算法,引入了动态分配算法和优先级调度.其中,动态分配算法利用"公共账户"机制,允许带宽充足的虚拟机将多余的带宽存储到"公共账户"中,带宽不足的虚拟机则可以从"公共账户"中借用带宽.这样,带宽资源就可以动态得在虚拟机之间进行再分配,互通有无,实现更高的带宽利用率.在算法的实现中,要考虑到很多问题,例如防止频繁进行分配造成性能影响;引入公平性机制防止虚拟机一直占用借来的带宽导致其他虚拟机的带宽不足等等.优先级调度算法致力于提高虚拟机的网络响应速度,缩短响应时间.Xen原来的调度机制是采用FIFO队列按照入队的顺序进行调度,这种调度方式下所有虚拟机有相同的机会得到调度,体现不出差异.为了进一步提升资源利用率,我们对虚拟机做了优先级划分,根据其带宽利用的稳定性判定其优先级,并且引入了类似Linux进程调度的多优先级队列,优先级较高的虚拟机将优先得到调度的机会.这使得带宽的使用更加稳定,能够提高带宽的利用率,也使得高优先级的虚拟机获得更高的响应速度.改进的算法要起作用,必须修改Xen的源代码.除了算法的设计,本文还包括了部分源码的实现,讲解了其中对Xen的源码所做的修改.此外,本文还介绍了如何安装基于Linux LVM的Xen虚拟机,讲解了磁盘分区和配置文件的设置,逻辑卷的创建与使用,以及在此基础上,如何编译和替换Linux内核.通过改写,编译和替换Linux内核,我们能够将改进的Xen部署到可运行的虚拟机环境中,从而检验新的带宽分配机制的有效性和正确性.我们设计了一系列的实验从功能正确性,算法有效性,分配公平性和性能开销显著性四个方面对改进的系统进行验证.实验表明,改进的内核在带宽利用率上有了30%以上的提升,在响应速度方面,高优先级的虚拟机的响应时间缩短了约20%,对低优先级的虚拟机则没有显著影响.此外,算法的公平性也得到了验证,借出带宽的虚拟机当需要带宽时能够及时得到补偿,不会陷入饥饿状态.最后,通过分析实验过程中的CPU,内存开销并与源生内核的试验数据进行比较,发现新的算法引入的性能开销非常低,几乎可以忽略不计.

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值