CN112306383B - 执行作业的方法、计算节点、管理节点及计算设备 - Google Patents

执行作业的方法、计算节点、管理节点及计算设备 Download PDF

Info

Publication number
CN112306383B
CN112306383B CN201911073198.5A CN201911073198A CN112306383B CN 112306383 B CN112306383 B CN 112306383B CN 201911073198 A CN201911073198 A CN 201911073198A CN 112306383 B CN112306383 B CN 112306383B
Authority
CN
China
Prior art keywords
job
target
access
node
storage system
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
CN201911073198.5A
Other languages
English (en)
Other versions
CN112306383A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112306383A publication Critical patent/CN112306383A/zh
Application granted granted Critical
Publication of CN112306383B publication Critical patent/CN112306383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种执行作业的方法,该方法属于大数据技术领域。该方法应用于HPC系统中,HPC系统包括管理节点、多个计算节点和存储系统,对于多个计算节点中执行本次目标作业的每个计算节点,该方法包括:计算节点接收管理节点发送的输入输出IO模型和目标部分作业,其中,IO模型是基于历史执行与目标作业的标识相同的作业的IO信息确定的,或者IO模型是基于历史执行与目标部分作业的标识相同的部分作业的IO信息确定的,该目标部分作业为计算节点本次执行目标作业中的部分作业。计算节点基于IO模型,确定目标部分作业对应的配置参数,计算节点基于配置参数的配置,执行目标部分作业。采用本申请,可以提升执行作业的效率。

Description

执行作业的方法、计算节点、管理节点及计算设备
本申请要求于2019年08月02日提交的申请号201910713690.8、发明名称为“一种自动化输入输出模型识别与优化方法和计算机设备系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及大数据技术领域,特别涉及一种执行作业的方法、计算节点、管理节点及计算设备。
背景技术
在高性能计算(High Performance Computing,HPC)领域中,随着计算机集群规模及运算数据量的快速增长,存储系统的能力越来越成为影响HPC业务性能的关键因素。虽然将分布式存储系统应用到高性能计算场景中,但是由于存储规模的进一步扩大,分布式存储系统中一致性锁开销和存储节点负载均衡等问题逐渐成为影响存储系统整体性能的重要因素。所以如果能够提前了解HPC业务(HPC业务通过HPC应用程序(也可以称为是HPC的作业)实现)的输入输出(input output,IO)信息,基于该IO信息,就能够针对性的设计和配置存储系统。
相关技术中,对于某个HPC的作业,获取IO信息的处理为:通过glibc库重定向的方式拦截IO访问,记录该IO访问的日志信息,然后调用glibc库完成IO访问。在完成IO访问后,为技术人员提供IO信息。技术人员可以分析IO信息,修改HPC的作业的配置参数,适配存储系统。
由于相关技术中是通过重定向的方式,获取到IO访问的日志信息,所以对于某些安全性较高的场景中不允许重定向,会导致无法获取到IO访问的日志信息,进而无法使HPC的作业适配存储系统,执行该作业的效率比较低。
发明内容
本申请提供了一种执行作业的方法、计算节点、管理节点及计算设备,用以提升执行作业的效率。
第一方面,本申请提供了执行作业的方法,该方法应用于HPC系统中,该HPC系统包括管理节点、多个计算节点和存储系统,对于多个计算节点中执行本次目标作业的每个计算节点,该方法包括:接收该管理节点发送的IO模型和目标部分作业,其中,该IO模型是基于历史执行与该目标作业的标识相同的作业的IO信息确定的,或者该IO模型是基于历史执行与该目标部分作业的标识相同的部分作业的IO信息确定的,该目标部分作业为该计算节点执行本次该目标作业中的部分作业。计算节点基于该IO模型,确定该目标部分作业对应的配置参数,基于该配置参数的配置,执行该目标部分作业。
本申请所示的方案,目标作业包括多份部分作业,每份部分作业被一个计算节点所执行。对于执行本次目标作业的任一计算节点(执行本次目标作业的任一计算节点指HPC系统的多个计算节点中执行本次目标作业的所有计算节点中的任一计算节点,该所有计算节点中每个计算节点执行目标作业的部分作业,且该每个计算节点执行的部分作业不相同,该每个计算节点执行的目标作业的部分作业的总和组成目标作业),该计算节点执行本次目标作业中的目标部分作业,目标部分作业为目标作业的多份部分作业中的一份部分作业。该计算节点接收管理节点发送的IO模型和目标部分作业。该IO模型为基于历史与目标作业的标识相同的作业的IO信息确定的,或者,该IO模型为基于历史执行与目标部分作业的标识相同的部分作业的IO信息确定的。该计算节点使用接收到的IO模型,确定目标部分作业对应的配置参数,后续计算节点基于配置参数的配置执行目标部分作业。这样,由于配置参数基于IO模型确定,该IO模型是基于历史执行与该目标作业的标识相同的作业的IO信息确定的,或者该IO模型是基于历史执行与该目标部分作业的标识相同的部分作业的IO信息确定的,所以后续使用配置参数的配置,执行目标部分作业时,可以提升执行作业的效率。
在一种可能的实现方式中,该基于该IO模型,确定该目标部分作业对应的配置参数,包括:基于该文件的访问时间,确定从该存储系统读取该文件的访问范围的数据的读取时间;将该读取时间和该文件的访问范围,确定为该目标部分作业对应的缓存配置参数;该方法还包括:基于该缓存配置参数中该读取时间和该访问范围,从该存储系统读取该数据至该计算节点的缓存中,其中,基于该读取时间,将该数据读取至该缓存中的结束时间不晚于该数据的访问时间;该基于该配置参数的配置,执行该目标部分作业,包括:基于该缓存中的该数据,执行该目标部分作业。
本申请所示的方案,在该IO模型为第一IO模型时,目标部分作业对应的配置参数为缓存配置参数,该第一IO模型包括执行该目标作业时访问该存储系统中的文件的访问范围和访问时间。执行本次目标部分作业的计算节点可以使用第一IO模型中任一文件的访问时间,确定从存储系统读取该文件的访问范围的数据的读取时间,将该读取时间和该文件的访问范围,确定为目标部分作业对应的缓存配置参数。后续该计算节点可以在读取时间,将该文件的访问范围的数据读取至该计算节点的缓存中。该计算节点根据缓存中的该数据,执行目标部分作业。这样,基于该读取时间,将该数据读取至该缓存中的结束时间不晚于执行目标部分作业时,该数据的访问时间,所以可以提前将执行目标部分作业所需的数据读取至缓存中,而不需要在执行目标部分作业时访问存储系统,可以提高执行作业的效率。
在一种可能的实现方式中,该基于该IO模型,确定该目标部分作业对应的配置参数,包括:获取该一致性配置参数的设置时间;基于该设置时间与该第一冲突指示信息,确定该目标部分作业对应的该一致性配置参数;该执行该目标部分作业之前,还包括:在该一致性配置参数的设置时间,基于该第一冲突指示信息设置该存储系统的第一一致性等级,该第一一致性等级用于指示该存储系统的访问是否存在冲突;该基于该配置参数的配置,执行该目标部分作业,包括:在该存储系统的访问存在冲突的情况下,在执行该目标部分作业时,基于加锁机制,访问该存储系统;在该存储系统的访问不存在冲突的情况下,在执行该目标部分作业时,基于非加锁机制,访问该存储系统。
本申请所示的方案,在IO模型为第二IO模型时,该配置参数为一致性配置参数,该第二IO模型包括该存储系统的第一冲突指示信息。执行目标部分作业的计算节点可以获取一致性配置参数的设置时间,将该设置时间与第一冲突指示信息对应存储,得到目标部分作业对应的一致性配置参数。后续在等到设置时间时,该计算节点可以基于该第一冲突指示信息,设置该存储系统的第一一致性等级,该第一一致性等级用于指示存储系统的访问是否存在冲突。在存储系统的访问存在冲突的情况下,该计算节点在执行目标部分作业时,可以基于枷锁机制,访问存储系统,保证存储系统的数据的一致性,而在存储系统的访问不存在冲突的情况下,该计算节点在执行目标部分作业时,可以基于非枷锁机制,访问存储系统,可以提升存储系统的访问效率,进而可以提升执行目标部分作业的效率。
在一种可能的实现方式中,该基于该IO模型,确定该目标部分作业对应的配置参数,包括:获取该一致性配置参数的设置时间;基于该设置时间与该各目录对应的第二冲突指示信息,确定该目标部分作业对应的该一致性配置参数;该执行该目标部分作业之前,还包括:在该一致性配置参数中的设置时间,基于该各目录的第二冲突指示信息设置该各目录的第二一致性等级,对于任一目录,该第二一致性等级用于指示该目录的访问是否存在冲突;该基于该配置参数的配置,执行该目标部分作业,包括:对于该存储系统的每个目录,在该目录的访问存在冲突的情况下,在执行该目标部分作业时,基于加锁机制,访问该目录;在该目录的访问不存在冲突的情况下,在执行该目标部分作业时,基于非加锁机制,访问该目录。
本申请所示的方案,在IO模型为第二IO模型时,该配置参数为一致性配置参数,该第二IO模型包括该存储系统中各目录的第二冲突指示信息。执行目标部分作业的计算节点可以获取一致性配置参数的设置时间,将该设置时间与各目录的第二冲突指示信息对应,得到目标部分作业对应的一致性配置参数。对于存储系统的每个目录,后续在等到设置时间时,该计算节点可以基于该目录的第二冲突指示信息,设置该目录的第二一致性等级,该第二一致性等级用于指示该目录的访问是否存在冲突。在某个目录的访问存在冲突的情况下,该计算节点在执行目标部分作业时,可以基于枷锁机制,访问该目录,保证该目录的数据的一致性,而在某个目录的访问不存在冲突的情况下,该计算节点在执行目标部分作业时,可以基于非枷锁机制,访问该目录,可以提升目录的访问效率,进而可以提升执行作业的效率。
在一种可能的实现方式中,该基于该IO模型,确定该目标部分作业对应的配置参数,包括:获取该负载配置参数的设置时间;基于该设置时间和该负载指示信息,确定该目标部分作业对应的该负载配置参数;该执行该目标部分作业之前,还包括:基于该负载配置参数中的该负载指示信息,确定执行本次该目标部分作业时访问该存储系统的第一访问策略,该第一访问策略为执行该目标部分作业时按照负载均衡提交IO访问至存储系统的策略;在该负载配置参数中的设置时间,将该第一访问策略设置为执行本次该目标部分作业的访问策略;该基于该配置参数的配置,执行该目标部分作业,包括:在执行该目标部分作业时,基于该第一访问策略提交该目标部分作业的IO访问至该存储系统的存储节点。
本申请所示的方案,IO模型为第三IO模型时,配置参数为负载配置参数,该第三IO模型包括存储系统的负载指示信息。执行本次目标部分作业的计算节点获取负载配置参数的设置时间,然后基于该设置时间和第三IO模型中的负载指示信息,确定出目标部分作业对应的负载配置参数。后续该计算节点根据该负载指示信息,确定出执行本次该目标部分作业时访问存储系统的第一访问策略,在设置时间将该第一访问策略确定执行本次目标部分作业,设置为本次执行目标部分作业的访问策略。后续该计算节点在执行该目标部分作业时,可以基于该第一访问策略,提交该目标部分作业的IO访问至该存储系统的存储节点。这样,由于第一访问策略是执行该目标部分作业时按照负载均衡提交IO访问至存储系统的策略,所以可以使提交IO访问至的存储节点负载均衡。
在一种可能的实现方式中,执行本次目标作业的计算节点与历史执行与该目标作业的标识相同的作业的计算节点为同一节点。该接收该管理节点发送的IO模型之前,还包括:在该目标部分作业第一次被执行时,获取执行该目标部分作业的IO信息;向该管理节点发送该IO信息,其中,该IO信息包括进程标识、访问的文件的访问范围、访问的文件的访问时间、访问的操作码和接收IO访问的存储节点的标识。
这样,由于在第一次执行与目标作业的标识相同的作业时,就向管理节点发送该作业的IO信息,管理节点可以确定出IO模型,后续再执行与目标作业的标识相同的作业时,就可以使用该IO模型。
第二方面,提供了一种执行作业的方法,该方法应用于高性能计算HPC系统中,该HPC系统包括管理节点、多个计算节点和存储系统,该方法包括:判断是否存在目标作业的IO模型,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的;在存在所述目标作业的IO模型时,对于所述多个计算节点中执行本次所述目标作业的每个计算节点,向所述计算节点发送所述IO模型和所述计算节点执行的目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,其中,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业。
本申请所示的方案,管理节点在达到要执行目标作业的周期时,可以判断是否存在目标作业的标识对应的IO模型,在存在目标作业标识对应的IO模型时,对于多个计算节点中执行本次目标作业的每个计算节点,管理节点向每个计算节点发送该IO模型和每个计算节点所要执行的部分作业。这样,由于将IO模型发送给计算节点,计算节点可以基于该IO模型,确定出所执行的部分作业对应的配置参数,基于该配置参数的配置,为执行该部分作业提供最好服务,提升执行作业的效率。
在一种可能的实现方式中,该方法还包括:基于历史执行与该目标作业的标识相同的作业的计算节点上报的IO信息,确定该目标作业的IO模型。
在一种可能的实现方式中,该IO信息包括执行该目标作业时访问该存储系统中的文件的访问范围和访问时间。管理节点在IO信息中,获取读操作的文件,进而确定出读操作的文件的访问范围和访问时间,然后将该访问范围和访问时间相对应,获得执行目标作业时访问该存储系统中的文件的访问范围和访问时间的对应关系。管理节点将该对应关系,确定为目标作业的第一IO模型。这样,可以确定出执行目标部分作业时,从存储系统读取文件的访问范围和访问时间。
在一种可能的实现方式中,该IO信息包括历史执行该目标作业时该目标作业的进程的进程标识、访问该存储系统的文件的访问范围和访问时间。管理节点在IO信息中,确定文件的访问范围和访问时间,以及访问文件的进程的进程标识。然后管理节点可以根据文件的访问范围和访问时间,以及访问文件的进程的进程标识,确定存储系统的第一冲突指示信息,该第一冲突指示信息用于指示该存储系统的访问是否存在冲突。管理节点将该第一冲突指示信息,确定为目标作业的第二IO模型。这样,可以确定出存储系统的访问是否存在冲突。
在一种可能的实现方式中,该IO信息包括历史执行该目标作业时该存储系统中接收IO访问的存储节点的标识。管理节点可以使用IO信息中存储系统中接收IO访问的存储节点的标识,统计出接收IO访问的各存储节点分别接收到执行目标作业时的IO访问的数目,将该数目分别确定为接收IO访问的各存储节点的负载数目。管理节点可以使用各存储节点的负载数目,确定出存储系统的负载指示信息,该负载指示信息用于指示各存储节点的负载是否均衡。管理节点将该负载指示信息,确定为第三IO模型。这样,可以确定出存储系统的负载指示信息。
在一种可能的实现方式中,该IO信息还包括该接收IO访问的存储节点中上报超载指示的存储节点的标识,在确定存储系统的负载指示信息时,还可以基于各存储节点的负载数目和该上报超载指示的存储节点的标识,确定存储系统的负载指示信息,使确定出的负载指示信息更准确。
第三方面,提供了一种执行作业的方法,该方法应用于HPC系统中,该HPC系统包括管理节点、多个计算节点和存储系统,该方法包括:判断是否存在目标作业的各部分作业对应的IO模型;在存在该各部分作业对应的IO模型时,对于该多个计算节点中执行该各部分作业的每个计算节点,向该计算节点发送该计算节点执行的目标部分作业的IO模型和该目标部分作业,以使该计算节点确定该目标部分作业对应的配置参数,基于该配置参数的配置,执行该目标部分作业。
本申请所示的方案,管理节点在达到要执行目标作业的周期时,可以判断是否存在目标作业的各部分作业的IO模型,在存在目标作业的各部分作业的IO模型时,对于多个计算节点中执行本次目标作业的每个计算节点,管理节点向每个计算节点发送该IO模型和每个计算节点所要执行的部分作业。这样,由于将IO模型发送给计算节点,计算节点可以基于IO模型,确定出所执行的部分作业对应的配置参数,基于该配置参数的配置,为执行该部分作业提供最好服务,提升执行作业的效率。
第四方面,提供了一种执行作业的计算节点,该计算节点应用于HPC系统中,该HPC系统包括管理节点、多个计算节点和存储系统,对于该多个计算节点中执行本次目标作业的每个计算节点,该计算节点包括:
接收模块,用于接收所述管理节点发送的输入输出IO模型和目标部分作业,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的,或者所述IO模型是基于历史执行与所述目标部分作业的标识相同的部分作业的IO信息确定的,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业;
确定模块,用于基于所述IO模型,确定所述目标部分作业对应的配置参数;
执行模块,用于基于所述配置参数的配置,执行所述目标部分作业。
在一种可能的实现方式中,所述IO模型为第一IO模型时,所述配置参数为缓存配置参数,所述第一IO模型包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述确定模块,用于:
基于所述文件的访问时间,确定从所述存储系统读取所述文件的访问范围的数据的读取时间;
将所述读取时间和所述文件的访问范围,确定为所述目标部分作业对应的缓存配置参数;
所述执行模块,还用于:
基于所述缓存配置参数中所述读取时间和所述访问范围,从所述存储系统读取所述数据至所述计算节点的缓存中,其中,基于所述读取时间,将所述数据读取至所述缓存中的结束时间不晚于所述数据的访问时间;
所述执行模块,用于:
基于所述缓存中的所述数据,执行所述目标部分作业。
在一种可能的实现方式中,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统的第一冲突指示信息;
所述确定模块,用于:
获取所述一致性配置参数的设置时间;
基于所述设置时间与所述第一冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述执行模块,还用于:
执行所述目标部分作业之前,在所述一致性配置参数的设置时间,基于所述第一冲突指示信息设置所述存储系统的第一一致性等级,所述第一一致性等级用于指示所述存储系统的访问是否存在冲突;
所述执行模块,用于:
在所述存储系统的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述存储系统;
在所述存储系统的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述存储系统。
在一种可能的实现方式中,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统中各目录的第二冲突指示信息;
所述确定模块,用于:
获取所述一致性配置参数的设置时间;
基于所述设置时间与所述各目录对应的第二冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述执行模块,还用于:
执行所述目标部分作业之前,在所述一致性配置参数中的设置时间,基于所述各目录的第二冲突指示信息设置所述各目录的第二一致性等级,对于任一目录,所述第二一致性等级用于指示所述目录的访问是否存在冲突;
所述执行模块,用于:
对于所述存储系统的每个目录,在所述目录的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述目录;在所述目录的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述目录。
在一种可能的实现方式中,所述IO模型为第三IO模型时,所述配置参数为负载配置参数,所述第三IO模型包括所述存储系统的负载指示信息;
所述确定模块,用于:
获取所述负载配置参数的设置时间;
基于所述设置时间和所述负载指示信息,确定所述目标部分作业对应的所述负载配置参数;
所述执行模块,还用于:
执行所述目标部分作业之前,基于所述负载配置参数中的所述负载指示信息,确定执行本次所述目标部分作业时访问所述存储系统的第一访问策略,所述第一访问策略为执行所述目标部分作业时按照负载均衡提交IO访问至存储系统的策略;
在所述负载配置参数中的设置时间,将所述第一访问策略设置为执行本次所述目标部分作业的访问策略;
所述执行模块,用于:
在执行所述目标部分作业时,基于所述第一访问策略提交所述目标部分作业的IO访问至所述存储系统的存储节点。
在一种可能的实现方式中,执行所述方法的计算节点与历史执行与所述目标作业的标识相同的作业的计算节点为同一节点;
所述确定模块,还用于:
接收所述管理节点发送的IO模型之前,在所述目标部分作业第一次被执行时,获取执行所述目标部分作业的IO信息;
所述计算节点,还包括:
发送模块,用于向所述管理节点发送所述IO信息,其中,所述IO信息包括进程标识、访问的文件的访问范围、访问的文件的访问时间、访问的操作码和接收IO访问的存储节点的标识。
第五方面,提供了一种执行作业的管理节点,该管理节点应用于HPC系统中,所述HPC系统包括管理节点、多个计算节点和存储系统,该管理节点包括:
判断模块,用于判断是否存在目标作业的输入输出IO模型,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的;
发送模块,用于在存在所述目标作业的IO模型时,对于所述多个计算节点中执行所述目标作业的每个计算节点,向所述计算节点发送所述IO模型和所述计算节点执行的目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,其中,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业。
在一种可能的实现方式中,所述管理节点还包括:
确定模块,用于:基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型。
在一种可能的实现方式中,所述IO信息包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述确定模块,用于:
将所述IO信息中的读操作的文件的访问范围和访问时间相对应,获得执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间的对应关系;
将所述对应关系,确定为所述目标作业的第一IO模型。
在一种可能的实现方式中,所述IO信息包括历史执行所述目标作业时所述目标作业的进程的进程标识、访问所述存储系统的文件的访问范围和访问时间;
所述确定模块,用于:
基于所述IO信息中所述文件的访问范围、所述文件的访问时间和所述进程标识,确定所述存储系统的第一冲突指示信息;所述第一冲突指示信息用于指示所述存储系统的访问是否存在冲突;
将所述存储系统的第一冲突指示信息,确定为所述目标作业的第二IO模型。
在一种可能的实现方式中,所述IO信息包括历史执行所述目标作业时所述存储系统中接收IO访问的存储节点的标识;
所述确定模块,用于:
基于所述接收IO访问的存储节点的标识,确定接收IO访问的各存储节点的负载数目;
基于所述各存储节点的负载数目,确定所述存储系统的负载指示信息,其中,所述负载指示信息用于指示所述各存储节点的负载是否均衡;
将所述负载指示信息,确定为所述目标作业的第三IO模型。
在一种可能的实现方式中,所述IO信息还包括所述接收IO访问的存储节点中上报超载指示的存储节点的标识;
所述确定模块,用于:
基于所述各存储节点的负载数目和所述上报超载指示的存储节点的标识,确定所述存储系统的负载指示信息。
第六方面,提供了一种执行作业的管理节点,该管理节点应用于HPC系统中,所述HPC系统包括管理节点、多个计算节点和存储系统,该管理节点包括:
判断模块,用于判断是否存在目标作业的各部分作业对应的IO模型;
发送模块,用于在存在所述各部分作业对应的IO模型时,对于所述多个计算节点中执行所述各部分作业的每个计算节点,向所述计算节点发送所述计算节点执行的目标部分作业的IO模型和所述目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业。
第七方面,本申请提供了一种执行作业的计算节点,所述计算节点包括处理器和存储器,其中:所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现上述第一方面所述的方法。
第八方面,本申请提供了一种执行作业的管理节点,所述管理节点包括处理器和存储器,其中:所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现上述第二方面所述的方法或者以实现上述第三方面所述的方法。
第九方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被计算节点执行时,使得所述计算节点执行上述第一方面所述的方法。
第十方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被管理节点执行时,使得所述管理节点执行上述第二方面所述的方法或者使的所述管理节点执行上述第三方面所述的方法。
第十一方面,本申请提供了一种执行作业的系统,所述系统包括管理节点和多个计算节点。其中,所述多个计算节点中任一计算节点用于实现上述第一方面所述的方法,所述管理节点用于实现上述第二方面所述的方法或者用于实现上述第三方面所述的方法。
附图说明
图1是本申请一个示例性实施例提供的系统架构图;
图2是本申请一个示例性实施例提供的计算节点的结构示意图;
图3是本申请一个示例性实施例提供的管理节点的结构示意图;
图4是本申请一个示例性实施例提供的冲突访问的实示例;
图5是本申请一个示例性实施例提供的执行作业的流程示意图;
图6是本申请一个示例性实施例提供的执行作业的流程示意图;
图7是本申请一个示例性实施例提供的负载均衡的示意图;
图8是本申请一个示例性实施例提供的执行作业的HPC系统图;
图9是本申请一个示例性实施例提供的计算节点的结构示意图;
图10是本申请一个示例性实施例提供的计算节点的结构示意图;
图11是本申请一个示例性实施例提供的管理节点的结构示意图;
图12是本申请一个示例性实施例提供的管理节点的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先介绍所涉及到的名词的概念:
1、存储客户端:存储系统部署在计算节点上的客户端。存储客户端用于向计算节点提供存储的接入服务,并且向存储系统中的存储节点提交IO访问。
2、存储节点:提供存储服务的主体,响应并执行来自存储客户端的IO访问。
3、冲突访问:两个存储客户端同时访问相同位置的数据块称为是冲突访问。在冲突访问下,采用加锁机制,由第一个存储客户端获取锁,在该存储客户端访问完成释放后,第二个存储客户端获取锁,第二个存储客户端才能进行访问。可见,在冲突访问下由于加锁导致访问的串行化,进而导致存储效率比较低。
4、数据多维化访问:HPC业务存取数据常见的场景。例如,数据以二维来组织,假设一个3*3的矩阵。写入文件中是按照“行”的顺序写,在文件中排布为1>2>3>4>5>6>7>8>9。读出时按照“列”读取,会变成1>4>7>2>5>8>3>6>9。这样会造成在一个维度连续的IO在另一个维度是不连续的。
5、HPC,是利用强大的聚合计算能力来处理数据密集型计算作业。
在HPC领域中,为了提升存储系统的写入和读取效率,相关技术中,通过glibc库(即c运行库)重定向的方式拦截IO访问,记录该IO访问的日志信息,然后调用glibc库完成IO访问。在完成IO访问后,为技术人员提供IO信息。技术人员可以分析IO信息,修改HPC应用程序,适配存储系统。然而通过这种方式存在多个缺点,缺点一,提供出IO信息后,技术人员通过分析IO信息,修改HPC应用程序,需要人参与,无法让存储系统自动适配HPC应用程序。缺点二,对于某些安全较高的场景中不允许重定向,会导致无法获取到IO访问的日志信息,进而无法使HPC应用程序适配存储系统。缺点三,通过glibc库做IO信息统计,运行在用户进程空间中,对HPC应用程序的运行造成影响。所以需要提供一种自动获取IO信息,且基于IO信息自动调整配置参数的方法。
在对本申请实施例提供的执行作业的方法介绍之前,对本申请实施例所适用的系统架构进行介绍。
本申请实施例提供的执行作业的方法,可以应用于HPC系统中,如图1所示,HPC系统包括管理节点、多个计算节点和存储系统。管理节点可以是一个或多个,用于管理计算节点和存储系统。例如,管理节点可以为2个,一个为主管理节点,一个为备管理节点。多个计算节点可以组成服务器集群,每个计算节点为一个服务器。计算节点用于执行计算任务(具体可以是执行作业),通过存储客户端(存储客户端部署在计算节点中)访问存储系统。存储系统可以是分布式存储系统,存储系统包括多个存储节点,存储节点可以是服务器。存储节点负责提供存储服务。如提供文件存储服务等。
此处需要说明的是,为了更好的提供存储服务,存储节点一般是实体设备,而不是虚拟设备。HPC系统可以应用于多个领域。例如,气象、石油、天文、基因和高能物理等。
执行作业的方法可以由执行作业的装置执行。执行作业的装置为上述的管理节点或计算节点。管理节点可以为一个硬件装置,如服务器等,也可以是一个软件装置(如可以为运行在硬件装置上的一套软件程序)。计算节点可以是一个硬件装置,如服务器等。
图2示例性的提供了本申请的计算节点的一种可能的架构图。计算节点可以包括处理器201、存储器202、通信接口203和总线204。在计算节点中,处理器201的数量可以是一个或多个,图2仅示意了其中一个处理器201。可选的,处理器201可以是中央处理器(Central Processing Unit,CPU)。若计算节点具有多个处理器201,多个处理器201的类型可以不同,或者可以相同。可选的,计算节点的多个处理器还可以集成为多核处理器。
存储器202存储计算机指令和数据,存储器202可以存储实现本申请提供的执行作业的方法所需的计算机指令和数据。例如,存储器202存储用于实现本申请提供的执行作业的方法中接收模块执行步骤的指令。再例如,存储器202存储用于本申请提供的执行作业的方法中确定模块执行步骤的指令等。存储器202可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器(Read-Only Memory,ROM)、固态硬盘(Solid StateDisk,SSD)、硬盘(Hard Disk Drive,HDD)、光盘等)、易失性存储器。
通信接口203可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口203用于计算节点与其他节点或者终端进行数据通信。
图2用一条粗线表示总线204。总线204可以将处理器201与存储器202、通信接口203连接。这样,通过总线204,处理器201可以访问存储器202,还可以利用通信接口203与其它节点或者终端进行数据交互。
在本申请中,计算节点执行存储器202中的计算机指令,使计算节点实现本申请提供的执行作业的方法。例如,使得计算节点执行上述执行作业的方法中由确定模块执行的步骤。
图3示例性的提供了本申请的管理节点的一种可能的架构图。管理节点可以包括处理器301、存储器302、通信接口303和总线304。在管理节点中,处理器301的数量可以是一个或多个,图3仅示意了其中一个处理器301。可选的,处理器301可以是CPU。若管理节点具有多个处理器301,多个处理器301的类型可以不同,或者可以相同。可选的,管理节点的多个处理器还可以集成为多核处理器。
存储器302存储计算机指令和数据,存储器302可以存储实现本申请提供的执行作业的方法所需的计算机指令和数据。例如,存储器302存储用于实现本申请提供的执行作业的方法中判断模块执行步骤的指令。存储器302可以是以下存储介质的任一种或任一种组合:非易失性存储器(如ROM、SSD、HDD、光盘等)、易失性存储器。
通信接口303可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口303用于管理节点与其他节点或者终端进行数据通信。
图3用一条粗线表示总线304。总线304可以将处理器301与存储器302、通信接口303连接。这样,通过总线304,处理器301可以访问存储器302,还可以利用通信接口303与其它节点或者终端进行数据交互。
在本申请中,管理节点执行存储器302中的计算机指令,使管理节点实现本申请提供的执行作业的方法。例如,使得管理节点执行上述执行作业的方法中由判断模块执行的步骤。
本申请实施例中执行作业的方法可以由管理节点执行。IO模型分为两种,一种是整个目标作业的全部作业对应一个或多个IO模型,另一种是目标作业的各部分作业分别对应一个或多个IO模型。其中,目标作业的部分作业是相对于目标作业的全部作业而言,部分作业是全部作业的一部分。例如,目标作业的全部作业有100个进程,某个部分作业为该100个进程中的10个进程。目标作业的每份部分作业被分配至一个计算节点上执行,且不同的部分作业被分配至不同的计算节点执行。
在目标作业的全部作业对应一个或多个IO模型时,本申请实施例中,由管理节点确定目标作业的一个或多个IO模型。具体处理是:管理节点根据历史执行与目标作业的标识相同的作业的多个计算节点上报的IO信息,确定目标作业的一个或多个IO模型。历史执行目标作业的多个计算节点可以为第一次执行目标作业的多个计算节点。在第一次执行目标作业时,每个计算节点(指第一次执行目标作业的每个计算节点)中的存储客户端在提交IO访问至存储系统的存储节点时,可以记录多条IO访问的IO信息,每条IO访问的IO信息中包括进行文件访问的进程的进程标识、访问的文件(访问的文件可以使用访问的文件的文件名表示)、文件访问的范围(文件访问范围包括文件的访问位置、文件的访问长度)、文件的访问时间、文件的访问操作码和接收IO访问的存储节点的标识等。接收访问的存储节点的标识指接收到存储客户端提交的IO访问的存储节点的标识。
在第一次执行完目标作业时,每个计算节点(指第一次执行目标作业的每个计算节点,该每个计算节点执行目标作业的部分作业,而不是全部的目标作业)可以将记录的IO访问的IO信息发送至管理节点。管理节点接收到该每个计算节点发送的IO访问的IO信息后,可以使用接收到的IO访问的IO信息,确定出目标作业的一个或多个IO模型。然后管理节点将目标作业的标识与一个或多个IO模型对应存储。这样,后续计算节点再次执行目标作业时,可以基于该一个或多个IO模型,访问存储系统。
需要说明的是,每个作业使用唯一标识指示,且相同的标识指示同一作业。与目标作业的标识相同的作业,也可以称为是目标作业。
需要说明的是,上述的IO信息是历史执行目标作业时获取的,后续为了方便描述,将IO信息称为历史执行目标作业的IO信息。
具体的,在目标作业对应一个IO模型时,该IO模型可以是第一IO模型、第二IO模型和第三IO模型中的任意一个,在目标作业对应多个IO模型时,该多个IO模型可以为第一IO模型、第二IO模型和第三IO模型中任意多个。第一IO模型用于指示读取序列,第二IO模型用于指示冲突指示信息,第三IO模型用于指示负载指示信息。以下将分别描述管理节点确定第一IO模型、第二IO模型和第三IO模型的过程:
1、第一IO模型用于指示读取序列,管理节点确定目标作业的第一IO模型的方式可以如下:
本实施例中,在描述管理节点如何确定第一IO模型的过程之前,首先介绍历史执行目标作业的IO信息。IO信息可以包括访问的文件、文件的访问范围(文件的访问位置、文件的访问长度)、文件的访问时间和访问的操作码。访问的文件用访问的文件的文件名表示。文件的访问位置是指访问的文件的开始位置,如访问的文件的第5个字节。文件的访问长度是指访问文件的数据的大小,如8k等。基于文件的访问位置和文件的访问长度可以确定出在访问的文件中所要访问的数据。文件的访问时间指实际访问文件中的数据的时间。访问的操作码指写操作、读操作、删除操作和更新操作等。
管理节点可以在所有访问的文件中,确定出访问的操作码为读操作的文件。管理节点在历史执行目标作业的IO信息中,确定读操作的文件对应的文件的访问范围和文件的访问时间。然后管理节点将读操作的文件、文件的访问范围和文件的访问时间相对应,得到读操作的文件、文件的访问范围和文件的访问时间三者的对应关系。管理节点可以将该对应关系中访问时间从前到后进行排序,进而该对应关系是按照访问时间的先后顺序进行排列。管理节点可以将按照时间的先后顺序进行排列的对应关系,确定为读取序列。管理节点可以将该读取序列确定为目标作业的第一IO模型。
另外,如表一所示,本申请实施例中还提供了IO信息,具体是文件的访问时间、访问的文件、文件的访问位置和文件的访问长度的对应关系。
表一
文件的访问时间 访问的文件 文件的访问位置 文件的访问长度
t0 a.txt 0 4k
t1 a.txt 8k 1k
t2 b.txt 0 2k
t3 c.txt 32k 512B
需要说明的是,表一中“.txt”表示文件的格式为文本格式。“.txt”文件的格式仅为一种举例,本申请实施例中文件可以是任何格式的文件。
还需要说明的是,由于每次执行目标作业提交的IO访问相同,所以上述读取序列中包括了本次执行目标作业所有需要读取的数据所在的文件、文件的访问范围和文件的访问时间。
2、第二IO模型用于指示冲突指示信息,冲突指示信息为第一冲突指示信息,管理节点确定目标作业的第二IO模型的方式可以如下:
本实施例中,在第二IO模型用于指示冲突指示信息时,历史执行目标作业的IO信息包括进行文件访问的进程的进程标识、访问的文件(访问的文件可以使用访问的文件的文件名表示)、文件的访问范围(文件的访问范围包括文件的访问位置、文件的访问长度)、文件的访问时间。进程标识指目标作业中进行文件访问的进程的标识。
管理节点可以在历史执行目标作业的IO信息中获取进程标识、访问的文件、文件的访问范围和文件的访问时间。然后管理节点可以确定执行目标作业时第一个IO访问的开始时间和最后一个IO访问的结束时间,然后在该IO信息中获取任意文件的访问时间属于开始时间和结束时间的每两个IO访问,判断该两个IO访问的进程标识是否相同。若该两个IO访问的进程标识不相同,则管理节点可以使用该两个IO访问的文件的访问位置和访问长度,确定该两个IO访问所访问的数据。管理节点可以判断这两个IO访问所访问的数据是否存在交集,若该两个IO访问所访问的数据不存在交集,则确定存储系统的访问不存在冲突(可以认为存储系统不存在冲突访问),管理节点可以确定第一冲突指示信息携带第一等级。若该两个IO访问所访问的数据存在交集,则确定存储系统的访问存在冲突(可以认为存储系统存在冲突访问),管理节点可以确定第一冲突指示信息携带第二等级。管理节点将存储系统的第一冲突指示信息,确定为目标作业的第二IO模型。
例如,如图4所示,t1为执行目标作业时第一个IO访问的开始时间,t2为执行目标作业时最后一个IO访问的结束时间,两个IO访问中文件的访问时间均属于t1至t2。这两个IO访问对应的进程标识为A1和A2,A1与A2不相同,在图4中的4a中,由于在t1至t2中A1访问的数据与A2访问的数据有交集(见椭圆形区域),说明存储系统的访问存在冲突,在图4中的4b中,由于在t1至t2中A1访问的数据与A2访问的数据没有交集,说明存储系统的访问不存在冲突。
另外,上述确定存储系统的访问是否存在冲突仅为一种可选的方式,当然管理节点也可以确定文件的访问时间存在交叠的IO访问。管理节点获取文件的访问时间存在交叠的每两个IO访问的进程标识,判断该两个IO访问的进程标识是否相同。在判断出该两个IO访问的进程标识是否相同之后的步骤与上述确定存储系统的访问是否存在冲突的方式相同,此处不再赘述。
此处需要说明的是,对于HPC系统,大部分HPC场景中存储系统的访问不存在冲突,这是由于目标作业的每个进程访问文件中的不同位置,所以一般不存在某个进程访问其他进程的进程空间的情况。但是为了防止极少数的情况下出现访问的冲突,所以本申请实施例提前进行识别,在存储系统的访问不存在冲突时,采用不加锁机制访问存储系统,降低存取延时,提升存储系统的性能,而在存储系统的访问存在冲突时,采用加锁机制访问存储系统,保证存储系统的数据的准确性,所以可以在整体上提升存储系统的性能。
另外,冲突指示信息还可以包括第二冲突指示信息,第二冲突指示信息可以表征存储系统下目录的访问是否存在冲突。
具体处理是:管理节点可以在历史执行目标作业的IO信息中获取进程标识、访问的文件、文件的访问范围和文件的访问时间。对于存储系统的某个目录,管理节点在历史执行目标作业的IO信息中,基于访问的文件,确定访问该目录的IO信息中,确定执行目标作业时,访问该目录的第一个IO访问的开始时间和最后一个IO访问的结束时间,然后在访问该目录的IO信息中获取任意文件的访问时间属于该开始时间和该结束时间的每两个IO访问,判断该两个IO访问的进程标识是否相同。若该两个IO访问的进程标识不相同,则管理节点可以使用该两个IO访问的文件的访问位置和访问长度,确定该两个IO访问所访问的数据。管理节点可以判断该两个IO访问所访问的数据是否存在交集,若该两个IO访问所访问的数据不存在交集,则确定该目录的访问不存在冲突,管理节点可以确定第二冲突指示信息携带第一等级。若该两个IO访问所访问的数据存在交集,则确定该目录的访问存在冲突,管理节点可以确定第二冲突指示信息携带第二等级。这样,对于每个目录,均可以按照上述方式,确定目录的访问是否存在冲突。管理节点将存储系统的每个目录的第二冲突指示信息,确定为目标作业的第二IO模型。
另外,上述确定目录的访问是否存在冲突仅为一种可选的方式,当然管理节点也可以确定文件的访问时间存在交叠的IO访问。管理节点获取每个目录的文件的访问时间存在交叠的每两个IO访问的进程标识,判断该两个IO访问的进程标识是否相同。在判断出该两个IO访问的进程标识是否相同之后的步骤与上述确定目录的访问是否存在冲突的方式相同,此处不再赘述。
需要说明的是,在存储系统的访问存在冲突时,才会确定第二冲突指示信息。这是由于存储系统的访问存在冲突,但是有可能不是存储系统下的全部目录的访问存在冲突。所以可以判断出不存在访问冲突的目录,进而不采用加锁机制进行访问,而且判断出存在访问冲突的目录,进而采用加锁的机制进行访问,保证存储系统的数据的准确性。
3、第三IO模型用于指示负载指示信息,管理节点确定目标作业的第三IO模型的方式可以如下:
本实施例中,管理节点可以在历史执行目标作业的IO信息中,获取每条IO访问的IO信息中记录的接收IO访问的存储节点的标识。然后管理节点确定该接收IO访问的存储节点中每个存储节点接收到IO访问的数目(此处IO访问的数目指执行目标作业时,需要提交至每个存储节点的IO访问的数目),对于任一存储节点的标识,管理节点将该存储节点的标识对应的数目,确定为该存储节点的负载数目。这样,管理节点可以得到历史执行目标作业时接收到IO访问的各存储节点的负载数目,该各存储节点为历史执行目标作业时,存储系统中接收到目标作业的IO访问的存储节点。
然后管理节点可以计算各存储节点的负载数目的平均值,确定各存储节点的负载数目偏离该平均值的数值的平方。管理节点将所有数值的平方相加,得到一个数值,将该数值开平方后得到各存储节点的负载数目的均方差。管理节点确定各存储节点的负载数目偏移上述平均值的数值,确定该偏移上述平均值的数值与均方差的差值。对于某个存储节点,管理节点判断该差值与均方差的大小。若该差值大于目标数值个均方差(如目标数值可以为1等),则管理节点可以确定存储系统的该存储节点的负载不均衡,进而可以确定负载指示信息指示负载不均衡,负载指示信息可以是第一标识,在负载指示信息指示负载不均衡时,负载指示信息还可以指示历史执行目标作业时目标作业对应的各存储节点的负载数目。若存储系统的各存储节点对应的差值小于或等于目标数值个均方差,则管理节点可以确定存储系统各存储节点的负载均衡,可以确定负载指示信息指示负载均衡,负载指示信息可以是第二标识。管理节点可以将负载指示信息确定为目标作业的第三IO模型。需要说明的是,上述均方差的方式仅是一种可能的方式,用于确定存储系统各存储节点负载是否均衡。
可选的,在历史执行目标作业的IO信息中还可以包括接收IO访问(IO访问指目标作业的IO访问)的存储节点中上报超载指示(如流控反压计数(Traffic Manager Count)等)的存储节点的标识。接收到目标作业的IO访问的某个存储节点在检测到接收到的IO访问超出最大运行负荷时,可以向提交IO访问至该存储节点的计算节点反馈超载指示,用于指示该计算节点调整提交IO访问至存储系统的间隔时长,使提交IO访问至存储系统的间隔时长变长,或者使提交IO访问至存储系统的其他存储节点。此处超出最大运行负荷包括但不限于CPU占用率超过第一阈值、内存占用率超过第二阈值,第一阈值和第二阈值可以预设,如第一阈值为90%,第二阈值为88%。
管理节点在基于均方差,确定出存储系统中接收到目标作业的IO访问的一个或多个存储节点的负载不均衡时,若历史执行目标作业的IO信息中没有记录有接收到存储节点发送的超载指示,则说明执行目标作业时计算节点提交IO访问至的各存储节点的负载还未超出存储节点的最大负荷,负载指示信息可以指示负载均衡(这是由于在还未超出存储节点的最大负荷时,即使管理节点基于均方差,确定出存储系统的一个或多个存储节点存在负载不均衡,由于不会影响数据读取,所以也可以不进行调整)。管理节点在基于均方差,确定出存储系统中接收到目标作业的IO访问的一个或多个存储节点的负载不均衡时,若接收到该一个或多个存储节点发送的超载指示,则说明该一个或多个存储节点的负载超出存储节点的最大负荷,负载指示信息可以指示负载不均衡。
这样,管理节点可以确定出目标作业的一个或多个IO模型,然后将该一个或多个IO模型与目标作业的标识对应进行存储。后续管理节点确定执行目标作业时,可以首先判断是否存在目标作业的标识对应的一个或多个IO模型。若存在目标作业的标识对应的一个或多个IO模型,则管理节点可以首先将目标作业的一个或多个IO模型发送至计算节点,使计算节点基于目标作业的IO模型,确定存储系统的配置参数。计算节点在执行目标作业的部分作业时,可以基于存储系统的配置参数,访问存储系统(具体过程在后面进行描述)。
需要说明的是,上述第一IO模型中的“第一”、第二IO模型中的“第二”、第三IO模型中的“第三”仅是为了区分不同的IO模型,不作为限定。
还需要说明的是,上述管理节点确定目标作业的IO模型的过程,可以是在第一次执行完目标作业时确定,也可以是在再次执行目标作业时确定。
如图5所示,目标作业的全部作业对应一个或多个IO模型时,在执行目标作业时,管理节点侧的处理流程如下:
步骤501,管理节点判断是否存在目标作业的IO模型。
其中,目标作业为任一作业。例如,气象检测作业、基因检测作业等。
本实施例中,管理节点在到执行目标作业的周期(该周期可以预设,如一天等),或者管理节点在接收到目标作业的执行指令时,可以获取存储的作业的标识与IO模型的对应关系。然后管理节点可以在该对应关系中,确定是否存在目标作业的标识对应的IO模型。
需要说明的是,HPC系统还可以包括调度器,调度器与管理节点可以进行通信。调度器用于下发作业的执行指令。此处可以是调度器向管理节点发送目标作业的执行指令。
还需要说明的是,此处对应目标作业存在IO模型,可以说明目标作业不是第一次被执行的情况。此处对应目标作业不存在IO模型,可以说明目标作业是第一次被执行的情况,或者不是第一次执行,但是存储的IO模型丢失的情况。
步骤502,管理节点在存在目标作业的IO模型时,管理节点向HPC系统中多个计算节点中执行目标作业的每个计算节点发送目标作业的标识对应的IO模型。
本实施例中,管理节点在作业的标识与IO模型的对应关系中,确定出目标作业的标识对应的IO模型(即为目标作业的IO模型)时,说明本次执行的目标作业不是第一次被执行。
管理节点可以确定本次执行目标作业的各部分作业的计算节点,具体处理可以是:管理节点获取目标作业被拆分得到的各部分作业(如将目标作业平均分为多份等),以及每份部分作业的进程的数目。管理节点可以将部分作业的份数,确定为本次执行目标作业所使用的计算节点的数目(可以称为是第一数目)。然后管理节点在HPC系统的多个计算节点中,确定各计算节点中核余量和内存余量。管理节点在所有计算节点中,确定各计算节点核余量和内存余量的加权值(如加权值为a*x+b*y,a和b分别为核余量、内存余量的权重,a与b之和等于1,x为核余量,y为内存余量)。管理节点可以在HPC系统的多个计算节点中,选取能运行进程的数目最多的部分作业的计算节点(如计算节点的核余量能运行的进程的数目要大于目标数目,目标数目为部分作业包括的最多的进程的数目)。然后管理节点可以在选取出的计算节点中,进一步选取加权值最大的第一数目个计算节点。然后管理节点按照加权值的数目越大,所能运行的进程越多的原则,在第一数目个计算节点中,确定运行每份部分作业的计算节点(每份部分作业由目标作业划分得到)。例如,目标作业划分得到的部分作业为5份,每份部分作业的进程的数目依次为8、6、9、7、3,5个计算节点的加权值为20、30、15、17、16。9个进程的部分作业可以对应加权值为30的计算节点;8个进程的部分作业可以对应加权值为20的计算节点;7个进程的部分作业可以对应加权值为17的计算节点;6个进程的部分作业可以对应加权值为16的计算节点;3个进程的部分作业可以对应加权值为15的计算节点。
这样,在管理节点中存在目标作业的标识对应的IO模型时,管理节点可以向本次执行目标作业的每个计算节点发送目标作业的标识对应的IO模型。以使每个计算节点在接收到IO模型后,基于IO模型,确定出每部分作业对应的配置参数。
需要说明的是,上述“核”指的是CPU核,每个CPU核可以运行一个或多个进程。
还需要说明的是,上述使用加权值选取计算节点,仅是一种可选的方式,也可以使用其他方式选取计算节点。
步骤503,管理节点向执行目标作业的每个计算节点发送每个计算节点执行的目标作业的部分作业。
本实施例中,在管理节点向本次执行目标作业的每个计算节点发送IO模型后,管理节点可以继续向本次执行目标作业的每个计算节点,发送本次执行目标作业的每个计算节点上所要执行的目标作业的部分作业。具体可以是管理节点发送部分作业的二进制执行文件,二进制执行文件指计算节点可以进行加载执行的文件。
这样,后续每个计算节点可以基于存储系统的配置参数,执行自身接收到的部分作业的二进制执行文件。
需要说明的是,在图5所示的流程中,在管理节点中存在目标作业的标识对应的IO模型时,目标作业的标识对应的IO模型可以是上述提到的一个或多个IO模型。
还需要说明的是,上述步骤503可以在步骤501和步骤502之前,也可以在步骤501之后,且在步骤502之前,还可以在步骤501和步骤502之后,本申请实施例不做限定。
本申请实施例中,相对应图5的流程,还提供了执行本次目标作业的计算节点的处理过程,对于任一计算节点执行部分作业的处理流程,如图6所示:
步骤601,计算节点接收管理节点发送的IO模型和目标部分作业。
其中,目标部分作业为目标作业的任一部分作业,且是图6所示的实施例中的计算节点本次所要执行的部分作业。
本实施例中,计算节点接收管理节点发送的目标作业的IO模型,该IO模型是管理节点根据历史执行目标作业的IO信息确定的,具体可以是管理节点根据第一次执行目标作业的IO信息确定的。
另外,计算节点可以接收管理节点发送的该计算节点执行的目标部分作业,具体是接收该目标部分作业的二进制执行文件。
步骤602,计算节点根据目标作业的IO模型,确定目标部分作业对应的配置参数;计算节点基于配置参数的配置,执行部分作业。
本实施例中,目标作业的IO模型可以是第一IO模型、第二IO模型或第三IO模型中的一个或多个。计算节点可以根据目标作业的IO模型,确定出目标部分作业对应的配置参数,配置参数用于后续计算节点执行目标部分作业时使用。具体的,在配置参数中,对应第一IO模型,配置参数为缓存配置参数;对应第二IO模型,配置参数为一致性配置参数;对应第三IO模型,配置参数为负载配置参数。具体的,以下分别说明基于不同的IO模型,执行目标部分作业的过程:
1、在目标作业的IO模型包括第一IO模型时,计算节点确定目标部分作业对应的缓存配置参数、以及使用缓存配置参数的配置,执行目标部分作业的处理为:
对于读取序列中每个访问范围的数据,计算节点根据目标时长和每个访问范围对应的访问时间,确定每个访问范围的数据被读取至缓存的读取时间。将每个读取时间、每个读取时间所属的访问范围和每个访问范围所属的读操作的文件相对应,获得目标部分作业对应的缓存配置参数。
其中,目标时长是预取时长,可以预设。目标时长用于指示读取数据所需的时长。由于每个访问范围的长度不相同,那么读取每个访问范围的数据所需的时长也不相同,所以目标时长可以设置为执行目标作业时读取长度最大的访问范围的数据所需的读取时长。当然此处目标时长仅为一种举例,也可以使用其他方式确定。
本实施例中,计算节点在读取序列中获取任一文件的访问范围,然后计算节点在读取序列中获取该文件的访问范围对应的访问时间。计算节点将该访问时间与目标时长做差值,得到读取该访问范围的数据至缓存的读取时间。这样,对于读取序列中每个文件的访问范围,计算节点均能确定一个读取时间,所以对于每个文件的访问范围,均可以确定出读取该访问范围的数据至缓存的读取时间。
对于确定出的任一读取时间,计算节点可以将该读取时间与读取时间所属的访问范围以及读操作的文件相对应,得到目标部分作业对应的缓存配置参数。可见缓存配置参数可以包括读取时间、文件的访问范围和读操作的文件三者的对应关系。此处需要说明的是,由于每次执行目标作业提交的IO访问相同,所以上述缓存配置参数包括了执行本次目标作业所有需要读取的数据所在的文件、文件的访问范围和读取该数据的时间。
计算节点在获取到缓存配置参数后,后续的处理可以为:
计算节点在达到每个访问范围的数据读取至缓存的读取时间时,在存储系统中每个访问范围所属的读操作的文件中,读取每个访问范围的数据至缓存。计算节点基于缓存中的数据,执行目标部分作业。
其中,“缓存”为计算节点的缓存。
本实施例中,对于缓存配置参数可以包括读取时间、文件的访问范围和读操作的文件三者的对应关系中每个文件的访问范围,计算节点可以在该访问范围对应的读取时间,从该访问范围对应的读操作的文件中,读取该访问范围的数据至缓存中。在缓存中,计算节点将读操作的文件、文件的访问范围和数据(该数据指读取出的数据)对应存储。
计算节点执行自身所要执行的目标部分作业的二进制执行文件的过程中,在读取数据时,可以使用所要读取的数据所属的文件和访问范围,在计算节点的缓存中查看是否有数据命中,此处命中指缓存中存在该读取的数据所属的文件和访问范围对应的数据,反之没有命中指缓存中不存在该读取的数据所属的文件和访问范围对应的数据。若计算节点的缓存中有数据命中,则计算节点可以直接使用该数据。若计算节点的缓存中没有数据命中,则计算节点提交读请求至存储节点,从存储节点获取到数据。
这样,在数据在被使用之前,已经被读取至计算节点的缓存中,而不需要提交读请求至存储系统的存储节点,所以可以加快执行速度。而且由于有读取时间、读取的数据所属的读操作的文件和访问范围指导读取数据,所以可以使离散的数据排布,也能提前读取至计算节点的缓存中,进而在计算节点的缓存中也能做到大概率的读取命中。
2、在目标作业的IO模型包括第二IO模型时,冲突指示信息可以分为两种,一种为第一冲突指示信息,用于表征存储系统的冲突指示信息,另一种为第二冲突指示信息,用于表征存储系统的目录的冲突指示信息。在冲突指示信息为第一冲突指示信息时,计算节点在确定目标部分作业对应的一致性配置参数、以及基于一致性配置参数的配置,执行目标部分作业的处理为:
计算节点确定存储系统的一致性配置参数的设置时间,将设置时间与冲突指示信息所指示的第一一致性等级相对应,获得目标部分作业对应的一致性配置参数。
其中,设置时间用于指示配置存储系统的一致性配置参数的时间。一致性配置参数可以是在开始执行目标作业时开始设置,那么设置时间为执行目标作业的开始时刻,即0时刻。
本实施例中,计算节点可以获取存储的存储系统的一致性配置参数的设置时间,然后计算节点可以判断第一冲突指示信息所指示的第一一致性等级。例如,第一冲突指示信息携带第一等级(第一一致性等级为第一等级),第一等级用于指示存储系统的访问不存在冲突,或者,第一冲突指示信息携带第二等级(第一一致性等级为第二等级),第二等级用于指示存储系统的访问存在冲突。然后计算节点可以将设置时间与第一一致性等级相对应,获得目标部分作业对应的一致性配置参数。可见一致性配置参数包括设置时间与第一一致性等级的对应关系。
在冲突指示信息为存储系统中各目录对应的第二冲突指示信息时,在确定目标作业对应的一致性配置参数的处理为:
计算节点确定存储系统的一致性配置参数的设置时间。将设置时间与各目录的第二冲突指示信息分别所指示的第二一致性等级相对应,获得目标作业对应的存储系统中各目录对应的一致性配置参数。
其中,设置时间用于指示配置存储系统中各目录的一致性配置参数的时间。各目录的一致性配置参数可以是在开始执行目标作业时开始设置,那么设置时间为执行目标作业的开始时刻,即0时刻。
本实施例中,计算节点可以获取存储的存储系统中各目录的一致性配置参数的设置时间,然后计算节点可以确定各目录的第二冲突指示信息分别所指示的第二一致性等级。例如,对于任一目录,第二冲突指示信息携带第一等级(第一等级用于指示该目录的访问不存在冲突),则计算节点在访问存储系统的该目录时,不需要采用加锁的机制,第二冲突指示信息携带第二等级(第一等级用于指示该目录的访问存在冲突),则计算节点在访问存储系统的该目录时需要采用加锁的机制。然后计算节点可以将设置时间与各目录对应的第二一致性等级相对应,得到各目录对应的一致性配置参数。可见各目录对应的一致性配置参数包括设置时间、目录与第二一致性等级的对应关系。
需要说明的是,上述存储系统的一致性配置参数和存储系统的各目录的一致性配置参数可以仅存在一个,也可以是同时存在存储系统的一致性配置参数和存储系统的各目录的一致性配置参数。在同时存在时,可以是存储系统的一致性等级为第二等级时,再继续区分各目录的一致性等级。这样,将不存在访问冲突的目录设置为不需要采用加锁的机制进行访问,可以提升存储系统的访问效率,而将存在访问冲突的目录设置为需要采用加锁的机制进行访问,可以保证存储数据的准确性。
计算节点确定出一致性配置参数,后续的处理可以为:
计算节点在设置时间,将存储系统的一致性等级设置为第一一致性等级。在存储系统的访问存在冲突的情况下,在执行目标部分作业时,基于加锁机制,访问存储系统,在存储系统的访问不存在冲突的情况下,在执行目标部分作业时,基于非加锁机制,访问存储系统。
本实施例中,计算节点可以在设置时间和第一一致性等级的对应关系中,确定一致性指示信息所指示的第一一致性等级,第一一致性等级为第一等级或者第二等级。然后计算节点可以在设置时间将存储系统的一致性等级设置为第一一致性等级。计算节点在执行自身执行的目标部分作业时,若第一一致性等级为第一等级,后续计算节点在访问存储系统时,可以直接读取数据,而不需要采用加锁机制;若第一一致性等级为第二等级,计算节点在访问存储系统时,每次读取数据时均采用加锁机制。
这样,本申请实施例中,计算节点可以识别出存储系统的第一一致性等级为第一等级,还是第二等级,进而决定是否采用加锁机制。
另外,若一致性配置参数还包括设置时间和各目录的第二一致性等级的对应关系,则计算节点可以在该对应关系中,获取到各目录的第二一致性等级,第二一致性等级为第一等级或者第二等级,这样即得到各目录的第二一致性等级。然后计算节点可以在设置时间将各目录的一致性等级设置为第二一致性等级。对于某个目录,若该目录对应的第二一致性等级为第一等级,后续计算节点执行目标部分作业时,访问该目录的过程中,可以直接读取数据,而不需要采用加锁机制;若第二一致性等级为第二等级,后续计算节点在访问该目录的过程中,每次读取数据均采用加锁机制。
这样,本申请实施例中,计算节点可以识别出各目录的第二致性等级为第一等级,还是第二等级,进而决定是否采用加锁机制。
需要说明的是,加锁机制指:访问冲突下,第一个访问的客户端获取锁,访问完成后释放锁,第二个访问的客户端获取锁后进行访问。
还需要说明的是,在计算节点识别出存储系统的第一一致性等级为第一等级时,不需要再去判断目录的一致性等级。而在计算节点识别出存储系统的第一致性等级为第二等级时,也可以去判断目录的第二一致性等级,为目录设置第二一致性等级。这样,仅可以对存在访问冲突的目录,采用加锁机制,而对于不存在访问冲突的目录,可以不采用加锁机制,加快访问速度。
3、在目标作业的IO模型包括第三IO模型时,计算节点确定目标部分作业对应的负载配置参数、以及基于负载配置参数的配置,执行目标部分作业的处理为:
计算节点确定存储系统的负载均衡配置参数的设置时间,将负载指示信息和设置时间相对应,获得目标部分作业对应的负载配置参数。
其中,设置时间用于指示配置存储系统负载配置参数的时间,可以预先存储在计算节点中。负载配置参数可以是在开始执行目标作业时开始设置,那么设置时间为执行目标作业的开始时刻,即0时刻。
本实施例中,计算节点可以获取存储系统的负载配置参数的设置时间,将该设置时间与负载指示信息相对应,得到目标部分作业对应的负载配置参数。可见,负载配置参数可以包括设置时间与负载指示信息的对应关系。
计算节点确定出负载配置参数后,后续的处理可以为:
若负载指示信息指示负载不均衡,在设置时间,计算节点根据历史执行目标作业时,目标作业对应的各存储节点的负载数目,确定执行目标作业的第一访问策略。计算节点根据第一访问策略,访问存储系统。若负载指示信息指示负载均衡,在设置时间,计算节点将历史执行目标作业时,目标作业对应的存储系统的访问策略,确定为执行目标作业的第一访问策略。在执行目标部分作业时,基于第一访问策略提交目标部分作业的IO访问至存储系统的存储节点。
本实施例中,负载配置参数为负载指示信息与设置时间的对应关系。计算节点可以在该对应关系中,确定负载指示信息所指示的内容。
若负载指示信息指示负载不均衡,则计算节点根据历史执行目标作业时,目标作业对应的各存储节点的负载数目,调整访问策略(如可以是将执行目标作业时所有IO访问的数目除以存储节点的数目,得到每个存储节点上应分摊的IO访问的平均数目,然后将大于平均数目的存储节点上的IO访问迁移至小于平均数目的存储节点,使每个存储节点的IO访问数目相同),使后续提交IO访问至存储节点时,存储节点负载均衡,得到第一访问策略。例如,如图7所示,当前提交IO访问的策略是按照文件名首字母选定存储节点,A~G首字母的IO访问(数目为700)发往存储节点1,H~N首字母的IO访问(数目为100)发往存储节点2,O~Z首字母的IO访问(数目为100)发往存储节点3。由于原来提交给存储节点1的IO访问比较多,所以可以将原有分配给存储节点1的IO访问进行拆分,即A~C的IO访问(数目为300)仍然发给存储节点1,D~E(数目为200)的IO访问从存储节点1转移到存储节点2,F~G(数目为200)的IO访问从存储节点1转移到存储节点3,完成后各个存储节点负载达到均衡。计算节点在执行部分作业时,可以按照第一访问策略向存储系统的存储节点提交目标部分作业的IO访问。
若负载指示信息指示负载均衡,则计算节点可以直接将历史执行目标作业时存储系统的访问策略,确定为本次执行目标作业的第一访问策略。后续计算节点在执行自身接收到的目标部分作业时,计算节点可以按照第一访问策略向存储系统的存储节点提交目标部分作业的IO访问。
需要说明的是,历史执行目标作业时存储系统的访问策略可以是携带在负载指示信息中。
另外,在执行图6所示的流程的计算节点在目标作业第一次被执行时,也已经执行过本次执行的目标作业,则该计算节点在第一次执行目标作业的目标部分作业时,还可以向管理节点上报执行该目标部分作业的IO信息,具体处理为:
在目标部分作业第一次被执行时,计算节点获取执行目标部分作业的IO信息。计算节点向管理节点发送IO信息。
本实施例中,在目标部分作业第一次被执行时,计算节点中的存储客户端每向存储节点提交一次IO访问(IO访问也可以简称为访问),计算节点中的存储客户端记录接收IO访问的存储节点的标识,并且记录提交这次IO访问的进程的进程标识,并且记录访问的文件(此处可以是访问的文件的文件名)、该文件的访问时间、文件的访问范围和访问的操作码等。计算节点可以提交一次IO访问,记录一条IO信息,在等待执行完目标部分作业时,若多次提交IO访问,则会记录到多条IO信息。然后计算节点可以向管理节点发送本次记录的多条IO信息。管理节点接收到计算节点发送的多条IO信息之后,可以基于该多条IO信息,确定目标作业的IO模型(确定过程在上文中已进行描述,此处不再赘述)。
需要说明的是,计算节点接收管理节点发送的目标部分作业可以是在计算节点确定配置参数之前就接收到,也可以是在确定配置参数之后接收到,本申请实施例不作限定。
本申请实施例中,由于每个计算节点在执行目标作业的部分作业时,访问存储系统的配置参数是基于目标作业的IO模型确定的,所以在访问存储系统时,可以使存储系统能够针对目标作业提供最优的服务,提升执行作业的效率。而且仅基于一次执行目标作业的IO信息,就能确定出IO模型,而且获取IO模型的过程不需要人为参与。
需要说明的是,本申请实施例中每次执行目标作业时,访问存储系统中文件的范围和访问时间相同,所以管理节点可以基于历史执行目标作业的IO信息,确定出目标作业的IO模型,进而确定出目标部分作业的配置参数,该配置参数的配置可以用于后续指导再次执行目标部分作业。
另外,目标作业的任一部分作业对应一个或多个IO模型,该部分作业对应一个IO模型时,该一个IO模型可以是第一IO模型、第二IO模型和第三IO模型中的任意一个,该部分作业对应多个IO模型时,该多个IO模型可以是第一IO模型、第二IO模型和第三IO模型中任意多个。
此处需要说明的是,部分作业对应的第二IO模型与目标作业对应的第二IO模型相同。部分作业对应的第一IO模型与目标作业对应的第一IO模型的区别仅在于:部分作业对应的第一IO模型仅包括执行该部分作业时需要从存储系统获取的数据,而目标作业对应的第一IO模型包括执行目标作业时需要从存储系统获取的数据。部分作业对应的第三IO模型与目标作业对应的第三IO模型可以相同,也可以不相同,具体的,在部分作业对应的第三IO模型与目标作业对应的第三IO模型不相同时,具体使用的确定方法相同,只不过输入和输出的内容不相同,区别仅在于:确定部分作业对应的第三IO模型时的输入为历史执行部分作业的IO信息,输出为部分作业对应的第三IO模型,而确定目标作业对应的第三IO模型时的输入为历史执行目标作业的IO信息,输出为目标作业对应的第三IO模型。
还需要说明的是,本申请实施例中每次执行目标作业的任一部分作业时,访问存储系统中数据的访问范围和访问时间相同,所以管理节点可以基于历史执行该部分作业的IO信息,确定出该部分作业的IO模型,进而确定出该部分作业对应的配置参数,该配置参数的配置可以用于后续指导再次执行该部分作业。
还需要说明的是,部分作业对应的一个或多个IO模型时,每次执行目标作业时,目标作业被拆分得到的各部分作业的二进制执行文件相同。具体可以是按照第一次执行目标作业时的拆分方式进行拆分,这样可以使各部分作业对应的IO模型还可以使用。
另外,如图8所示,本申请实施例中,还提供了执行流程框图(以图5和图6的流程为例):
假设HPC系统中的管理节点为一个,管理节点810可以包括模型分析模块811、模型仓库812和作业分发模块813。HPC系统中多个计算节点中每个计算节点820包括一个存储客户端821和执行作业模块822,存储客户端821中包括跟踪模块8211、动态调优模块8212和操作系统接口8213。HPC系统的存储系统中包括多个存储节点830。
在第一次执行目标作业时,管理节点中的作业分发模块向多个计算节点中的执行作业模块分发作业。第一次执行目标作业的计算节点中的执行作业模块执行作业,并通过存储客户端中的操作系统接口与存储系统进行交互,以访问存储节点。第一次执行目标作业的计算节点中的存储客户端中的跟踪模块获取执行目标作业的部分作业时的IO信息,在执行完部分作业后。计算节点中的跟踪模块向管理节点中的模型分析模块发送IO信息。管理节点中的模型分析模块接收到计算节点发送的IO信息后,可以基于IO信息,确定目标作业的IO模型。然后管理节点中的模型分析模块将目标作业的IO模型发送至模型仓库中进行存储。
后续再次执行目标作业时,管理节点确定模型仓库中是否存储有目标作业的IO模型,若存在,则可以首先下发IO模型至计算节点中的存储客户端中的动态调优模块。计算节点中的动态调优模块接收到IO模型后,可以基于IO模型,确定出存储系统的配置参数。管理节点中的作业分发模块向计算节点的执行作业模块分发作业。计算节点中的执行作业模块基于配置参数的配置,执行接收到的部分作业(即在执行部分作业过程中,存储客户端基于配置参数的配置,执行部分作业)。
图9是本申请实施例提供的执行作业的计算节点的结构图。该计算节点可以通过软件、硬件或者两者的结合实现成为计算节点中的部分或者全部。本申请实施例提供的计算节点可以实现本申请实施例图6所述的流程,该计算节点包括:接收模块910、确定模块920和执行模块930,其中:
接收模块910,用于接收所述管理节点发送的输入输出IO模型和目标部分作业,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的,或者所述IO模型是基于历史执行与所述目标部分作业的标识相同的部分作业的IO信息确定的,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业;
确定模块920,用于基于所述IO模型,确定所述目标部分作业对应的配置参数;
执行模块930,用于基于所述配置参数的配置,执行所述目标部分作业。
在一种可能的实现方式中,所述IO模型为第一IO模型时,所述配置参数为缓存配置参数,所述第一IO模型包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述确定模块920,用于:
基于所述文件的访问时间,确定从所述存储系统读取所述文件的访问范围的数据的读取时间;
将所述读取时间和所述文件的访问范围,确定为所述目标部分作业对应的缓存配置参数;
所述执行模块930,还用于:
基于所述缓存配置参数中所述读取时间和所述访问范围,从所述存储系统读取所述数据至所述计算节点的缓存中,其中,基于所述读取时间,将所述数据读取至所述缓存中的结束时间不晚于所述数据的访问时间;
所述执行模块930,用于:
基于所述缓存中的所述数据,执行所述目标部分作业。
在一种可能的实现方式中,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统的第一冲突指示信息;
所述确定模块920,用于:
获取所述一致性配置参数的设置时间;
基于所述设置时间与所述第一冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述执行模块930,还用于:
执行所述目标部分作业之前,在所述一致性配置参数的设置时间,基于所述第一冲突指示信息设置所述存储系统的第一一致性等级,所述第一一致性等级用于指示所述存储系统的访问是否存在冲突;
所述执行模块930,用于:
在所述存储系统的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述存储系统;
在所述存储系统的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述存储系统。
在一种可能的实现方式中,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统中各目录的第二冲突指示信息;
所述确定模块920,用于:
获取所述一致性配置参数的设置时间;
基于所述设置时间与所述各目录对应的第二冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述执行模块930,还用于:
执行所述目标部分作业之前,在所述一致性配置参数中的设置时间,基于所述各目录的第二冲突指示信息设置所述各目录的第二一致性等级,对于任一目录,所述第二一致性等级用于指示所述目录的访问是否存在冲突;
所述执行模块930,用于:
对于所述存储系统的每个目录,在所述目录的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述目录;在所述目录的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述目录。
在一种可能的实现方式中,所述IO模型为第三IO模型时,所述配置参数为负载配置参数,所述第三IO模型包括所述存储系统的负载指示信息;
所述确定模块920,用于:
获取所述负载配置参数的设置时间;
基于所述设置时间和所述负载指示信息,确定所述目标部分作业对应的所述负载配置参数;
所述执行模块930,还用于:
执行所述目标部分作业之前,基于所述负载配置参数中的所述负载指示信息,确定执行本次所述目标部分作业时访问所述存储系统的第一访问策略,所述第一访问策略为执行所述目标部分作业时按照负载均衡提交IO访问至存储系统的策略;
在所述负载配置参数中的设置时间,将所述第一访问策略设置为执行本次所述目标部分作业的访问策略;
所述执行模块930,用于:
在执行所述目标部分作业时,基于所述第一访问策略提交所述目标部分作业的IO访问至所述存储系统的存储节点。
在一种可能的实现方式中,执行所述方法的计算节点与历史执行与所述目标作业的标识相同的作业的计算节点为同一节点;
所述确定模块920,还用于:
接收所述管理节点发送的IO模型之前,在所述目标部分作业第一次被执行时,获取执行所述目标部分作业的IO信息;
如图10所示,所述计算节点,还包括:
发送模块940,用于向所述管理节点发送所述IO信息,其中,所述IO信息包括进程标识、访问的文件的访问范围、访问的文件的访问时间、访问的操作码和接收IO访问的存储节点的标识。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成为一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例中,由于每个计算节点在执行目标作业的部分作业时,访问存储系统的配置参数是基于目标作业的IO模型确定的,所以在访问存储系统时,可以使存储系统能够针对目标作业提供最优的服务,提升执行作业的效率。
图11是本申请实施例提供的执行作业的管理节点的结构图。该管理节点可以通过软件、硬件或者两者的结合实现成为管理节点中的部分或者全部。本申请实施例提供的管理节点可以实现本申请实施例图5所述的流程,该管理节点包括:判断模块1110和发送模块1120,其中:
判断模块1110,用于判断是否存在目标作业的输入输出IO模型,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的;
发送模块1120,用于在存在所述目标作业的IO模型时,对于所述多个计算节点中执行所述目标作业的每个计算节点,向所述计算节点发送所述IO模型和所述计算节点执行的目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,其中,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业。
在一种可能的实现方式中,如图12所示,所述管理节点还包括:
确定模块1130,用于:基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型。
在一种可能的实现方式中,所述IO信息包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述确定模块1130,用于:
将所述IO信息中的读操作的文件的访问范围和访问时间相对应,获得执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间的对应关系;
将所述对应关系,确定为所述目标作业的第一IO模型。
在一种可能的实现方式中,所述IO信息包括历史执行所述目标作业时所述目标作业的进程的进程标识、访问所述存储系统的文件的访问范围和访问时间;
所述确定模块1130,用于:
基于所述IO信息中所述文件的访问范围、所述文件的访问时间和所述进程标识,确定所述存储系统的第一冲突指示信息;所述第一冲突指示信息用于指示所述存储系统的访问是否存在冲突;
将所述存储系统的第一冲突指示信息,确定为所述目标作业的第二IO模型。
在一种可能的实现方式中,所述IO信息包括历史执行所述目标作业时所述存储系统中接收IO访问的存储节点的标识;
所述确定模块1130,用于:
基于所述接收IO访问的存储节点的标识,确定接收IO访问的各存储节点的负载数目;
基于所述各存储节点的负载数目,确定所述存储系统的负载指示信息,其中,所述负载指示信息用于指示所述各存储节点的负载是否均衡;
将所述负载指示信息,确定为所述目标作业的第三IO模型。
在一种可能的实现方式中,所述IO信息还包括所述接收IO访问的存储节点中上报超载指示的存储节点的标识;
所述确定模块1130,用于:
基于所述各存储节点的负载数目和所述上报超载指示的存储节点的标识,确定所述存储系统的负载指示信息。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成为一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例中,由于每个计算节点在执行目标作业的部分作业时,访问存储系统的配置参数是基于每个计算节点上执行的部分作业对应的IO模型确定的,所以在访问存储系统时,可以使存储系统能够针对部分作业提供最优的服务,提升执行作业的效率。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被计算节点执行时,使得计算节点执行上述所提供的执行作业的方法。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被管理节点执行时,使得管理节点执行上述所提供的执行作业的方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算节点上运行时,使得计算节点执行上述所提供的执行作业的方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在管理节点上运行时,使得管理节点执行上述所提供的执行作业的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。

Claims (28)

1.一种执行作业的计算节点,其特征在于,所述计算节点应用于高性能计算HPC系统中,所述计算节点每次执行目标作业或所述目标作业的任一部分作业时,访问存储系统中文件的范围和访问时间相同,所述计算节点为执行本次目标作业的任一计算节点,所述计算节点包括处理器和存储器,所述存储器存储有计算机指令,所述处理器执行所述计算机指令,用于实现如下步骤:
接收管理节点发送的输入输出IO模型和目标部分作业,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的,或者所述IO模型是基于历史执行与所述目标部分作业的标识相同的部分作业的IO信息确定的,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业,所述目标作业的标识与一个或多个IO模型对应存储在所述管理节点中,或者,所述目标部分作业的标识与一个或多个IO模型对应存储在所述管理节点中;
基于所述IO模型,确定所述目标部分作业对应的配置参数;
基于所述配置参数的配置,执行所述目标部分作业。
2.基于权利要求1所述的计算节点,其特征在于,所述IO模型为第一IO模型时,所述配置参数为缓存配置参数,所述第一IO模型包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述处理器,用于基于所述文件的访问时间,确定从所述存储系统读取所述文件的访问范围的数据的读取时间;将所述读取时间和所述文件的访问范围,确定为所述目标部分作业对应的缓存配置参数;
所述处理器,还用于基于所述缓存配置参数中所述读取时间和所述访问范围,从所述存储系统读取所述数据至所述计算节点的缓存中,其中,基于所述读取时间,将所述数据读取至所述缓存中的结束时间不晚于所述数据的访问时间;
所述处理器,用于基于所述缓存中的所述数据,执行所述目标部分作业。
3.基于权利要求1或2所述的计算节点,其特征在于,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统的第一冲突指示信息;
所述处理器,用于获取所述一致性配置参数的设置时间;基于所述设置时间与所述第一冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述处理器,还用于执行所述部分作业之前,在所述一致性配置参数的设置时间,基于所述第一冲突指示信息设置所述存储系统的第一一致性等级,所述第一一致性等级用于指示所述存储系统的访问是否存在冲突;
所述处理器,用于在所述存储系统的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述存储系统;在所述存储系统的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述存储系统。
4.基于权利要求1或2所述的计算节点,其特征在于,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统中各目录的第二冲突指示信息;
所述处理器,用于获取所述一致性配置参数的设置时间;基于所述设置时间与所述各目录对应的第二冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述处理器,还用于执行所述目标部分作业之前,在所述一致性配置参数中的设置时间,基于所述各目录的第二冲突指示信息设置所述各目录的第二一致性等级,对于任一目录,所述第二一致性等级用于指示所述目录的访问是否存在冲突;
所述处理器,用于对于所述存储系统的每个目录,在所述目录的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述目录;在所述目录的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述目录。
5.基于权利要求1所述的计算节点,其特征在于,所述IO模型为第三IO模型时,所述配置参数为负载配置参数,所述第三IO模型包括所述存储系统的负载指示信息;
所述处理器,用于获取所述负载配置参数的设置时间;基于所述设置时间和所述负载指示信息,确定所述目标部分作业对应的所述负载配置参数;
所述处理器,还用于执行所述目标部分作业之前,基于所述负载配置参数中的所述负载指示信息,确定执行本次所述目标部分作业时访问所述存储系统的第一访问策略,所述第一访问策略为执行所述目标部分作业时按照负载均衡提交IO访问至存储系统的策略;在所述负载配置参数中的设置时间,将所述第一访问策略设置为执行本次所述目标部分作业的访问策略;
所述处理器,用于在执行所述目标部分作业时,基于所述第一访问策略提交所述目标部分作业的IO访问至所述存储系统的存储节点。
6.基于权利要求1所述的计算节点,其特征在于,所述计算节点与历史执行与所述目标作业的标识相同的作业的计算节点为同一节点;
所述处理器,还用于:
接收所述管理节点发送的IO模型之前,在所述目标部分作业第一次被执行时,获取执行所述目标部分作业的IO信息;向所述管理节点发送所述IO信息,其中,所述IO信息包括进程标识、访问的文件的访问范围、访问的文件的访问时间、访问的操作码和接收IO访问的存储节点的标识。
7.一种执行作业的管理节点,其特征在于,所述管理节点应用于高性能计算HPC系统中,计算节点每次执行目标作业或所述目标作业的任一部分作业时,访问存储系统中文件的范围和访问时间相同,所述管理节点包括存储器和处理器,所述存储器中包括计算机指令,所述处理器执行所述计算机指令,用于实现如下步骤:
判断是否存在目标作业的输入输出IO模型,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的;
在存在所述目标作业的IO模型时,对于多个计算节点中执行本次所述目标作业的每个计算节点,向所述计算节点发送所述IO模型和所述计算节点执行的目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,其中,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业,所述目标作业的标识与一个或多个IO模型对应存储在所述管理节点中。
8.基于权利要求7所述的管理节点,其特征在于,所述处理器,还用于基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型。
9.基于权利要求8所述的管理节点,其特征在于,所述IO信息包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述处理器,还用于将所述IO信息中的读操作的文件的访问范围和访问时间相对应,获得执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间的对应关系;将所述对应关系,确定为所述目标作业的第一IO模型。
10.基于权利要求8所述的管理节点,其特征在于,所述IO信息包括历史执行所述目标作业时所述目标作业的进程的进程标识、访问所述存储系统的文件的访问范围和访问时间;
所述处理器,还用于基于所述IO信息中所述文件的访问范围、所述文件的访问时间和所述进程标识,确定所述存储系统的第一冲突指示信息;所述第一冲突指示信息用于指示所述存储系统的访问是否存在冲突;将所述存储系统的第一冲突指示信息,确定为所述目标作业的第二IO模型。
11.基于权利要求8所述的管理节点,其特征在于,所述IO信息包括历史执行所述目标作业时所述存储系统中接收IO访问的存储节点的标识;
所述处理器,还用于基于所述接收IO访问的存储节点的标识,确定接收IO访问的各存储节点的负载数目;基于所述各存储节点的负载数目,确定所述存储系统的负载指示信息,其中,所述负载指示信息用于指示所述各存储节点的负载是否均衡;将所述负载指示信息,确定为所述目标作业的第三IO模型。
12.基于权利要求11所述的管理节点,其特征在于,所述IO信息还包括所述接收IO访问的存储节点中上报超载指示的存储节点的标识;
所述处理器,还用于基于所述各存储节点的负载数目和所述上报超载指示的存储节点的标识,确定所述存储系统的负载指示信息。
13.一种执行作业的管理节点,其特征在于,所述管理节点应用于高性能计算HPC系统中,计算节点每次执行目标作业或所述目标作业的任一部分作业时,访问存储系统中文件的范围和访问时间相同,所述管理节点包括存储器和处理器,所述存储器中包括计算机指令,所述处理器执行所述计算机指令,用于实现以下步骤:
判断是否存在目标作业的各部分作业对应的IO模型;
在存在所述各部分作业对应的IO模型时,对于多个计算节点中执行本次所述各部分作业的每个计算节点,向所述计算节点发送所述计算节点执行的目标部分作业的IO模型和所述目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,所述目标部分作业的标识与一个或多个IO模型对应存储在所述管理节点中。
14.一种执行作业的方法,其特征在于,所述方法应用于高性能计算HPC系统中,所述HPC系统包括管理节点、多个计算节点和存储系统,所述计算节点每次执行目标作业或所述目标作业的任一部分作业时,访问存储系统中文件的范围和访问时间相同,对于所述多个计算节点中执行本次目标作业的每个计算节点,所述方法包括:
接收所述管理节点发送的输入输出IO模型和目标部分作业,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的,或者所述IO模型是基于历史执行与所述目标部分作业的标识相同的部分作业的IO信息确定的,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业,所述目标作业的标识与一个或多个IO模型对应存储在所述管理节点中,或者,所述目标部分作业的标识与一个或多个IO模型对应存储在所述管理节点中;
基于所述IO模型,确定所述目标部分作业对应的配置参数;
基于所述配置参数的配置,执行所述目标部分作业。
15.基于权利要求14所述的方法,其特征在于,所述IO模型为第一IO模型时,所述配置参数为缓存配置参数,所述第一IO模型包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述基于所述IO模型,确定所述目标部分作业对应的配置参数,包括:
基于所述文件的访问时间,确定从所述存储系统读取所述文件的访问范围的数据的读取时间;
将所述读取时间和所述文件的访问范围,确定为所述目标部分作业对应的缓存配置参数;
所述方法还包括:
基于所述缓存配置参数中所述读取时间和所述访问范围,从所述存储系统读取所述数据至所述计算节点的缓存中,其中,基于所述读取时间,将所述数据读取至所述缓存中的结束时间不晚于所述数据的访问时间;
所述基于所述配置参数的配置,执行所述目标部分作业,包括:
基于所述缓存中的所述数据,执行所述目标部分作业。
16.基于权利要求14或15所述的方法,其特征在于,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统的第一冲突指示信息;
所述基于所述IO模型,确定所述目标部分作业对应的配置参数,包括:
获取所述一致性配置参数的设置时间;
基于所述设置时间与所述第一冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述执行所述目标部分作业之前,还包括:
在所述一致性配置参数的设置时间,基于所述第一冲突指示信息设置所述存储系统的第一一致性等级,所述第一一致性等级用于指示所述存储系统的访问是否存在冲突;
所述基于所述配置参数的配置,执行所述目标部分作业,包括:
在所述存储系统的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述存储系统;
在所述存储系统的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述存储系统。
17.基于权利要求14或15所述的方法,其特征在于,所述IO模型为第二IO模型时,所述配置参数为一致性配置参数,所述第二IO模型包括所述存储系统中各目录的第二冲突指示信息;
所述基于所述IO模型,确定所述目标部分作业对应的配置参数,包括:
获取所述一致性配置参数的设置时间;
基于所述设置时间与所述各目录对应的第二冲突指示信息,确定所述目标部分作业对应的所述一致性配置参数;
所述执行所述目标部分作业之前,还包括:
在所述一致性配置参数中的设置时间,基于所述各目录的第二冲突指示信息设置所述各目录的第二一致性等级,对于任一目录,所述第二一致性等级用于指示所述目录的访问是否存在冲突;
所述基于所述配置参数的配置,执行所述目标部分作业,包括:
对于所述存储系统的每个目录,在所述目录的访问存在冲突的情况下,在执行所述目标部分作业时,基于加锁机制,访问所述目录;在所述目录的访问不存在冲突的情况下,在执行所述目标部分作业时,基于非加锁机制,访问所述目录。
18.基于权利要求14所述的方法,其特征在于,所述IO模型为第三IO模型时,所述配置参数为负载配置参数,所述第三IO模型包括所述存储系统的负载指示信息;
所述基于所述IO模型,确定所述目标部分作业对应的配置参数,包括:
获取所述负载配置参数的设置时间;
基于所述设置时间和所述负载指示信息,确定所述目标部分作业对应的所述负载配置参数;
所述执行所述目标部分作业之前,还包括:
基于所述负载配置参数中的所述负载指示信息,确定执行本次所述目标部分作业时访问所述存储系统的第一访问策略,所述第一访问策略为执行所述目标部分作业时按照负载均衡提交IO访问至存储系统的策略;
在所述负载配置参数中的设置时间,将所述第一访问策略设置为执行本次所述目标部分作业的访问策略;
所述基于所述配置参数的配置,执行所述目标部分作业,包括:
在执行所述目标部分作业时,基于所述第一访问策略提交所述目标部分作业的IO访问至所述存储系统的存储节点。
19.基于权利要求14所述的方法,其特征在于,执行所述方法的计算节点与历史执行与所述目标作业的标识相同的作业的计算节点为同一节点;
所述接收所述管理节点发送的IO模型之前,还包括:
在所述目标部分作业第一次被执行时,获取执行所述目标部分作业的IO信息;
向所述管理节点发送所述IO信息,其中,所述IO信息包括进程标识、访问的文件的访问范围、访问的文件的访问时间、访问的操作码和接收IO访问的存储节点的标识。
20.一种执行作业的方法,其特征在于,所述方法应用于高性能计算HPC系统中,所述HPC系统包括管理节点、多个计算节点和存储系统,所述计算节点每次执行目标作业或所述目标作业的任一部分作业时,访问存储系统中文件的范围和访问时间相同,所述方法包括:
判断是否存在目标作业的输入输出IO模型,其中,所述IO模型是基于历史执行与所述目标作业的标识相同的作业的IO信息确定的;
在存在所述目标作业的IO模型时,对于所述多个计算节点中执行所述目标作业的每个计算节点,向所述计算节点发送所述IO模型和所述计算节点执行的目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,其中,所述目标部分作业为所述计算节点本次执行所述目标作业中的部分作业,所述目标作业的标识与一个或多个IO模型对应存储在所述管理节点中。
21.基于权利要求20所述的方法,其特征在于,所述方法还包括:
基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型。
22.基于权利要求21所述的方法,其特征在于,所述IO信息包括执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间;
所述基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型,包括:
将所述IO信息中的读操作的文件的访问范围和访问时间相对应,获得执行所述目标作业时访问所述存储系统中的文件的访问范围和访问时间的对应关系;
将所述对应关系,确定为所述目标作业的第一IO模型。
23.基于权利要求21所述的方法,其特征在于,所述IO信息包括历史执行所述目标作业时所述目标作业的进程的进程标识、访问所述存储系统的文件的访问范围和访问时间;
所述基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型,包括:
基于所述IO信息中所述文件的访问范围、所述文件的访问时间和所述进程标识,确定所述存储系统的第一冲突指示信息;所述第一冲突指示信息用于指示所述存储系统的访问是否存在冲突;
将所述存储系统的第一冲突指示信息,确定为所述目标作业的第二IO模型。
24.基于权利要求21所述的方法,其特征在于,所述IO信息包括历史执行所述目标作业时所述存储系统中接收IO访问的存储节点的标识;
所述基于历史执行与所述目标作业的标识相同的作业的计算节点上报的IO信息,确定所述目标作业的IO模型,包括:
基于所述接收IO访问的存储节点的标识,确定接收IO访问的各存储节点的负载数目;
基于所述各存储节点的负载数目,确定所述存储系统的负载指示信息,其中,所述负载指示信息用于指示所述各存储节点的负载是否均衡;
将所述负载指示信息,确定为所述目标作业的第三IO模型。
25.基于权利要求24所述的方法,其特征在于,所述IO信息还包括所述接收IO访问的存储节点中上报超载指示的存储节点的标识;
所述基于所述各存储节点的负载数目,确定所述存储系统的负载指示信息,包括:
基于所述各存储节点的负载数目和所述上报超载指示的存储节点的标识,确定所述存储系统的负载指示信息。
26.一种执行作业的方法,其特征在于,所述方法应用于高性能计算HPC系统中,所述HPC系统包括管理节点、多个计算节点和存储系统,所述计算节点每次执行目标作业或所述目标作业的任一部分作业时,访问存储系统中文件的范围和访问时间相同,所述方法包括:
判断是否存在目标作业的各部分作业对应的IO模型;
在存在所述各部分作业对应的IO模型时,对于所述多个计算节点中执行本次所述各部分作业的每个计算节点,向所述计算节点发送所述计算节点执行的目标部分作业的IO模型和所述目标部分作业,以使所述计算节点确定所述目标部分作业对应的配置参数,基于所述配置参数的配置,执行所述目标部分作业,所述目标部分作业的标识与一个或多个IO模型对应存储在所述管理节点中。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被计算节点执行时,使得所述计算节点执行所述权利要求14-19中任一权利要求所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被管理节点执行时,使得所述管理节点执行所述权利要求20-25中任一权利要求所述的方法,或者执行所述权利要求26所述的方法。
CN201911073198.5A 2019-08-02 2019-11-05 执行作业的方法、计算节点、管理节点及计算设备 Active CN112306383B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019107136908 2019-08-02
CN201910713690 2019-08-02

Publications (2)

Publication Number Publication Date
CN112306383A CN112306383A (zh) 2021-02-02
CN112306383B true CN112306383B (zh) 2023-04-11

Family

ID=74485629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911073198.5A Active CN112306383B (zh) 2019-08-02 2019-11-05 执行作业的方法、计算节点、管理节点及计算设备

Country Status (1)

Country Link
CN (1) CN112306383B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535514A (zh) * 2021-07-02 2021-10-22 中科曙光国际信息产业有限公司 作业跟踪方法、装置、计算机设备和存储介质
WO2024037222A1 (zh) * 2022-08-18 2024-02-22 华为云计算技术有限公司 文件系统的管理方法及装置
CN115756822B (zh) * 2022-10-18 2024-03-19 超聚变数字技术有限公司 高性能计算应用性能调优的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508246A (zh) * 2018-06-25 2019-03-22 广州多益网络股份有限公司 日志记录方法、系统和计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341130B2 (en) * 2009-08-12 2012-12-25 International Business Machines Corporation Scalable file management for a shared file system
CN101697141B (zh) * 2009-10-30 2012-09-05 清华大学 网格中基于历史数据建模的作业性能预测方法
US9525735B2 (en) * 2013-10-30 2016-12-20 Futurewei Technologies, Inc. Lock elevation in a distributed file storage system
CN105279029B (zh) * 2015-11-24 2018-07-06 无锡江南计算技术研究所 一种基于作业计算资源的局部存储动态分配方法
CN109460345B (zh) * 2018-09-28 2022-02-22 北京赛博贝斯数据科技有限责任公司 实时数据的计算方法及系统
CN109634974A (zh) * 2018-12-04 2019-04-16 郑州云海信息技术有限公司 一种数据处理方法、系统及相关组件

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508246A (zh) * 2018-06-25 2019-03-22 广州多益网络股份有限公司 日志记录方法、系统和计算机可读存储介质

Also Published As

Publication number Publication date
CN112306383A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
US9575984B2 (en) Similarity analysis method, apparatus, and system
CN112306383B (zh) 执行作业的方法、计算节点、管理节点及计算设备
US7716193B2 (en) Ensuring timely servicing of desired transactions in a database server
US9514170B1 (en) Priority queue using two differently-indexed single-index tables
US20080065588A1 (en) Selectively Logging Query Data Based On Cost
CN111506559A (zh) 数据存储方法、装置、电子设备及存储介质
US20140059000A1 (en) Computer system and parallel distributed processing method
CN107070645B (zh) 比较数据表的数据的方法和系统
US10599472B2 (en) Information processing apparatus, stage-out processing method and recording medium recording job management program
US11394748B2 (en) Authentication method for anonymous account and server
CN107203890B (zh) 凭证数据发放方法、装置及系统
US11960939B2 (en) Management computer, management system, and recording medium
US11204717B2 (en) Object storage system with access control quota status check
US11580082B2 (en) Object storage system with control entity quota usage mapping
CN112711606A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN111857548B (zh) 数据读取方法、装置及系统
CN111259375A (zh) 应用于物联网操作系统的访问请求的处理方法及装置
US11733899B2 (en) Information handling system storage application volume placement tool
US11947822B2 (en) Maintaining a record data structure using page metadata of a bookkeeping page
US8972346B2 (en) Method and system for minimizing synchronization efforts of parallel database systems
CN116303619A (zh) 指令的查询方法和装置、存储介质及电子装置
CN116226081A (zh) 数据库弹性伸缩方法、装置、电子设备及存储介质
CN113626383A (zh) 一种数据处理方法、装置及设备
Sabharwal et al. Best Practices
CN116502242A (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