CN111273865B - 一种基于可变便笺式存储器的任务分配及调度方法 - Google Patents
一种基于可变便笺式存储器的任务分配及调度方法 Download PDFInfo
- Publication number
- CN111273865B CN111273865B CN202010058016.3A CN202010058016A CN111273865B CN 111273865 B CN111273865 B CN 111273865B CN 202010058016 A CN202010058016 A CN 202010058016A CN 111273865 B CN111273865 B CN 111273865B
- Authority
- CN
- China
- Prior art keywords
- task
- energy consumption
- slc
- mlc
- task allocation
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Memory System (AREA)
Abstract
本发明属于计算机存储技术领域,具体涉及一种基于可变便笺式存储器的任务分配及调度方法,该分配方法包括使SPM动态可变;按照任务分配至DRAM、SLC和MLC中产生的不同能耗,构建出任务在不同存储介质中的能耗模型和时延模型;基于能耗模型采用动态规划算法,计算出在不同配置下的能耗最低的任务分配方案,并将每种配置下能耗最低的任务分配方案存放在第一数组中;基于时延模型计算当前任务分配方案中任务的执行时间,建立并遍历第二数组;找到满足实时性要求且能耗最低的任务分配方案,将任务分配至对应存储介质中。本发明采用动态规划算法结合实时性约束,在满足任务实时性要求下使得能耗最低;优化离线任务分配以及实时任务调度。
Description
技术领域
本发明属于计算机存储技术领域,具体涉及一种实时嵌入式设备中基于可变SPM的离线实时任务调度及任务分配优化方案。
背景技术
随着物联网的兴起和通信手段的进步,嵌入式***的应用场景大大拓展,嵌入式***的数量快速增长,然而资源受限的嵌入式终端在***功耗和处理性能等方面已难以满足应用场景对终端日益增长的需求。
目前,动态随机存取存储器(Dynamic Random Access Memory,DRAM),静态随机存取存储器(Static Random-Access Memory,SRAM)等传统存储器存在着扩展性差和静态能耗高等问题,已然成为了嵌入式***发展的一大阻碍。然而,新型非易失性存储器(non-volatile memory,NVM)的出现对嵌入式的发展产生了新的生机,新型非易失性存储器(non-volatile memory,NVM)具备内存的高速处理、持久化存储、扩展性强、超低静态功耗等优势,有望替代传统存储器。
新型非易失性存储器(Non-Volatile Memory,NVM)的出现得到了学术界和工业界的广泛关注,并为计算机存储技术提供了新的解决方案。新型NVM是很有希望取代传统存储器件(如SRAM和DRAM)的,因为它具有集成度高、漏电功耗低、访问速度快、非易失性等优点。由于新型存储器件自身的属性问题,传统的存储***管理方法已不适用,需要针对新型NVM的特点优化相应的管理方法,以提高计算机***性能和降低功耗。
发明内容
有鉴于此,本发明的目的在于提供一种基于可变SPM的离线实时任务调度及任务分配优化方案,其特征在于结合新型可变非易失性存储器的特性,实现可根据任务需求动态改变容量大小的SPM,并优化离线实时任务的调度及任务分配,在满足任务实时性要求下使得能耗最低。
本发明解决上述技术问题所采用的方案包括:
在本发明的第一方面,本发明提出了一种基于可变便笺式存储器的任务分配方法,包括以下步骤:
S1、将便笺式存储器NVM中SLC存储单元和MLC存储单元进行互相转换,使所述便笺式存储器SPM动态可变;
S2、获取任务集中每个任务的数据访问信息,按照任务分配至不同存储介质包括动态随机存取存储器DRAM、SLC存储单元以及MLC存储单元中所产生的不同能耗,构建出任务在不同存储介质中的能耗模型和时延模型;
S3、基于能耗模型,采用动态规划算法,计算出在不同种类以及不同数量的存储介质配置下的能耗最低的任务分配方案,并将每种配置下能耗最低的任务分配方案存放在第一数组中;
S4、基于时延模型,计算出当前任务分配方案中任务的执行时间,并建立第二数组;遍历第二数组,判断每种任务分配方案下的任务是否满足实时性,找到满足实时性要求且能耗最低的任务分配方案,利用该任务分配方案将任务分配至对应存储介质中。
在本发明的第二方面,本发明还提出了一种基于可变便笺式存储器的任务调度方法,所述方法包括上述的基于可变便笺式存储器的任务分配方法,利用任务分配方案将任务分配至对应存储介质后;采用最早截止时间优先EDF调度算法,将任务按照它们的截止期限或周期进行排序,截止期限或周期越早优先级越高,对任务进行有序的调度。
本发明的有益效果:
本发明结合NVM中SLC/MLC单元各自的优点,以及它们可以动态切换的特点,即SLC/MLC可互相转换,以及两种存储单元在性能和存储容量互补优势;实现了一种可根据任务需求容量动态变换的便笺式存储器(Scratch Pad Memory,SPM);本发明采用动态规划的算法结合实时性约束,在满足任务实时性要求下使得能耗最低;优化离线任务分配以及实时任务调度。
附图说明
图1为本发明的一种基于可变便笺式存储器的任务分配方法流程图;
图2为本发明中的存储介质结构图;
图3为本发明中一种基于可变便笺式存储器的任务调度方法流程图;
图4为本发明中实时任务调度以及任务分配的整体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
需要说明的是,本发明实施例的执行主体可以为各种类型的终端;终端例如可以是计算机、服务器、平板电脑、个人数字助理(英文:Personal Digital Assistant,缩写:PDA)、移动互联网设备(英文:Mobile Internet Device,缩写:MID)等可进行存储器任务分配和调度处理的设备,本发明对此不作任何限制。
在本发明的第一方面,如图1所示,本发明的一种基于可变便笺式存储器的任务分配方法,主要包括以下步骤:
S1、调整便笺式存储器SPM中的SLC存储单元和MLC存储单元数量;使所述便笺式存储器SPM动态可变;
S2、获取任务集中每个任务的数据访问信息,按照任务分配至不同存储介质包括动态随机存取存储器DRAM、SLC存储单元以及MLC存储单元中所产生的不同能耗,构建出任务在不同存储介质中的能耗模型和时延模型;
S3、基于能耗模型,采用动态规划算法,计算出在不同种类以及不同数量的存储介质配置下的能耗最低的任务分配方案,并将每种配置下能耗最低的任务分配方案存放在第一数组中;
S4、基于时延模型,计算出当前任务分配方案中任务的执行时间,并建立第二数组;遍历第二数组,判断每种任务分配方案下的任务是否满足实时性,找到满足实时性要求且能耗最低的任务分配方案,利用该任务分配方案将任务分配至对应存储介质中。
可以理解的是,本发明是基于NVM SLC/MLC能够互相转换,以及两种存储单元在性能和存储容量互补优势,从而实现动态可变便笺式存储器。
在一个实施例中,为了使得所述便笺式存储器SPM动态可变,本实施例将初始的便笺式存储器SPM中所有存储单元全部设置为SLC存储单元;在进行任务分配或/和任务调度时,可以将任务从SLC存储单元重新分配至MLC单元或者保持部分SLC单元不变,或者分配至DRAM中;本实施例结合NVM中SLC/MLC两种存储单元的访问性能以及存储容量上的互补优势;从而实现了便笺式存储器SPM动态可变。
在一个实施例中,获取任务集中每个任务的数据访问信息包括通过profiling工具可以获取到任务中的数据访问信息;根据任务的周期确定任务执行的优先级,本发明针对嵌入式***中的周期任务,于是周期越短的任务优先级越高,通过这一步确定了任务执行的顺序。
在一个实施例中,如图2所示,为本申请提供的存储介质结构图;本发明中的存储介质包括动态随机存取存储器DRAM和调整便笺式存储器SPM;DRAM与SPM互通;在SPM中,采用单层单元SLC和多层单元MLC;中央处理器(CPU,central processing unit)通过SPM与DRAM进行连接。
在一个实施例中,通过数据访问信息建立能耗模型包括至少建立两种能效模型,包括任务分配在SLC中的能耗模型以及任务分配在MLC中的能耗模型。
在一个优选实施例中,为了更好的实现与DRAM的交互,本实施例还提供了任务分配在DRAM中的能耗模型。
具体的,根据任务的Nw和Nr构建任务在不同存储介质中的能耗模型,当任务分配至DRAM时,能耗主要由两部分产生,一是任务数据访问的能耗,可以表示为Ead=(Nw+Nr)×ead,其中ead为DRAM访问一次的能耗开销,二是DRAM的静态能耗,可表示为Edram=pdram×(Nw+Nr)×tad,其中pdram为DRAM静态泄露功率,tad为DRAM访问一次的时延,任务分配在DRAM中总的能耗模型为EDRAM=Ea+Ed。
当任务分配至SLC时,能耗主要由数据在SLC的读能耗Ers=Nr×ers,数据在SLC的写能耗Ews=Nw×ews以及SLC/MLC之间转换的能耗Ec组成,所以任务分配在SLC中的总能耗为ESLC=Ers+Ews+Ec。
当任务分配至MLC时,能耗主要由数据在MLC的读能耗Erm=Nr×erm,数据在MLC的写能耗Ewm=Nw×ewm,SLC/MLC转换的能耗Ec组成,所以任务分配在MLC中的总能耗为EMLC=Erm+Ewm+Ec。
在一个实施例中,在上述建立的能效模型中,采用动态规划算法01背包问题的思想,本发明计算出对每种SLC/MLC存储单元的能耗最低的任务分配方案,本发明所采用的动态规划算法的递推公式可以表示为:
V[i,SS,SM]=min(V[i-1,SS,SM]+EDRAM(ti),
V[i-1,SS-size(ti),SM]+ESLC(ti),
V[i-1,SS,SM-size(ti)]+EMLC(ti))
其中,V[i,SS,SM]表示第i个任务分配至存储介质中获得最优的价值,具体表示为总的最小能耗开销;SS表示当前SLC所剩的空间,SM表示当前MLC所剩的空间,EDRAM(ti)表示任务ti存放至DRAM中产生的能耗,ESLC(ti)表示任务ti放至SLC SPM中产生的能耗,EMLC(ti)表示任务ti放至MLC SPM中产生的能耗。
在一个实施例中,创建一个第一数组allocationResultArray,将上述通过能耗模型得到的每种配置下的最低能耗的分配方案放入第一数组allocationResultArray中。
可以理解的是,本发明中的任务集包含多个任务,将这些任务存放进SPM时存在很多种配置,例如在配置1中,可能是3个SLC和7个MLC;在配置2中可能是5个SLC和5个MLC,每种配置下存放任务所花费的能耗开销和时间都不一致,本发明采用动态规划可以得到第一数组,这个第一数组就记录了这些配置,通过溯源的方式可以得到每个任务分配到了哪个存储器/存储介质中,最后通过实时性约束得到最优的配置。
在一个实施例中,根据获取的读写次数Nr,Nw构建时延模型,如果任务分配至DRAM中,其时延模型可以表示为TDRAM=(Nr+Nw)×tad+texe,其中tad表示任务在DRAM数据访问的时间,texe表示CPU计算的时间,如果任务分配至SLC中,其时延模型可以表示为TSLC=Nr×trs+Nw×tws+texe,其中trs表示任务在SLC中数据读一次的时间,tws表示任务在SLC中数据写一次的时间,如果任务分配至MLC中,其时延模型可以表示为TMLC=Nr×trm+Nw×twm+texe,其中trm表示任务在MLC中数据读一次的时间,twm表示任务在MLC中数据写一次的时间。
在一个实施例中,为了通过实时性约束得到最优的配置可以通过如下方式实现:
设置变量optimal_result记录最优分配方案的任务信息以及SPM SLC/MLC配置信息,根据实时性约束,判断当前的任务分配方案是否满足实时性要求,如果满足实时性要求并且能耗比当前optimal_result的能耗更低,则用optimal_result记录当前分配方案,如果不满足实时性要求,则继续判断第一数组allocationResultArray中的下一种分配方案是否为最优分配方案;
具体的,遍历最优执行时间集,也即是第二数组Clist,判断每种分配下的任务执行时间是否满足如果满足,并且能耗比当前optimal_result的能耗更低,用optimal_result变量记录该分配下的所有信息,optimal_result数据类型为一个对象,其中可以记录分配方案,该分配下的能耗以及SPM SLC/MLC的配置情况。
其中, 第二数组为一个二维数组,其长度任务分配方案的个数m,宽度为任务集中任务的个数n;表示第二数组中第i行元素即为第i种分配方案下任务的执行时间集合,其包含n列元素,表示的是每个任务的执行时间。
在一个实施例中,如图3所示,本发明的一种基于可变便笺式存储器的任务调度方法流程图包括:
S5、采用任务分配方案将任务分配至对应的存储介质;
S6、采用EDF调度算法,对任务进行调度。
优选的,采用任务分配方案将任务分配至对应的存储介质可以选择上实施例实现。
在一个优选实施例中,如图4所示,本实例提供了一种实时任务调度以及数据分配的整体流程图。
步骤301:数据输入;输入任务集,以及每个任务的周期(设置数量为n)、读写信息、任务所需的容量St、每种存储介质的读写能耗、每种存储介质的读写时延、设置SPM的初始大小为Nspm以及一个MLC存储单元的大小设置为bm。
步骤302:初始化SPM,将其全设置为SLC单元;
步骤303:初始化任务队列TQ,其大小为任务的数量,并且将任务放入任务队列TQ中;
步骤304:从任务队列TQ中取出第一个任务ti,即优先级最高的任务;
步骤305:采用动态规划算法,分别计算出每种配置下的能耗最低分配方案;
步骤306:将每种配置下的最低能耗分配记录在动态规划数组dpArray中;
步骤307:完成一个任务的所有配置下的分配方案最低能耗记录后从任务队列TQ中移除该任务;
步骤308:判断TQ是否为空,如果TQ不为空,则执行步骤309,否则执行步骤304;
步骤309:创建第一数组allocationResultArray记录每种任务分配方案信息;
步骤310:创建第二数组Clist记录第一数组中任务分配方案的任务执行时间集合;
步骤311:初始化第二数组索引j=0,创建变量optimal_result表示最优分配方案;
步骤312:从Clist选取第j个数据Clist[j],判断Clist[j]对应的任务分配是否满足实时性;
步骤313:判断Clist[j]对应的任务分配是否满足实时性,如果满足执行步骤314,否则执行步骤315;
步骤314:找到Clist[j]对应的第一数组的分配方案的能耗是否低于当前optimal_result的能耗,如果是执行步骤317,否则执行步骤316;
步骤315:j自增加1,返回步骤312;
步骤316:j自增加1,返回步骤312;
步骤317:更新optimal_result记录,置为Clist[j]分配方案;
步骤318:判断此时的j是否大于Nspm(任务不同分配方案的数量),如果是则执行步骤320,否则执行步骤319;
步骤319:j自增加1,返回步骤312;
步骤320:输出optimal_result最优配置及任务分配;
步骤321:采用EDF调度算法,根据任务的截止期限或周期排序,截止期限或周期越早优先级越高,有序的调度任务;
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于可变便笺式存储器的任务分配方法,其特征在于,包括以下步骤:
S1、将便笺式存储器SPM中SLC存储单元和MLC存储单元进行互相转换,使所述便笺式存储器SPM动态可变;
S2、获取任务集中每个任务的数据访问信息,按照任务分配至不同存储介质包括动态随机存取存储器DRAM、SLC存储单元以及MLC存储单元中所产生的不同能耗,构建出任务在不同存储介质中的能耗模型和时延模型;
任务分配在DRAM中的时延模型为:
TDRAM=(Nr+Nw)×tad+texe;
任务分配在SLC中的时延模型为:
TSLC=Nr×trs+Nw×tws+texe;
任务分配在MLC中的时延模型为:
TMLC=Nr×trm+Nw×twmm+texe;
其中,Nw表示任务i总的写次数,Nr表示任务i总的读次数;tad表示任务在DRAM数据访问的时间,texe表示CPU计算的时间;trs表示任务在SLC中数据读一次的时间,tws表示任务在SLC中数据写一次的时间;trm表示任务在MLC中数据读一次的时间,twmm表示任务在MLC中数据写一次的时间;
S3、基于能耗模型,采用动态规划算法,计算出在不同种类以及不同数量的存储介质配置下的能耗最低的任务分配方案,并将每种配置下能耗最低的任务分配方案存放在第一数组中;
S4、基于时延模型,计算出当前任务分配方案中任务的执行时间,并建立第二数组;遍历第二数组,判断每种任务分配方案下的任务是否满足实时性,找到满足实时性要求且能耗最低的任务分配方案,利用该任务分配方案将任务分配至对应存储介质中。
2.根据权利要求1所述的一种基于可变便笺式存储器的任务分配方法,其特征在于,所述步骤S1中,初始的便笺式存储器SPM中所有存储单元全部设置为SLC存储单元。
3.根据权利要求1所述的一种基于可变便笺式存储器的任务分配方法,其特征在于,所述步骤S2中,
任务分配在DRAM中的能耗模型为:
EDRAM=Ea+Ed;
任务分配在SLC中的能耗模型为:
ESLC=Ers+Ews+Ec;
任务分配在MLC中的能耗模型为:
EMLC=Erm+Ewm+Ec;
其中,Ea表示任务从存放在DRAM中的数据访问能耗表示为:Ea=(Nw+Nr)×ead,其中ead为DRAM访问一次的能耗开销,Nw为任务写的次数,Nr为任务读的次数;Ed表示DRAM的静态泄露能耗,表示为:Edram=pdram×(Nw+Nr)×tad,其中pdram为DRAM静态泄露功率;Ers表示SLC的读能耗,表示为:Ers=Nr×ers,其中ers为SLC单元读一次的能耗;Ews表示SLC的写能耗,可表示为Ews=Nw×ews,其中ews为SLC单元写一次的能耗;Ec表示SLC存储单元与MLC存储单元之间相互转换的能耗;Erm表示MLC的读能耗,表示为:Erm=Nr×erm,其中erm为MLC单元读一次的能耗;Ewm表示MLC的写能耗,可表示为:Ewm=Nw×ewm,其中ewm为MLC单元写一次的能耗。
4.根据权利要求3所述的一种基于可变便笺式存储器的任务分配方法,其特征在于,所述采用动态规划算法,计算出在不同种类以及不同数量的存储介质配置下的能耗最低的任务分配方案包括:
V[i,SS,SM]=min(V[i-1,SS,SM]+EDRAM(ti),V[i-1,SS-size(ti),SM]+ESLC(ti),V[i-1,SS,SM-size(ti)]+EMLC(ti))
其中,V[i,SS,SM]表示第i个任务分配至存储介质中获得最优的价值,具体表示为总的最小能耗开销;SS表示当前SLC所剩的空间,SM表示当前MLC所剩的空间,EDRAM(ti)表示任务ti存放至DRAM中产生的能耗,ESLC(ti)表示任务ti放至SLC SPM中产生的能耗,EMLC(ti)表示任务ti放至MLC SPM中产生的能耗。
5.根据权利要求1所述的一种基于可变便笺式存储器的任务分配方法,其特征在于,所述步骤S4包括计算每种任务分配方案下的最优执行时间,表示为建立所有任务分配方案下的最优执行时间集即第二数组;遍历第二数组,依次取出数组/>遍历数组/>中的元素并计算/>根据实时性约束,判断当前任务分配方案是否满足实时性要求,即判断当前任务分配下的任务执行时间是否满足若满足实时性要求,则判断当前时间/>对应的第一数组中的任务分配方案的能耗是否比当前最优分配方案结果变量optimal_result所对应的能耗更低,若更低,则更新该变量optimal_result的记录,第二数组遍历完成后,最终获得的变量optimal_result即为最优分配方案的映射变量,输出最优的存储介质配置以及任务分配方案;其中,Ci表示第i个任务的执行时间。
6.一种基于可变便笺式存储器的任务调度方法,其特征在于,所述方法包括如权利要求1~5任一所述的基于可变便笺式存储器的任务分配方法,利用任务分配方案将任务分配至对应存储介质后;采用最早截止时间优先EDF调度算法,将任务按照它们的截止期限或周期进行排序,截止期限或周期越早优先级越高,对任务进行有序的调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010058016.3A CN111273865B (zh) | 2020-01-16 | 2020-01-16 | 一种基于可变便笺式存储器的任务分配及调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010058016.3A CN111273865B (zh) | 2020-01-16 | 2020-01-16 | 一种基于可变便笺式存储器的任务分配及调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111273865A CN111273865A (zh) | 2020-06-12 |
CN111273865B true CN111273865B (zh) | 2023-07-25 |
Family
ID=70998806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010058016.3A Active CN111273865B (zh) | 2020-01-16 | 2020-01-16 | 一种基于可变便笺式存储器的任务分配及调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111273865B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113311997B (zh) * | 2021-05-28 | 2024-03-08 | 上海阵量智能科技有限公司 | 一种存储器选择方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186555A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576851B (zh) * | 2008-05-06 | 2012-04-25 | 宇瞻科技股份有限公司 | 存储单元配置方法及其所适用的存储介质 |
KR20140040137A (ko) * | 2011-05-17 | 2014-04-02 | 샌디스크 테크놀로지스, 인코포레이티드 | 활성 slc 및 mlc 메모리 분할들 간에 분포된 작은 논리 그룹들을 가진 비휘발성 메모리 및 방법 |
US9928169B2 (en) * | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
CN104811495B (zh) * | 2015-04-27 | 2018-06-08 | 北京交通大学 | 一种用于智慧协同网络的网络组件内容存储方法及模块 |
CN105117285B (zh) * | 2015-09-09 | 2019-03-19 | 重庆大学 | 一种基于移动虚拟化***的非易失性存储器调度优化方法 |
CN106775476A (zh) * | 2016-12-19 | 2017-05-31 | 中国人民解放军理工大学 | 混合内存***及其管理方法 |
US10572388B2 (en) * | 2017-08-30 | 2020-02-25 | Micron Technology, Inc. | Managed NVM adaptive cache management |
CN109002257B (zh) * | 2018-06-25 | 2021-04-23 | 重庆邮电大学 | 一种基于可变便笺存储器的数据分布优化方法 |
-
2020
- 2020-01-16 CN CN202010058016.3A patent/CN111273865B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186555A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111273865A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140258596A1 (en) | Memory controller and memory system | |
CN103608782B (zh) | Lsb页面和msb页面中的选择性数据存储 | |
CN102317925B (zh) | 存储器***和控制存储器***的方法 | |
US20170060439A1 (en) | Memory system that buffers data before writing to nonvolatile memory | |
CN106775476A (zh) | 混合内存***及其管理方法 | |
CN100383792C (zh) | 缓存数据库数据组织方法 | |
CN109002257B (zh) | 一种基于可变便笺存储器的数据分布优化方法 | |
US10991412B2 (en) | Storage device and method for operating storage device | |
CN108268220B (zh) | 实时嵌入式***中非易失性混合式内存的软件优化方法 | |
US20220004495A1 (en) | Host managed hotness data utilized for cache evictions and/or insertions | |
CN114185818A (zh) | 基于扩展页表的gpu访存自适应优化方法及装置 | |
CN104995611A (zh) | 用于存取存储器的***及方法 | |
CN111273865B (zh) | 一种基于可变便笺式存储器的任务分配及调度方法 | |
CN102520885B (zh) | 一种混合硬盘的数据管理*** | |
CN107861884A (zh) | 一种提高nand闪存中跨页存储地址映射效率的方法 | |
US20200319808A1 (en) | Memory device | |
CN101930407A (zh) | 闪速存储器控制电路及其存储***与数据传输方法 | |
CN109491926B (zh) | 基于延长写时间的优化非易失性存储器写寿命的内存管理方法 | |
CN114936169A (zh) | 存储器的磨损均衡方法和装置、存储器和电子设备 | |
CN112817982B (zh) | 一种基于lsm树的动态幂律图存储方法 | |
CN113010112B (zh) | 一种基于可变电阻式存储器的数据分配优化方法 | |
TWI721660B (zh) | 控制資料讀寫裝置與方法 | |
CN117687937A (zh) | 一种基于嵌入式***可变内存的页面管理优化策略 | |
CN113609310B (zh) | 单机大规模知识图谱嵌入***及方法 | |
CN116149567A (zh) | 基于忆阻器的存算一体化***及在线深度学习方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |