CN103019853A - 一种作业任务的调度方法和装置 - Google Patents

一种作业任务的调度方法和装置 Download PDF

Info

Publication number
CN103019853A
CN103019853A CN2012104724639A CN201210472463A CN103019853A CN 103019853 A CN103019853 A CN 103019853A CN 2012104724639 A CN2012104724639 A CN 2012104724639A CN 201210472463 A CN201210472463 A CN 201210472463A CN 103019853 A CN103019853 A CN 103019853A
Authority
CN
China
Prior art keywords
computing node
asset information
hardware asset
task
information
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.)
Pending
Application number
CN2012104724639A
Other languages
English (en)
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.)
BEIJING IZP TECHNOLOGIES Co Ltd
Original Assignee
BEIJING IZP TECHNOLOGIES Co Ltd
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 BEIJING IZP TECHNOLOGIES Co Ltd filed Critical BEIJING IZP TECHNOLOGIES Co Ltd
Priority to CN2012104724639A priority Critical patent/CN103019853A/zh
Publication of CN103019853A publication Critical patent/CN103019853A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供了一种作业任务的调度方法和装置,其中的方法具体包括:收集各计算节点的硬件资源信息;将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。本发明能够提高计算机集群的吞吐率。

Description

一种作业任务的调度方法和装置
技术领域
本申请涉及计算机技术领域,特别是涉及一种作业任务的调度方法和装置。
背景技术
计算机集群是一种计算机系统,其通过多台计算机(又称为计算资源,诸如软件和/或硬件资源)连接起来协作完成计算作业。这些计算资源位于同一管理域中,其具有统一的管理策略并且作为一个整体向用户提供服务。Hadoop就是这样一个分布式系统的集群架构,可以实现高效率的并行计算和海量存储。
计算机集群通过多台计算机完成同一作业,能够达到更高的效率。例如,在使用MapReduce(映射化简)模型进行大规模数据的并行计算时,对于一个MapReduce作业(即用户的一个计算请求)需要拆分成多个Map任务和Reduce任务分配到多个计算节点上执行;计算节点在集群系统中可以表示单台计算机。
将计算机集群上的Map或Reduce任务等作业任务分配到多个计算节点上的过程可以称为作业任务的调度。
目前Hadoop内置的调度器负责进行作业任务的调度。现有的调度器通常按照CPU计算核心的多少进行作业业务的调度,每个计算节点可以根据自己实际的CPU计算核心的个数配置作业任务个数,一次配好后,启动集群以后便不可修改。在进行调度的过程中,一旦某个计算节点上出现空闲的CPU计算核心,调度器便会分配一个作业任务给该节点。如果当前所有计算节点的所有计算核心都被作业任务占用了,则剩下的作业任务需要排队等待计算节点的分配。
现有技术中调度器依据计算节点的CPU计算核心进行作业任务的调度,这样,在某些情况下,虽然计算节点上出现空闲的CPU计算核心,但是,当其上有大量的数据进行计算时,还是不可避免地出现内存溢出、网络阻塞或者直接宕机的现象。而在计算节点出现上述现象中任一的情况下,相应计算节点上的作业任务就会处理失败,而处理失败的作业任务需要调度器重新分配给其它计算节点进行处理,因此,此时计算机集群在单位时间内处理的数据量会受到影响,也即容易导致计算机集群的吞吐率降低。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高计算机集群的吞吐率。
发明内容
本申请所要解决的技术问题是提供一种作业任务的调度方法和装置,能够提高计算机集群的吞吐率。
为了解决上述问题,本申请公开了一种作业任务的调度方法,包括:
收集各计算节点的硬件资源信息;
将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
优选的,所述硬件资源信息包括如下分项硬件资源信息中的一分项或多分项:平均负载信息、CPU使用信息、内存使用信息、磁盘信息和网络带宽信息;所述磁盘信息进一步包括磁盘输入输入信息、每块磁盘使用信息和每个磁盘分区的使用信息中的一项或多项。
优选的,所述硬件资源信息小于预设阈值包括:各分项硬件资源信息分别小于对应的预设分项阈值;和/或,多分项硬件资源信息的平均值小于预设平均阈值。
优选的,所述收集各计算节点的硬件资源信息的步骤,进一步包括:
收集作业任务的硬件资源信息,所述作业任务的硬件资源信息用于描述作业任务,执行作业业务的计算节点及相应的硬件资源信息的对应关系;
对同一计算节点的作业任务的硬件资源信息进行聚集,得到计算节点的硬件资源信息。
优选的,所述待分配作业任务为待分配映射Map任务;
则所述将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的步骤,进一步包括:
依据所述待分配Map任务对应输入文件和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且存储有所述输入文件或者与所述输入文件的存储节点位于同一机架的计算节点;
将所述待分配Map任务分配至选取的该计算节点。
优选的,所述待分配作业任务为待分配化简Reduce任务;
则所述将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的步骤,进一步包括:
依据待分配Reduce任务对应Map任务和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且与对应Map任务的计算节点位于同一机架的计算节点;
将所述待分配Map任务分配至选取的该计算节点。
另一方面,本申请还公开了一种作业任务的调度装置,包括:
收集模块,用于收集各计算节点的硬件资源信息;及
调度模块,用于将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
优选的,所述硬件资源信息包括如下分项硬件资源信息中的一分项或多分项:平均负载信息、CPU使用信息、内存使用信息、磁盘信息和网络带宽信息;所述磁盘信息进一步包括磁盘输入输入信息、每块磁盘使用信息和每个磁盘分区的使用信息中的一项或多项。
优选的,所述硬件资源信息小于预设阈值包括:各分项硬件资源信息分别小于对应的预设分项阈值;和/或,多分项硬件资源信息的平均值小于预设平均阈值。
优选的,所述收集模块进一步包括:
任务收集子模块,用于收集作业任务的硬件资源信息,所述作业任务的硬件资源信息用于描述作业任务,执行作业业务的计算节点及相应的硬件资源信息的对应关系;
聚集子模块,用于对同一计算节点的作业任务的硬件资源信息进行聚集,得到计算节点的硬件资源信息。
优选的,所述待分配作业任务为待分配映射Map任务;
则所述收集模块进一步包括:
第一选取子模块,用于依据所述待分配Map任务对应输入文件和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且存储有所述输入文件或者与所述输入文件的存储节点位于同一机架的计算节点;
第一分配子模块,用于将所述待分配Map任务分配至选取的该计算节点。
优选的,所述待分配作业任务为待分配化简Reduce任务;
则所述收集模块进一步包括:
第二选取子模块,用于依据待分配Reduce任务对应Map任务和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且与对应Map任务的计算节点位于同一机架的计算节点;
第二分配子模块,用于将所述待分配Map任务分配至选取的该计算节点。
与现有技术相比,本申请具有以下优点:
本申请实施例采用预设阈值表示计算节点的硬件资源出现故障的极限值,计算节点的硬件资源信息达到这个极限值就容易引发硬件资源故障,例如,在CPU使用过多引发网速过慢、磁盘读写过慢等硬件故障,内存使用过多引发的内存溢出,磁盘使用过频引发的磁盘读写错误,网络带宽使用过多引发的网络阻塞,或者,多个硬件资源故障引发的计算节点宕机等等。
因此,本申请实施例收集各计算节点的硬件资源信息,并将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;能够避免计算节点出现内存溢出、网络阻塞或者直接宕机等硬件故障现象;由于硬件故障现象的避免能够大大降低相应计算节点上作业任务处理失败的几率,也即能够使得相应计算节点上作业任务处理失败的几率微乎其微;因此,本申请能够提高计算机集群在单位时间内处理的数据量,也即能够提高计算机集群的吞吐率;
其次,计算节点上硬件资源属于整个计算机集群,现有技术中调度器依据CPU计算核心进行作业任务的调度,在有些情况下,还会出现作业任务的计算占用了计算节点上的所有CPU计算核心,但是计算节点上硬件资源的使用率很低的现象,此种现象很容易导致单个计算节点上硬件资源的浪费以及计算机集群上各计算节点的资源浪费;而本申请实施例依据计算节点的硬件资源信息进行作业任务的调度,能够充分利用计算机集群上各计算节点的资源,避免计算机集群上的资源浪费;由于利用更多的资源去处理计算机集群上的作业任务,故能够有效提高计算机集群在单位时间内处理的数据量,也即能够有效提高计算机集群的吞吐率。
附图说明
图1是本申请一种作业任务的调度方法实施例1的流程图;
图2是本申请一种作业任务的调度方法实施例2的流程图;
图3是本申请一种作业任务的调度方法实施例3的流程图;
图4是本申请一种作业任务的调度装置实施例的结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种作业任务的调度方法实施例1的流程图,具体可以包括:
步骤101、收集各计算节点的硬件资源信息;
步骤102、将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
本申请实施例采用预设阈值表示计算节点的硬件资源出现故障的极限值,计算节点的硬件资源信息达到这个极限值就容易引发硬件资源故障。
在实际应用中,所述硬件资源信息具体可以包括如下分项硬件资源信息中的一分项或多分项:平均负载信息、CPU使用信息、内存使用信息、磁盘信息和网络带宽信息;其中,所述磁盘信息可以进一步包括磁盘输入输入信息、每块磁盘使用信息和每个磁盘分区的使用信息中的一项或多项。
计算节点的硬件资源信息达到预设阈值容易引发硬件资源故障具体可以包括:在CPU使用过多引发网速过慢、磁盘读写过慢等硬件故障,内存使用过多引发的内存溢出,磁盘使用过频引发的磁盘读写错误,网络带宽使用过多引发的网络阻塞,或者,平均负载过高或者多个硬件资源故障引发的计算节点宕机等等。
现有技术中调度器依据CPU计算核心进行作业任务的调度,虽然计算节点上出现空闲的CPU计算核心,但是,当其上有大量的数据进行计算时,还是不可避免地出现内存溢出、网络阻塞或者直接宕机的现象;而在计算节点出现上述现象中任一的情况下,相应计算节点上的作业任务就会处理失败,而处理失败的作业任务需要调度器重新分配给其它计算节点进行处理,因此,此时计算机集群的吞吐率会降低。
本申请实施例依据计算节点的硬件资源信息进行作业任务的调度,具体而言,收集各计算节点的硬件资源信息,并将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;
本申请实施例具有如下优点:
首先,能够避免计算节点出现内存溢出、网络阻塞或者直接宕机等硬件故障现象;由于硬件故障现象的避免能够大大降低相应计算节点上作业任务处理失败的几率,也即能够使得相应计算节点上作业任务处理失败的几率微乎其微;因此,本申请能够提高计算机集群在单位时间内处理的数据量,也即能够提高计算机集群的吞吐率;
其次,计算节点上硬件资源属于整个计算机集群,现有技术中调度器依据CPU计算核心进行作业任务的调度,在有些情况下,还会出现作业任务的计算占用了计算节点上的所有CPU计算核心,但是计算节点上硬件资源的使用率很低的现象,此种现象很容易导致单个计算节点上硬件资源的浪费以及计算机集群上各计算节点的资源浪费;而本申请实施例依据计算节点的硬件资源信息进行作业任务的调度,能够充分利用计算机集群上各计算节点的资源,避免计算机集群上的资源浪费;由于利用更多的资源去处理计算机集群上的作业任务,故能够有效提高计算机集群在单位时间内处理的数据量,也即能够有效提高计算机集群的吞吐率。
在实际应用中,本领域技术人员可以依据各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值的计算节点,并将待分配作业任务分配至选取的该计算节点。其中,所选取的计算节点的数量可与待分配作业任务的数量相应。
在具体实现中,所述硬件资源信息小于预设阈值具体可以包括:各分项硬件资源信息分别小于对应的预设分项阈值;和/或,多分项硬件资源信息的平均值小于预设平均阈值。
可以理解,本领域技术人员可以根据计算节点的配置及实际需求,配置预设分项阈值和/或预设平均阈值,本申请对具体的预设方式及预设分项阈值和预设平均阈值的具体数值不加以限制。
例如,在本申请的一种应用示例中,所述硬件资源信息具体可以包括CPU使用信息、内存使用信息、磁盘信息和网络带宽信息,则可以针对该4个分项硬件资源信息配置一个预设平均阈值MAX_LOAD,MAX_LOAD的值为10,用于表示计算节点的最大综合负载。在调度过程中,计算节点的该4个分项硬件资源信息硬件资源信息的平均值小于MAX_LOAD的计算节点才能被分配作业任务。
MAX_LOAD默认等于10,代表节点的最大综合负载,可以根据实际需要配置。
另外,本申请实施例可以针对不同类型的待分配作业任务提供更细化、更有针对性的调度方案:
调度方案1、
在所述待分配作业任务为待分配映射Map任务时,所述将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的步骤,可以进一步包括:
子步骤A1、依据所述待分配Map任务对应输入文件和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且存储有所述输入文件或者与所述输入文件的存储节点位于同一机架的计算节点;
子步骤A2、将所述待分配Map任务分配至选取的该计算节点。
MapReduce的输入一般来自HDFS(分布式文件系统,Hadoop DistributedFile System)中的文件,这些输入文件分布存储在计算机集群内的计算节点上。由于Map任务的执行过程中,计算节点需要将输入文件加载至本地进行处理,故为了避免额外的数据传输开销,作业任务的调度可以优先选择距离所述输入文件近的计算节点执行相应的待分配Map任务。
在具体实现中,距离所述输入文件近的计算节点可以优先包括存储有所述输入文件的计算节点,此时,所选取的计算节点本身就存储有所述输入文件;次优地,距离所述输入文件近的计算节点还可以包括与所述输入文件的存储节点位于同一机架(Rack)的计算节点,这里,Rack为计算机领域内的公知技术,一个机架内通常部署有多台单台机器,同一机架内数据传输速度要明显大于跨机架数据传输速度。
调度方案2、
在所述待分配作业任务为待分配化简Reduce任务时,所述将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的步骤,可以进一步包括:
子步骤B1、依据待分配Reduce任务对应Map任务和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且与对应Map任务的计算节点位于同一机架的计算节点;
子步骤B2、将所述待分配Map任务分配至选取的该计算节点。
依据Map-Reduce作业的工作原理,在作业的所有Map任务执行完成后,Map任务所生成的中间键值对(Key-Value)数据应在计算节点间进行交换,把具有相同主键(Key)的数值(Value)传输到执行相应Reduce任务的计算节点。
如果执行相应Reduce任务的计算节点与执行Map任务的计算节点位于同一机架,由于同一机架内数据传输速度要明显大于跨机架数据传输速度,则能够大大减少数据传输开销,这也是调度方案2的原理所在。
参照图2,示出了本申请一种作业任务的调度方法实施例2的流程图,具体可以包括:
步骤201、各计算节点采集自身的硬件资源信息;
步骤202、各计算节点将自身的硬件资源信息汇报给作业追踪器;
步骤203、从作业追踪器上获取各计算节点的硬件资源信息;
步骤204、将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
相对于实施例1,实施例2采用计算节点采集自身的硬件资源信息并汇报给作业追踪器的策略,进行硬件资源信息的收集;也即,实施例2提供了一种便利的收集硬件资源信息的方案。
本申请可以提供如下计算节点采集自身的硬件资源信息的方案:
采集方案1、
依据采集方案1,计算节点可以采用proc文件系统采集自身的硬件资源信息。
proc文件系统是一种虚拟文件系统,其可以表现为Linux系统上的/proc目录是一种文件系统。与其它常见的文件系统不同的是,/proc是一种虚拟文件系统,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息。
基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点。例如,其中有些文件虽然使用查看命令查看时会返回大量信息,但文件本身的大小却会显示为0字节。
为了查看及使用上的方便,这些文件通常会按照相关性进行分类存储于不同的目录甚至子目录中,如/proc/scsi目录中存储的就是当前系统上所有SCSI(小型计算机系统接口,Small Computer System Interface)设备的相关信息,/proc/diskstats中存储的就是每块磁盘设备的磁盘I/O统计信息列表,、/proc/kcore中存储的是系统使用的物理内存,/proc/loadavg保存关于CPU和磁盘I/O的负载平均值,/proc/meminfo用于存储系统中关于当前内存的利用状况等的信息,等等。故直接从/proc目录下硬件资源信息,能够在使用最小代价的前提下,便利地采集硬件资源信息。
在本申请的一些实施例中,还可以使用文件查看命令查看虚拟文件的内容。例如,可以使用cat/proc/loadavg命令查看/proc/loadavg文件的内容,该cat/proc/loadavg是查看系统平均负载的命令,这里的平均负载也就是可运行的进程的平均数;在此提供一种输出结果的示例:
0.18 0.26 0.25 2/251 20320
前三个数值是1、5、15分钟内的平均进程数,第四个数值的分子是正在运行的进程数,分母是进程总数,最后一个数值是最近运行的进程ID(标识,Identity)号。
对于其它文件查看命令,由于其与cat/proc/loadavg的使用原理相似,故在此不作赘述,相互参照即可。
采集方案2、
依据采集方案2,计算节点可以使用Linux的性能分析命令,来采集硬件资源信息。
Linux系统的性能分析命令具体可以包括:top、free、iostat、流量监控命令等,现一一进行介绍:
1、top命令;
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。Top命令可以查看系统中运行的进程的状况,CPU使用状况,系统负载,内存使用等。Top命令能够方便地检查系统进程运行状况,其默认显示部分活动的进程,并且按照进程使用CPU的多少排序。它可以显示整个CPU的资源占用状况,也可以显示CPU中每个进程的资源占用状况。故使用top命令,既可以采集到计算节点上的CPU资源占用状况,也可以采集到计算节点上某个作业任务的CPU资源占用状况。
2、free命令;
free指令可用于显示内存的使用情况,具体可以包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
相应的使用参数如下:
-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
与top命令相比,free命令的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
3、iostat命令;
Iostat命令可用于报告CPU统计信息和整个系统、适配器、磁盘和存储器的输入/输出统计信息。具体而言,iostat命令可用来监视系统输入/输出设备负载,这通过观察与平均传送速率相关的物理磁盘的活动时间来实现。iostat命令生成的报告可以用来更改系统配置来更好地平衡物理磁盘和适配器之间的输入/输出负载。
4、流量监控命令。
Linux系统提供有多种流量监控命令。如iftop命令可用于即时监看网路状态和各ip(网络之间互联的协议,Internet Protocol)所使用的频宽;nload工具可用来即时监看网路状态和各ip所使用的频宽等等,这些流量监控命令可被用于采集计算节点的网络使用情况。
需要说明的是,上述top、free、iostat、流量监控命令只是作为linux的性能分析命令的一些示例,并不作为本申请的应用限制。
总之,使用实施例2,计算节点可以较小的代价采集到各自的硬件资源信息,也即,本申请的采集不会增加额外的硬件或软件开销。
参照图3,示出了本申请一种作业任务的调度方法实施例3的流程图,具体可以包括:
步骤301、各计算节点采集自身的硬件资源信息;
步骤302、各计算节点定期向作业追踪器发送心跳请求;该心跳请求中携带有自身的硬件资源信息;
步骤303、从作业追踪器上获取各计算节点的硬件资源信息;
步骤304、将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
在通信领域中,心跳(HB,Heart Beat)是用来检测某个网络实体是否是否存在或是否活动的一种机制。例如,现有技术的计算机集群中,每个计算节点(TaskTracker)可以定期通过心跳请求向作业追踪器(JobTracker)汇报自己管理的机器中的一些基本信息,如正在存在的task(作业任务)等等。当作业追踪器无法接收到计算节点的心跳请求时,需要将该计算节点上的作业任务重新分配至其它计算节点。在实际中,定期可配置,例如默认值是3s等等。
相对于实施例2,实施例3的计算节点可以将硬件资源信息携带在心跳请求中,以减少硬件资源信息的传输成本。
需要说明的是,实施例3提供了一种便利的、小传输成本的硬件资源信息的传输方式,需要说明的是,实施例3并不作为本申请的应用限制,实际上其它的传输方式也是可行的,例如,计算节点将硬件资源信息写入作业追踪器的指定内存地址,等等。
为使本领域技术人员更好地理解本申请,以下通过一个具体的例子说明本申请作业任务调度的技术方案;
该例子涉及,前述从作业追踪器上获取各计算节点的硬件资源信息,将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的操作的执行主体为任务调度器(TaskScheduler),作业追踪器和任务调度器分别具有各自的类对象,则该例子的技术方案具体可以包括:
步骤S1、各计算节点采集自身的硬件资源信息;
步骤S2、各计算节点定期向作业追踪器发送心跳请求;该心跳请求中携带有自身的硬件资源信息;
步骤S3、各计算节点将自身的硬件资源信息汇报给作业追踪器;
步骤S4、作业追踪器通过调用任务调度器类对象中的任务调度(AssignTasks)方法,向任务调度器发送任务调度请求,该任务调度请求中携带有待分配作业任务;
步骤S5、任务调度器通过调用作业追踪器类对象,从作业追踪器上获取各计算节点的硬件资源信息;
步骤S6、任务调度器依据该任务调度请求,将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
需要说明的是,上述作业服务器和任务调度器互相调用的方式只是作为示例,并不作为本申请的应用限制。
在本申请的一种优选实施例中,所述收集各计算节点的硬件资源信息的步骤,可以进一步包括:
子步骤C1、收集作业任务的硬件资源信息,所述作业任务的硬件资源信息用于描述作业任务,执行作业业务的计算节点及相应的硬件资源信息的对应关系;
子步骤C2、对同一计算节点的作业任务的硬件资源信息进行聚集,得到计算节点的硬件资源信息。
例如,在本申请的一种应用示例中,作业服务器可以对收集到的硬件资源信息进行聚集,聚集得到的硬件资源信息可以提供给任务调度器进行使用。在此举一个聚集的示例。
假设有甲乙丙三个Job正在运行,负载后面跟一个字母代表某个Job的某个task所在计算节点,及该task使用的该计算节点的硬件资源信息,则作业服务器可以首先得到如下对应关系:
甲(task1,计算节点1,硬件资源信息a|task2,计算节点4:硬件资源信息c|task3,计算节点8,硬件资源信息e)
乙(task4,计算节点3:硬件资源信息c|task5,计算节点6,硬件资源信息e|task6,计算节点4,硬件资源信息d)
丙(task7,计算节点3,硬件资源信息f|task8,计算节点1,硬件资源信息f|task9,计算节点5,硬件资源信息e)
然后,可以依据对应关系对每个计算节点的硬件资源信息进行合并,例如,计算节点1的硬件资源信息的合并结果为:硬件资源信息a+f;计算节点4的硬件资源信息的合并结果为:硬件资源信息b+d;计算节点8的硬件资源信息的合并结果为:硬件资源信息e;计算节点3的硬件资源信息的合并结果为:硬件资源信息c+f;计算节点6的硬件资源信息的合并结果为:硬件资源信息e;计算节点5的硬件资源信息的合并结果为:硬件资源信息e等等。
与前述方法实施例相应,本申请还公开了一种作业任务的调度装置,参照图4所示的结构图,具体可以包括:
收集模块401,用于收集各计算节点的硬件资源信息;及
调度模块402,用于将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
在本申请的一种优选实施例中,所述收集模块401可以进一步包括:
采集子模块,位于计算节点,用于采集自身的硬件资源信息;
汇报子模块,位于计算节点,用于将自身的硬件资源信息汇报给作业追踪器;及
获取子模块,用于从作业追踪器上获取各计算节点的硬件资源信息。
在本申请的另一种优选实施例中,所述汇报子模块可以进一步包括:
心跳发送单元,用于定期向作业追踪器发送心跳请求;该心跳请求中携带有自身的硬件资源信息。
在本申请的再一种优选实施例中,所述硬件资源信息具体可以包括如下分项硬件资源信息中的一分项或多分项:平均负载信息、CPU使用信息、内存使用信息、磁盘信息和网络带宽信息;所述磁盘信息可以进一步包括磁盘输入输入信息、每块磁盘使用信息和每个磁盘分区的使用信息中的一项或多项。
在本申请的一种优选实施例中,所述硬件资源信息小于预设阈值具体可以包括:各分项硬件资源信息分别小于对应的预设分项阈值;和/或,多分项硬件资源信息的平均值小于预设平均阈值。
在本申请的另一种优选实施例中,所述收集模块401可以进一步包括:
任务收集子模块,用于收集作业任务的硬件资源信息,所述作业任务的硬件资源信息用于描述作业任务,执行作业业务的计算节点及相应的硬件资源信息的对应关系;
聚集子模块,用于对同一计算节点的作业任务的硬件资源信息进行聚集,得到计算节点的硬件资源信息。
在本申请的再一种优选实施例中,所述待分配作业任务为待分配映射Map任务;
则所述收集模块401可以进一步包括:
第一选取子模块,用于依据所述待分配Map任务对应输入文件和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且存储有所述输入文件或者与所述输入文件的存储节点位于同一机架的计算节点;及
第一分配子模块,用于将所述待分配Map任务分配至选取的该计算节点。
在本申请的一种优选实施例中,所述待分配作业任务为待分配化简Reduce任务;
则所述收集模块401可以进一步包括:
第二选取子模块,用于依据待分配Reduce任务对应Map任务和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且与对应Map任务的计算节点位于同一机架的计算节点;
第二分配子模块,用于将所述待分配Map任务分配至选取的该计算节点
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上对本申请所提供的一种作业任务的调度方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种作业任务的调度方法,其特征在于,包括:
收集各计算节点的硬件资源信息;
将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
2.如权利要求1所述的方法,其特征在于,所述硬件资源信息包括如下分项硬件资源信息中的一分项或多分项:平均负载信息、CPU使用信息、内存使用信息、磁盘信息和网络带宽信息;所述磁盘信息进一步包括磁盘输入输入信息、每块磁盘使用信息和每个磁盘分区的使用信息中的一项或多项。
3.如权利要求2所述的方法,其特征在于,所述硬件资源信息小于预设阈值包括:各分项硬件资源信息分别小于对应的预设分项阈值;和/或,多分项硬件资源信息的平均值小于预设平均阈值。
4.如权利要求1所述的方法,其特征在于,所述收集各计算节点的硬件资源信息的步骤,进一步包括:
收集作业任务的硬件资源信息,所述作业任务的硬件资源信息用于描述作业任务,执行作业业务的计算节点及相应的硬件资源信息的对应关系;
对同一计算节点的作业任务的硬件资源信息进行聚集,得到计算节点的硬件资源信息。
5.如权利要求1述的方法,其特征在于,所述待分配作业任务为待分配映射Map任务;
则所述将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的步骤,进一步包括:
依据所述待分配Map任务对应输入文件和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且存储有所述输入文件或者与所述输入文件的存储节点位于同一机架的计算节点;
将所述待分配Map任务分配至选取的该计算节点。
6.如权利要求1所述的方法,其特征在于,所述待分配作业任务为待分配化简Reduce任务;
则所述将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点的步骤,进一步包括:
依据待分配Reduce任务对应Map任务和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且与对应Map任务的计算节点位于同一机架的计算节点;
将所述待分配Map任务分配至选取的该计算节点。
7.一种作业任务的调度装置,其特征在于,包括:
收集模块,用于收集各计算节点的硬件资源信息;及
调度模块,用于将待分配作业任务调度至硬件资源信息小于预设阈值的计算节点;所述预设阈值用于表示计算节点的硬件资源出现故障的极限值。
8.如权利要求7所述的装置,其特征在于,所述硬件资源信息包括如下分项硬件资源信息中的一分项或多分项:平均负载信息、CPU使用信息、内存使用信息、磁盘信息和网络带宽信息;所述磁盘信息进一步包括磁盘输入输入信息、每块磁盘使用信息和每个磁盘分区的使用信息中的一项或多项。
9.如权利要求8所述的装置,其特征在于,所述硬件资源信息小于预设阈值包括:各分项硬件资源信息分别小于对应的预设分项阈值;和/或,多分项硬件资源信息的平均值小于预设平均阈值。
10.如权利要求7所述的装置,其特征在于,所述收集模块进一步包括:
任务收集子模块,用于收集作业任务的硬件资源信息,所述作业任务的硬件资源信息用于描述作业任务,执行作业业务的计算节点及相应的硬件资源信息的对应关系;
聚集子模块,用于对同一计算节点的作业任务的硬件资源信息进行聚集,得到计算节点的硬件资源信息。
11.如权利要求7所述的装置,其特征在于,所述待分配作业任务为待分配映射Map任务;
则所述收集模块进一步包括:
第一选取子模块,用于依据所述待分配Map任务对应输入文件和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且存储有所述输入文件或者与所述输入文件的存储节点位于同一机架的计算节点;
第一分配子模块,用于将所述待分配Map任务分配至选取的该计算节点。
12.如权利要求7所述的装置,其特征在于,所述待分配作业任务为待分配化简Reduce任务;
则所述收集模块进一步包括:
第二选取子模块,用于依据待分配Reduce任务对应Map任务和各计算节点的硬件资源信息,选取硬件资源信息小于预设阈值且与对应Map任务的计算节点位于同一机架的计算节点;
第二分配子模块,用于将所述待分配Map任务分配至选取的该计算节点。
CN2012104724639A 2012-11-19 2012-11-19 一种作业任务的调度方法和装置 Pending CN103019853A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012104724639A CN103019853A (zh) 2012-11-19 2012-11-19 一种作业任务的调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012104724639A CN103019853A (zh) 2012-11-19 2012-11-19 一种作业任务的调度方法和装置

Publications (1)

Publication Number Publication Date
CN103019853A true CN103019853A (zh) 2013-04-03

Family

ID=47968483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104724639A Pending CN103019853A (zh) 2012-11-19 2012-11-19 一种作业任务的调度方法和装置

Country Status (1)

Country Link
CN (1) CN103019853A (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279351A (zh) * 2013-05-31 2013-09-04 北京高森明晨信息科技有限公司 一种任务调度的方法及装置
CN103309738A (zh) * 2013-05-31 2013-09-18 中国联合网络通信集团有限公司 用户作业调度方法及装置
CN103617083A (zh) * 2013-10-31 2014-03-05 中兴通讯股份有限公司 存储调度方法和系统、作业调度方法和系统及管理节点
CN103645952A (zh) * 2013-08-08 2014-03-19 中国人民解放军国防科学技术大学 一种基于MapReduce的非精确任务并行处理方法
CN104239268A (zh) * 2013-06-14 2014-12-24 苏州广海信息科技有限公司 一种分布式计算机系统
WO2015067044A1 (zh) * 2013-11-07 2015-05-14 华为技术有限公司 一种数据压缩方法及存储系统
CN104820628A (zh) * 2015-04-01 2015-08-05 浪潮电子信息产业股份有限公司 一种基于bash的监控系统负载和系统资源使用情况的方法
CN105208136A (zh) * 2015-11-04 2015-12-30 苏州墨华高科信息技术有限公司 一种弹性并行cfd云计算系统
CN105335219A (zh) * 2014-07-08 2016-02-17 阿里巴巴集团控股有限公司 一种基于分布式的任务调度方法及系统
CN105580341A (zh) * 2014-06-18 2016-05-11 华为技术有限公司 一种数据处理装置及数据处理方法
CN105607955A (zh) * 2015-12-23 2016-05-25 浪潮集团有限公司 一种计算任务分配的方法及装置
CN105808346A (zh) * 2014-12-30 2016-07-27 华为技术有限公司 一种任务调度方法与装置
CN105872061A (zh) * 2016-04-01 2016-08-17 浪潮电子信息产业股份有限公司 一种服务器集群管理方法、装置及系统
CN106445676A (zh) * 2015-08-05 2017-02-22 杭州海康威视系统技术有限公司 一种分布式数据计算的任务分配方法和任务分配装置
CN106557471A (zh) * 2015-09-24 2017-04-05 上海汽车集团股份有限公司 任务调度方法及装置
CN106569734A (zh) * 2015-10-12 2017-04-19 北京国双科技有限公司 数据洗牌时内存溢出的修复方法及装置
CN106911772A (zh) * 2017-02-20 2017-06-30 联想(北京)有限公司 服务器分配方法、服务器分配装置以及电子设备
WO2017162086A1 (zh) * 2016-03-25 2017-09-28 阿里巴巴集团控股有限公司 任务调度方法和装置
CN107291539A (zh) * 2017-06-19 2017-10-24 山东师范大学 基于资源重要程度的集群程序调度方法
CN107436947A (zh) * 2017-08-03 2017-12-05 武汉烽火普天信息技术有限公司 一种大数据储存及并行处理方法
CN107615309A (zh) * 2016-03-28 2018-01-19 索尼公司 信息处理装置、信息处理方法以及信息提供方法
CN107818097A (zh) * 2016-09-12 2018-03-20 平安科技(深圳)有限公司 数据处理方法和装置
CN107870815A (zh) * 2016-09-26 2018-04-03 中国电信股份有限公司 一种分布式系统的任务调度方法以及系统
CN108153606A (zh) * 2018-01-26 2018-06-12 上海储迅信息技术有限公司 一种无冗余保护集群实现前端业务连续性方法
CN110096358A (zh) * 2019-04-11 2019-08-06 上海交通大学 动力装备远程中心分布式存储与分布式计算方法
WO2020108337A1 (zh) * 2018-11-29 2020-06-04 中兴通讯股份有限公司 一种cpu资源调度方法及电子设备
CN113032119A (zh) * 2021-03-23 2021-06-25 北京三快在线科技有限公司 一种任务调度方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101473306A (zh) * 2006-06-19 2009-07-01 帝斯科匹尔公司 基于资源的调度器
CN102096602A (zh) * 2009-12-15 2011-06-15 中国移动通信集团公司 一种任务调度方法及其系统和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101473306A (zh) * 2006-06-19 2009-07-01 帝斯科匹尔公司 基于资源的调度器
CN101473307A (zh) * 2006-06-19 2009-07-01 帝斯科匹尔公司 用于调度计算机微作业以在非干扰时间执行的方法、系统和装置
CN102096602A (zh) * 2009-12-15 2011-06-15 中国移动通信集团公司 一种任务调度方法及其系统和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无: "《揭秘Facebook数据爆仓背后的Corona平台》", 《ZDNET》, 12 November 2012 (2012-11-12), pages 1 *

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279351A (zh) * 2013-05-31 2013-09-04 北京高森明晨信息科技有限公司 一种任务调度的方法及装置
CN103309738A (zh) * 2013-05-31 2013-09-18 中国联合网络通信集团有限公司 用户作业调度方法及装置
CN103309738B (zh) * 2013-05-31 2016-12-28 中国联合网络通信集团有限公司 用户作业调度方法及装置
CN103279351B (zh) * 2013-05-31 2016-06-29 北京高森明晨信息科技有限公司 一种任务调度的方法及装置
CN104239268A (zh) * 2013-06-14 2014-12-24 苏州广海信息科技有限公司 一种分布式计算机系统
CN103645952A (zh) * 2013-08-08 2014-03-19 中国人民解放军国防科学技术大学 一种基于MapReduce的非精确任务并行处理方法
CN103645952B (zh) * 2013-08-08 2017-06-06 中国人民解放军国防科学技术大学 一种基于MapReduce的非精确任务并行处理方法
CN103617083A (zh) * 2013-10-31 2014-03-05 中兴通讯股份有限公司 存储调度方法和系统、作业调度方法和系统及管理节点
WO2015067044A1 (zh) * 2013-11-07 2015-05-14 华为技术有限公司 一种数据压缩方法及存储系统
CN103631873B (zh) * 2013-11-07 2017-12-12 华为技术有限公司 一种数据压缩方法及存储系统
US10055134B2 (en) 2013-11-07 2018-08-21 Huawei Technologies Co., Ltd. Data compression method and storage system
CN105580341A (zh) * 2014-06-18 2016-05-11 华为技术有限公司 一种数据处理装置及数据处理方法
CN105335219A (zh) * 2014-07-08 2016-02-17 阿里巴巴集团控股有限公司 一种基于分布式的任务调度方法及系统
CN105808346A (zh) * 2014-12-30 2016-07-27 华为技术有限公司 一种任务调度方法与装置
CN104820628A (zh) * 2015-04-01 2015-08-05 浪潮电子信息产业股份有限公司 一种基于bash的监控系统负载和系统资源使用情况的方法
CN106445676A (zh) * 2015-08-05 2017-02-22 杭州海康威视系统技术有限公司 一种分布式数据计算的任务分配方法和任务分配装置
US11182211B2 (en) 2015-08-05 2021-11-23 Hangzhou Hikvision Digital Technology Co., Ltd Task allocation method and task allocation apparatus for distributed data calculation
CN106445676B (zh) * 2015-08-05 2019-10-22 杭州海康威视系统技术有限公司 一种分布式数据计算的任务分配方法和任务分配装置
CN106557471A (zh) * 2015-09-24 2017-04-05 上海汽车集团股份有限公司 任务调度方法及装置
CN106569734A (zh) * 2015-10-12 2017-04-19 北京国双科技有限公司 数据洗牌时内存溢出的修复方法及装置
CN106569734B (zh) * 2015-10-12 2019-04-09 北京国双科技有限公司 数据洗牌时内存溢出的修复方法及装置
CN105208136A (zh) * 2015-11-04 2015-12-30 苏州墨华高科信息技术有限公司 一种弹性并行cfd云计算系统
CN105607955A (zh) * 2015-12-23 2016-05-25 浪潮集团有限公司 一种计算任务分配的方法及装置
US10922133B2 (en) 2016-03-25 2021-02-16 Alibaba Group Holding Limited Method and apparatus for task scheduling
TWI738721B (zh) * 2016-03-25 2021-09-11 香港商阿里巴巴集團服務有限公司 任務調度方法和裝置
WO2017162086A1 (zh) * 2016-03-25 2017-09-28 阿里巴巴集团控股有限公司 任务调度方法和装置
CN107615309A (zh) * 2016-03-28 2018-01-19 索尼公司 信息处理装置、信息处理方法以及信息提供方法
CN107615309B (zh) * 2016-03-28 2022-05-13 索尼公司 信息处理装置、信息处理方法以及信息提供方法
CN105872061A (zh) * 2016-04-01 2016-08-17 浪潮电子信息产业股份有限公司 一种服务器集群管理方法、装置及系统
CN105872061B (zh) * 2016-04-01 2018-10-09 浪潮电子信息产业股份有限公司 一种服务器集群管理方法、装置及系统
CN107818097A (zh) * 2016-09-12 2018-03-20 平安科技(深圳)有限公司 数据处理方法和装置
CN107818097B (zh) * 2016-09-12 2020-06-30 平安科技(深圳)有限公司 数据处理方法和装置
CN107870815A (zh) * 2016-09-26 2018-04-03 中国电信股份有限公司 一种分布式系统的任务调度方法以及系统
CN106911772A (zh) * 2017-02-20 2017-06-30 联想(北京)有限公司 服务器分配方法、服务器分配装置以及电子设备
CN107291539B (zh) * 2017-06-19 2019-11-01 山东师范大学 基于资源重要程度的集群程序调度方法
CN107291539A (zh) * 2017-06-19 2017-10-24 山东师范大学 基于资源重要程度的集群程序调度方法
CN107436947A (zh) * 2017-08-03 2017-12-05 武汉烽火普天信息技术有限公司 一种大数据储存及并行处理方法
CN107436947B (zh) * 2017-08-03 2019-12-20 武汉烽火普天信息技术有限公司 一种大数据储存及并行处理方法
CN108153606A (zh) * 2018-01-26 2018-06-12 上海储迅信息技术有限公司 一种无冗余保护集群实现前端业务连续性方法
WO2020108337A1 (zh) * 2018-11-29 2020-06-04 中兴通讯股份有限公司 一种cpu资源调度方法及电子设备
CN110096358A (zh) * 2019-04-11 2019-08-06 上海交通大学 动力装备远程中心分布式存储与分布式计算方法
CN113032119A (zh) * 2021-03-23 2021-06-25 北京三快在线科技有限公司 一种任务调度方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN103019853A (zh) 一种作业任务的调度方法和装置
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
JP5244236B2 (ja) 計算機システム、方法、およびプログラム
CN105912401B (zh) 一种分布式数据批处理系统和方法
EP2882140B1 (en) Data partitioning in internet-of-things (IOT) network
US9086923B2 (en) Autonomic workflow management in dynamically federated, hybrid cloud infrastructures
EP2503733B1 (en) Data collecting method, data collecting apparatus and network management device
CN102971724B (zh) 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置
CN103384206B (zh) 一种面向海量数据的并行处理方法及系统
CN106452818B (zh) 一种资源调度的方法和系统
AU2015301411A1 (en) Systems and methods for auto-scaling a big data system
CN102075554B (zh) 一种基于soa架构的服务处理方法及其系统
CN112162865A (zh) 服务器的调度方法、装置和服务器
CN103152393A (zh) 一种云计算的计费方法和计费系统
CN104077212A (zh) 压力测试系统及方法
US7571088B2 (en) Simulation of connected devices
US10021008B1 (en) Policy-based scaling of computing resource groups
CN114356587B (zh) 算力任务跨区域调度方法、系统及设备
CN102339233A (zh) 云计算集中管理平台
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
Petrov et al. Adaptive performance model for dynamic scaling Apache Spark Streaming
CN111930493A (zh) 集群中NodeManager状态管理方法、装置及计算设备
CN111459641A (zh) 一种跨机房的任务调度和任务处理的方法及装置
CN112162852A (zh) 一种多架构cpu节点的管理方法、装置及相关组件
US10148592B1 (en) Prioritization-based scaling of computing resources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130403