一种基于作业时序缓存共享的方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种基于作业时序缓存共享的方法。
【背景技术】
[0002]高性能计算机规模巨大,任务执行期间并发的数据访问量也数以万计,因此对于分布式文件系统的性能有很高的要求,为此分布式文件系统一般会在服务器上配置一定得加速资源,实现对于大量数据的读写请求处理,这些缓存资源相对于分布式文件系统本身的存储容量而言容量很小、但是其性能高却可能数倍于分布式文件系统本身的性能,成本也很高,因此作业运行过程中独占式的缓存资源分配虽然简单,但却并不合理。
[0003]JOB是一种运行在高性能计算机计算资源上应用软件,其一般执行一定的科学计算任务,并在计算任务的一定阶段将数据写入分布式文件系统,课题一次输出的数据量很大,往往在数十TB甚至上百上千TB,对于分布式文件构建的存储资源的性能要求很高。
[0004]高性能计算中JOB启动时,系统一般会为JOB分配一定得DFS(Distribute FileSystem,分布式文件系统集成大量存储服务器资源和缓存资源,运行在存储服务器上,通过软件实现了一个共享的存储空间,为高性能计算机提供高性能、高并发的数据读写支持)缓存资源,用来加速JOB的数据读写性能,JOB执行过程中,一般地该DFS缓存资源会固定地分配给J0B,由于JOB在数据访问是的阶段性,即存在间隙,且访问间隙一般超过十分钟以上,因此在访问间隙造成了缓存资源的空闲,也间接造成了缓存资源的浪费。
[0005]更具体地说,当一个JOB启动运行时,系统会针对这个JOB分配DFS Cache资源。DFSCache是一种分布式文件系统缓存,该分布式文件系统在其运行的服务器上一般可以部署一定的SSD、内存等专用加速分布式文件访问的资源,并通过分布式文件系统调度这些缓存资源,为计算任务得数据访问性能加速提供支撑。
[0006]这样,在JOB运行过程中,该资源由JOB独占,而JOB在运行过程中,往往具有数据访问的阶段性,即在数据读写的一个阶段完成后,JOB只有完成一定的计算任务后才会进行下一个阶段的数据读写,由于HPC中DFS Cache资源往往性能高、成本高,因此会造成资源浪费。
【发明内容】
[0007]本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种能够实现JOB之间的DFS Cache共享的基于作业时序缓存共享的方法。
[0008]根据本发明,提供了一种基于作业时序缓存共享的方法,包括:
[0009]第一步骤:在JOB提交运行前,声明JOB运行过程中的需要的DFS Cache资源量;
[0010]第二步骤:系统为各个JOB的作业分配相应的DFSCache资源,并启动JOB作业运行;
[0011]第三步骤:使得各个JOB作业运行多轮,其中JOB会产生多次对于DFSCache的访问,使系统采集各个JOB作业访问DFS Cache的时间间隔;
[0012]第四步骤:在JOB作业访问缓存资源的时间间隔趋于稳定的情况下,记录所述时间间隔,并且启动DFS Cache共享分配算法。
[0013]优选地,所述基于作业时序缓存共享的方法还包括:
[0014]第五步骤:在执行JOB作业时,由存储管理系统按照运行的所有JOB作业访问DFSCache的情况对JOB作业的数据进行读写,如果存储管理系统确定存在JOB数据访问超过时间窗口,重新返回第四步骤以重新启动DFS Cache共享分配算法。
[0015]第六步骤:作业执行完成后,释放所述作业所占用DFSCache资源。
[0016]优选地,所述DFSCache共享分配算法包括:建立系统中所有JOB的作业时间间隔分配表,确定是否存在DFS Cache具有空闲时间段能够让该DFS Cache所对应的JOB与其它JOB共享DFS Cache;而且在存在DFS Cache具有空闲时间段能够让该DFS Cache所对应的JOB与其它JOB共享DFS Cache的情况下,判断该DFS Cache的缓存空间是否存在剩余缓存空间。
[0017]优选地,所述DFS Cache共享分配算法还包括:如果所述空闲时间段以及该DFSCache的剩余缓存空间满足新启动的JOB的要求,那么直接将所述空闲时间段以及该DFSCache的剩余缓存空间分配给新启动的JOB。
[0018]优选地,所述DFS Cache共享分配算法还包括:如果所述空闲时间段以及DFSCache剩余缓存空间不足以满足新启动的JOB的要求,则在使得新启动的JOB利用所述剩余缓存空间资源后再为新启动的JOB分配新的资源。
[0019]优选地,所述DFS Cache共享分配算法还包括:如果DFS Cache缓存空间没有剩余,则为新启动的JOB分配新DFS Cache,并在另一个JOB作业启动之前由该新启动的JOB的作业独占分配的所述新DFS Cache。
[0020]优选地,时间间隔趋于稳定指时间间隔为恒定值或者大于特定值。
[0021]本发明解决了DFS缓存资源固定分配给JOB的弊端,通过在存储层采集作业访问DFS缓存的间隙信息,按照作业缓存访问间隙来调动作业,实现不同DFS缓存资源在作业访问DFS缓存间隙之间的复用,提高系统的综合利用效率。
【附图说明】
[0022]结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0023]图1示意性地示出了根据本发明优选实施例的基于作业时序缓存共享的方法的流程图。
[0024]需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
【具体实施方式】
[0025]为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
[0026]高性能计算HPC(High Performance Computing)是集成大规模计算资源和存储资源的系统,实现对于超大规模问题的处理,这种系统集成数万个中央处理器并行计算,并将大量数据写入到分布式文件系统构建的存储资源中,所对于存储资源的并发度支撑、性能等要求都很高。
[0027]在高性能计算HPC中,应用通过提交作业即JOB的方式使用计算资源和存储资源解决科学问题,对于数据输出量较大的JOB,在其启动运行时,系统会针对这个JOB分配DFSCache资源,并在JOB运行过程中,为JOB数据管理的简单,确保JOB数据安全,该资源由JOB独占,而JOB在运行过程中,往往具有数据访问的阶段性,即在数据读写的一个阶段完成后,JOB只有完成一定的计算任务后才会进行下一个阶段的数据读写,由于高性能计算HPC中DFS Cache资源往往性能高、成本高,因此会造成资源浪费。
[0028]本发明提出的按照作业访问DFSCache时间间隙为依据调度作业,实现作业对DFSCache资源的共享。在作业提交以后,在作业运行的前几步为作业分配不同的缓存资源,并采集作业访问缓存资源的时间间隔,当收集到比较稳定的时间间隔值后,通过对这些时间间隔值进行排队处理,获得JOB访问DFS Cache的前后顺序,之后系统可以访问一定的数据调度策略实现在不同作业间隙中对于DFS Cache的共享访问。
[0029]图1示意性地示出了根据本发明优选实施例的基于作业时