CN111625367A - 一种动态调整文件系统读写资源的方法 - Google Patents

一种动态调整文件系统读写资源的方法 Download PDF

Info

Publication number
CN111625367A
CN111625367A CN202010741987.8A CN202010741987A CN111625367A CN 111625367 A CN111625367 A CN 111625367A CN 202010741987 A CN202010741987 A CN 202010741987A CN 111625367 A CN111625367 A CN 111625367A
Authority
CN
China
Prior art keywords
read
job
data
classification model
write resource
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.)
Granted
Application number
CN202010741987.8A
Other languages
English (en)
Other versions
CN111625367B (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.)
Beijing Paratera Technology Co ltd
Original Assignee
Beijing Paratera Technology 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 Paratera Technology Co ltd filed Critical Beijing Paratera Technology Co ltd
Priority to CN202010741987.8A priority Critical patent/CN111625367B/zh
Publication of CN111625367A publication Critical patent/CN111625367A/zh
Application granted granted Critical
Publication of CN111625367B publication Critical patent/CN111625367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种动态调整文件系统读写资源的方法,适于在计算设备中执行,计算设备与计算机集群耦接,计算机集群包括计算节点,计算节点中驻留有存储客户端,运行中的作业能够通过存储客户端访问存储服务器进行数据读写,方法包括:当目标作业分配到计算节点后,每运行预设时长时,收集预设时长内目标作业的作业状态数据,并输入到作业分类模型,获得所述目标作业对应的作业类型,其中,每种作业类型对应一种读写资源配置;基于目标作业的作业类型对应的读写资源配置,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源。本发明一并公开了相应的计算设备及可读存储介质。

Description

一种动态调整文件系统读写资源的方法
技术领域
本发明涉及数据处理领域,尤其涉及一种动态调整文件系统读写资源的方法、计算设备及可读存储介质。
背景技术
集群文件系统成为当今高性能计算机的主流体系结构,随着高性能计算技术的不断发展,很多高性能计算应用的存储需求在不断提高,Lustre是领先的集群文件系统,已经成为构建高性能计算存储系统的标准,在高性能计算市场中占据统治地位,为了提升文件系统性能,可以对文件系统进行扩展,随着节点不断增加,这使得计算机集群变得日益庞大,同时随着应用不断地更新迭代其对高性能计算系统中存储的要求也越来越高,在存储性能一定的前提下,面对不断增长和变化的用户需求,合理管理存储资源显得尤为重要,但是目前的作业处理中,都是根据用户的优先级将用户分配到计算机集群中的不同的计算节点,以保证优先级高的用户作业的QoS,这就使得读写资源不能得到实时调节,影响整个文件系统的稳定性。
发明内容
为此,本发明提供了一种动态调整文件系统读写资源的方法、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种动态调整文件系统读写资源的方法,适于在计算设备中执行,计算设备与计算机集群耦接,计算机集群包括多个适于运行作业的计算节点,计算节点中驻留有存储客户端,存储客户端与存储服务器通信连接,运行中的作业能够通过存储客户端访问存储服务器进行数据读写,方法包括:当目标作业分配到计算节点后,每运行预设时长时,收集预设时长内目标作业的作业状态数据;将作业状态数据输入到作业分类模型,获得目标作业对应的作业类型,其中,每种作业类型对应一种读写资源配置;基于目标作业的作业类型对应的读写资源配置,为目标作业对应的存储客户端配置下一个预设时长的读写资源。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,基于目标作业的作业类型对应的读写资源配置,为目标作业对应的存储客户端配置下一个预设时长的读写资源还包括:结合目标作业的作业类型对应的读写资源配置和存储服务器的负载率,为目标作业对应的存储客户端配置下一个预设时长的读写资源。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,还包括:目标作业分配到计算节点的初始时刻,目标作业的读写资源配置设置为预定读写资源配置。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,文件系统为lustre文件系统。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,作业状态数据为目标作业运行预设时长内的系统调用数据,包括调用次数占比最大的预定数量个系统函数名称及其调用次数占比。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,读写资源配置为存储客户端访问存储服务器的RPC速率,基于目标作业的作业类型对应的读写资源配置,为目标作业对应的存储客户端配置下一个预设时长的读写资源包括:根据目标作业的作业类型对应的读写资源配置设定令牌桶过滤器规则。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,结合目标作业的作业类型对应的读写资源配置和存储服务器的负载率,为目标作业对应的存储客户端配置下一个预设时长的读写资源包括:获取存储服务器的负载率;如果负载率低于预定值,则根据目标作业的作业类型对应的读写资源配置设定令牌桶过滤器规则。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,结合目标作业的作业类型对应的读写资源配置和存储服务器的负载率,为目标作业对应的存储客户端配置下一个预设时长的读写资源包括:获取存储服务器的负载率;如果负载率超过预定值,且目标作业的作业类型对应的读写资源配置高于之前的读写资源配置,则目标作业的读写资源配置不做调整,并根据预定规则调整其他作业的读写资源配置。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,根据预定规则调整其他作业的读写资源配置包括:获取优先级低于目标作业的其它作业;按照优先级由低到高的顺序依次降低其它作业的读写资源配置,直至存储服务器负载率低于预定值。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,将作业状态数据输入到作业分类模型,获得目标作业对应的作业类型包括:作业分类模型通过KNN算法根据作业状态数据获取目标作业对应的作业类型。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,作业分类模型通过下列方式获得,包括:收集作业分类模型的训练样本,训练样本包含样本数据和标注数据;将训练样本输入作业分类模型,作业分类模型对训练样本进行分类,获得作业类型和各作业类型的标注数据;当作业类型及其对应的标注数据不再变化或达到最大迭代次数时,结束训练,获得训练好的作业分类模型。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,收集作业分类模型的训练样本包括:收集大量同一作业数据的运行过程中系统调用数据;将系统调用数据按照预设时长分成数据分片;统计每一个数据分片中的系统函数的调用次数,获取前预定数量个调用次数占比最大的系统函数及其调用次数占比作为训练样本的样本数据,计算每一个数据分片所占用的读写资源配置作为该训练样本的标注数据。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,作业分类模型对训练样本进行聚类时所采用的的算法为k-means算法。
可选的,在根据本发明的动态调整文件系统读写资源的方法中,系统调用数据通过perf采集。
根据本发明的一方面,提供一种作业分类模型的生成方法,适于在计算设备中执行,方法包括:收集作业分类模型的训练样本,训练样本包含样本数据和标注数据;将训练样本输入作业分类模型,作业分类模型对训练样本进行分类,获得作业类型和各作业类型的标注数据;当作业类型及其对应的标注数据不再变化或达到最大迭代次数时,结束训练,获得训练好的作业分类模型。
可选的,在根据本发明的作业分类模型的生成方法中,收集作业分类模型的训练样本包括:收集大量同一作业数据的运行过程中系统调用数据;将系统调用数据按照预设时长分成数据分片;统计每一个数据分片中的系统函数的调用次数,获取前预定数量个调用次数占比最大的系统函数及其调用次数占比作为训练样本的样本数据,计算每一个数据分片所占用的读写资源配置作为该训练样本的标注数据。
可选的,在根据本发明的作业分类模型的生成方法中,作业分类模型对训练样本进行聚类时所采用的的算法为k-means算法。
可选的,在根据本发明的作业分类模型的生成方法中,其中,系统调用数据通过perf采集。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得计算设备执行如上所述方法。
根据本发明的动态调整文件系统读写资源的方法,利用作业分类模型,根据收集到的上一时段的作业状态数据实时预测作业数据的类别和所对应的预测资源配置,并将预测资源配置应用到作业数据的下一运行时段,实现了资源配置实时调整,提高了整个读写资源的利用率。
另外,在资源配置时结合了整个作业处理系统的负载状况,在保证作业服务质量的前提下兼顾了系统的整体性能。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的作业处理系统100的框图;
图2示出了根据本发明一个实施例的计算设备200 的框图;
图3示出了根据本发明一个实施例的作业分类模型生成方法300的流程图;
图4示出了根据本发明一个实施例的作业处理方法400的流程图;
图5示出了根据本发明一个实施例作业分类模型训练结果的示意图;
图6示出了根据本发明一个实施例的作业分类结果的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的作业处理系统100的框图。作业处理系统包括一个或多个用户终端110、调度服务器120、计算机集群130、存储系统140和计算设备200。其中,调度服务器120分别与用户终端110和计算机集群130通信连接,计算机集群130与存储系统140通信连接,计算设备200与计算机集群130通信连接。应当指出,图1所示的作业处理系统仅为示例性的,在具体实现中可以有不同数量的用户终端110、调度服务器120、计算机集群130和存储系统140,本发明对这些设备的数量和部署均不做限制。
用户终端110可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也可以实现为诸如手机、平板电脑、笔记本电脑等移动设备。在用户终端110中驻留有相应的应用,用户可以通过该应用将作业处理请求发送至调度服务器120。应用主要包括用于科研/工业领域的计算或模拟软件,如VASP、Gaussian、Amber、Ansys、Abaqus等,及部分用户自主研发的计算软件/工具。
用户终端110响应于用户的请求,将作业处理请求发送给调度服务器120。调度服务器120可以分别部署于多个地理位置,用户终端可以将作业处理请求发送至与其相连的一个调度服务器120上,调度服务器120可以实现为单个计算设备,也可以实现为集群。
调度服务器120接收到用户终端提交的作业处理请求后,将作业添加到作业队列中,依据预定的作业调度方式将作业队列中的作业分配到计算机集群130中的计算机点131上,通过计算节点131完成作业处理。根据本发明的一个实施例,可以按照先进先出的调度方式将作业分配到计算节点131上,具体实现时,可以根据实际情况选择不同的作业调度方式,本申请对此不做限制。
计算机集群130由多个计算节点131构成,每一个计算节点上安装有存储客户端132,在计算节点处理分配的作业时,通过存储客户端完成与存储系统的数据交互。
存储系统140由多个存储服务器141组成,存储服务器适于为用户作业提供具体的文件/数据存取服务,存储客户端与存储系统之间的读写资源配置一定程度上影响了计算节点的作业处理速度。根据本发明的一个实施例,存储系统140中运行令牌桶过滤器(TokenBucket Filter,TBF)队列规则,通过设定存储客户端访问存储系统的远程过程调用(Remote Procedure Call,RPC)速率完成对当前作业的资源配置。
计算设备200可以实现为服务器,例如数据库服务器、应用程序服务器和WEB服务器等。计算设备200在作业处理系统处理作业时收集作业状态数据,并将作业状态数据输入作业分类模型,从而预测出作业类型,每一种作业类型对应一种读写资源配置,根据所预测的作业类型对应的读写资源配置设置令牌桶过滤器规则,设定RPC速率,并应用到当前作业下一阶段的处理过程。
根据本发明一个实施例,计算机集群130和存储系统140属于lustre文件系统。
根据本发明的又一个实施例,在根据当前作业的作业类型所对应的读写资源配置进行资源配置时还要考虑整个作业处理系统的负载状况,在整个作业处理系统负载率超过预定值时,如果预测的作业类型对应的读写资源配置大于之前的读写资源配置,则本次不做调整,避免了当前作业资源配置调高之后,影响整个作业处理系统的处理性能。此时,应当适当降低优先级比当前作业低的其他作业的读写资源配置,从而保证高优先级的用户作业的处理速度。
根据本发明的作业处理系统,每个预定时长内都会收集作业处理时的作业状态数据,并根据作业状态数据预测用户作业类型,根据用户作业类型所对应的读写资源配置调整用户作业的读写资源,实现了读写资源的实时调整,做到了按需分配资源,提高了文件处理系统的整体性能和稳定性。
图2示出了根据本发明一个实施例的计算设备200的示意图。需要说明的是,图2所示的计算设备200仅为一个示例,在实践中,用于实施本发明的动态调整文件系统读写资源的方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图2所示的计算设备200相同,也可以与图2所示的计算设备200不同。实践中用于实施本发明的动态调整文件系统读写资源的方法的计算设备可以对图2所示的计算设备200的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器204读取。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。操作系统220例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用222包括用于实现各种用户期望的功能的程序指令,应用222例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用222被安装到计算设备200中时,可以向操作系统220添加驱动模块。
在计算设备200启动运行时,处理器204会从存储器206中读取操作系统220的程序指令并执行。应用222运行在操作系统220之上,利用操作系统220以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用222时,应用222会加载至存储器206中,处理器204从存储器206中读取并执行应用222的程序指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备142包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括用于执行本发明的作业分类模型的生成方法300/作业处理方法400的指令,该指令可以指示处理器104执行本发明的作业分类模型的生成方法300/作业处理方法400,以实时调整作业数据的资源配置。
图3示出了根据本发明一个实施例的作业分类模型的生成方法300的流程图,所生成的作业分类模型用于根据作业处理时的系统调用情况对作业进行分类,并获得作业类型所对应的资源配置信息。
如图3所示,方法300始于步骤S310,获取作业分类模型的训练样本,训练样本为预定时长内的系统调用情况,包括前预定数量个调用次数占比最大的系统函数及其调用次数占比,每一个样本具有相应的标注数据,该标注数据主要包括作业类型和该作业类型对应的资源配置信息,作业类型可以根据作业处理的不同阶段进行分类,比如,可以分为作业处理第一阶段和作业处理第二阶段,本实施例仅为示例性的,具体类别可以根据具体情况进行设置,本发明对此不做限制。资源配置信息具体可以是RPC速率,根据本发明的一个实施例,RPC速率与作业读写资源之间的对应关系为,RPC速率为1时,数据读写带宽最大为4MB/s,随机读写时的每秒最大操作数(Input/Output Operations Per Second,IOPS)为256。
其中,训练样本的采集过程主要包括:收集大量作业处理过程中的系统调用数据,可以通过性能分析工具perf来完成,将收集到的系统调用数据按照预定时长进行数据分片,例如,按照一分钟进行分片,将系统调用数据分割成若干个一分钟的数据分片,统计每一个数据分片中系统函数到的调用情况,将前预定数量个调用次数占比最大的系统函数及其调用次数占比作为样本数据,对于每一个样本数据,需要确定其标注数据,获取样本采集时作业的作业类型,并获取该作业类型对应的资源配置信息,将作业类型及其对应的资源配置信息作为标注数据。根据本发明的一个实施例,资源配置信息可以为RPC速率,该RPC速率可以通过统计每一个分片对应的RPC速率获得,以获取前5个调用占比较高的函数为例,样本数据包含函数占比数据:函数A的调用次数占比为25%,函数B的调用次数占比为20%,函数C的调用次数占比为18%,函数D的调用次数占比为15%,函数E的调用次数占比为12%,该样本数据对应的标注数据为:类别1,RPC=30。
随后进入步骤S320,将训练样本输入到作业分类模型进行处理,获得样本的预测作业类型,以及该预测作业类型对应的预测资源配置信息。作业分类模型采用K-means聚类算法实现,将样本数据相似的样本归为一个类别。
在训练过程中通过步骤S330判断作业分类模型输出的预测作业类型及其对应的资源配置信息,当预测作业类型及其对应的资源配置信息不再变化时或达到最大迭代此时时结束训练,获得训练好的作业分类模型。
为了便于说明,将作业分类模型对应到二维空间进行说明,如图5所示,所有样本在完成聚类后,分为类别1和类别2两簇,根据本发明一个实施例,类别1为作业处理的第一阶段,质心为P1,其关联的RPC速率为30,类别2为作业处理的第二阶段,质心为P2,其关联的RPC速率为50。应当指出,图5仅为了示例性的,实际情况中,坐标系的维度可以根据需要进行设置,样本点的数目应该是绝对大量的,而分类结果可以根据实际需要分成多个不同类别。
图4示出了根据本发明一个实施例的作业处理方法400的流程图,即在作业处理中动态调整文件系统读写资源的方法。方法400在计算设备中执行,该计算设备可以访问通过方法300获得的作业分类模型。
如图4所示,方法400始于步骤S410,当目标作业新提交到作业处理系统时,因为此时还没有该目标作业的作业状态数据,不能根据作业状态数据预测其作业类型,也就不能获取到相应的读写资源配置信息,因此,会将新提交上来的目标作业的读写资源配置设置为预定资源配置,根据本发明一个实施例,可以配置RPC速率为100,本发明对预定资源配置不做限制,可以根据文件系统的性能和访问量等情况进行设置。
在步骤S410前还包括用户作业调度分配的过程,当用户通过用户终端提交作业处理时,首先提交到作业处理系统的调度服务器,由调度服务器为该用户作业分配计算节点,由计算机点完成用户作业处理,每一个计算节点上包含存储客户端,用于完成作业处理过程中与存储系统的数据交互,而上述步骤S410以及后续中所涉及的读写资源配置就是存储客户端与存储系统之间的读写资源配置。
随后进入步骤S420,在计算节点开始处理目标作业时,收集预设时长内目标作业的作业状态数据,主要包括预定时长内目标作业处理过程中的系统调用情况,包括调用次数占比最大的预定数量个系统函数名称及其调用次数占比。
根据本发明的一个实施例,可以收集文件系统在处理作业时的一分钟内调用次数最多的5个系统函数和该函数调用次数占比作为一个作业状态数据,例如作业处理过程中调用系统函数10000次,其中调用次数最多的5个函数为:A1调用2800次,A2调用2000次、A3调用1800次、A4调用1500次、A5调用1000次,则收集到的作业状态数据可以表示为下表格式,最终将作业状态数据对应到坐标空间中的一个点。
第一作业状态数据 A1:28%,A2:20%,A3:18%,A4:15,A5:10
随后进入步骤S430,利用方法300所产生的作业分类模型根据步骤S420获得作业状态数据对目标作业进行分类,所利用的分类算法为KNN算法。根据本发明一个实施例,如图6所示,Pn为收集到的作业状态数据,取K=3,则距离Pn最近的3个数据中,有两个类别1的数据,则Pn的分类结果为类别1,获取到类别1对应的读写资源配置为30。
随后通过步骤S440将当前作业数据的RPC速率设置为30。根据本发明一个实施例,文件系统中运行令牌桶过滤器规则,根据步骤 S430获得的读写资源配置信息设置令牌桶过滤器规则,完成RPC速率设置,则当前目标作业在后续的作业处理过程中将使用该RPC速率。根据TBF的工作原理,通过发放令牌来实现对发送流量的控制到的,因此,通过设置TBF规则设定作业的流量带宽,同时当没有作业提交时,令牌会累积直至令牌桶装满,这又使得其能应对突发传输,使得随机的突发传输能够获得最大的IOPS,根据本发明的一个实施例,RPC速率与作业读写资源之间的对应关系为,RPC速率为1时,数据读写带宽最大为4MB/s,突发随机读写时的最大IOPS为256。
根据本发明的又一个实施例,在根据作业类型对应的读写资源配置调整用户作业的读写资源时,兼顾整个作业处理系统的负载状况,避免整个作业处理系统超负载运行时容易出现系统崩溃或处理速度急剧下降等情况,影响整个作业处理系统的性能。因此,如果读写资源配置在调整时是降低的就不需要考虑系统负载率的情况了。
根据本发明又一实施例,如果读写资源配置在调整时是增加的,则需要考虑整个文件系统的负载率,如果系统负载率超过预定值,则本次调整需要忽略,因为如果调高读写资源配置,系统将超负载运行,服务器的性能会受到影响,影响所有作业的处理速度,此时需要做的是,对一些优先级低的其他作业的资源配置进行调整,获取优先级低于当前作业的其他作业,并按照优先级由低到高的顺序依次适当降低其资源配置。比如,根据作业类型获取对应的读写资源配置为50,之前的读写资源为30,则需要考虑当前整个作业处理系统的负载率,获取当前负载率为91%,超过预定门限90%,则当前作业的读写资源不能调整为50,而是获取比当前作业优先级低的作业进行调整,在一个实施例中,获取到的低优先级的作业有作业1、作业2、作业3、作业4,优先级分别为1、2、3、4(优先级等级越大优先级越低),则应当按照作业4、作业3、作业2、作业1的顺序对其资源配置适当调低,以保证整个文件系统的负载率不会超过门限,也保证优先级高的作业能够获得足够的读写资源。
在方法400中,实现了实时采集作业状态数据,并根据作业状态数据对作业进行分类,从而获得相应的读写资源配置进行实时调整,具体的调整的时间间隔可以进行配置,比如,作业状态数据以1分钟为单位进行采集,可以每分钟都采集作业状态数据,并根据所采集的数据调整资源配置,也可以是每5分钟采集一分钟的作业状态数据,进而调整资源配置,具体的时间间隔可以根据作业数据的具体情况而定,如果整个作业数据处理比较耗时,时间间隔可以稍长,如果作业数据处理时间比较短,也可以每分钟都进行资源配置调整。
根据本发明的动态调整文件系统读写资源的方法,利用作业分类模型,根据收集到的上一时段的作业状态数据实时预测作业数据的类别和所对应的预测资源配置,并将预测资源配置应用到作业数据的下一运行时段,实现了资源配置实时调整,因为预测资源配置由作业分类模型统一预测后将配置信息分发至文件系统,实现了资源配置的统一管理,另外,在资源配置时结合了整个文件系统的负载状况,在保证作业数据服务质量的前提下兼顾了文件系统的整体性能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的动态调整文件系统读写资源的方法和作业分类模型生成方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (20)

1.一种动态调整文件系统读写资源的方法,适于在计算设备中执行,所述计算设备与计算机集群耦接,所述计算机集群包括多个适于运行作业的计算节点,所述计算节点中驻留有文件系统的存储客户端,所述存储客户端与文件系统的存储服务器通信连接,运行中的作业能够通过存储客户端访问存储服务器进行数据读写,所述方法包括:
当目标作业分配到计算节点后,每运行预设时长时,收集所述预设时长内目标作业的作业状态数据;
将所述作业状态数据输入到作业分类模型,获得所述目标作业对应的作业类型,其中,每种作业类型对应一种读写资源配置;
基于目标作业的作业类型对应的读写资源配置,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源。
2.如权利要求1所述的方法,其中,所述基于目标作业的作业类型对应的读写资源配置,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源还包括:
结合所述目标作业的作业类型对应的读写资源配置和所述存储服务器的负载率,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源。
3.如权利要求1或2所述的方法,还包括:
所述目标作业分配到计算节点的初始时刻,所述目标作业的读写资源配置设置为预定读写资源配置。
4.如权利要求1或2所述的方法,其中,所述文件系统为lustre文件系统。
5.如权利要求1或2所述的方法,其中,所述作业状态数据为目标作业运行预设时长内的系统调用数据,包括调用次数占比最大的预定数量个系统函数名称及其调用次数占比。
6.如权利要求1或2所述的方法,其中,所述读写资源配置为所述存储客户端访问存储服务器的RPC速率,所述基于目标作业的作业类型对应的读写资源配置,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源包括:
根据所述目标作业的作业类型对应的读写资源配置设定令牌桶过滤器规则。
7.如权利要求2所述的方法,其中,所述结合所述目标作业的作业类型对应的读写资源配置和所述存储服务器的负载率,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源包括:
获取存储服务器的负载率;
如果所述负载率低于预定值,则根据所述目标作业的作业类型对应的读写资源配置设定令牌桶过滤器规则。
8.如权利要求2所述的方法,其中,所述结合所述目标作业的作业类型对应的读写资源配置和所述存储服务器的负载率,为所述目标作业对应的存储客户端配置下一个预设时长的读写资源包括:
获取存储服务器的负载率;
如果所述负载率超过预定值,且所述目标作业的作业类型对应的读写资源配置高于之前的读写资源配置,则所述目标作业的读写资源配置不做调整,并根据预定规则调整其他作业的读写资源配置。
9.如权利要求8所述的方法,其中,所述根据预定规则调整其他作业的读写资源配置包括:
获取优先级低于所述目标作业的其它作业;
按照优先级由低到高的顺序依次降低其它作业的读写资源配置,直至所述存储服务器负载率低于预定值。
10.如权利要求1或2所述的方法,其中,所述将所述作业状态数据输入到作业分类模型,获得所述目标作业对应的作业类型包括:
所述作业分类模型通过KNN算法根据所述作业状态数据获取所述目标作业对应的作业类型。
11.如权利要求1所述的方法,其中,所述作业分类模型通过下列方式获得,包括:
收集作业分类模型的训练样本,所述训练样本为作业在预设时长内的作业状态数据,所述训练样本具有相应的标注数据,所述标注数据包含所述训练样本对应的作业类型,以及该作业类型对应的读写资源配置;
将所述训练样本输入所述作业分类模型,所述作业分类模型对所述训练样本进行分类,输出该训练样本的预测作业类型,以及该预测作业类型对应的读写资源配置;
根据所述标注数据对所述作业分类模型进行训练,以获得训练好的作业分类模型作为所获得的作业分类模型。
12.如权利要求11所述的方法,其中,所述收集作业分类模型的训练样本包括:
收集大量同一作业数据的运行过程中系统调用数据;
将所述系统调用数据按照预设时长分成数据分片;
统计每一个数据分片中的系统函数的调用次数,获取前预定数量个调用次数占比最大的系统函数及其调用次数占比作为所述训练样本的样本数据,获取作业的作业类型,及其对应的读写资源配置作为该训练样本的标注数据。
13.如权利要求11所述的方法,其中,所述作业分类模型通过k-means算法实现。
14.如权利要求12所述的方法,其中,所述系统调用数据通过perf采集。
15.一种作业分类模型的生成方法,适于在计算设备中执行,所述方法包括:
收集作业分类模型的训练样本,所述训练样本为作业在预设时长内的作业状态数据,所述训练样本具有相应的标注数据,所述标注数据包含所述训练样本对应的作业类型,以及该作业类型对应的读写资源配置;
将所述训练样本输入所述作业分类模型,所述作业分类模型对所述训练样本进行分类,输出该训练样本的预测作业类型,以及该预测作业类型对应的读写资源配置;
根据所述标注数据对所述作业分类模型进行训练,以获得训练好的作业分类模型作为所生成的作业分类模型。
16.如权利要求15所述的方法,其中,所述收集作业分类模型的训练样本包括:
收集大量同一作业数据的运行过程中系统调用数据;
将所述系统调用数据按照预设时长分成数据分片;
统计每一个数据分片中的系统函数的调用次数,获取前预定数量个调用次数占比最大的系统函数及其调用次数占比作为所述训练样本的样本数据,获取作业的作业类型,及其对应的读写资源配置作为该训练样本的标注数据。
17.如权利要求15或16所述的方法,其中,所述作业分类模型通过k-means算法实现。
18.如权利要求16所述的方法,其中,所述系统调用数据通过perf采集。
19.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-18中任一项所述方法的指令。
20.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-18中任一项所述方法。
CN202010741987.8A 2020-07-29 2020-07-29 一种动态调整文件系统读写资源的方法 Active CN111625367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010741987.8A CN111625367B (zh) 2020-07-29 2020-07-29 一种动态调整文件系统读写资源的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010741987.8A CN111625367B (zh) 2020-07-29 2020-07-29 一种动态调整文件系统读写资源的方法

Publications (2)

Publication Number Publication Date
CN111625367A true CN111625367A (zh) 2020-09-04
CN111625367B CN111625367B (zh) 2020-11-27

Family

ID=72272957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010741987.8A Active CN111625367B (zh) 2020-07-29 2020-07-29 一种动态调整文件系统读写资源的方法

Country Status (1)

Country Link
CN (1) CN111625367B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936223A (zh) * 2022-05-27 2022-08-23 阿里云计算有限公司 数据处理方法、装置、设备和存储介质
CN116089248A (zh) * 2023-04-07 2023-05-09 中国空气动力研究与发展中心计算空气动力研究所 一种写i/o突发分布预测方法、装置、设备及存储介质
CN116760851A (zh) * 2023-08-18 2023-09-15 绛县祥信盈风力发电有限公司 一种用于继电保护定值单的云存储方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392558B1 (en) * 2011-03-22 2013-03-05 Amazon Technologies, Inc. System and method for determining overload state for service requests
CN103207804A (zh) * 2013-04-07 2013-07-17 杭州电子科技大学 基于集群作业日志的MapReduce负载模拟方法
CN108874539A (zh) * 2018-03-13 2018-11-23 Oppo广东移动通信有限公司 资源配置方法、装置、终端及存储介质
CN109587217A (zh) * 2018-11-06 2019-04-05 华中科技大学 一种大规模分布式系统的智能监控与管理方法及系统
CN109933306A (zh) * 2019-02-11 2019-06-25 山东大学 混合计算框架生成、数据处理方法、装置及混合计算框架

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392558B1 (en) * 2011-03-22 2013-03-05 Amazon Technologies, Inc. System and method for determining overload state for service requests
CN103207804A (zh) * 2013-04-07 2013-07-17 杭州电子科技大学 基于集群作业日志的MapReduce负载模拟方法
CN108874539A (zh) * 2018-03-13 2018-11-23 Oppo广东移动通信有限公司 资源配置方法、装置、终端及存储介质
CN109587217A (zh) * 2018-11-06 2019-04-05 华中科技大学 一种大规模分布式系统的智能监控与管理方法及系统
CN109933306A (zh) * 2019-02-11 2019-06-25 山东大学 混合计算框架生成、数据处理方法、装置及混合计算框架

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936223A (zh) * 2022-05-27 2022-08-23 阿里云计算有限公司 数据处理方法、装置、设备和存储介质
CN114936223B (zh) * 2022-05-27 2024-07-23 阿里云计算有限公司 数据处理方法、装置、设备和存储介质
CN116089248A (zh) * 2023-04-07 2023-05-09 中国空气动力研究与发展中心计算空气动力研究所 一种写i/o突发分布预测方法、装置、设备及存储介质
CN116089248B (zh) * 2023-04-07 2023-06-02 中国空气动力研究与发展中心计算空气动力研究所 一种写i/o突发分布预测方法、装置、设备及存储介质
CN116760851A (zh) * 2023-08-18 2023-09-15 绛县祥信盈风力发电有限公司 一种用于继电保护定值单的云存储方法
CN116760851B (zh) * 2023-08-18 2023-10-17 绛县祥信盈风力发电有限公司 一种用于继电保护定值单的云存储方法

Also Published As

Publication number Publication date
CN111625367B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN111625367B (zh) 一种动态调整文件系统读写资源的方法
TWI620075B (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
CN111406250B (zh) 无服务器计算环境中的使用经预取的数据的配设
CN109710405B (zh) 区块链智能合约管理方法、装置、电子设备及存储介质
CN109086135B (zh) 资源伸缩方法、装置、计算机设备及存储介质
CN111343288B (zh) 作业调度方法、系统及计算设备
CN111124254B (zh) 调度存储空间回收请求的方法、电子设备和程序产品
CN108959399A (zh) 分布式数据删除流控方法、装置、电子设备及存储介质
US9298500B2 (en) Information processing system and control method of information processing system for managing jobs in a distributed multi-node environment
CN112148468A (zh) 一种资源调度方法、装置、电子设备及存储介质
CN113296929A (zh) 基于云计算的资源匹配方法、装置及系统
CN114090223A (zh) 访存请求调度方法、装置、设备以及存储介质
CN113946430B (zh) 一种作业调度方法、计算设备及存储介质
CN116820714A (zh) 一种算力设备的调度方法、装置、设备和存储介质
WO2024114728A1 (zh) 一种异构处理器及相关调度方法
CN114356531A (zh) 基于K-means聚类和排队理论的边缘计算任务分类调度方法
WO2016197706A1 (zh) 数据的迁移方法及装置
CN113918352A (zh) 一种服务资源配置方法、计算设备及存储介质
KR101695238B1 (ko) 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법
CN115951988B (zh) 一种作业调度方法、计算设备及存储介质
CN116089477B (zh) 分布式训练方法及系统
CN110347477B (zh) 一种云环境下服务自适应部署方法和装置
CN116450290A (zh) 计算机资源的管理方法、装置、云服务器及存储介质
CN115016890A (zh) 虚拟机资源分配方法、装置、电子设备及存储介质
TW202315360A (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