[go: up one dir, main page]

CN112214305B - I/o转发架构下为作业分配i/o转发节点的方法 - Google Patents

I/o转发架构下为作业分配i/o转发节点的方法 Download PDF

Info

Publication number
CN112214305B
CN112214305B CN201910624766.XA CN201910624766A CN112214305B CN 112214305 B CN112214305 B CN 112214305B CN 201910624766 A CN201910624766 A CN 201910624766A CN 112214305 B CN112214305 B CN 112214305B
Authority
CN
China
Prior art keywords
job
forwarding
default
forwarding node
nodes
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
CN201910624766.XA
Other languages
English (en)
Other versions
CN112214305A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201910624766.XA priority Critical patent/CN112214305B/zh
Publication of CN112214305A publication Critical patent/CN112214305A/zh
Application granted granted Critical
Publication of CN112214305B publication Critical patent/CN112214305B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供一种I/O转发架构下为作业分配I/O转发节点的方法,包括:步骤1)获得作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值;其中,所述作业的默认I/O转发节点是由作业调度器件在进行作业调度时为所述作业分配的I/O转发节点;步骤2)比较所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值,以确定是否分配备用I/O转发节点作为所述作业的实际I/O转发节点。本发明为作业动态地分配I/O转发节点,有效避免了I/O转发节点上作业粒度的I/O性能干扰,提高了I/O转发节点的利用率以及作业的I/O性能。

Description

I/O转发架构下为作业分配I/O转发节点的方法
技术领域
本发明涉及数据处理及存储技术领域,特别涉及一种I/O转发架构下为作业分配I/O转发节点的方法。
背景技术
随着高性能计算的发展,对自适应、应用程序感知的并行I/O服务的需求日益增大。当前,一种在计算节点和存储节点之间添加额外转发层的I/O转发(I/O Forwarding)架构被广泛应用于大规模计算系统,用于解决高性能计算中的可扩展性问题。其中,转发层包括多个I/O转发节点,每个I/O转发节点负责转发计算节点到存储节点的I/O请求,从而帮助计算节点解耦I/O操作。I/O转发架构缩小了CPU和I/O组件在性能上的差距,使得I/O资源配置更为灵活,提高了用户所能感受到的I/O性能,另外还减少了后端数据量。
由于I/O转发架构具备诸多优点,因此在高性能计算技术中很受欢迎,包括近一半当前最顶级的超级计算机都应用了I/O转发架构。然而,当前这些超级计算机大多采用静态转发机制,即根据作业调度器件默认分配的I/O转发节点来进行I/O请求的转发。这种静态转发机制存在以下问题:当默认分配的I/O转发节点满足应用程序的I/O需求时,转发层中的大多数I/O转发节点往往利用率不足;此外,I/O转发节点被不同规模的作业共享,I/O需求冲突的作业可能会对彼此造成严重的性能干扰,导致应用程序的I/O性能较低。
发明内容
为解决上述现有技术中存在的问题,根据本发明的一个实施例,提供一种I/O转发架构下为作业分配I/O转发节点的方法,包括:
步骤1)获得作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值;其中,所述作业的默认I/O转发节点是由作业调度器件在进行作业调度时为所述作业分配的I/O转发节点;
步骤2)比较所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值,以确定是否分配备用I/O转发节点作为所述作业的实际I/O转发节点。
上述方法中,步骤2)包括:比较所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值;如果所述作业的默认I/O转发节点的数量小于所述作业的I/O转发节点数阈值,则分配备用I/O转发节点作为所述作业的实际I/O转发节点;否则,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰,若存在则分配备用I/O转发节点作为所述作业的实际I/O转发节点,若不存在则使用所述作业的默认I/O转发节点作为所述作业的实际I/O转发节点。
上述方法中,所述作业的I/O转发节点数阈值根据下式计算得到:
其中,i表示第i个作业;TH_nodei表示第i个作业的I/O转发节点数阈值;NUM_ioi表示第i个作业上一次执行时的I/O进程数量;α表示扩展系数,所述扩展系数为I/O转发节点的峰值I/O带宽与计算节点的峰值I/O带宽的商。
上述方法中,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;如果所获得的所有作业中,存在一作业其上一次执行时的平均聚合带宽大于预定阈值,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
上述方法中,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;如果所获得的所有作业中,存在一作业其上一次执行时的平均聚合IOPS大于预定阈值,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
上述方法中,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;如果所获得的所有作业中,存在一作业其上一次执行时的平均元数据等待队列长度大于预定阈值,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
上述方法中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;如果所获得的所有作业中,存在一作业其I/O模式为N-1模式,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
上述方法中,分配备用I/O转发节点作为所述作业的实际I/O转发节点包括:计算所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值中的较大值M;比较备用I/O转发节点池中的备用I/O转发节点的数量与所述较大值M;如果所述备用I/O转发节点池中的备用I/O转发节点的数量大于等于所述较大值M,则从所述备用I/O转发节点池中分配M个备用I/O转发节点给所述作业,作为所述作业的实际I/O转发节点;否则,将所述备用I/O转发节点池中的所有备用I/O转发节点分配给所述作业,作为所述作业的实际I/O转发节点。
上述方法中,所述备用I/O转发节点是独占式I/O转发节点。
上述方法还可以包括:获得作业上一次执行时的I/O信息。
根据本发明的一个实施例,还提供一种电子设备,包括处理器和存储器,所述存储器存储有指令,当所述指令被所述处理器执行时使得所述电子设备实现上述I/O转发架构下为作业分配I/O转发节点的方法。
本发明实施例具有如下的有益效果:
与现有的静态转发机制相比,本发明实现了为作业动态分配I/O转发节点。其中,如果为作业分配的默认I/O转发节点的数量小于根据作业的历史I/O信息计算的I/O转发节点最佳使用量,则尽量为该作业分配满足I/O转发节点最佳使用量的备用I/O转发节点;另外,即使作业的默认I/O转发节点的数量满足(即大于等于)作业的I/O转发节点最佳使用量,也要进一步判断作业的默认I/O转发节点中是否会存在I/O性能干扰,若存在I/O性能干扰则会为作业分配备用I/O转发节点。本发明能够有效避免I/O转发节点上作业粒度的I/O性能干扰,提高了I/O转发节点的利用率,以及提高了作业的I/O性能。
附图说明
以下将通过参考附图对示例性实施例进行详细描述,附图意在描绘示例性实施例而不应被解释为对权利要求的预期范围加以限制。除非明确指出,否则附图不被认为依比例绘制。
图1示出了根据本发明一个实施例的I/O转发架构下为作业分配I/O转发节点的方法的流程图;
图2示出了根据本发明一个实施例的计算作业的I/O转发节点最佳使用量的方法的流程图;
图3示出了根据本发明一个实施例的用于判断I/O转发节点是否存在作业级别的I/O性能干扰的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提供一种I/O转发架构下为作业分配I/O转发节点的方法,该方法可以用于在采用I/O转发架构的超级计算机中按照作业粒度动态地分配I/O转发资源。
图1示意性地示出了根据本发明实施例的I/O转发架构下为作业分配I/O转发节点的方法流程图,下文将参考图1,以为作业A分配I/O转发节点为例描述该方法的各个步骤:
步骤S1.获得在进行作业调度时为作业A分配的默认I/O转发节点。
本领域技术人员应理解,作业调度的主要功能是根据作业控制块中的信息来审查系统能否满足用户作业的资源需求,其中,根据一定的算法从外存的后备队列中选取某些作业调入内存,并且为这些作业创建进程、分配必要的资源;随后,再将新创建的进程插入就绪队列准备执行。在应用I/O转发架构的超级计算机中,作业调度器件会在进行作业调度时利用算法为作业分配一个或多个I/O转发节点,该一个或多个I/O转发节点称为作业的默认I/O转发节点。
步骤S2.比较作业A的默认I/O转发节点的数量与该作业A的I/O转发节点最佳使用量(或称I/O转发节点数阈值)。
根据步骤S1可知,作业A的默认I/O转发节点的数量即作业调度器件在进行作业调度时为作业A分配的I/O转发节点的数量。作业A的I/O转发节点最佳使用量指的是:作业A在无干扰情况下达到最佳I/O性能时所使用的I/O转发节点的数量。通常来说,如果为作业A分配的实际I/O转发节点的数量大于等于作业A的I/O转发节点最佳使用量,则在作业A的执行期间,其I/O性能较好。每个作业的I/O转发节点最佳使用量可能不同,图2示出了根据本发明一个实施例的计算作业的I/O转发节点最佳使用量的方法流程图,参见图2,该方法包括如下步骤:
①获取作业上一次(在该应用了I/O转发架构的超级计算机中)执行时的I/O信息。
其中,I/O信息包括该作业上一次执行时的I/O进程数量。本领域技术人员应理解,可以采用现有的各种I/O性能监控工具来监控该应用了I/O转发架构的超级计算机中作业粒度的I/O信息,这些工具包括但不限于:Beacon、Darshan I/O性能监控工具等。
②获取该超级计算机(即应用了I/O转发架构的超级计算机)中的I/O转发节点的峰值I/O带宽以及计算节点的峰值I/O带宽,计算扩展系数。
其中,扩展系数表示应用了I/O转发架构的超级计算机中,一个I/O转发节点所能支持的最多的计算节点个数。具体地,将I/O转发节点的峰值I/O带宽除以计算节点的峰值I/O带宽得到扩展系数,换句话说,扩展系数为I/O转发节点的峰值I/O带宽与计算节点的峰值I/O带宽的商。
③根据步骤①、②中得到的数据计算作业的I/O转发节点最佳使用量。
根据本发明的一个实施例,计算公式如下:
其中,i表示第i个作业;TH_nodei表示第i个作业的I/O转发节点最佳使用量;NUM_ioi表示第i个作业上一次在该应用了I/O转发架构的超级计算机中执行时的I/O进程数量;α表示扩展系数。
步骤S3.如果作业A的默认I/O转发节点的数量小于作业A的I/O转发节点最佳使用量,则执行步骤S5,否则执行步骤S4。
步骤S4.判断作业A的默认I/O转发节点是否存在作业级别的I/O性能干扰(即,作业A的默认I/O转发节点中,是否有一个默认I/O转发节点存在作业级别的I/O性能干扰);如果存在则执行步骤S5;如果不存在则将作业A的默认I/O转发节点分配给作业A,作为作业A的实际I/O转发节点,并且为作业A分配I/O转发节点的过程至此结束。
其中,一个I/O转发节点(例如,作业A的一个默认I/O转发节点)存在作业级别的I/O性能干扰指的是默认I/O转发节点包括该I/O转发节点的多个作业之间存在I/O性能干扰。换句话说,作业调度器件在进行作业调度时,为某些作业分配了该I/O转发节点作为默认I/O转发节点,这些作业之间存在I/O性能干扰。
图3示意性地示出了根据本发明一个实施例的用于判断I/O转发节点是否存在作业级别的I/O性能干扰的方法流程图,以I/O转发节点Nodei为例,该方法包括如下步骤:
A.获得默认I/O转发节点包括Nodei的所有作业。
如上文所述,作业调度器件在进行作业调度时,会为多个作业分配默认I/O转发节点,如果某个作业的一个默认I/O转发节点为Nodei,则表示该作业的默认I/O转发节点包括Nodei
B.判断在步骤A获得的所有作业中,是否存在高带宽作业。若存在高带宽作业,则I/O转发节点Nodei存在作业级别的I/O性能干扰,并且结束判断过程;否则执行步骤C。
其中,根据本发明的一个实施例,判断一个作业是否是高带宽作业包括:
①获取该作业上一次(在该采用I/O转发架构的超级计算机中)执行时的平均聚合带宽。例如,通过I/O性能监控工具获取该作业上一次执行时的平均聚合带宽。
其中,聚合带宽指的是作业在进行I/O操作过程中的某个时刻,在单位时间内进行的I/O操作总量(即,该作业所有进程的I/O操作数据量),其单位为GB/S。作业的平均聚合带宽指的是作业在进行I/O操作过程中,聚合带宽的平均值。
②如果该作业的平均聚合带宽大于预定阈值,则将该作业确定为高带宽作业。
C.判断在步骤A获得的所有作业中,是否存在高IOPS(即,每秒读写次数)作业。若存在高IOPS作业,则I/O转发节点Nodei存在作业级别的I/O性能干扰,并且结束判断过程;否则执行步骤D。
在一个实施例中,判断一个作业是否是高IOPS作业包括:
①获取该作业上一次(在该采用I/O转发架构的超级计算机中)执行时的平均聚合IOPS。例如,通过I/O性能监控工具获取该作业上一次执行时的平均聚合IOPS。
②如果该作业的平均聚合IOPS大于预定阈值,则将该作业确定为高IOPS作业。
D.判断在步骤A获得的所有作业中,是否存在元数据访问密集型作业。若存在元数据访问密集型作业,则I/O转发节点Nodei存在作业级别的I/O性能干扰,并且结束判断过程;否则执行步骤E。
根据本发明的一个实施例,将元数据等待队列作为判断作业是否是元数据访问密集型作业的标准,因为元数据操作会占据I/O转发节点上的线程资源,从而干扰正常的数据操作请求。
本领域技术人员应理解,元数据等待队列通常指的是专门存放元数据操作请求的队列,每个作业在为其实际分配的I/O转发节点上都有对应的元数据等待队列。在某些情况下,I/O转发节点上可能没有专门存放元数据操作请求的队列,此时的元数据等待队列指的是I/O请求队列(其中存放了数据操作请求以及元数据操作请求),此时的元数据等待队列长度指的是该I/O请求队列中的元数据操作请求的个数。
在一个实施例中,判断一个作业是否是元数据访问密集型作业包括:
①获取该作业上一次(在该采用I/O转发架构的超级计算机中)执行时的平均元数据等待队列长度。
其中,首先获取该作业上一次执行时在为其实际分配的所有I/O转发节点上的元数据等待队列长度,随后取这些元数据等待队列长度的平均值作为该作业的平均元数据等待队列长度。根据本发明的一个实施例,可以通过I/O性能监控工具获取该作业上一次执行时的平均元数据等待队列长度。
②如果该作业的平均元数据等待队列长度大于预定阈值,则将该作业确定为元数据访问密集型作业。
E.判断在步骤A获得的所有作业中,是否存在I/O模式为N-1模式的作业。若存在I/O模式为N-1模式的作业,则I/O转发节点Nodei存在作业级别的I/O性能干扰;否则I/O转发节点Nodei不存在作业级别的I/O性能干扰;结束判断过程。
其中,可以利用I/O性能监控工具在作业上一次执行时获取该作业的I/O模式。I/O模式可以包括:N-1模式,即作业中有N个I/O进程同时读写一个文件;N-N模式,即作业中有N个I/O进程读写N个独立的文件;1-1模式,即作业中只有一个I/O进程读写一个文件。如果作业使用的I/O模式为N-1模式,即该作业在同一时刻有N个I/O进程同时操作一个文件,则该作业可能会带来I/O性能干扰。
步骤S5.从备用I/O转发节点池中分配备用I/O转发节点作为作业A的实际I/O转发节点。
本领域技术人员应理解,作业调度器件为作业分配的默认I/O转发节点通常为共享式的I/O转发节点,即多个作业可以共享该I/O转发节点。根据本发明的一个实施例,备用I/O转发节点是没有使用的I/O转发节点,并且是独占式的转发节点。在一个实施例中,步骤S5包括如下子步骤:
步骤S51.如果作业A的默认I/O转发节点的数量小于作业A的I/O转发节点最佳使用量,则执行步骤S52;否则执行步骤S53。
步骤S52.比较备用I/O转发节点池中的备用I/O转发节点的数量与作业A的I/O转发节点最佳使用量S,如果备用I/O转发节点池中的备用I/O转发节点的数量大于等于作业A的I/O转发节点最佳使用量S,则从该备用I/O转发节点池中分配S个备用I/O转发节点给作业A作为作业A的实际I/O转发节点,否则将备用I/O转发节点池中的所有备用I/O转发节点分配给作业A,为作业A分配I/O转发节点的过程至此结束。
步骤S53.比较备用I/O转发节点池中的备用I/O转发节点的数量与作业A的默认I/O转发节点的数量L;如果备用I/O转发节点池中的备用I/O转发节点的数量大于等于作业A的默认I/O转发节点的数量L,则从备用I/O转发节点池中分配L个备用I/O转发节点给作业A作为作业A的实际I/O转发节点,否则将备用I/O转发节点池中的所有备用I/O转发节点分配给作业A,为作业A分配I/O转发节点的过程至此结束。
在上述的实施例中,实现了为作业动态地分配I/O转发节点。其中,如果为作业分配的默认I/O转发节点的数量小于根据作业的历史I/O信息计算的I/O转发节点最佳使用量,则尽量为该作业分配满足I/O转发节点最佳使用量的备用I/O转发节点;另外,即使作业的默认I/O转发节点的数量满足(即大于等于)作业的I/O转发节点最佳使用量,也要进一步判断作业的默认I/O转发节点中是否会存在I/O性能干扰,若存在I/O性能干扰则会为作业分配备用I/O转发节点。本发明能够有效避免I/O转发节点上作业粒度的I/O性能干扰,提高了I/O转发节点的利用率,并且提高了作业的I/O性能。
为验证本发明所提供的方法的有效性,发明人在神威太湖之光超级计算机上进行了实验,实验结果表明,本发明提供的方法可以为应用程序带来超过20倍的I/O性能提升。
在上述的实施例中,作业的I/O转发节点最佳使用量是根据作业上一次在(应用了I/O转发架构的)超级计算机中执行时的I/O进程数量计算得到的;另外,判断作业是否是高带宽作业、是否是高IOPS作业以及是否是元数据密集型作业,均利用了作业上一次执行时的I/O信息。本领域技术人员应理解,在其他实施例中,也可以使用作业多次执行时监控得到的I/O信息来进行上述的计算或判断。例如,将作业前n次(n为≥2的整数)执行时的I/O进程数量求平均值或者求加权平均值,利用该平均值或加权平均值来计算作业的I/O转发节点最佳使用量;此外,可以以类似的方式计算作业的平均聚合带宽、平均聚合IOPS以及平均元数据等待队列长度。
在上述的实施例中,通过I/O性能监控工具来监控并获得作业执行时的I/O信息,在进一步的实施例中,可以在每次作业执行完将该作业的I/O信息记录下来,以便于后续查找并计算作业的I/O转发节点最佳使用量等数据。本领域技术人员应理解,作业的I/O信息包括但不限于:作业的I/O进程数量、总I/O数据量、作业的I/O转发节点的平均元数据等待队列长度、作业的I/O模式(包括N-1模式、N-N模式和1-1模式)等等。
在上述的实施例中,(在步骤S4中)为判断一个I/O转发节点是否存在作业级别的I/O性能干扰,首先判断默认I/O转发节点为该I/O转发节点的作业中是否存在高带宽作业,如果不存在高带宽作业,则随后依次判断这些作业中是否存在高IOPS作业、是否存在元数据访问密集型作业以及是否存在N-1模式的作业。在其他实施例中,可以采用其他顺序来判断一个I/O转发节点是否存在作业级别的I/O性能干扰,例如,首先判断作业中是否存在高IOPS作业等。在另外的实施例中,也可以跳过其中的一个或一些步骤,例如,仅判断作业中是否存在高带宽作业;或者,首先判断作业中是否存在高带宽作业,如果不存在高带宽作业,则判断作业中是否存在元数据访问密集型作业。
在上述的实施例中示出了步骤S5的子步骤S51-S53。在其他实施例中,对于步骤S5而言,可以先计算作业A的默认I/O转发节点的数量与作业A的I/O转发节点最佳使用量之中的较大值M,然后比较备用I/O转发节点池中的备用I/O转发节点的数量与这个较大值M,随后根据比较结果进行实际I/O转发节点的分配。在一个实施例中,步骤S5可以包括如下的子步骤:
步骤S51’.计算作业A的默认I/O转发节点的数量与作业A的I/O转发节点最佳使用量中的较大值M。
步骤S52’.比较备用I/O转发节点池中的备用I/O转发节点的数量与该较大值M。
步骤S53’.如果备用I/O转发节点池中的备用I/O转发节点的数量大于等于该较大值M,则从备用I/O转发节点池中分配M个备用I/O转发节点给作业A作为作业A的实际I/O转发节点,否则将备用I/O转发节点池中的所有备用I/O转发节点分配给作业A作为实际I/O转发节点。
应注意到一些示例性方法被描绘为流程图。虽然流程图将操作表述为顺序执行,但可以理解的是,许多操作可以并行、同时或同步地执行。另外,可以重新排列操作的顺序。处理可以在操作完成时终止,但是也可以具有并未包括在图中或实施例中的另外的步骤。
上述方法可以通过硬件、软件、固件、中间件、伪代码、硬件描述语言或者它们的任意组合来实现。当以软件、固件、中间件或伪代码实施时,用来执行任务的程序代码或代码分段可以被存储在计算机可读介质中,诸如存储介质,处理器可以执行该任务。
应理解,软件实现的示例性实施例通常在一些形式的程序存储介质上进行编码或者在一些类型的传输介质上实现。程序存储介质可以是任意的非瞬态存储介质,诸如磁盘(例如,软盘或硬盘)或光盘(例如,紧凑盘只读存储器或“CD ROM”),并且可以是只读的或者随机访问的。类似地,传输介质可以是双绞线、同轴线缆、光纤,或者本领域已知的一些其它适用的传输介质。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

Claims (9)

1.一种I/O转发架构下为作业分配I/O转发节点的方法,包括:
步骤1)获得作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值;其中,所述作业的默认I/O转发节点是由作业调度器件在进行作业调度时为所述作业分配的I/O转发节点;
步骤2)比较所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值,以确定是否分配备用I/O转发节点作为所述作业的实际I/O转发节点,其中,步骤2)包括:比较所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值;如果所述作业的默认I/O转发节点的数量小于所述作业的I/O转发节点数阈值,则分配备用I/O转发节点作为所述作业的实际I/O转发节点;否则,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰,若存在则分配备用I/O转发节点作为所述作业的实际I/O转发节点,若不存在则使用所述作业的默认I/O转发节点作为所述作业的实际I/O转发节点;
其中,所述作业的I/O转发节点数阈值根据下式计算得到:
其中,i表示第i个作业;TH_nodei表示第i个作业的I/O转发节点数阈值;NUM_ioi表示第i个作业上一次执行时的I/O进程数量;α表示扩展系数,所述扩展系数为I/O转发节点的峰值I/O带宽与计算节点的峰值I/O带宽的商。
2.根据权利要求1所述的方法,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:
对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;
如果所获得的所有作业中,存在一作业其上一次执行时的平均聚合带宽大于预定阈值,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
3.根据权利要求1所述的方法,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:
对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;
如果所获得的所有作业中,存在一作业其上一次执行时的平均聚合IOPS大于预定阈值,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
4.根据权利要求1所述的方法,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:
对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;
如果所获得的所有作业中,存在一作业其上一次执行时的平均元数据等待队列长度大于预定阈值,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
5.根据权利要求1所述的方法,步骤2)中,判断所述作业的默认I/O转发节点是否存在作业级别的I/O性能干扰包括:
对于所述作业的默认I/O转发节点中的每个I/O转发节点,获得默认I/O转发节点包括该I/O转发节点的所有作业;
如果所获得的所有作业中,存在一作业其I/O模式为N-1模式,则所述作业的默认I/O转发节点存在作业级别的I/O性能干扰。
6.根据权利要求1所述的方法,其中,分配备用I/O转发节点作为所述作业的实际I/O转发节点包括:
计算所述作业的默认I/O转发节点的数量与所述作业的I/O转发节点数阈值中的较大值M;
比较备用I/O转发节点池中的备用I/O转发节点的数量与所述较大值M;
如果所述备用I/O转发节点池中的备用I/O转发节点的数量大于等于所述较大值M,则从所述备用I/O转发节点池中分配M个备用I/O转发节点给所述作业,作为所述作业的实际I/O转发节点;否则,将所述备用I/O转发节点池中的所有备用I/O转发节点分配给所述作业,作为所述作业的实际I/O转发节点。
7.根据权利要求1所述的方法,其中,所述备用I/O转发节点是独占式I/O转发节点。
8.根据权利要求1所述的方法,还包括:
获得作业上一次执行时的I/O信息。
9.一种电子设备,包括处理器和存储器,所述存储器存储有指令,当所述指令被所述处理器执行时使得所述电子设备实现如权利要求1-8中任一项所述的方法。
CN201910624766.XA 2019-07-11 2019-07-11 I/o转发架构下为作业分配i/o转发节点的方法 Active CN112214305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910624766.XA CN112214305B (zh) 2019-07-11 2019-07-11 I/o转发架构下为作业分配i/o转发节点的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910624766.XA CN112214305B (zh) 2019-07-11 2019-07-11 I/o转发架构下为作业分配i/o转发节点的方法

Publications (2)

Publication Number Publication Date
CN112214305A CN112214305A (zh) 2021-01-12
CN112214305B true CN112214305B (zh) 2024-12-24

Family

ID=74047346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910624766.XA Active CN112214305B (zh) 2019-07-11 2019-07-11 I/o转发架构下为作业分配i/o转发节点的方法

Country Status (1)

Country Link
CN (1) CN112214305B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381940B (zh) * 2021-04-25 2022-12-27 中国空气动力研究与发展中心计算空气动力研究所 一种二维胖树网络拓扑的设计方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324535A (zh) * 2012-03-23 2013-09-25 百度在线网络技术(北京)有限公司 一种计算资源的分配方法和装置
CN107168799A (zh) * 2017-05-16 2017-09-15 成都四象联创科技有限公司 基于云计算架构的数据优化处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978036B2 (en) * 2013-07-29 2015-03-10 Splunk Inc. Dynamic scheduling of tasks for collecting and processing data from external sources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324535A (zh) * 2012-03-23 2013-09-25 百度在线网络技术(北京)有限公司 一种计算资源的分配方法和装置
CN107168799A (zh) * 2017-05-16 2017-09-15 成都四象联创科技有限公司 基于云计算架构的数据优化处理方法

Also Published As

Publication number Publication date
CN112214305A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
JP5073673B2 (ja) マルチスレッド・プロセッサにおける性能の優先順位付け
US8190795B2 (en) Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program
JP5853624B2 (ja) ワークロード・メタデータの生成、分析、及び利用のための方法、プログラム、及びシステム
CN102667724B (zh) 用于动态管理加速器资源的方法和系统
KR101553649B1 (ko) 멀티 코어 장치 및 멀티 코어 장치의 작업 스케줄링 방법
CN104424106B (zh) 为存储优化操作分配存储设备的资源的方法和系统
US20110161965A1 (en) Job allocation method and apparatus for a multi-core processor
WO2012103231A1 (en) Computing platform with resource constraint negotiation
US10877790B2 (en) Information processing apparatus, control method and storage medium
JP2010009160A (ja) 性能値算出装置
KR101140914B1 (ko) 컴퓨팅 자원들을 제어하는 기술
US9471387B2 (en) Scheduling in job execution
CN110674064B (zh) 一种数据传输方法、装置、设备及计算机可读存储介质
CN109788325A (zh) 视频任务分配方法及服务器
CN111625339A (zh) 集群资源调度方法、装置、介质和计算设备
US20160139959A1 (en) Information processing system, method and medium
JP5849794B2 (ja) ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
CN112214305B (zh) I/o转发架构下为作业分配i/o转发节点的方法
JP5136658B2 (ja) 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置
US12032858B1 (en) Data storage system employing partial responses to influence rate of bulk storage operations
JP2018041282A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
CN117632462A (zh) 任务资源调度方法及服务器
KR101932523B1 (ko) 가상 머신에 할당된 가상 gpu 메모리의 슬롯을 동적으로 증감시키는 방법 및 이를 구현하는 컴퓨팅 장치
CN102298553B (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