CN105760220B - 一种基于混合内存的任务与数据调度方法和装置 - Google Patents

一种基于混合内存的任务与数据调度方法和装置 Download PDF

Info

Publication number
CN105760220B
CN105760220B CN201610066773.9A CN201610066773A CN105760220B CN 105760220 B CN105760220 B CN 105760220B CN 201610066773 A CN201610066773 A CN 201610066773A CN 105760220 B CN105760220 B CN 105760220B
Authority
CN
China
Prior art keywords
data
task
processor
memory
energy consumption
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
Application number
CN201610066773.9A
Other languages
English (en)
Other versions
CN105760220A (zh
Inventor
李肯立
陈俊杰
唐卓
李巧巧
***
鲁彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN201610066773.9A priority Critical patent/CN105760220B/zh
Publication of CN105760220A publication Critical patent/CN105760220A/zh
Application granted granted Critical
Publication of CN105760220B publication Critical patent/CN105760220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明涉及数据处理领域,提供一种基于混合内存的任务与数据调度方法和装置,所述方法包括:步骤1,根据任务与数据的DAG图,获得任务的输入数据与输出数据;步骤2,对所述输入数据与输出数据进行数据分类,得到共享数据源与独立数据源;步骤3,根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度;步骤4,根据数据分类和初始化调度,对输入数据进行调度;步骤5,根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整。本发明充分考虑了数据对任务调度的影响,提高了数据识别的能力,降低了能耗。

Description

一种基于混合内存的任务与数据调度方法和装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于混合内存的任务与数据调度方法和装置。
背景技术
近几年信息技术高速发展,信息的***式增长和信息的实时处理能力是矛盾的。当希望从海量数据中快速获得所需要的信息时候,企业对信息***对海量数据的实时处理能力的需求,过去从来没有如此之强烈和迫切。而信息***所不可避免的遇到性能问题就成为企业迫在眉睫要解决的重大挑战。
从过去的几年来看,计算机处理器的速度几乎没有太大的突破,但是伴随着的是CPU处理器从单核走向多核,从2核、4核,再到8~10核,而且很快即将拥有32~64个内核的单处理器。通过增加处理器的内核,CPU具有了更强、更多并发的计算能力。在CPU这样的新发展趋势下,传统软件架构如果不做革命性的创新,无法有效驾驭和充分利用这种新硬件架构的优势。从总体的***架构优化角度来看,由于目前无法充分发挥多CPU内核配合大内存硬件架构的潜在高性能,数据读取频繁,数据库只“存放”数据而计算仍然在应用层完成,没有内存数据库做支撑,不支持大规模并行处理计算,没有解决列存储、行存储、内存技术、并行化处理的组合应用等原因,期望单纯通过加大硬件投资,是无法给企业带来良好的投资回报比的。
因此随着大数据时代的到来,任务所要处理数据量呈现***式增长,单一的内存并不能处理大块的数据,如果不创新出新的内存模式,这将会成为计算机高性能计算方面的主要障碍之一,于是混合内存的方式就应运而生了。为了满足日益增长的高性能计算需要,有各种各样的内存混合模式被提出,如PCM与NAND Flash,uCache,还有DRAM与NORFlash等。
但是,现有技术针对混合内存的任务与数据调度方法,主要是通过PCM 与NANDFlash的混合,存在当遇到大型数据又不能进行切割的时候就会有难处理的问题。
发明内容
本发明主要解决现有技术的任务与数据调度方法读取数据过程中消耗过高的技术问题,提出一种基于混合内存的任务与数据调度方法,充分考虑了数据对任务调度的影响,提高了数据识别的能力,在相同时间内对比其他任务调度技术大幅度的降低了能耗。
本发明提供了一种基于混合内存的任务与数据调度方法,包括以下过程:
步骤1,根据任务与数据的DAG图,获得任务的输入数据与输出数据;
步骤2,对所述输入数据与输出数据进行数据分类,得到共享数据与独立数据,其中,所述共享数据是作为多个任务的输入数据,能够进行多次内存访问操作,所述独立数据只被一个任务所使用,能够进行一次内存访问操作;
步骤3,根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度,其中,所述内存是由DRAM和SSD 构成的混合内存;
步骤4,根据步骤2中的数据分类和步骤3中得到的初始化调度,对输入数据进行调度,包括:利用各个处理器访问内存的时间与能耗,将共享数据优先调度到DRAM上,进而处理独立数据,将独立数据调度到DRAM上,如果DRAM已满,则将独立数据调度到SSD上,其中,调度目标是使数据在访问时间上的消耗达到最低;
步骤5,根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整。
优选的,在步骤2中,采用数据识别技术对输入数据与输出数据进行数据分类。
优选的,在步骤3中,根据处理器的访问时间,采用HEFT调度技术对任务进行排序,以获得执行任务最快的处理器。
优选的,在步骤5中,根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整,包括以下过程:
如果调度结果的完成时间未超过时间限制范围并且各个内存容量不超过最大内存,采取修正调度技术,对各个处理器处理任务和访问数据时所产生的能耗进行比较,向能耗减少的方向对任务所在的处理器与数据所在存储位置进行调整,以使最终整个任务完成的能量消耗达到最少;
如果调度结果的完成时间超过了时间限制范围,采取修正调度技术,改变各个任务和数据所处的处理器和内存,从而使时间满足时间限制条件;再重复步骤4,直到调度结果的完成时间未超过时间限制范围时,完成混合内存DRAM 与SSD的任务与数据调度。
优选的,在步骤5中,处理器处理任务和内存访问数据的总能耗的计算公式如下:
其中,EC表示总能耗,E_E(i,j)表示任务vi在处理器pj上的能耗,E_E(i,j) 其计算公式如(2);A_E(l,m)表示内存访问操作l访问数据所在内存Mm的能耗,计算公式如(3);xi,j,k表示任务vi是否在时间点k上在处理器pj上,yl,m,k表示内存访问操作ul是否在第k步访问了内存Mm,M_d(d)表示数据d位于内存M,vr(i,m,d)表示任务i,数据d和内存m之间的联系,Nt表示任务的个数,n表示处理器的个数,N2表示内存访问操作数。
对应的,本发明还提供一种基于混合内存的任务与数据调度装置,所述装置包括:
获取数据模块,用于根据任务与数据的DAG图,获得任务的输入数据与输出数据;
数据分类模块,用于对所述输入数据与输出数据进行数据分类,得到共享数据与独立数据,其中,所述共享数据是作为多个任务的输入数据,能够进行多次内存访问操作,所述独立数据只被一个任务所使用,能够进行一次内存访问操作;
初始化调度模块,用于根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度,其中,所述内存是由DRAM和SSD构成的混合内存;
数据调度模块,用于根据数据分类和初始化调度,对输入数据进行调度,包括:利用各个处理器访问内存的时间与能耗,将共享数据优先调度到DRAM上,进而处理独立数据,将独立数据调度到DRAM上,如果DRAM已满,则将独立数据调度到SSD上,其中,调度目标是使数据在访问时间上的消耗达到最低;
调度调整模块,用于根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整。
优选的,所述数据分类模块,采用数据识别技术对输入数据与输出数据进行数据分类。
优选的,所述初始化调度模块,根据处理器的访问时间,采用HEFT调度技术对任务进行排序,以获得执行任务最快的处理器。
优选的,所述调度调整模块,具体用于:
如果调度结果的完成时间未超过时间限制范围并且各个内存容量不超过最大内存,采取修正调度技术,对各个处理器处理任务和访问数据时所产生的能耗进行比较,向能耗减少的方向对任务所在的处理器与数据所在存储位置进行调整,以使最终整个任务完成的能量消耗达到最少;
如果调度结果的完成时间超过了时间限制范围,采取修正调度技术,改变各个任务和数据所处的处理器和内存,从而使时间满足时间限制条件;再重复执行数据调度模块,直到调度结果的完成时间未超过时间限制范围时,完成混合内存DRAM与SSD的任务与数据调度。
优选的,调度调整模块中,处理器处理任务和内存访问数据的总能耗的计算公式如下:
其中,EC表示总能耗,E_E(i,j)表示任务vi在处理器pj上的能耗,E_E(i,j) 其计算公式如(2);A_E(l,m)表示内存访问操作l访问数据所在内存Mm的能耗,计算公式如(3);xi,j,k表示任务vi是否在时间点k上在处理器pj上, yl,m,k表示内存访问操作ul是否在第k步访问了内存Mm,M_d(d)表示数据d 位于内存M,vr(i,m,d)表示任务i,数据d和内存m之间的联系,Nt表示任务的个数,n表示处理器的个数,N2表示内存访问操作数。
本发明提供的一种基于混合内存的任务与数据调度方法和装置,在异构多处理器环境下,通过采用数据类型的识别技术,分类出共享数据与独立数据;利用HEFT技术对任务进行初始化调度,将任务分配到相应的处理器上,使任务在没有考虑数据调度的情况下使总完成时间最短;根据任务的当前所处处理器,尽可能的合理分配输入数据到内存中;采用修正技术,改变任务所处处理器和数据所处内存,尽可能的使能量消耗在一定时间限制内达到最小。本发明弥补了现有任务调度技术方面的不足,但保留了其优势,并充分考虑了数据对任务调度的影响,提高了数据识别的能力,在相同时间内对比其他任务调度技术大幅度的降低了能耗,还充分利用了处理器与内存之间的关系以及充分利用了内存DRAM与SSD的本身容量。采取混合内存模式如DRAM 与SSD的结合对数据进行合理调度这是完全可行而且具有创新意义的技术,能够克服单一的内存模式有很大的能源浪费和或者时间浪费的问题。
附图说明
图1是本发明提供的基于混合内存的任务与数据调度方法的实现流程图;
图2是本发明的实施硬件框架图;
图3a-b是本发明的示例调度结果示意图;
图4是本发明提供的基于混合内存的任务与数据调度装置的结构示意图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
实施例一
图1为本发明实施例提供的基于混合内存的任务与数据调度方法的实现流程图。如图1所示,本发明实施例提供的基于混合内存DRAM与SSD的任务与数据调度方法,包括以下过程:
步骤1,根据任务与数据的DAG图,获得任务的输入数据与输出数据。
具体的,由于每一个任务都有自己需要读取的数据,有的任务也会产生一定的数据,还有的任务需要用到另一个任务所产生的数据,所以任务与数据具有依赖关系,DAG图就可以表示各个任务之间的依赖关系。其中,DAG(Directed Acyclic Graph,无回路有向)图是任务与任务之间的关系,例如,如果v1->v2 这就是方向,如果v1产生了数据d1,而v2的输入数据是d1,那么这个依赖就是方向,而不能逆转。因此,通过由任务与数据构成DAG图就可以得到各个任务之间的直接关系,这个关系就是输入与输出数据,以及任务与任务之间的依赖,进而分析出输入数据与输出数据。
步骤2,对输入数据与输出数据进行数据分类,得到共享数据与独立数据。
在本步骤中,采用数据识别技术对输入数据与输出数据进行数据分类。所述共享数据是作为多个任务的输入数据,需要进行多次内存访问操作,所述独立数据是只被一个任务所使用,只需要进行一次内存访问操作,对任何一个DAG 图中的所有数据都可以利用数据识别技术分析出数据的类型是共享数据还是独立数据。其中,常用的数据识别技术有数据关键字过滤技术、模版匹配技术以及“泛魔”识别模型等。
步骤3,根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度;
本步骤通过利用SLURM集群管理软件测试出处理器访问其他处理器内存 DRAM和SSD的能量消耗与时间。具体的,采用HEFT调度技术对任务进行调度。 HEFT是一个著名的表调度算法,是一个基于任务执行代价和通信代价的自底向上的递归计算DAG中各个任务优先级的复杂度调度算法。利用HEFT调度技术对任务进行排序,寻求最快执行任务的处理器,将任务分配到该处理器上,完成初始化调度。另外,在本步骤中能够得到各个处理器访问内存的时间与能耗。
在本实施例中,内存是由DRAM和SSD构成的混合内存。采用DRAM(Dynamic RandomAccess Memory,动态随机存取存储器)混搭SSD(Solid State Drives,固态硬盘)的内存架构模式,其中,DRAM是最为常见的***内存,只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。SSD是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、 DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。SSD在异构多处理器***中可以被本地与远程处理器访问,相比较 DRAM而言,SSD存储能力更大,对单字节的处理消耗比其他存储要更低,而且相对于硬盘驱动器(HHD)在读写延迟的上和能耗方面SSD的能力都要更好。
步骤4,根据步骤2中的数据分类和步骤3中得到的初始化调度,对输入数据进行调度。
利用各个处理器访问内存的时间与能耗,以步骤2获得的数据类型(包括共享数据和独立数据)和步骤3获得任务初始化调度为结果(这里的结果就是共享与独立数据,泛魔识别是在图像识别方面用的),对输入数据进行调度,优先处理共享数据,共享数据优先调度到DRAM上,调度目标是使数据在访问时间上的消耗达到最低,这里调度的目标就是要使各个数据所放置的位置在被处理器访问时的时间最优,这里的数据是指共享数据和独立数据。具体的,利用步骤3中测出的各个处理器访问内存的时间与能耗,优先将数据放置到处理器访问的那个能耗较少的内存中,之所以优先调度到DRAM因为硬件本身的优势访问速度快 ,但是也有缺点就是容量小,所以要SSD作为辅助。再处理独立数据,如果DRAM中放不下,便优先调度到SSD中,保证各个内存不超过容量的前提下,进行独立数据调度。如果SSD中容量不够了再转存到外部存储器上。在本步骤中,共享数据要被多次读取需要优先考虑提高整体性能,DRAM被处理器访问的时间与能耗都要低于SSD被处理器访问时的消耗。
步骤5,根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整。
具体过程为:如果上述调度结果的完成时间未超过时间限制范围并且各个内存容量不超过最大内存,采取修正调度技术,对各个处理器处理任务和访问数据时所产生的能耗进行比较,对有能耗减少的方案,那么就对任务所在的处理器与数据所在存储位置进行调整,改变任务所在的处理器和数据所在的内存,以使最终整个任务完成的总能量消耗达到最少;
如上述调度结果的完成时间超过了时间限制范围,采取修正调度技术,对任务与数据进行调度改变各个任务和数据所处的处理器和内存,从而使时间满足时间限制条件,再重复步骤4。直到完成时间未超过时间限制范围时,完成混合内存DRAM与SSD的任务与数据调度。其中,处理器处理任务和内存访问数据的能耗,即任务执行能耗和数据访问能耗。
在本步骤中,调度过程的总能耗(任务执行能耗和数据访问能耗),总能耗的计算公式如下:
其中,EC表示总能耗,E_E(i,j)表示任务vi在处理器pj上的能耗,E_E(i,j) 其计算公式如(2);A_E(l,m)表示内存访问操作l访问数据所在内存Mm的能耗,计算公式如(3);xi,j,k表示任务vi是否在时间点k上在处理器pj上, yl,m,k表示内存访问操作ul是否在第k步访问了内存Mm,M_d(d)表示数据d 位于内存M,vr(i,m,d)表示任务i,数据d和内存m之间的联系,Nt表示任务的个数,n表示处理器的个数,N2表示内存访问操作数。
图2是本发明的实施硬件框架图。如图2所示,为本发明的混合内存的 DRAM+SSD的硬件结构框架,在每一组异构处理器的DRAM内存上加入SSD作为辅助内存,各处理器之间通过局域网络连接,各处理器内部通过BUS总线传输数据,机器之间的访问关系如下:各处理器之间的访问机器内部内存的时间要高于处理器访问自身内存的时间;访问DRAM的时间要低于访问SSD的时间;访问 DRAM的能耗要低于访问SSD的能耗;图2中,Interconnectionnetwork为外网络连接,Network control为网络控制器,Pn表示处理器,SSDn、DRAMn表示内存。
图3是本发明的示例调度结果示意图。如图3所示,为本发明在三个处理器搭建的集群中实现混合内存DRAM与SSD的任务和数据调度技术的成果展示,图3a表示在任务调度完成后未考虑数据调度在完成时间与能量消耗方面对整体效果的影响,也未考虑内存和处理器之间位置关系对整体效果的影响,根据测试实例的实验结果,总完成之间高达608秒,能耗通过计算为1679焦耳;图3b 表示使用了基于混合内存DRAM与SSD的任务和数据调度技术考虑的数据的位置,尽可能的减少在读取数据方面的时间消耗与能量消耗,与此同时尽可能的考虑内存与处理器之间的关系尽可能的选取处理器访问内存消耗时间短能耗低的,对同样的测试实例的实验结果,总完成之间只有392秒,能耗通过计算只有1159焦耳,因此在608秒的时间限制下,节约能量30.97%;图中,{16、32、 16},{128、128、128}分别表示DRAM[1-3],SSD[1-3]的存储能力。通过图3可以看出数据的存储更加合理,充分利用了DRAM和SSD的性能优势,不仅减少了完成时间,而且也降低了能耗。
本实施例提供的基于混合内存的任务与数据调度方法,弥补了现有任务调度技术方面的不足,充分考虑了数据对任务调度的影响,提高了数据识别的能力,在相同时间内对比其他任务调度技术大幅度的降低了能耗,还充分利用了处理器与内存之间的关系以及充分利用了内存DRAM与SSD的本身容量。采取混合内存模式如DRAM与SSD的结合对数据进行合理调度,能够克服单一的内存模式有很大的能源浪费和或者时间浪费的问题。
实施例二
图4为本发明实施例提供的基于混合内存的任务与数据调度装置的结构示意图。如图4所示,本发明实施例提供的基于混合内存DRAM与SSD的任务与数据调度装置,包括:
获取数据模块,用于根据任务与数据的DAG图,获得任务的输入数据与输出数据;
数据分类模块,用于对所述输入数据与输出数据进行数据分类,得到共享数据与独立数据,其中,所述共享数据是作为多个任务的输入数据,能够进行多次内存访问操作,所述独立数据只被一个任务所使用,能够进行一次内存访问操作;
初始化调度模块,用于根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度,其中,所述内存是由DRAM和SSD构成的混合内存;
数据调度模块,用于根据数据分类和初始化调度,对输入数据进行调度,包括:利用各个处理器访问内存的时间与能耗,将共享数据优先调度到DRAM上,进而处理独立数据,将独立数据调度到DRAM上,如果DRAM已满,则将独立数据调度到SSD上,其中,调度目标是使数据在访问时间上的消耗达到最低;
调度调整模块,用于根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整。
在上述方案中,数据分类模块,采用数据识别技术对输入数据与输出数据进行数据分类。初始化调度模块,根据处理器的访问时间,采用HEFT调度技术对任务进行排序,以获得执行任务最快的处理器。
在本实施例中,所述调度调整模块,具体用于:
如果调度结果的完成时间未超过时间限制范围并且各个内存容量不超过最大内存,采取修正调度技术,对各个处理器处理任务和访问数据时所产生的能耗进行比较,向能耗减少的方向对任务所在的处理器与数据所在存储位置进行调整,以使最终整个任务完成的能量消耗达到最少;
如果调度结果的完成时间超过了时间限制范围,采取修正调度技术,改变各个任务和数据所处的处理器和内存,从而使时间满足时间限制条件;再重复执行数据调度模块,直到调度结果的完成时间未超过时间限制范围时,完成混合内存DRAM与SSD的任务与数据调度。
其中,调度调整模块中,处理器处理任务和内存访问数据的总能耗的计算公式如下:
其中,EC表示总能耗,E_E(i,j)表示任务vi在处理器pj上的能耗,E_E(i,j) 其计算公式如(2);A_E(l,m)表示内存访问操作l访问数据所在内存Mm的能耗,计算公式如(3);xi,j,k表示任务vi是否在时间点k上在处理器pj上, yl,m,k表示内存访问操作ul是否在第k步访问了内存Mm,M_d(d)表示数据d 位于内存M,vr(i,m,d)表示任务i,数据d和内存m之间的联系,Nt表示任务的个数,n表示处理器的个数,N2表示内存访问操作数。
注意,上述内容仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种基于混合内存的任务与数据调度方法,其特征在于,包括以下过程:
步骤1,根据任务与数据的DAG图,获得任务的输入数据与输出数据;
步骤2,对所述输入数据与输出数据进行数据分类,得到共享数据与独立数据,其中,所述共享数据是作为多个任务的输入数据,能够进行多次内存访问操作,所述独立数据只被一个任务所使用,能够进行一次内存访问操作;
步骤3,根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度,其中,所述内存是由DRAM和SSD构成的混合内存;
步骤4,根据步骤2中的数据分类和步骤3中得到的初始化调度,对输入数据进行调度,包括:利用各个处理器访问内存的时间与能耗,将共享数据优先调度到DRAM上,进而处理独立数据,将独立数据调度到DRAM上,如果DRAM已满,则将独立数据调度到SSD上,其中,调度目标是使数据在访问时间上的消耗达到最低,即使各个数据所放置的位置在被处理器访问时的时间最优;
步骤5,根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整,使最终整个任务完成的总能量消耗达到最少;
在步骤5中,处理器处理任务和内存访问数据的总能耗的计算公式如下:
其中,EC表示总能耗,E_E(i,j)表示任务vi在处理器pj上的能耗,E_E(i,j)其计算公式如(2);A_E(l,m)表示内存访问操作l访问数据所在内存Mm的能耗,计算公式如(3);xi,j,k表示任务vi是否在时间点k上在处理器pj上,yl,m,k表示内存访问操作ul是否在第k步访问了内存Mm,M_d(d)表示数据d位于内存M,vr(i,m,d)表示任务vi,数据d和内存Mm之间的联系,Nt表示任务的个数,n表示处理器的个数,N2表示内存访问操作数。
2.根据权利要求1所述的基于混合内存的任务与数据调度方法,其特征在于,在步骤2中,采用数据识别技术对输入数据与输出数据进行数据分类。
3.根据权利要求1所述的基于混合内存的任务与数据调度方法,其特征在于,在步骤3中,根据处理器的访问时间,采用HEFT调度技术对任务进行排序,以获得执行任务最快的处理器。
4.根据权利要求1所述的基于混合内存的任务与数据调度方法,其特征在于,在步骤5中,根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整,包括以下过程:
如果调度结果的完成时间未超过时间限制范围并且各个内存容量不超过最大内存,采取修正调度技术,对各个处理器处理任务和访问数据时所产生的能耗进行比较,向能耗减少的方向对任务所在的处理器与数据所在存储位置进行调整,以使最终整个任务完成的能量消耗达到最少;
如果调度结果的完成时间超过了时间限制范围,采取修正调度技术,改变各个任务和数据所处的处理器和内存,从而使时间满足时间限制条件;再重复步骤4,直到调度结果的完成时间未超过时间限制范围时,完成混合内存DRAM与SSD的任务与数据调度。
5.一种基于混合内存的任务与数据调度装置,其特征在于,包括:
获取数据模块,用于根据任务与数据的DAG图,获得任务的输入数据与输出数据;
数据分类模块,用于对所述输入数据与输出数据进行数据分类,得到共享数据与独立数据,其中,所述共享数据是作为多个任务的输入数据,能够进行多次内存访问操作,所述独立数据只被一个任务所使用,能够进行一次内存访问操作;
初始化调度模块,用于根据任务对处理器和内存的访问时间,获得执行任务最快的处理器,将任务分配到该处理器上,完成初始化调度,其中,所述内存是由DRAM和SSD构成的混合内存;
数据调度模块,用于根据数据分类和初始化调度,对输入数据进行调度,包括:利用各个处理器访问内存的时间与能耗,将共享数据优先调度到DRAM上,进而处理独立数据,将独立数据调度到DRAM上,如果DRAM已满,则将独立数据调度到SSD上,其中,调度目标是使数据在访问时间上的消耗达到最低;
调度调整模块,用于根据处理器处理任务和内存访问数据的能耗,对任务所在的处理器和数据所在的内存进行位置调整,使最终整个任务完成的总能量消耗达到最少;
调度调整模块中,处理器处理任务和内存访问数据的总能耗的计算公式如下:
其中,EC表示总能耗,E_E(i,j)表示任务vi在处理器pj上的能耗,E_E(i,j)其计算公式如(2);A_E(l,m)表示内存访问操作l访问数据所在内存Mm的能耗,计算公式如(3);xi,j,k表示任务vi是否在时间点k上在处理器pj上,yl,m,k表示内存访问操作ul是否在第k步访问了内存Mm,M_d(d)表示数据d位于内存M,vr(i,m,d)表示任务i,数据d和内存m之间的联系,Nt表示任务的个数,n表示处理器的个数,N2表示内存访问操作数。
6.根据权利要求5所述的基于混合内存的任务与数据调度装置,其特征在于,所述数据分类模块,采用数据识别技术对输入数据与输出数据进行数据分类。
7.根据权利要求5所述的基于混合内存的任务与数据调度装置,其特征在于,所述初始化调度模块,根据处理器的访问时间,采用HEFT调度技术对任务进行排序,以获得执行任务最快的处理器。
8.根据权利要求5所述的基于混合内存的任务与数据调度装置,其特征在于,所述调度调整模块,具体用于:
如果调度结果的完成时间未超过时间限制范围并且各个内存容量不超过最大内存,采取修正调度技术,对各个处理器处理任务和访问数据时所产生的能耗进行比较,向能耗减少的方向对任务所在的处理器与数据所在存储位置进行调整,以使最终整个任务完成的能量消耗达到最少;
如果调度结果的完成时间超过了时间限制范围,采取修正调度技术,改变各个任务和数据所处的处理器和内存,从而使时间满足时间限制条件;再重复执行数据调度模块,直到调度结果的完成时间未超过时间限制范围时,完成混合内存DRAM与SSD的任务与数据调度。
CN201610066773.9A 2016-01-29 2016-01-29 一种基于混合内存的任务与数据调度方法和装置 Active CN105760220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610066773.9A CN105760220B (zh) 2016-01-29 2016-01-29 一种基于混合内存的任务与数据调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610066773.9A CN105760220B (zh) 2016-01-29 2016-01-29 一种基于混合内存的任务与数据调度方法和装置

Publications (2)

Publication Number Publication Date
CN105760220A CN105760220A (zh) 2016-07-13
CN105760220B true CN105760220B (zh) 2019-05-17

Family

ID=56342839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610066773.9A Active CN105760220B (zh) 2016-01-29 2016-01-29 一种基于混合内存的任务与数据调度方法和装置

Country Status (1)

Country Link
CN (1) CN105760220B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256458A (zh) * 2017-06-06 2017-10-17 华北电力大学(保定) 一种多处理器片上***的性能良品率优化方法和装置
CN107273200B (zh) * 2017-06-22 2020-03-17 中国科学院计算技术研究所 一种针对异构存储的任务调度方法
CN111756802B (zh) * 2020-05-26 2021-09-03 深圳大学 一种数据流任务在numa平台上的调度方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068685A (ko) * 2011-12-16 2013-06-26 한국과학기술원 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
CN104346293A (zh) * 2013-07-25 2015-02-11 华为技术有限公司 混合内存的数据访问方法、模块、处理器及终端设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
KR20130068685A (ko) * 2011-12-16 2013-06-26 한국과학기술원 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법
CN104346293A (zh) * 2013-07-25 2015-02-11 华为技术有限公司 混合内存的数据访问方法、模块、处理器及终端设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《HcDD: The Hybrid Combination of Disk Drives in》;Shu Yin, Zhuo Tang,Kenli Li etc;《2015 IEEE 17th International Conference on High Performance Computing and Communications (HPCC》;20151130;全文

Also Published As

Publication number Publication date
CN105760220A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
CN105760220B (zh) 一种基于混合内存的任务与数据调度方法和装置
DE112012007115T5 (de) Wahlweise Logikprozessor-Zählung und Typauswahl für eine gegebene Arbeitsbelastung basierend auf Wärme- und Leistungsbudget-Einschränkungen der Plattform
Melab et al. A GPU-accelerated branch-and-bound algorithm for the flow-shop scheduling problem
CN101013415A (zh) 用于多处理器阵列的线程感知分布式软件***
DE102021102589A1 (de) Berechnungsgraph-optimierung
Kim et al. MViD: Sparse matrix-vector multiplication in mobile DRAM for accelerating recurrent neural networks
Aji et al. Haggis: turbocharge a MapReduce based spatial data warehousing system with GPU engine
DE102021111080A1 (de) Höhepunkt-bestimmung unter verwendung eines oder mehrerer neuronaler netzwerke
Elliott et al. Exploring the multitude of real-time multi-GPU configurations
CN101290592A (zh) 一种mpsoc上多道程序共享spm的实现方法
Chen et al. GCIM: Towards Efficient Processing of Graph Convolutional Networks in 3D-Stacked Memory
DE112020007377T5 (de) Intelligente anpassbare rippen zur kühlung von rechenzentrumsvorrichtungen
DE112020004315T5 (de) Geräteverbindungsverwaltung
Krishnamoorthy et al. Hypergraph partitioning for automatic memory hierarchy management
US12001383B2 (en) Deterministic memory for tensor streaming processors
HeydariGorji et al. In-storage processing of I/O intensive applications on computational storage drives
Guan et al. Crane: mitigating accelerator under-utilization caused by sparsity irregularities in cnns
Qian et al. SiMon: Simulation Monitor for Computational Astrophysics
Saravanan et al. Big data in massive parallel processing: A multi-core processors perspective
Zhang et al. Fast Vector Query Processing for Large Datasets Beyond {GPU} Memory with Reordered Pipelining
DE102020126699A1 (de) Initialisierung und verwaltung von class-of-service-attributen zur laufzeit, um deep-learning-training in verteilten umgebungen zu optimieren
DE112020007283T5 (de) Dockingboard für eine Multiformat-Grafikverarbeitungseinheit
Riha et al. Task scheduling for GPU accelerated OLAP systems
Wang et al. Exploiting parallelism for convolutional connections in processing-in-memory architecture
Pani et al. Self-coordinated on-chip parallel computing: a swarm intelligence approach

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