CN116263706A - 一种动态调整读写性能的方法、装置、介质及电子设备 - Google Patents

一种动态调整读写性能的方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN116263706A
CN116263706A CN202111533995.4A CN202111533995A CN116263706A CN 116263706 A CN116263706 A CN 116263706A CN 202111533995 A CN202111533995 A CN 202111533995A CN 116263706 A CN116263706 A CN 116263706A
Authority
CN
China
Prior art keywords
load value
current system
real
read
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111533995.4A
Other languages
English (en)
Inventor
曹智
程冰冰
张飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN202111533995.4A priority Critical patent/CN116263706A/zh
Publication of CN116263706A publication Critical patent/CN116263706A/zh
Pending legal-status Critical Current

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种动态调整读写性能的方法、装置、介质及电子设备。该方法包括:获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。本技术方案,可以在进行数据读写时,结合系统实时负载情况,及时调整读写的速率,即充分的利用了系统资源,又不影响其他业务的正常运行。

Description

一种动态调整读写性能的方法、装置、介质及电子设备
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种动态调整读写性能的方法、装置、介质及电子设备。
背景技术
在开发过程中经常出现要进行文件或者块设备数据的读写,同时为了提高效率会使用多线程的方式。因此经常会采用pread()和pwrite()的方法。pread()和pwrite()系统调用在多线程应用程序中特别有优势,它们允许多个线程在同一个文件描述符上执行I/O操作,而且不受其他线程对文件偏移量更改的影响。在实际生产业务中会用到多线程循环从A块设备读取数据,然后写入到B块设备。由于硬件性能限制,在读写过程中会存在pwrite()时一直等待I/O返回,CPU(Central Processing Unit,中央处理器)的IO等待时间值居高不下,严重时会影响其他业务的正常运行。因此读写数据时兼顾系统负载是必不可少的。
目前常用的技术手段是在读写数据之前,首先设置读写业务的优先级,将它与其他生产业务优先级进行区分,降低读写业务的速率,减少对其他业务的影响。
但是以业务进行区分优先级,无法充分的利用系统资源,不可避免的有系统资源浪费。设置优先级给软件使用人员增加了难度,设置不当可能仍无法避免业务之间的影响。
发明内容
本申请实施例提供一种动态调整读写性能的方法、装置、介质及电子设备,当进行数据读写时,结合系统实时负载情况,及时调整读写的速率,即充分的利用了系统资源,又不影响其他业务的正常运行。
第一方面,本申请实施例提供了一种动态调整读写性能的方法,该方法包括:
获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
第二方面,本申请实施例提供了一种动态调整读写性能的装置,该装置包括:
当前系统参数获取单元,用于获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
实时负载值得到单元,用于根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
缓冲区大小调整单元,用于利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
第三方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的动态调整读写性能的方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的动态调整读写性能的方法。
本申请实施例所提供的技术方案,获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值,然后根据中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值,并利用实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。本技术方案,可以在进行数据读写时,结合系统实时负载情况,及时调整读写的速率,即充分的利用了系统资源,又不影响其他业务的正常运行。
附图说明
图1是本申请实施例一提供的动态调整读写性能的方法的流程图;
图2是本申请实施例一提供的当前系统运行参数的示意图;
图3是本申请实施例二提供的动态调整读写性能的过程的示意图;
图4是本申请实施例二提供的动态调整读写业务性能的流程图;
图5是本申请实施例二提供的系统负载分析服务流程图;
图6是本申请实时例二提供的数据读写任务的示意图;
图7是本申请实施例三提供的动态调整读写性能的装置的结构示意图;
图8是本申请实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的动态调整读写性能的方法的流程图,本实施例可适用于结合系统实时负载调整系统读写性能的情况,该方法可以由本申请实施例所提供的动态调整读写性能的装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于用于系统读写性能调整的智能终端等设备中。
如图1所示,所述动态调整读写性能的方法包括:
S110、获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
其中,中央处理器核数用于表征一个CPU由多少个核心组成,核心数越多,代表这个CPU的运转速度越快,性能越好。中央处理器核数可以根据当前系统的硬件性能进行确定,例如,中央处理器核数可以是2核,也可以是4核。
在本实施例中,中央处理器使用率用于表征单位时间内系统运行的程序占用的CPU资源。可以根据每秒CPU的空闲占比计算得到CPU使用率。
在本实施例中,初始平均负载值可以是指一段时间内的负载均值。其中,预设时间段内系统的初始平均负载值可以是一个或者多个,例如,预设时间段内系统的初始平均负载值可以是系统运行时前1分钟内的负载均值,也可以是前10分钟内的负载均值。
在本方案中,在读写任务启动时,可以发送指令给当前系统,读取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值。
S120、根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
其中,实时负载可以是指当前正在被CPU执行和等待被CPU执行的进程数目总和。
在本方案中,对于多核CPU情况下,理论上,负载值等于CPU核数则是所有的CPU都在使用,并且没有进程等待处理,即系统刚好被充分利用;负载值大于CPU核数则表示有进程正在排队,等待CPU处理,即系统资源不足会影响程序性能;负载值小于CPU核数则表示CPU有空闲,存在资源浪费。但是实际上CPU使用率,跟平均负载并不一定完全对应。比如:CPU密集型进程,使用大量CPU会导致平均负载升高,此时这两者是一致的;I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使用率不一定很高;大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高。因此,如果要更真实地表示出当前系统的运行状态,就需要结合平均负载值与CPU使用率来分析。
具体的,可以根据中央处理器核数和初始平均负载值计算得到系统平均负载值,并根据系统平均负载值和中央处理器使用率计算得到当前系统的实时负载值。
在本技术方案中,可选的,根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值,包括:
将所述初始平均负载值和中央处理器核数进行相除,得到至少两个比值;
将所述至少两个比值进行加权处理,得到目标平均负载值;
利用所述目标平均负载值和中央处理器使用率,计算得到当前系统的实时负载值。
其中,目标平均负载值可以是指系统平均负载值,可以根据不同时间段内系统的初始平均负载值计算得到。
优选的,初始平均负载值可以是当前系统运行的前1分钟内的平均负载值、前10分钟内的平均负载值以及前15分钟内的平均负载值。
在本方案中,可以将初始平均负载值依次与中央处理器核数进行相除,并按照不同权重比例将相除的结果进行加权组合,得到目标平均负载值。其中,权重比例可以根据平均负载时间进行设置。
示例性的,可以设置前1分钟内的平均负载值的权重比例为70%,前10分钟内的平均负载值的权重比例为20%,以及前15分钟内的平均负载值的权重比例为10%,则可以采用如下公式计算目标平均负载值:
Figure BDA0003411914670000061
其中,SLA为目标平均负载值,1LA为前1分钟内的平均负载值,10LA为前10分钟内的平均负载值,15LA为前15分钟内的平均负载值,CCN为中央处理器核数,X为权重比例。
在本实施例中,当前系统的实时负载值与平均负载值和中央处理器使用率有关,则可以基于计算得到的目标平均负载值和中央处理器核数计算得到当前系统的实时负载值。
通过计算当前系统的实时负载值,能够基于实时负载值调整系统读写性能,即充分的利用了系统资源,又不影响其他业务的正常运行。
在本技术方案中,可选的,利用所述目标平均负载值和中央处理器使用率,计算得到当前系统的实时负载值,包括:
将所述目标平均负载值和中央处理器使用率进行加权组合,计算得到当前系统的实时负载值。
其中,可以根据目标平均负载值和中央处理器使用率与实时负载的相关性进行设置加权系数。
示例性的,可以设置目标平均负载值的加权系数为30%,中央处理器使用率的加权系数为70%。
通过设置不同的加权系数将目标平均负载值和中央处理器使用率进行组合,计算得到当前系统的实时负载值,即考虑硬件基础又考虑系统业务运行情况,提高了实时负载值计算的准确率。
在本技术方案中,可选的,将所述目标平均负载值和中央处理器使用率进行加权组合,计算得到当前系统的实时负载值,包括:
采用如下公式计算实时负载值:
ASL=(SAL×Y1)+(CU×Y2);
其中,ASL为实时负载值,SAL为目标平均负载值,CU为中央处理器使用率,Y1和Y2为加权系数。
示例性的,图2是本申请实施例一提供的当前系统运行参数的示意图,如图2所示,参数设置的实际数值如下:CCN为4核;1LA为4.21,10LA为4.19,15LA为4.18;CPU的空闲占比为96、98、98、89、99、97、98、96、99、97。则目标平均负载值为:
Figure BDA0003411914670000081
中央处理器使用率为:
Figure BDA0003411914670000082
实时负载值为:ASL=105.08%×30%+2.63%×70%=33.37%。其中,中央处理器使用率在计算过程中去除了CPU的空闲占比中的最大值和最小值。
通过设置不同的加权系数将目标平均负载值和中央处理器使用率进行组合,计算得到当前系统的实时负载值,即考虑硬件基础又考虑系统业务运行情况,提高了实时负载值计算的准确率。
S130、利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
其中,缓冲区可以是指在内存中预留指定大小的存储空间,用来对I/O的数据做临时存储。
在本方案中,由pread和pwrite的接口实现可知,读写的性能以及读写时对系统的影响主要由俩部分决定,一是读写时每次循环的缓冲区大小,一是读写时每次循环的间隔时间。其中缓冲区越大,每次拷贝的数据量就越大,读写就越耗时,读写效率越高,同时对系统资源占用更大;间隔时间越大,则读写的频次会越低,读写效率越低,同时对系统资源的占用就更小。因此要想平衡读写的性能与系统负载,就要从这俩个关键参数入手。
在本实施例中,可以根据实时负载值调大或者调小缓冲区,间隔时间可以采用预先设置的系统默认值。
在本技术方案中,可选的,利用所述实时负载值,调整缓冲区大小,包括:
在所述实时负载值满足预设标准负载值条件的情况下,根据预先确定的当前系统控制器参数调大缓冲区;其中,所述预设标准负载值条件是根据初始平均负载和中央处理器核数进行确定的;所述当前系统控制器参数包括比例参数、积分参数和微分参数;
在所述实时负载值不满足预设标准负载值条件的情况下,根据预先确定的当前系统控制器参数调小缓冲区。
在本方案中,可以在初始平均负载值等于中央处理器核数的情况下,按照预设负载值计算公式,计算得到标准负载值,并根据标准负载值设置标准负载值条件。若实时负载值小于等于标准负载值,则实时负载值满足预设标准负载值条件;若实时负载值大于标准负载值,则实时负载值不满足预设标准负载值条件。
示例性的,在初始均负载值等于中央处理器核数的情况下,计算得到的目标平均负载值为100%,假设中央处理器使用率为70%,则计算得到的标准负载值为79%,则可以将79%设置为标准负载值条件。
在本实施例中,当前系统控制器可以是指PID控制器。PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到比较满意的效果。PID控制的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。
PID控制器的控制规律为:
Figure BDA0003411914670000101
其中,Kp为控制器的比例参数。成比例的控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差;Tt为控制器的积分参数,积分环节主要用于消除静差,积分作用的强弱取决于积分时间常数,积分时间常数越大,积分作用越弱,反之则越强;Td为控制器的微分参数,反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
在进行微积分运算过程中,需要利用采用将数据进行离散化,则得到的PID离散公式为:
Figure BDA0003411914670000102
其中,u(k)为系统计算得到的系统运行值。
首先要进行数据拟合和模型构建,然后训练出针对当前运行的硬件环境所对应的最优PID参数,主要是上述公式的KP、Ki和Kd,并基于最优PID参数计算得到系统运行值,并基于系统运行值调整缓冲区。其中,计算得到系统运行值与缓冲区大小的匹配关系是预先确定的。
采用PID算法,实现了能够快速稳定地计算出最优读写参数,克服了单纯按比例调节算法的调节不及时以及调节过度的问题。
在本技术方案中,可选的,所述当前系统控制器参数的确定过程包括:
将预先获得的缓冲区数值以及与所述缓冲区数值相对应的实时负载值,进行数据拟合,得到至少一个当前系统控制器参数。
在本方案中,根据当前硬件环境测试不同读写参数下对应系统负载的情况,并计算出PID公式中的关键参数KP、Ki和Kd。计算方式如:1ms、10ms和100ms间隔时间下,缓冲区为2Kb、4Kb、8Kb、16Kb、32Kb、64Kb、128Kb、256Kb、512Kb和1024KB时分别对应的系统负载,然后进行数据拟合,再根据拟合结果将PID公式中KP、Ki和Kd计算得出。其中,可以计算多个控制器参数作为不同的调节模板,多个模板可以进行切换。例如,可以计算高中低三个调节模板,不同模板调整缓冲区的速度不同。
采用PID算法,实现了能够快速稳定地计算出最优读写参数,克服了单纯按比例调节算法的调节不及时以及调节过度的问题。
本申请实施例所提供的技术方案,获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值,然后根据中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值,并利用实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。通过执行本技术方案,可以在进行数据读写时,结合系统实时负载情况,提升了调整读写的速率,即充分的利用了系统资源,又不影响其他业务的正常运行,并且是动态实时调整,减少了人为干预带来的误差。
实施例二
图3是本申请实施例二提供的动态调整读写性能的过程的示意图,本实施例二在实施例一的基础上进行进一步地优化。具体优化为:获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值,包括:若接收到线程业务读写模块发送的启动指令,则基于系统负载分析模块,定时获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;相应的,利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能,包括:利用所述实时负载值,调整缓冲区大小,并将调整后的缓冲区大小保存至共享内存模块,以供线程业务读写模块读取所述缓冲区大小,动态调整当前系统的读写性能。其中,未在本实施例中详尽描述的内容详见实施例一。如图3所示,该方法包括以下步骤:
S310、若接收到线程业务读写模块发送的启动指令,则基于系统负载分析模块,定时获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值。
在本方案中,由系统负载分析模块、共享内存模块和线程业务读写模块共同进行系统读写性能的调整。其中,系统负载分析模块用于在读写过程中定时按照定义的算法结合硬件基础,计算出当前的负载情况,根据负载情况调整缓冲区,将缓冲区大小和预先获得的等待时间更新到共享内存模块;共享内存模块用于存储缓冲区大小和等待时间;线程业务读写模块用于从共享内存模块中读取缓冲区大小和等待时间,进行数据读写任务。
示例性的,图4是本申请实施例二提供的动态调整读写业务性能的流程图,如图4所示,由系统负载分析模块设置缓冲区大小和等待时间,并将缓冲区大小和等待时间保存到共享内存模块,线程业务读写模块从共享内存模块中读取缓冲区大小和等待时间,进行数据读写任务。
其中,共享内存就是使得多个进程可以访问同一块内存空间(通常被称为段),由于一个共享内存段会成为一个进程用户空间内存的一部分,因此这种IPC及机制无需内核介入,同时该技术也是针对其他通信机制运行效率较低而设计的。其主要工作方式:进程能把同一段共享内存段“连接到”他们自己的地址空间里去,所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进程看到。共享内存的使用大大降低了在大规模数据处理过程中内存的消耗,在生产环境中常用。
在本实施例中,在开发过程中经常出现要进行文件或者块设备数据的读写,同时为了提高效率会使用多线程的方式。
其中,启动指令可以是由字母、数字或者字符串等形式构成的指令。
在本方案中,在读写任务过程中,由线程业务读写模块创建多个线程,并发送启动指令至系统负载分析模块,若系统分析模块接受到启动指令,则定时获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值。
S320、根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
S330、利用所述实时负载值,调整缓冲区大小,并将调整后的缓冲区大小保存至共享内存模块,以供线程业务读写模块读取所述缓冲区大小,动态调整当前系统的读写性能。
在本实施例中,由系统负载分析模块根据计算得到的实时负载值调整缓冲区大小,并调整后的缓冲区大小保存至共享内存模块,由线程业务读写模块根据读取的缓冲区大小和等待时间进行数据的读写,保证读写业务正常工作,读写业务不再是使用固定的参数进行工作,而是根据共享内存中最优的参数进行读写,提升了读写的效率。
示例性的,图5是本申请实施例二提供的系统负载分析服务流程图,如图5所示,若系统分析模块未接收到停止信号,则获取中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值,根据中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值计算得到实时负载值,判断实时负载值是否满足预设标准值条件,即当前系统是否处于业务高峰,若是,则基于PID参数调大缓冲区;若否,则基于PID参数调小缓冲区,并将调整后的参数更新到共享内存模块中,以用于动态调整系统读写性能。
示例性的,图6是本申请实时例二提供的数据读写任务的示意图,如图6所示,由线程业务读写模块在读写任务开始时创建读写任务,并将读写任务分为多个线程,启动系统负载服务,即发送启动指令至系统负载分析模块,由系统负载分析模块将调整后的缓冲区大小以及预先确定的等待时间保存到共享内存模块中。然后判断全部任务是否处理完成,若完成,则发送停止信号至系统负载分析模块;若未完成,则从共享内存模块读取缓冲区大小和等待时间,进行读写任务。其中,线程业务读写模块在创建读写任务时,都会从共享内存模块中获取出默认缓冲值和等待时间开始工作,通知立即启动统负载分析服务。
本申请实施例所提供的技术方案,若接收到线程业务读写模块发送的启动指令,则基于系统负载分析模块,定时获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值,并根据中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值,然后利用实时负载值,调整缓冲区大小,并将调整后的缓冲区大小保存至共享内存模块,以供线程业务读写模块读取缓冲区大小,动态调整当前系统的读写性能。通过执行本技术方案,可以在进行数据读写时,结合系统实时负载情况,提升了调整读写的速率,即充分的利用了系统资源,又不影响其他业务的正常运行,并且是动态实时调整,减少了人为干预带来的误差,读写业务不再是使用固定的参数进行工作,而是根据共享内存中最优的参数进行读写,提升了读写的效率。
实施例三
图7是本申请实施例三提供的动态调整读写性能的装置的结构示意图,如图7所示,动态调整读写性能的装置包括:
当前系统参数获取单元710,用于获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
实时负载值得到单元720,用于根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
缓冲区大小调整单元730,用于利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
在本技术方案中,可选的,实时负载值得到单元720,包括:
比值计算子单元,用于将所述初始平均负载值和中央处理器核数进行相除,得到至少两个比值;
目标平均负载值得到子单元,用于将所述至少两个比值进行加权处理,得到目标平均负载值;
实时负载值计算子单元,用于利用所述目标平均负载值和中央处理器使用率,计算得到当前系统的实时负载值。
在本技术方案中,可选的,实时负载值计算子单元,具体用于:
将所述目标平均负载值和中央处理器使用率进行加权组合,计算得到当前系统的实时负载值。
在本技术方案中,可选的,实时负载值计算子单元,具体用于:
采用如下公式计算实时负载值:
ASL=(SAL×Y1)+(CU×Y2);
其中,ASL为实时负载值,SAL为目标平均负载值,CU为中央处理器使用率,Y1和Y2为加权系数。
在本技术方案中,可选的,缓冲区大小调整单元730,包括:
缓冲区调大子单元,用于在所述实时负载值满足预设标准负载值条件的情况下,根据预先确定的当前系统控制器参数调大缓冲区;其中,所述预设标准负载值条件是根据初始平均负载和中央处理器核数进行确定的;所述当前系统控制器参数包括比例参数、积分参数和微分参数;
缓冲区调小子单元,用于在所述实时负载值不满足预设标准负载值条件的情况下,根据预先确定的当前系统控制器参数调小缓冲区。
在本技术方案中,可选的,缓冲区调大子单元,具体用于:
将预先获得的缓冲区数值以及与所述缓冲区数值相对应的实时负载值,进行数据拟合,得到至少一个当前系统控制器参数。
在本技术方案中,可选的,当前系统参数获取单元710,具体用于:
若接收到线程业务读写模块发送的启动指令,则基于系统负载分析模块,定时获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
相应的,缓冲区大小调整单元730,具体用于:
利用所述实时负载值,调整缓冲区大小,并将调整后的缓冲区大小保存至共享内存模块,以供线程业务读写模块读取所述缓冲区大小,动态调整当前系统的读写性能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种动态调整读写性能的方法,该方法包括:
获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
介质——任何的各种类型的存储器设备或存储设备。术语“介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。介质可以还包括其它类型的存储器或其组合。另外,介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多介质。介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的介质,其计算机可执行指令不限于如上所述的动态调整读写性能的操作,还可以执行本申请任意实施例所提供的动态调整读写性能的方法中的相关操作。
实施例五
本申请实施例提供了一种电子设备,该电子设备中可集成本申请实施例提供的动态调整读写性能的装置。图8是本申请实施例五提供的一种电子设备的结构示意图。如图8所示,本实施例提供了一种电子设备800,其包括:一个或多个处理器820;存储装置810,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器820执行,使得所述一个或多个处理器820实现本申请实施例所提供的动态调整读写性能的方法,该方法包括:
获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
当然,本领域技术人员可以理解,处理器820还实现本申请任意实施例所提供的动态调整读写性能的方法的技术方案。
图8显示的电子设备800仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,该电子设备800包括处理器820、存储装置810、输入装置830和输出装置840;电子设备中处理器820的数量可以是一个或多个,图4中以一个处理器820为例;电子设备中的处理器820、存储装置810、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线850连接为例。
存储装置810作为一种计算机可读介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的动态调整读写性能的方法对应的程序指令。
存储装置810可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置810可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置810可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏、扬声器等电子设备。
本申请实施例提供的电子设备,可以达到在进行数据读写时,结合系统实时负载情况,及时调整读写的速率,充分利用系统资源,又不影响其他业务的正常运行的目的。
上述实施例中提供的动态调整读写性能的装置、介质及电子设备可执行本申请任意实施例所提供的动态调整读写性能的方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的动态调整读写性能的方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种动态调整读写性能的方法,其特征在于,包括:
获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
2.根据权利要求1所述的方法,其特征在于,根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值,包括:
将所述初始平均负载值和中央处理器核数进行相除,得到至少两个比值;
将所述至少两个比值进行加权处理,得到目标平均负载值;
利用所述目标平均负载值和中央处理器使用率,计算得到当前系统的实时负载值。
3.根据权利要求2所述的方法,其特征在于,利用所述目标平均负载值和中央处理器使用率,计算得到当前系统的实时负载值,包括:
将所述目标平均负载值和中央处理器使用率进行加权组合,计算得到当前系统的实时负载值。
4.根据权利要求3所述的方法,其特征在于,将所述目标平均负载值和中央处理器使用率进行加权组合,计算得到当前系统的实时负载值,包括:
采用如下公式计算实时负载值:
ASL=(SAL×Y1)+(CU×Y2);
其中,ASL为实时负载值,SAL为目标平均负载值,CU为中央处理器使用率,Y1和Y2为加权系数。
5.根据权利要求1所述的方法,其特征在于,利用所述实时负载值,调整缓冲区大小,包括:
在所述实时负载值满足预设标准负载值条件的情况下,根据预先确定的当前系统控制器参数调大缓冲区;其中,所述预设标准负载值条件是根据初始平均负载和中央处理器核数进行确定的;所述当前系统控制器参数包括比例参数、积分参数和微分参数;
在所述实时负载值不满足预设标准负载值条件的情况下,根据预先确定的当前系统控制器参数调小缓冲区。
6.根据权利要求5所述的方法,其特征在于,所述当前系统控制器参数的确定过程包括:
将预先获得的缓冲区数值以及与所述缓冲区数值相对应的实时负载值,进行数据拟合,得到至少一个当前系统控制器参数。
7.根据权利要求1所述的方法,其特征在于,获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值,包括:
若接收到线程业务读写模块发送的启动指令,则基于系统负载分析模块,定时获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
相应的,利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能,包括:
利用所述实时负载值,调整缓冲区大小,并将调整后的缓冲区大小保存至共享内存模块,以供线程业务读写模块读取所述缓冲区大小,动态调整当前系统的读写性能。
8.一种动态调整读写性能的装置,其特征在于,包括:
当前系统参数获取单元,用于获取当前系统的中央处理器核数、中央处理器使用率以及预设时间段内系统的初始平均负载值;
实时负载值得到单元,用于根据所述中央处理器核数、中央处理器使用率和初始平均负载值,计算得到当前系统的实时负载值;
缓冲区大小调整单元,用于利用所述实时负载值,调整缓冲区大小,以用于动态调整当前系统的读写性能。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的动态调整读写性能的方法。
10.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的动态调整读写性能的方法。
CN202111533995.4A 2021-12-15 2021-12-15 一种动态调整读写性能的方法、装置、介质及电子设备 Pending CN116263706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111533995.4A CN116263706A (zh) 2021-12-15 2021-12-15 一种动态调整读写性能的方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111533995.4A CN116263706A (zh) 2021-12-15 2021-12-15 一种动态调整读写性能的方法、装置、介质及电子设备

Publications (1)

Publication Number Publication Date
CN116263706A true CN116263706A (zh) 2023-06-16

Family

ID=86722562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111533995.4A Pending CN116263706A (zh) 2021-12-15 2021-12-15 一种动态调整读写性能的方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN116263706A (zh)

Similar Documents

Publication Publication Date Title
WO2021233261A1 (zh) 一种多任务动态资源调度方法
RU2503987C2 (ru) Энергосберегающее планирование потоков и динамическое использование процессоров
US10664318B2 (en) Method and apparatus for allocating computing resources of processor
US10152438B2 (en) Deferred inter-processor interrupts
CN109074331B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
US20020007387A1 (en) Dynamically variable idle time thread scheduling
WO2021000758A1 (zh) 机器人资源任务周期管控方法及装置
US10503238B2 (en) Thread importance based processor core parking and frequency selection
JP2007519060A (ja) タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体
US20050262365A1 (en) P-state feedback to operating system with hardware coordination
US20120254822A1 (en) Processing optimization load adjustment
CN113032152B (zh) 用于深度学习框架的调度方法、调度装置、电子设备、存储介质和程序产品
CN110795238A (zh) 负载计算方法、装置、存储介质及电子设备
US20180203810A1 (en) Priority framework for a computing device
CN114253683B (zh) 任务处理方法、装置、电子设备及存储介质
CN103543982B (zh) 一种时钟频率管理方法及移动设备
US7421592B1 (en) High performance counter for realistic measurement of computer system load
US20160091949A1 (en) Performance management for a multiple-cpu platform
CN116263706A (zh) 一种动态调整读写性能的方法、装置、介质及电子设备
WO2020026010A2 (zh) 任务执行的调控方法、装置、设备/终端/服务器及存储介质
CN116302558A (zh) 线程调度方法、装置及电子设备
CN111338803A (zh) 一种线程处理方法和装置
CN109426556B (zh) 一种进程调度方法和装置
WO2021081813A1 (zh) 多核处理器及其调度方法、设备及存储介质
CN111026258A (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