一种基于移动虚拟化系统的非易失性存储器调度优化方法

文档序号:9396751阅读:457来源:国知局
一种基于移动虚拟化系统的非易失性存储器调度优化方法
【技术领域】
[0001] 本发明涉及一种虚拟机和存储器的调度分配方法,具体涉及一种虚拟化系统中非 易失存储器的调度优化方法。
【背景技术】
[0002] 近年来,嵌入式移动设备在计算能力、存储能力等方面都有着明显提升。像大型 服务器一样,虚拟化技术也可以应用于智能手机、平板电脑等移动设备。随着多个操作系 统运行在各自隔离的虚拟机里面,移动虚拟化为移动操作系统提供了更好的安全性、隔 离性和低成本等优势。一个移动设备上,可在不同虚拟机上运行不同或者相同的操作系 统。移动虚拟化平台需要在同一时间运行两个或者更多的虚拟机,这样就要求较大内存 资源。相比服务器等传统计算设备,移动设备在的内存资源、电池寿命等方面仍然非常有 限。以智能手机为例,众所周知智能手机由于大小和温度的限制,只能携带非常有限的电池 (1000-2000滅11)。然而,内存单独就能消耗大于30%的所有能耗。通用的0狀1存储器受限 于能耗大、容量难扩展等问题,加速了有限能量的耗尽。新型能耗低、容量大的非易失性随 机访问存储器(Non-volatile Random Access Memory,简称NVRAM存储器),如:记忆组存 储器、相变存储器(PCM),有望替代传统的DRAM存储器,并克服DRAM存储器的问题。
[0003] 但是,NVRAM存储器存在写延迟长的问题,会降低写密集型任务的性能,时间要求 严格的任务可能无法接受性能的降低。为此,结合NVRAM存储器和DRAM存储器的优势,提 出了基于NVRAM存储器和DRAM存储器的混合内存系统,以替代传统的基于DRAM的内存系 统。另一方面,目前基于KVM虚拟平台的虚拟机调度都是基于公平调度原则,将每个虚拟机 作为一个普通的Linux进程,采用Linux默认的CFS调度算法,并将每个虚拟机都赋予相同 优先级,,以保证每个虚拟机得到同等的资源。而移动设备用户更关注前台虚拟机性能,例 如软件响应速度等。因此,在移动虚拟化系统上的基于NVRAM/DRAM混合内存的调度算法需 要重新设计,以保证前台虚拟机获得更多硬件资源,增加前台虚拟机的流畅度。

【发明内容】

[0004] 针对现有技术存在的不足,本发明所要解决的技术问题是从虚拟化资源管理的层 面,提供一种基于移动虚拟化系统的非易失性存储器调度优化方法,它能减少存储器的能 耗,还能提高前台虚拟机任务的响应速度,并满足前台任务的实时性。
[0005] 本发明所要解决的技术问题是通过这样的技术方案实现的,它包括有以下步骤:
[0006] 步骤1、在移动虚拟化系统上,DRAM存储器与NVRAM存储器结合;
[0007] 步骤2、针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;
[0008] 步骤3、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存 储器上,读密集型任务分配到NVRAM存储器上;
[0009] 步骤4、在KVM虚拟平台上,提升前台虚拟机优先级,多个虚拟机之间采用不公平 的调度算法。
[0010] 本发明由于在步骤3,根据任务的密集性和CPU的利用率,动态地将写密集型任务 分配到高性能的DRAM存储器上,读密集型任务分配到高密度、低功耗的NVRAM存储器上,在 扩大内存的基础上尽量减少系统能耗;由于在步骤4,在多个虚拟机之间采用不公平的调 度算法,增加前台虚拟机任务的优先级,使前台虚拟机获得更多的执行时间,从而减少任务 截止时间的缺失率,并提高任务的响应速度。
[0011] 本发明具有以下优点:增大了内存容量且减少了存储器的能耗,同时提高了任务 的响应速度
【附图说明】
[0012] 本发明的【附图说明】如下:
[0013] 图1为本发明虚拟机的任务分配流程图;
[0014] 图2为本发明的虚拟机调度流程图。
【具体实施方式】
[0015] 下面结合附图和实施例对本发明作进一步说明:
[0016] 本发明包括有以下步骤:
[0017] 步骤1、在移动虚拟化系统上,DRAM存储器与NVRAM存储器结合;
[0018] 步骤2、针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;
[0019] 步骤3、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存 储器上,读密集型任务分配到NVRAM存储器上;
[0020] 步骤4、在KVM虚拟平台上,提升前台虚拟机优先级,多个虚拟机之间采用不公平 的调度算法。
[0021] 如图1所示,上述步骤2中任务划分过程和上述步骤3中任务分配过程如下:该流 程开始于步骤101,
[0022] 在步骤102,输入要执行的任务集T = {1\,T2, ... Tn},并给出每个任务的相关信息 1\< W D R1, S1, ED1, EN1, P1 >,其中,T 任务集T的任一元素 ;W i代表任务的写次数,R i代表 任务的读次数,S1代表任务需内存的大小,ED 表基于DRAM存储器的任务执行时间,EN i 代表基于NVRAM存储器的任务执行时间,P1R表任务的执行周期;还输入NVRAM存储器的 大小S和NVRAM存储器被占用大小Sn;
[0023] 在步骤103,初始化每个任务T1的执行时间为DRAM存储器上的执行时间C i = ED i;
[0024] 在步骤104,初始化每个任务T1的标志位X i = 1,代表任务在DRAM存储器上执行;
[0025] 在步骤105,设置i = 1,从任务1开始判定;
[0026] 在步骤106,判定i是否小于执行任务的总数η ;若是,则执行步骤107 ;否则,执行 步骤112 ;
[0027] 在步骤107,计算任务T1写操作次数W i与读操作次数R i的比率:RAi=I1 ; ? 'vI-
[0028] 在步骤108,判定任务T1的写密集性:为此设定一个阈值α,如果任务T ^勺写操作 W. 次数W1除以读操作次数R1的值= f小于该阈值α,T1归类为读密集型任务,接下来执 行步骤109 ;相反,如果大于阈值α,T1归类为写密集型任务,接下来执行步骤110 ;
[0029] 在步骤109,将任务T1分配到NVRAM存储器,重新设定任务T i的执行时间为C 1 =ENi,标志位Xi = 0,代表任务在NVRAM存储器上执行,接下来执行步骤111 ;
[0030] 在步骤110,将任务T1分配到DRAM存储器,接下来执行步骤111 ;
[0031 ] 在步骤111,执行i加1,接下来执行步骤106 ;
[0032] 在步骤112,首先判断任务的CPU利用率是否小于1 : Yj(I-Xi)XEN^XiXEDi
[0033] M)->XJ f j y Pi
[0034]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1