CN105117285B - 一种基于移动虚拟化***的非易失性存储器调度优化方法 - Google Patents
一种基于移动虚拟化***的非易失性存储器调度优化方法 Download PDFInfo
- Publication number
- CN105117285B CN105117285B CN201510572270.4A CN201510572270A CN105117285B CN 105117285 B CN105117285 B CN 105117285B CN 201510572270 A CN201510572270 A CN 201510572270A CN 105117285 B CN105117285 B CN 105117285B
- Authority
- CN
- China
- Prior art keywords
- task
- memory
- intensive
- cpu
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
Abstract
本发明公开了一种基于移动虚拟化***的非易失性存储器调度优化方法,它包括以下步骤:步骤1、在移动虚拟化***上,DRAM存储器与NVRAM存储器结合;步骤2、针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;步骤3、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存储器上,读密集型任务分配到NVRAM存储器上;步骤4、在多个虚拟机之间采用不公平的调度算法。本发明具的优点是:增大了内存容量且减少了存储器的能耗,同时提高了任务的响应速度。
Description
技术领域
本发明涉及一种虚拟机和存储器的调度分配方法,具体涉及一种虚拟化***中非易失存储器的调度优化方法。
背景技术
近年来,嵌入式移动设备在计算能力、存储能力等方面都有着明显提升。像大型服务器一样,虚拟化技术也可以应用于智能手机、平板电脑等移动设备。随着多个操作***运行在各自隔离的虚拟机里面,移动虚拟化为移动操作***提供了更好的安全性、隔离性和低成本等优势。一个移动设备上,可在不同虚拟机上运行不同或者相同的操作***。移动虚拟化平台需要在同一时间运行两个或者更多的虚拟机,这样就要求较大内存资源。相比服务器等传统计算设备,移动设备在的内存资源、电池寿命等方面仍然非常有限。以智能手机为例,众所周知智能手机由于大小和温度的限制,只能携带非常有限的电池(1000-2000mAh)。然而,内存单独就能消耗大于30%的所有能耗。通用的DRAM存储器受限于能耗大、容量难扩展等问题,加速了有限能量的耗尽。新型能耗低、容量大的非易失性随机访问存储器(Non-volatile Random Access Memory,简称NVRAM存储器),如:记忆组存储器、相变存储器(PCM),有望替代传统的DRAM存储器,并克服DRAM存储器的问题。
但是,NVRAM存储器存在写延迟长的问题,会降低写密集型任务的性能,时间要求严格的任务可能无法接受性能的降低。为此,结合NVRAM存储器和DRAM存储器的优势,提出了基于NVRAM存储器和DRAM存储器的混合内存***,以替代传统的基于DRAM的内存***。另一方面,目前基于KVM虚拟平台的虚拟机调度都是基于公平调度原则,将每个虚拟机作为一个普通的Linux进程,采用Linux默认的CFS调度算法,并将每个虚拟机都赋予相同优先级,,以保证每个虚拟机得到同等的资源。而移动设备用户更关注前台虚拟机性能,例如软件响应速度等。因此,在移动虚拟化***上的基于NVRAM/DRAM混合内存的调度算法需要重新设计,以保证前台虚拟机获得更多硬件资源,增加前台虚拟机的流畅度。
发明内容
针对现有技术存在的不足,本发明所要解决的技术问题是从虚拟化资源管理的层面,提供一种基于移动虚拟化***的非易失性存储器调度优化方法,它能减少存储器的能耗,还能提高前台虚拟机任务的响应速度,并满足前台任务的实时性。
本发明所要解决的技术问题是通过这样的技术方案实现的,它包括有以下步骤:
步骤1、在移动虚拟化***上,
针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;
步骤2、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存储器上,读密集型任务分配到NVRAM存储器上;
步骤1)若待执行的任务为读密集型任务,将任务分配到NVRAM存储器;若任务为写密集型任务,将任务分配到DRAM存储器;
步骤2)首先判断任务的CPU利用率是否大于1,
Ut是满足所有任务都可调度的最大的CPU利用率,Ut取1;该式左端就表示所有任务的CPU利用率之和;xi为每个任务的标志位,EDi代表基于DRAM存储器的任务执行时间,ENi代表基于NVRAM存储器的任务执行时间,Pi代表任务的执行周期;n为执行任务的总数;
然后判断存放在NVRAM存储器的任务大小是否大于NVRAM存储器的大小;
Si代表任务需内存的大小,S为NVRAM存储器的大小;
步骤3)若步骤2)中有一个条件成立,则选在NVRAM存储器上的任务中具有最大RAi的任务,RAi为计算任务Ti写操作次数Wi与读操作次数Ri的比率,改存放到DRAM存储器上,直到步骤2)中没有一个条件成立;
步骤3、在KVM虚拟平台上,提升前台虚拟机优先级,多个虚拟机之间采用不公平的调度算法。
本发明由于在步骤2,根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到高性能的DRAM存储器上,读密集型任务分配到高密度、低功耗的NVRAM存储器上,在扩大内存的基础上尽量减少***能耗;由于在步骤3,在多个虚拟机之间采用不公平的调度算法,增加前台虚拟机任务的优先级,使前台虚拟机获得更多的执行时间,从而减少任务截止时间的缺失率,并提高任务的响应速度。
本发明具有以下优点:增大了内存容量且减少了存储器的能耗,同时提高了任务的响应速度。
附图说明
本发明的附图说明如下:
图1为本发明虚拟机的任务分配流程图;
图2为本发明的虚拟机调度流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
本发明包括有以下步骤:
步骤1、在移动虚拟化***上,DRAM存储器与NVRAM存储器结合;
针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;
步骤2、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存储器上,读密集型任务分配到NVRAM存储器上;
步骤3、在KVM虚拟平台上,提升前台虚拟机优先级,多个虚拟机之间采用不公平的调度算法。
如图1所示,上述步骤2中任务划分过程和上述步骤3中任务分配过程如下:该流程开始于步骤101,
在步骤102,输入要执行的任务集T={T1,T2,...Tn},并给出每个任务的相关信息Ti<Wi,Ri,Si,EDi,ENi,Pi>,其中,Ti为任务集T的任一元素;Wi代表任务的写次数,Ri代表任务的读次数,Si代表任务需内存的大小,EDi代表基于DRAM存储器的任务执行时间,ENi代表基于NVRAM存储器的任务执行时间,Pi代表任务的执行周期;还输入NVRAM存储器的大小S和NVRAM存储器被占用大小SN;
在步骤103,初始化每个任务Ti的执行时间为DRAM存储器上的执行时间Ci=EDi;
在步骤104,初始化每个任务Ti的标志位xi=1,代表任务在DRAM存储器上执行;
在步骤105,设置i=1,从任务1开始判定;
在步骤106,判定i是否小于执行任务的总数n;若是,则执行步骤107;否则,执行步骤112;
在步骤107,计算任务Ti写操作次数Wi与读操作次数Ri的比率:
在步骤108,判定任务Ti的写密集性:为此设定一个阈值α,如果任务Ti的写操作次数Wi除以读操作次数Ri的值小于该阈值α,Ti归类为读密集型任务,接下来执行步骤109;相反,如果大于阈值α,Ti归类为写密集型任务,接下来执行步骤110;
在步骤109,将任务Ti分配到NVRAM存储器,重新设定任务Ti的执行时间为Ci=ENi,标志位xi=0,代表任务在NVRAM存储器上执行,接下来执行步骤111;
在步骤110,将任务Ti分配到DRAM存储器,接下来执行步骤111;
在步骤111,执行i加1,接下来执行步骤106;
在步骤112,首先判断任务的CPU利用率是否小于1:
Ut是满足所有任务都可调度的最大的CPU利用率,不同的调度算法Ut不同,本发明使用调度算法的Ut为1;则该式就表示所有任务的CPU利用率之和必需小于调度算法所能调度的最大CPU利用率,否则就会有一部分任务在截止时间之前不能调度;
然后判断存放在NVRAM存储器的任务是否大于NVRAM存储器的大小:
若上述(1)式或(2)式中有一个成立,则执行步骤113;否则,执行步骤115;
在步骤113,选在NVRAM存储器上的任务(N-task)中具有最大RAi的任务Ti,改存放到DRAM存储器上;
在步骤114,修改任务Ti的执行时间为DRAM存储器上的执行时间Ci=EDi,标志位xi=1,接下来执行步骤112;
通过步骤112到步骤114循环,直到步骤112中没有一个条件成立,以此来尽可能地提高NVRAM存储器和CPU的利用率。
在步骤115,程序结束。
如图2所示,上述步骤3的虚拟机调度算法如下:该流程开始于步骤201,然后,
在步骤202,输入虚拟机集合VM={VM1,VM2,...,VMn},每个虚拟机VMi的vCPU集合{vCPU1,vCPU2,...,vCPUn},以及CPU集合CPU={CPU1,CPU2,...,CPUn}和每个CPU的任务运行队列;
在步骤203,假设每个虚拟机VMi都在后台运行,每个虚拟机VMi设置级别为低级:PRIi=low;
在步骤204,判断任务集T={T1,T2,...Tn}是否为空;若为空,则执行步骤212;否则,执行步骤205;
在步骤205,判断是否有虚拟机VMi由后台切换到前台,若是,执行步骤206;否则执行步骤207;
在步骤206,重新设置虚拟机VMi的级别为高级:PRIi=high;然后执行步骤207;
在步骤207,判断是否有虚拟机VMi由前台切换到后台,若是,执行步骤208;否则执行步骤209;
在步骤208,重新设置虚拟机VMi的级别为低级:PRIi=low;重新执行VMi负载均衡;然后执行步骤209;
在步骤209,判断CPU的任务运行队列是否为空,若是,则执行步骤210;否则执行步骤211;
在步骤210,重新执行CPU负责均衡;然后执行步骤211;
在步骤211,执行CFS调度算法来调度虚拟机。在KVM虚拟平台上,将每个虚拟机作为一个普通的Linux进程,并根据虚拟机的优先级给每个虚拟机分配不同的调度参数(nice值,值越小优先级越高),从而给每个虚拟机分配不同的CPU时间,以保证前台虚拟机获得更多的硬件资源。接下来执行步骤204;
在步骤212,程序结束。
Claims (3)
1.一种基于移动虚拟化***的非易失性存储器调度优化方法,其特征是,包括:
步骤1、在移动虚拟化***上,针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;
步骤2、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存储器上,读密集型任务分配到NVRAM存储器上:
步骤1)若待执行的任务为读密集型任务,将任务分配到NVRAM存储器;若任务为写密集型任务,将任务分配到DRAM存储器;
步骤2)首先判断任务的CPU利用率是否大于1,
Ut是满足所有任务都可调度的最大的CPU利用率,Ut取1;该式左端就表示所有任务的CPU利用率之和;xi为每个任务的标志位,EDi代表基于DRAM存储器的任务执行时间,ENi代表基于NVRAM存储器的任务执行时间,Pi代表任务的执行周期;n为执行任务的总数;
然后判断存放在NVRAM存储器的任务大小是否大于NVRAM存储器的大小;
Si代表任务需内存的大小,S为NVRAM存储器的大小;
步骤3)若步骤2)中有一个条件成立,则选在NVRAM存储器上的任务中具有最大RAi的任务,RAi为计算任务Ti写操作次数Wi与读操作次数Ri的比率,改存放到DRAM存储器上,直到步骤2)中没有一个条件成立;
步骤3、在KVM虚拟平台上,提升前台虚拟机优先级,多个虚拟机之间采用不公平的调度算法。
2.根据权利要求1所述的基于移动虚拟化***的非易失性存储器调度优化方法,其特征是:所述写密集型任务和读密集型任务划分步骤包括:
步骤1),获得要执行的任务集T={T1,T2,...Tn},并给出每个任务的相关信息Ti<Wi,Ri,Si,EDi,ENi,Pi>,其中,Ti为任务集T的任一元素;Wi代表任务的写次数,Ri代表任务的读次数,Si代表任务需内存的大小,EDi代表基于DRAM存储器的任务执行时间,ENi代表基于NVRAM存储器的任务执行时间,Pi代表任务的执行周期;还输入NVRAM存储器的大小S和NVRAM存储器被占用大小SN;
步骤2),计算任务Ti写操作次数Wi与读操作次数Ri的比率:
步骤3),判定任务Ti的写密集性:设定一个阈值α,如果任务Ti的RAi小于该阈值α,Ti归类为读密集型任务,如果大于阈值α,Ti归类为写密集型任务。
3.根据权利要求2所述的基于移动虚拟化***的非易失性存储器调度优化方法,其特征是:所述步骤3包括以下步骤:
步骤1)获得虚拟机集合VM={VM1,VM2,...,VMn},每个虚拟机VMi的vCPU集合{vCPU1,vCPU2,...,vCPUn},以及CPU集合CPU={CPU1,CPU2,...,CPUn}和每个CPU的任务运行队列;
步骤2)假设每个虚拟机VMi都在后台运行,每个VMi设置级别为低级:PRIi=low;若虚拟机VMi由后台切换到前台,重新设置VMi的级别为高级:PRIi=high;相反,若虚拟机VMi由前台切换到后台,重新设置VMi的级别为低级:PRIi=low;
步骤3)重新利用CPU的负载均衡调节资源的分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510572270.4A CN105117285B (zh) | 2015-09-09 | 2015-09-09 | 一种基于移动虚拟化***的非易失性存储器调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510572270.4A CN105117285B (zh) | 2015-09-09 | 2015-09-09 | 一种基于移动虚拟化***的非易失性存储器调度优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117285A CN105117285A (zh) | 2015-12-02 |
CN105117285B true CN105117285B (zh) | 2019-03-19 |
Family
ID=54665286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510572270.4A Active CN105117285B (zh) | 2015-09-09 | 2015-09-09 | 一种基于移动虚拟化***的非易失性存储器调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117285B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550040B (zh) * | 2015-12-29 | 2019-06-14 | 四川中电启明星信息技术有限公司 | 基于kvm平台的虚拟机cpu资源预留算法 |
KR20170085286A (ko) * | 2016-01-14 | 2017-07-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN107038121B (zh) | 2016-02-03 | 2020-11-17 | 华为技术有限公司 | 虚拟机的内存地址分配方法以及装置 |
CN106445633A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 通过nvram提升虚拟机性能的方法和*** |
CN108182158A (zh) * | 2018-01-12 | 2018-06-19 | 江苏华存电子科技有限公司 | 一种应用在存储***中的任务调度优化方法 |
CN108897618B (zh) * | 2018-06-19 | 2021-10-01 | 中国科学技术大学 | 一种异构内存架构下基于任务感知的资源分配方法 |
CN111273865B (zh) * | 2020-01-16 | 2023-07-25 | 重庆邮电大学 | 一种基于可变便笺式存储器的任务分配及调度方法 |
CN112231095B (zh) * | 2020-09-02 | 2023-03-28 | 北京航空航天大学 | 基于机器学习的面向资源管理的云任务细粒度分类方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799784A (zh) * | 2009-02-10 | 2010-08-11 | 三星电子株式会社 | 存储器装置及其损耗平均方法 |
CN103810113A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失存储器和动态随机存取存储器的融合内存*** |
CN104115132A (zh) * | 2011-12-22 | 2014-10-22 | 英特尔公司 | 借助于存储器通道关闭的功率节约 |
CN104298615A (zh) * | 2014-10-09 | 2015-01-21 | 重庆大学 | 一种存储器交换分区损耗的均衡方法 |
-
2015
- 2015-09-09 CN CN201510572270.4A patent/CN105117285B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799784A (zh) * | 2009-02-10 | 2010-08-11 | 三星电子株式会社 | 存储器装置及其损耗平均方法 |
CN104115132A (zh) * | 2011-12-22 | 2014-10-22 | 英特尔公司 | 借助于存储器通道关闭的功率节约 |
CN103810113A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失存储器和动态随机存取存储器的融合内存*** |
CN104298615A (zh) * | 2014-10-09 | 2015-01-21 | 重庆大学 | 一种存储器交换分区损耗的均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105117285A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117285B (zh) | 一种基于移动虚拟化***的非易失性存储器调度优化方法 | |
CN1717645B (zh) | 用于多线程处理器性能控制的装置和方法 | |
US8935491B2 (en) | Memory architecture for dynamically allocated manycore processor | |
EP2657836A1 (en) | Acceleration method, device and system for co-processing | |
CN104090847A (zh) | 一种固态存储设备的地址分配方法 | |
US9274852B2 (en) | Apparatus and method for managing virtual processing unit | |
CN111767134A (zh) | 一种多任务动态资源调度方法 | |
US20130167152A1 (en) | Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method | |
US10013264B2 (en) | Affinity of virtual processor dispatching | |
US8769543B2 (en) | System and method for maximizing data processing throughput via application load adaptive scheduling and context switching | |
US20130097382A1 (en) | Multi-core processor system, computer product, and control method | |
US10768684B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
US20120102012A1 (en) | Cross-region access method for embedded file system | |
CN113342477A (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
US9069621B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
Singh et al. | Value and energy optimizing dynamic resource allocation in many-core HPC systems | |
CN104182280B (zh) | 面向混合主存嵌入式***的低能耗rm实时任务调度方法 | |
CN109324886A (zh) | 集群资源调度方法和装置 | |
CN112114967B (zh) | 一种基于服务优先级的gpu资源预留方法 | |
KR102204032B1 (ko) | 비대칭 멀티코어 기반 스마트 모바일 단말의 에너지 소모를 줄이기 위한 실시간 태스크의 코어 할당 방법 및 그 장치 | |
CN110955644A (zh) | 一种存储***的io控制方法、装置、设备及存储介质 | |
WO2022083471A1 (zh) | 一种功耗管理方法、装置 | |
WO2024013831A1 (ja) | タスクスケジューラ装置、計算システム、タスクスケジューリング方法およびプログラム | |
KR100676671B1 (ko) | 유저 쓰레드 관리 장치 및 그 방법 | |
Liu et al. | D-IOCost: Dynamic Cost-Aware Fair Queueing for Better I/O Proportionality and Performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |