CN117687792A - 一种系统关键进程低延时响应方法、装置、设备和介质 - Google Patents
一种系统关键进程低延时响应方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117687792A CN117687792A CN202311826471.3A CN202311826471A CN117687792A CN 117687792 A CN117687792 A CN 117687792A CN 202311826471 A CN202311826471 A CN 202311826471A CN 117687792 A CN117687792 A CN 117687792A
- Authority
- CN
- China
- Prior art keywords
- key
- cpu
- preset
- memory
- available memory
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 684
- 230000008569 process Effects 0.000 title claims abstract description 611
- 230000004044 response Effects 0.000 title claims abstract description 68
- 239000011159 matrix material Substances 0.000 claims description 54
- 238000004891 communication Methods 0.000 claims description 22
- 230000001105 regulatory effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000004886 process control Methods 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 7
- 238000011161 development Methods 0.000 claims description 7
- 230000005059 dormancy Effects 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 238000002955 isolation Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002068 genetic effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241001417495 Serranidae Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004060 metabolic process Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
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
本发明公开一种系统关键进程低延时响应方法、装置、设备和介质。该方法包括:将关键进程注册至关键进程链表中;获取系统内存对应的当前指标参数,基于当前指标参数和预设灰色预测模型确定未来可用内存;基于关键进程数、所获取的CPU核心数以及进程优先级进行划分关键进程对应的CPU使用率以得到CPU使用率的划分结果;响应于进程切换操作,基于未来可用内存、划分结果以及可用内存阈值确定关键进程所在关键进程组的内存限制策略,以使频率调节器根据内存限制策略调整运行频率,实现关键进程进行低时延响应。本发明实施例通过上述技术方案能够减少非关键进程对关键进程运行的干扰,提高关键进程的运行效率,增强用户体验与行车安全。
Description
技术领域
本发明涉及车机技术领域,尤其涉及一种系统关键进程低延时响应方法、装置、设备和介质。
背景技术
随着汽车工业的快速发展,作为现代汽车操作系统的“灵魂”的车载操作系统也愈发受到重视,随着技术的不断进步,车载操作系统已成为汽车电子化的重要组成部分,不仅可以提供车辆的基本控制和监测功能,还能够实现车辆信息娱乐、导航、智能驾驶等高级功能。车载操作系统的发展也为汽车制造商提供了更多的创新空间,同时也为消费者带来更加便捷、智能、安全的驾驶体验。作为车载操作系统最小功能执行单位的各种进程,其快速低延迟响应能力具有重要性。
为了实现快速低延迟的软件响应,现代汽车系统采用了多种技术手段,包括高效的软件算法和数据结构设计、实时操作系统、硬件加速等。其中的硬件加速与搭载实时操作系统,前者因为考虑成本问题,在一些中低端产品上很难实现普及。而后者搭载实时操作系统也因为其复杂性维护成本高、可扩展性和灵活性较差,难以应对不断变化的需求和环境,只能在汽车关键的域搭载,例如“动力域”、“底盘域”等。“软件算法和数据结构设计”这一层面,主要分为两种,一种是基于心跳检测机制,但是这种方式不具有泛用性,并且该机制长期后台运行是否会带来额外的系统开销也缺乏论证;另一种是,通过调整时间片的进程加速,但是对与一个进程来说,它的流畅运行,瓶颈通常不会只有CPU运行时间,可能还有内存、硬盘等一种或者几种的组合,只考虑其中一种,优化的效果可能并不明显,并且因为其动态调整的策略,可能在一些临界点,其加速、减速过程的切换可能会成为新的应用卡顿点,非关键进程对关键进程运行的干扰严重,运行效率极低,因此亟需一种系统关键进程低时延响应方法,以解决上述技术问题。
发明内容
有鉴于此,本发明提供一种系统关键进程低延时响应方法、装置、设备和介质,能够最大化地减少非关键进程对关键进程运行的干扰,提高关键进程的运行效率,从而提升非传统域的应用响应时间、座舱域系统的稳定性,提升应用的流畅性,增强用户体验与行车安全。
根据本发明的一方面,本发明实施例提供了一种系统关键进程低延时响应方法,所述方法包括:
根据预设业务需求确定关键进程和普通进程,并将所述关键进程注册至预先创建的关键进程链表中;
获取系统内存对应的当前指标参数,基于所述当前指标参数和预设灰色预测模型确定未来可用内存;
统计所述关键进程链表中所包括的关键进程数,基于所述关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分所述关键进程对应的CPU使用率,以得到所述CPU使用率的划分结果;
响应于进程切换操作,基于所述未来可用内存、所述划分结果以及预先配置的可用内存阈值确定所述关键进程所在关键进程组的内存限制策略,以使频率调节器根据所述内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应。
根据本发明的另一方面,本发明实施例还提供了一种系统关键进程低延时响应装置,所述装置包括:
注册模块,用于根据预设业务需求确定关键进程和普通进程,并将所述关键进程注册至预先创建的关键进程链表中;
预测模块,用于获取系统内存对应的当前指标参数,基于所述当前指标参数和预设灰色预测模型确定未来可用内存;
划分模块,用于统计所述关键进程链表中所包括的关键进程数,基于所述关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分所述关键进程对应的CPU使用率,以得到所述CPU使用率的划分结果;
调整模块,用于响应于进程切换操作,基于所述未来可用内存、所述划分结果以及预先配置的可用内存阈值确定所述关键进程所在关键进程组的内存限制策略,以使频率调节器根据所述内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应。
根据本发明的另一方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的系统关键进程低延时响应方法。
根据本发明的另一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的系统关键进程低延时响应方法。
本发明实施例的技术方案,通过将关键进程注册至关键进程链表,基于当前指标参数和预设灰色预测模型确定未来可用内存,统计关键进程链表中所包括的关键进程数,基于关键进程数、所获取的CPU核心数以及进程优先级进行划分关键进程对应的CPU使用率以得到CPU使用率的划分结果;响应于进程切换操作,基于未来可用内存、划分结果以及可用内存阈值确定关键进程所在关键进程组的内存限制策略,以使频率调节器根据内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应,能够最大化地减少非关键进程对关键进程运行的干扰,提高关键进程的运行效率,从而提升非传统域的应用响应时间、座舱域系统的稳定性,提升应用的流畅性,增强用户体验与行车安全。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种系统关键进程低延时响应方法的流程图;
图2为本发明一实施例提供的一种系统关键进程低延时响应方法中未来可用内存预测的流程图;
图3为本发明一实施例提供的一种系统关键进程低延时响应方法中CPU使用率划分的流程图;
图4为本发明一实施例提供的一种系统关键进程低延时响应方法中调整限制策略的流程图;
图5为本发明一实施例提供的一种系统关键进程低延时响应方法中调整运行频率的流程图;
图6为本发明实施例提供的一种嵌入式计算平台软件架构;
图7为本发明实施例提供的一种系统关键进程低延时响应的整体架构图;
图8为本发明一实施例提供的一种系统关键进程低延时响应装置的结构框图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一实施例中,图1为本发明一实施例提供的一种系统关键进程低延时响应方法的流程图,本实施例可适用于对系统关键进程低时延响应时的情况,该方法可以由系统关键进程低延时响应装置来执行,该系统关键进程低延时响应装置可以采用硬件和/或软件的形式实现,该系统关键进程低延时响应装置可配置于电子设备中。
如图1所示,本实施例中系统关键进程低延时响应方法,所述方法,具体步骤包括:
S110、根据预设业务需求确定关键进程和普通进程,并将关键进程注册至预先创建的关键进程链表中。
其中,预设业务需求可以理解为用户对车机系统中相关应用的业务需要,可以依据业务需求将车机系统的相关进程进行划分为关键进程和普通进程,本实施例中,关键进程可以成为关键任务,普通进程也可以称为普通任务或者非关键任务。
在本实施例中,可以通过用户的相关业务需求将进程分为关键进程和非关键进程,当然,关键进程的数量为一个或多个,可以将每个关键进程和普通进程进行划分宏观的任务组别,即为将关键进程组成关键进程组别,将普通进程组成非关键进程组别。
在本实施例中,可以依据预设业务需求确定关键进程和普通进程,将区分后的关键进程分别注册至预先创建的关键进程链表中,该关键进程链表中包括每个关键进程的进程控制符(PID,Process Identifier),该PID也可以称为进程标识符,该每个关键进程的PID是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。具体的,关键进程的添加只需要向进程分组器内核模块利用虚拟文件系统接口在/proc目录下创建的节点内写入各进程的身份标识PID,即可完成关键进程链的注册。当然,也可以通过其他的方式以将关键进程注册至预先创建的关键进程链表中,本实施例在此不做限制。
S120、获取系统内存对应的当前指标参数,基于当前指标参数和预设灰色预测模型确定未来可用内存。
其中,当前指标参数即为当前车机所使用的操作系统内存对应的指标参数,该当前指标参数可以包括但不限于Mem Available、SwapUsage、PageFaults、Active,通过当前指标参数中每各指标参数均能在一定程度上反映系统内存开销的状况。
在本实施例中,预设灰色预测模型是一种基于灰色系统(OS内存系统)理论提出的灰色预测,是一种对含有不确定因素的系统进行内存预测的方法;在本实施例中,预设灰色预测模型可以理解为内存预测模型,其主要功能是对通过内存的一些当前关键指标,以进行预测在未来某一时刻的可用内存,从而来调整内存的分配。
在本实施例中,为了对系统内存在未来某一时刻的开销状态有一定预估,从而来调整内存的分配,需要对内存未来的一些开销进行预估,该预估则可以从当前系统内存的一些指标来预估,可以理解为,可以通过所获取系统内存对应的当前指标参数,以及预设灰色预测模型,以预测系统未来可用内存。在一些实施例中,可以将内存系统当做一个灰色系统,针对该灰色系统提出灰色预测模型,灰色预测模型是一种对含有不确定因素的系统进行预测的方法,通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况,在本实施例中,可以通过灰色预测模型,以及选取的当前指标参数,建立一个GM(n,x)模型,用n阶微分方程对x个变量建立模型,以进行预测系统的未来可用内存。具体的,可以通过所收集的包含时间序列的当前指标参数,并在包含时间序列的当前指标参数合格的情况下,根据合格的当前指标参数更新上一时刻的指标参数信息,确定模型的参数,建立模型,检验模型的拟合度,在该拟合度G满足预设拟合度阈值的情况下,将包含时间序列的当前指标参数输入至模型中得到下一时刻的未来可用内存。本实施例中,所预测得到的未来可用内存会实时写入共享内存中,以便后续使用。
S130、统计关键进程链表中所包括的关键进程数,基于关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分关键进程对应的CPU使用率,以得到CPU使用率的划分结果。
其中,进程优先级可以成为进程nice值,每个进程都拥有一个nice值,nice值可用于表示进程对系统资源的需求程度,决定进程在CPU调度时的优先级。本实施例中的进程优先级可以依据业务需求进行设置进程优先级。
在本实施例中,将关键进程注册至预先配置的关键进程链表中后,可以统计出关键进程链表中所包括的关键进程数,根据关键进程数和所获取的CPU核心数的比较结果进行第一次划分,在此基础上,基于预先配置的进程优先级进行第二次划分,得到关键进程对应的CPU使用率;在一些实施例中,在关键进程数大于或等于CPU核心数的一半的情况下,根据进程优先级将各关键进程迁移至预先创建的各个绑核进程组中,并将非关键进程迁移至预先创建的普通进程组中,按照各关键进程分别对应的进程优先级划分各关键进程分别对应的第一CPU使用率;在一些实施例中,在关键进程数小于CPU核心数的一半的情况下,则说明关键进程未达到预设关键进程数阈值,也即关键进程的数量比较少,先根据进程优先级将各关键进程迁移至预先创建的各个绑核进程组中,并将非关键进程迁移至预先创建的普通进程组中,可以直接为每个关键进程划分独立CPU,可以理解为,每个关键任务分享一个独立CPU以减低干扰。本实施例中,CPU使用率的划分结果会实时写入共享内存中。
S140、响应于进程切换操作,基于未来可用内存、划分结果以及预先配置的可用内存阈值确定关键进程所在关键进程组的内存限制策略,以使频率调节器根据所述内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应。
其中,可用内存阈值即为预先配置的内存阈值。目标进程组可以理解为需要进行频率调节的进程组。
在本实施例中,在进程发生切换操作时,可以根据共享内存中预测得到的未来可用内存,以及CPU使用率的划分结果调整CGROUP的限制策略,以及是否开启CPU频率调节器并且是否对CPU频率进行调节,在CPU频率调节器被激活后,频率调节器根据内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应,将非关键进程组所在的CPU核心进行降频,从而达到非关键进程对内存资源申请频率减低。需要说明的是,内存限制策略可以根据系统的具体业务进行一定程度的细分配置,可以理解为,配置阶梯可以根据系统的具体业务进行一定程度的细分。
在一实施例中,内存限制策略的预先配置,包括:在未来可用内存大于预设第一可用内存,且小于预设第二可用内存的情况下,关键进程组可用内存数值为MM_value1;在所述未来可用内存大于或等于预设第二可用内存,且小于预设第三可用内存的情况下,关键进程组可用内存数值为MM_value2;在未来可用内存大于或等于预设第三可用内存,且小于预设第四可用内存的情况下,关键进程组可用内存数值为MM_value3;其中,预设第四可用内存大于预设第三可用内存;预设第三可用内存大于预设第二可用内存;预设第二可用内存大于预设第一可用内存;预设第一可用内存为未来可用内存对应的最小可用内存。示例性的,在Mem Available_Min<Mem Available<Mem Available_I的情况下,关键进程组可用内存数值为MM_value1;在Mem Available_I≤Mem Available<Mem Available_II的情况下,关键进程组可用内存数值为MM_value2;在Mem Available_II≤Mem Available<MemAvailable_III的情况下,关键进程组可用内存数值为MM_value3。
本发明实施例的技术方案,通过将关键进程注册至关键进程链表,基于当前指标参数和预设灰色预测模型确定未来可用内存,统计关键进程链表中所包括的关键进程数,基于关键进程数、所获取的CPU核心数以及进程优先级进行划分关键进程对应的CPU使用率以得到CPU使用率的划分结果;响应于进程切换操作,基于未来可用内存、划分结果以及可用内存阈值确定关键进程所在关键进程组的内存限制策略,以使频率调节器根据内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应,能够最大化地减少非关键进程对关键进程运行的干扰,提高关键进程的运行效率,从而提升非传统域的应用响应时间、座舱域系统的稳定性,提升应用的流畅性,增强用户体验与行车安全。
在一实施例中,图2为本发明一实施例提供的一种系统关键进程低延时响应方法中未来可用内存预测的流程图,本实施例在上述各实施例的基础上,对将关键进程注册至预先创建的关键进程链表中;基于当前指标参数和预设灰色预测模型确定未来可用内存进行了进一步的细化。
如图2所示,本实施例中的系统关键进程低延时响应方法中未来可用内存预测,具体可以包含如下步骤:
S210、根据预设业务需求确定关键进程和普通进程,将关键进程和普通进程分别划分为关键任务组和非关键任务组。
在本实施例中,根据预设业务需求确定关键进程和普通进程,向关键进程链注册关键进程,从而区分关键进程与普通进程,通过各CPU内的就绪队列内关键任务的多少,将其划分为两个宏观组别:关键任务组别与非关键任务组别。
S220、通过预设虚拟文件系统接口在系统目录下写入关键任务组中各关键进程的进程控制符PID,以将各关键进程写入预先创建的关键进程链表。
其中,预设虚拟文件系统接口可以为proc文件系统接口;关键进程链表中的每个关键进程分别对应进程控制符PID标识。
在本实施例中,进程分组器综合考量抗干扰系统的开销、效率、便捷性等因素,设计为内核模块,在需要时插入系统即可。通过预设虚拟文件系统接口在系统目录下写入关键任务组中各关键进程的进程控制符PID,以将各关键进程写入预先创建的关键进程链表,可以理解为,关键进程的添加只需要向分组器内核模块利用proc文件系统(虚拟文件系统)接口在/proc目录下创建的节点内写入PID即可完成关键进程链的注册。
S230、获取系统内存对应的当前指标参数,依据当前指标参数更新历史指标参数得到目标指标参数。
其中,历史指标参数即为上一时刻的指标参数,目标指标参数即为指标参数更新后所得到目标指标参数。目标指标参数分为特征序列指标和因素序列指标;特征序列指标包括预设时间段内的Mem Available;因素序列指标包括:预设时间段内的SwapUsage、PageFaults、Active。
在本实施例中,获取系统内存对应的当前指标参数,依据当前指标参数更新历史指标参数得到目标指标参数,本实施例中将时间作为一个横轴,看时间刻度,要保证预测的精准度,来源信息预测指标的信息也需要进行同步更新,不是恒定的,已达到误差尽可能的小,可以理解为,在现实系统中,新的Mem Available数据不断涌现,未来的一些犹动因素将不断地相继侵入系统并产生影响。为了充分利用灰色预测模型少数据建模的特点以及当前数据中包含的丰富信息,采用等维新息处理,即在预测模型中将每个新得到的信息送入数据序列中,同时去除一个最陈旧的数据,达到数据信息的"新陈代谢"。在GM模型中,新序列的生成通常有累加生成序列法、累减生成序列法、均值生成序列法和比值生成序列法等方法,需要根据系统的具体情况确认。
S240、确定预设灰色预测模型的参数。
在本实施例中,确定预设灰色预测模型的参数,其中,参数包括:发展系数和灰色作用量。
S250、使用预设检验方式检验预设灰色预测模型的拟合优度。
其中,预设检验方式包括下述之一:残差分析、一致性检验。
在本实施例中,可以使用残差分析、一致性检验等预设检验方式检验预设灰色预测模型的拟合优度。
S260、在拟合优度大于或等于预设拟合优度阈值的情况下,将目标指标参数输入至预设灰色预测模型中得到未来可用内存,并将未来可用内存写入共享内存中。
在本实施例中,在拟合优度大于或等于预设拟合优度阈值的情况下,将目标指标参数输入至预设灰色预测模型中得到未来可用内存,并将未来可用内存写入共享内存中
S270、在拟合优度小于预设拟合优度阈值的情况下,进行休眠预设时间,并重新返回S230的步骤,直至拟合优度大于或等于预设拟合优度阈值。
其中,预设时间为自定义的时间,示例性的,可以为N秒。
在拟合优度小于预设拟合优度阈值的情况下,进行休眠预设时间,之后重新返回S230的步骤直至拟合优度大于或等于预设拟合优度阈值。
在本实施例中,根据内存预测主要的功能是对系统内存在未来某一时刻的开销状态有一定预估,从而来调整内存的分配,而内存未来的一些开销,则可以从当前系统内存的一些指标来预估。
在一实施例中,图3为本发明一实施例提供的一种系统关键进程低延时响应方法中CPU使用率划分的流程图,本实施例在上述各实施例的基础上,对统计关键进程链表中所包括的关键进程数,基于关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分关键进程对应的CPU使用率,以得到CPU使用率的划分结果进行了进一步的细化。
如图3所示,本实施例中的系统关键进程低延时响应方法中CPU使用率划分,具体可以包含如下步骤:
S310、统计关键进程链表中所包括的关键进程数,读取各CPU就绪队列中各关键进程和普通进程分别对应的进程控制符PID,形成原始PID矩阵。
在本实施例中,可以统计关键进程链表中所包括的关键进程数,从各CPU就绪队列中读取各关键进程和普通进程分别对应的进程控制符PID,形成原始PID矩阵。
S320、遍历原始PID矩阵中各关键进程和普通进程对应的第一进程优先级。
其中,第一进程优先级可以理解为每个关键进程和普通进程分别对应的进程优先级;即为关键进程中的每个进程有相应的进程优先级,普通进程中的每个进程也分别对应有相应的优先级。
在本实施例中,可以通过遍历的方式查看原始PID矩阵中每个关键进程和普通进程对应的第一进程优先级。
S330、判断关键进程数是否大于或等于CPU核心数的一半,若是,则执行S340;若否,则执行S350。
在本实施例中,CPU核心数可以通过获取得到,通过判断关键进程数是否大于或等于CPU核心数的一半,若是,则新建至少两个绑核进程组和至少两个普通进程组,根据第一进程优先级将各关键进程迁移至绑核进程组中,并将非关键进程迁移至普通进程组中,遍历各绑核进程组中的每个关键进程,按照各关键进程对应的第二进程优先级划分各关键进程分别对应的第一CPU使用率,将CPU使用率保存至预先创建的CPU-Group矩阵中;若否,表征关键进程未达到预设关键进程数阈值,新建至少两个绑核进程组和至少两个普通进程组,根据第一进程优先级将关键进程迁移至绑核进程组中,并将非关键进程迁移至普通进程组中,直接为各绑核进程组中每个关键进程划分独立CPU,将第二CPU使用率保存至预先创建的CPU_Group矩阵中。
S340、根据第一进程优先级将各关键进程迁移至预先创建的绑核进程组中,并将非关键进程迁移至预先创建的普通进程组中,遍历各绑核进程组中的每个关键进程,按照各关键进程对应的第二进程优先级划分各关键进程分别对应的第一CPU使用率,将第一CPU使用率保存至预先创建的CPU-Group矩阵中;其中,各第一绑核进程组内的关键进程数相等且关键进程对应的第一进程优先级在进程优先级阈值范围内。
其中,第二进程优先级可以理解为关键进程中每个进程分别对应的优先级。绑核进程组的数量为至少两个,用于存储关键进程;普通进程组的数量为至少两个,用于存储普通进程。
在本实施例中,在关键进程数是否大于或等于CPU核心数的一半的情况下,新建至少两个绑核进程组和至少两个普通进程组,根据第一进程优先级将各关键进程迁移至绑核进程组中,并根据第一进程优先级将非关键进程迁移至普通进程组中,遍历各绑核进程组中的每个关键进程,按照各关键进程对应的第二进程优先级划分各关键进程分别对应的第一CPU使用率,将第一CPU使用率保存至预先创建的CPU-Group矩阵中。
其中,各绑核进程组内的关键进程数相等且关键进程对应的第一进程优先级在进程优先级阈值范围内,可以理解为,本实施例中在填充关键进程组和普通进程组的时候,可以通过贪心算法、遗传算法、聚类算法等方式,根据任务nice值做一次均衡划分,保证每一个进程组的总和nice值相似,并且每个进程组内的数量要均分。
示例性的,key_count表示为关键进程数,core_half表示为CPU核心数的一半,如果key_count>=core_half,新建CPUSET_GROUP n(0,1,2,…,core_half-1)矩阵(关键进程组组成的矩阵),以及UN_CPUSET_GROU n(core_half,…,core_max)矩阵(普通进程组组成的矩阵),其中,core_max表示为CPU核心数的最大数量。遍历物理CPU上的就绪队列,根据每个任务的nice值,进行划分,需要注意的一点是,在填充关键进程组CPUSET_GROUP和普通进程组UN_CPUSET_GROUP矩阵的时候,需要根据任务nice值做一次均衡划分,保证每一个矩阵的总和nice值相似,并且矩阵内的数量要均分,这方面的算法比较多,例如贪心算法、遗传算法、聚类算法,就不再赘述。CPUSET_GROUP矩阵建立好后,可以根据每个核上的任务nice值比例,来划分该核上的CPU使用率,建立CPU_GROUP n(0,1,2,…,core_half-1)矩阵。
S350、表征关键进程未达到预设关键进程数阈值,根据第一进程优先级将关键进程迁移至绑核进程组中,并将非关键进程迁移至普通进程组中,直接为各绑核进程组中每个关键进程划分独立CPU,将第二CPU使用率保存至CPU_Group矩阵中。
其中,各绑核进程组内的关键进程数相等且关键进程对应的第一进程优先级在进程优先级阈值范围内。
在本实施例中,在关键进程数小于CPU核心数的一半的情况下,表征关键进程未达到预设关键进程数阈值,新建至少两个绑核进程组和至少两个普通进程组,根据第一进程优先级将关键进程迁移至所述绑核进程组中,并根据第一进程优先级将非关键进程迁移至普通进程组中,直接为各绑核进程组中每个关键进程划分独立CPU,每个关键进程对应的第二CPU使用率为100%,将第二CPU使用率保存至预先创建的CPU_Group矩阵中。
示例性的,新建CPUSET_GROUP n(0,1,2,…,core_half-1)矩阵,以及UN_CPUSET_GROU n(core_half,…,core_max)矩阵,根据第一进程优先级将关键进程迁移至绑核进程组中,并根据第一进程优先级将非关键进程迁移至普通进程组中,如果key_count<core_half,则说明关键任务比较少,从减低干扰的角度来看,可以直接为每个关键任务分享一个独立CPU,CPU使用率为100%,则其CPU_GROUP n(0,1,2,…,key_value-1)数值则为100。CPUSET_GROUP矩阵建立好后,将第二CPU使用率保存至CPUSET_GROUP矩阵。
S360、将CPU_Group矩阵、绑核进程组以及普通进程组写入共享内存中。
其中,CPU_Group矩阵中包括每个关键进程的CPU占有率。
在本实施例中,将CPU_Group矩阵、第一绑核进程组、第二绑核进程组、第一普通进程组以及第二普通进程组写入共享内存中;其中,CPU_Group矩阵中包括每个关键进程的CPU占有率。
在一实施例中,图4为本发明一实施例提供的一种系统关键进程低延时响应方法中调整限制策略的流程图,本实施例在上述各实施例的基础上,对基于未来可用内存、划分结果以及预先配置的可用内存阈值确定关键进程所在关键进程组的内存限制策略进行了进一步的细化。
如图4所示,本实施例中的系统关键进程低延时响应方法中调整限制策略,具体可以包含如下步骤:
S410、判断未来可用内存是否大于预先配置的可用内存阈值,若是,则执行S420;若否,则执行S430。
在本实施例中,读取共享内存中的未来可用内存、CPU_Group矩阵、绑核进程组以及普通进程组,判断未来可用内存是否大于预先配置的可用内存阈值,若是,继续判断CPU频率调节器是否处于开启状态,依据开启状态做出不同的操作;若否,则直接激活所述CPU频率调节器,通过预设进程间通信方式通知CPU频率调节器关闭调节策略,恢复原策略,并根据未来可用内存对应的预设内存限制策略对关键进程所在关键进程组进行内存限制。
S420、继续判断CPU频率调节器是否处于开启状态,若是,则执行S430;若否,则执行S440。
在本实实施例中,在未来可用内存大于预先配置的可用内存阈值的情况下,继续判断CPU频率调节器是否处于开启状态,若是,激活CPU频率调节器,通过预设进程间通信方式通知CPU频率调节器关闭调节策略,恢复原策略,并根据未来可用内存对应的预设内存限制策略对关键进程所在关键进程组进行内存限制;若否,则通过预设进程间通信方式向CPU频率调节器发送调节请求,并发送CPU_Group矩阵、绑核进程组以及普通进程组。
本实施例中,根据未来可用内存对应的预设内存限制策略对关键进程所在关键进程组进行内存限制,CGROUP在限制进程内存后,如果被限制内存进程内存申请超出了限制值,会引起内核OOM机制造成进程被杀死,所以系统需要根据负载的具体情况,根据预测出Mem Available设计几套限制策略,从减低非关键进程对关键进程的干扰角度来说,通过减低非核心进程组CPU的频率从而达到减低非关键进程对内存的开销。本实施例中,限制策略原理是根据Mem Available对剩余的可用内存做分配,配置阶梯可以根据系统的具体业务进行一定程度的细分。
S430、激活CPU频率调节器,通过预设进程间通信方式通知CPU频率调节器恢复原策略,并根据未来可用内存对应的预设内存限制策略对关键进程所在关键进程组进行内存限制。
在本实施例中,在CPU频率调节器处于开启状态时,激活CPU频率调节器,通过预设进程间通信方式通知CPU频率调节器关闭调节策略,恢复原策略,并根据未来可用内存对应的预设内存限制策略对关键进程所在关键进程组进行内存限制。
S440、通过预设进程间通信方式向CPU频率调节器发送调节请求,并发送CPU_Group矩阵、绑核进程组以及普通进程组。
在CPU频率调节器处于未开启状态时,通过所述预设进程间通信方式向所述CPU频率调节器发送调节请求,并发送CPU_Group矩阵、绑核进程组、以及普通进程组。
在本实施例中,在未来可用内存小于或等于预先配置的可用内存阈值时,直接激活CPU频率调节器,通过预设进程间通信方式通知CPU频率调节器关闭调节策略,恢复原策略,并根据未来可用内存对应的预设内存限制策略对所述关键进程所在关键进程组进行内存限制。
S450、将各CPU_Group矩阵进行组合得到新CPU-Group矩阵。
在本实施例中,将各CPU_Group矩阵进行组合得到新CPU-Group矩阵。
S460、利用预设物理资源隔离机制对新CPU-Group矩阵进行CPU使用率限制。
在本实施例中,预设物理资源隔离机制即为c-group(Control Groups)机制,可以利用预设物理资源隔离机制对新CPU-Group矩阵进行CPU使用率限制。
在一实施例中,为便于更好的理解目标进程组CPU核心的运行频率的调,图5为本发明一实施例提供的一种系统关键进程低延时响应方法中调整运行频率的流程图,本实施例在上述各实施例的基础上,对目标进程组CPU核心的运行频率的调整进行了进一步的细化。
S510、读取CPU硬件信息,以及CPU硬件所配置的调节策略。
在本实施例中,从系统读取CPU硬件信息,以及CPU硬件所配置的调节策略。
S520、接收到资源限制器的激活信号时,判断调节策略是否为恢复原策略;若是,则执行S530;若否,则执行S540。
在本实施例中,接收到资源限制器的激活信号时,判断所述调节策略是否为关闭调节策略,恢复原策略,若是,则恢复原策略,若否,则继续判断是否允许调节频率;若允许,则匹配调节频率策略,遍历查找进行调节频率的目标进程组,以对所述目标进程组进行调节CPU频率,并对对调节后的CPU频率进行复检,以使关键进程进行低时延响应。
S530、恢复原策略。
在本实施例中,调节策略为关闭调节策略,恢复原策略时,恢复原策略。
S540、继续判断是否允许调节频率;若允许,则执行S550;若不允许,则执行S560。
S550、匹配调节频率策略,遍历查找进行调节频率的目标进程组,以对所述目标进程组进行调节CPU频率,并对对调节后的CPU频率进行复检,以使关键进程进行低时延响应。
在本实施例中,调节策略不为关闭调节策略,恢复原策略,则继续判断是否允许调节频率,匹配调节频率策略,遍历查找进行调节频率的目标进程组,以对所述目标进程组进行调节CPU频率,并对对调节后的CPU频率进行复检,以使关键进程进行低时延响应。
S560、恢复变频前的频率,休眠预设时间,返回S520的步骤。
在本实施例中,在不允许调节频率的情况下,则恢复变频前的频率,休眠预设时间,返回接收到频率调节器的激活信号时,判断所述调节策略是否为关闭调节策略,恢复原策略的步骤继续执行。
本实施例的上述技术方案,依据当前指标参数更新历史指标参数得到目标指标参数,在拟合优度大于或等于预设拟合优度阈值的情况下,将目标指标参数输入至预设灰色预测模型中得到所述未来可用内存,判断关键进程数是否大于或等于所述CPU核心数的一半,根据比对结果得到不同情况下的CPU占有率,将不同情况下的CPU占有率,预测的未来可用内存写入共享内存中写入共享内存中;未来可用内存是否大于预先配置的可用内存阈值,基于所述未来可用内存、划分结果以及预先配置的可用内存阈值确定关键进程所在关键进程组的内存限制策略,以使频率调节器根据内存限制策略调整运行频率,实现关键进程进行低时延响应,通过动态调整OS内关键进程CPU资源和内存资源配比,进一步能够最大化地减少非关键进程对关键进程运行的干扰,提高关键进程的运行效率,从而提升座舱域系统的稳定性与流畅性。
在一实施例中,图6为本发明实施例提供的一种嵌入式计算平台软件架构。以该架构为模型,关键进程为CPU密集型和内存密集型为例(符合车机系统关键进程现状)。图7为本发明实施例提供的一种系统关键进程低延时响应的整体架构图,如图7中所示,共包括是个部分,进程分组器(A):该部分主要功能是允许系统向关键进程链注册关键进程,从而区分关键进程与普通进程;资源竞争决策器(B):决策器的组成分为两个部分,内存预测模型与CPU决策器,内存预测模型通过获取当前系统内存的一些关键指标,预测接下来的可用内存,并制定内存限制策略;CPU决策器通过分析就绪队列的情况,制定CPU限制、绑核策略。最后,将数据写入共享内存区域C_area。资源限制器(C):该部分的主要功能是,在进程发生切换时,根据资源竞争决策器(B)实时写入C-area的数据,调整CGROUP的限制策略,以及是否开启CPU频率调节器(D)并且是否对CPU频率进行调节,CPU频率调节器(D):该部分的主要功能是,在进程被激活后,根据资源限制器(C)发送的调节参数,调整CPU核心的运行频率,将非关键进程组所在的CPU核心进行降频,从而达到非关键进程对内存资源申请频率减低。
在一实施例中,图8为本发明一实施例提供的一种系统关键进程低延时响应装置的结构框图,该装置适用于对对系统关键进程低时延响应时的情况,该装置可以由硬件/软件实现。可配置于电子设备中来实现本发明实施例中的一种系统关键进程低延时响应处理方法。
如图8所示,该装置包括:注册模块810、预测模块820、划分模块830以及调整模块840。
其中,注册模块810,用于根据预设业务需求确定关键进程和普通进程,并将所述关键进程注册至预先创建的关键进程链表中;
预测模块820,用于获取系统内存对应的当前指标参数,基于所述当前指标参数和预设灰色预测模型确定未来可用内存;
划分模块830,用于统计所述关键进程链表中所包括的关键进程数,基于所述关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分所述关键进程对应的CPU使用率,以得到所述CPU使用率的划分结果;
调整模块840,用于响应于进程切换操作,基于所述未来可用内存、所述划分结果以及预先配置的可用内存阈值确定所述关键进程所在关键进程组的内存限制策略,以使频率调节器根据所述内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应。
本发明实施例,预测模块,通过将关键进程注册至关键进程链表,基于当前指标参数和预设灰色预测模型确定未来可用内存,统计关键进程链表中所包括的关键进程数,划分模块,基于关键进程数、所获取的CPU核心数以及进程优先级进行划分关键进程对应的CPU使用率以得到CPU使用率的划分结果;调整模块,响应于进程切换操作,基于未来可用内存、划分结果以及可用内存阈值确定关键进程所在关键进程组的内存限制策略,以使频率调节器根据内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应,能够最大化地减少非关键进程对关键进程运行的干扰,提高关键进程的运行效率,从而提升非传统域的应用响应时间、座舱域系统的稳定性,提升应用的流畅性,增强用户体验与行车安全。
在一实施例中,所述注册模块810,包括:
划分单元,用于将所述关键进程和所述普通进程分别划分为关键任务组和非关键任务组;
写入单元,用于通过预设虚拟文件系统接口在系统目录下写入所述关键任务组中各所述关键进程的进程控制符PID,以将各所述关键进程写入预先创建的关键进程链表。
在一实施例中,所述当前指标参数至少包括:Mem Available、SwapUsage、PageFaults、Active;相应的,所述预测模块820,包括:
更新单元,用于依据所述当前指标参数更新历史指标参数得到目标指标参数;其中,所述当前指标参数分为特征序列指标和因素序列指标;所述特征序列指标包括预设时间段内的Mem Available;所述因素序列指标包括:所述预设时间段内的SwapUsage、PageFaults、Active;
参数确定单元,用于确定所述预设灰色预测模型的参数;其中,所述参数包括:发展系数和灰色作用量;
检验单元,用于使用预设检验方式检验所述预设灰色预测模型的拟合优度;其中,所述预设检验方式包括下述之一:残差分析、一致性检验;
预测单元,用于在所述拟合优度大于或等于所述预设拟合优度阈值的情况下,将所述目标指标参数输入至所述预设灰色预测模型中得到所述未来可用内存,并将所述未来可用内存写入共享内存中;
休眠单元,用于在所述拟合优度小于所述预设拟合优度阈值的情况下,进行休眠预设时间,并重新返回依据当前指标参数更新历史指标参数得到目标指标参数的步骤,直至所述拟合优度大于或等于所述预设拟合优度阈值。
在一实施例中,所述划分模块830,包括:
读取单元,用于读取各CPU就绪队列中各所述关键进程和所述普通进程分别对应的进程控制符PID,形成原始PID矩阵;
优先级确定单元,遍历所述原始PID矩阵中每个关键进程和所述普通进程对应的第一进程优先级;
判断单元,用于判断所述关键进程数是否大于或等于所述CPU核心数的一半;
第一确定单元,用于若是,则根据所述第一进程优先级将各所述关键进程迁移至预先创建的绑核进程组中,并将所述非关键进程迁移至所述预先创建的普通进程组中,遍历各所述绑核进程组中的每个关键进程,按照各所述关键进程对应的进程优先级划分各所述关键进程分别对应的第一CPU使用率,将所述第一CPU使用率保存至预先创建的CPU-Group矩阵中;
第二确定单元,用于若否,则表征所述关键进程未达到预设关键进程数阈值,根据所述第一进程优先级将所述关键进程迁移至所述绑核进程组中,并将所述非关键进程迁移至所述普通进程组中,直接为各所述绑核进程组中每个关键进程划分独立CPU,将所述独立CPU作为第二CPU使用率保存至所述CPU_Group矩阵中;
写入单元,用于将所述CPU_Group矩阵、所述绑核进程组以及所述普通进程组写入所述共享内存中;
其中,各所述绑核进程组内的关键进程数相等且所述关键进程对应的进程优先级在进程优先级阈值范围内;所述CPU_Group矩阵中包括每个关键进程的CPU占有率。
在一实施例中,所述调整模块840,包括:
判断单元,用于判断所述未来可用内存是否大于所述预先配置的可用内存阈值;
第一确定单元,用于继续判断CPU频率调节器是否处于开启状态,若处于开启状态,则激活所述CPU频率调节器,通过预设进程间通信方式通知所述CPU频率调节器恢复原策略,并根据所述未来可用内存对应的预设内存限制策略对所述关键进程所在关键进程组进行内存限制;若未处于开启状态,则通过所述预设进程间通信方式向所述CPU频率调节器发送调节请求,并发送所述CPU_Group矩阵、所述绑核进程组以及所述普通进程组;
第二确定单元,用于则直接激活所述CPU频率调节器,通过所述预设进程间通信方式通知所述CPU频率调节器恢复原策略,并根据所述未来可用内存对应的预设内存限制策略对所述关键进程所在关键进程组进行内存限制;
组合单元,用于将各所述CPU_Group矩阵进行组合得到新CPU_Group矩阵;
限制单元,用于利用预设物理资源隔离机制对所述新CPU_Group矩阵进行CPU使用率限制。
在一实施例中,所述内存限制策略的预先配置,包括:
在所述未来可用内存大于预设第一可用内存,且小于预设第二可用内存的情况下,所述关键进程组可用内存数值为MM_value1;
在所述未来可用内存大于或等于预设第二可用内存,且小于预设第三可用内存的情况下,所述关键进程组可用内存数值为MM_value2;
在所述未来可用内存大于或等于预设第三可用内存,且小于预设第四可用内存的情况下,所述关键进程组可用内存数值为MM_value3;
其中,所述预设第四可用内存大于所述预设第三可用内存;所述预设第三可用内存大于所述预设第二可用内存;所述预设第二可用内存大于所述预设第一可用内存;所述预设第一可用内存为所述未来可用内存对应的最小可用内存。
在一实施例中,所述目标进程组CPU核心的运行频率的调整,包括:
读取CPU硬件信息,以及CPU硬件所配置的调节策略;
接收到资源限制器的激活信号时,判断所述调节策略是否为恢复原策略;若是,则恢复原策略;
若否,则继续判断是否允许调节频率;若允许,则匹配调节频率策略,遍历查找进行调节频率的目标进程组,以对所述目标进程组进行调节CPU频率,并对对调节后的CPU频率进行复检;若不允许,则恢复变频前的频率,休眠预设时间并返回接收到频率调节器的激活信号时,判断调节策略是否为恢复原策略的步骤。
本发明实施例所提供的系统关键进程低延时响应装置可执行本发明任意实施例所提供的系统关键进程低延时响应处理方法,具备执行方法相应的功能模块和有益效果。
在一实施例中,图9为本发明实施例提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图9所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如系统关键进程低延时响应方法。
在一些实施例中,系统关键进程低延时响应处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的系统关键进程低延时响应方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行系统关键进程低延时响应方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程系统关键进程低延时响应装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种系统关键进程低时延响应方法,其特征在于,包括:
根据预设业务需求确定关键进程和普通进程,并将所述关键进程注册至预先创建的关键进程链表中;
获取系统内存对应的当前指标参数,基于所述当前指标参数和预设灰色预测模型确定未来可用内存;
统计所述关键进程链表中所包括的关键进程数,基于所述关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分所述关键进程对应的CPU使用率,以得到所述CPU使用率的划分结果;
响应于进程切换操作,基于所述未来可用内存、所述划分结果以及预先配置的可用内存阈值确定所述关键进程所在关键进程组的内存限制策略,以使频率调节器根据所述内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应。
2.根据权利要求1所述的方法,其特征在于,所述将所述关键进程注册至预先创建的关键进程链表中,包括:
将所述关键进程和所述普通进程分别划分为关键任务组和非关键任务组;
通过预设虚拟文件系统接口在系统目录下写入所述关键任务组中各所述关键进程的进程控制符PID,以将各所述关键进程写入预先创建的关键进程链表。
3.根据权利要求1所述的方法,其特征在于,所述当前指标参数至少包括:MemAvailable、SwapUsage、PageFaults、Active;相应的,所述基于所述当前指标参数和预设灰色预测模型确定未来可用内存,包括:
依据所述当前指标参数更新历史指标参数得到目标指标参数;其中,所述当前指标参数分为特征序列指标和因素序列指标;所述特征序列指标包括预设时间段内的MemAvailable;所述因素序列指标包括:所述预设时间段内的SwapUsage、PageFaults、Active;
确定所述预设灰色预测模型的参数;其中,所述参数包括:发展系数和灰色作用量;
使用预设检验方式检验所述预设灰色预测模型的拟合优度;
在所述拟合优度大于或等于所述预设拟合优度阈值的情况下,将所述目标指标参数输入至所述预设灰色预测模型中得到所述未来可用内存,并将所述未来可用内存写入共享内存中;
在所述拟合优度小于所述预设拟合优度阈值的情况下,进行休眠预设时间,并重新返回依据当前指标参数更新历史指标参数得到目标指标参数的步骤,直至所述拟合优度大于或等于所述预设拟合优度阈值。
4.根据权利要求1所述的方法,其特征在于,所述基于所述关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分所述关键进程对应的CPU使用率,以得到所述CPU使用率的划分结果,包括:
读取各CPU就绪队列中各所述关键进程和所述普通进程分别对应的进程控制符PID,形成原始PID矩阵;
遍历所述原始PID矩阵中各所述关键进程和所述普通进程对应的第一进程优先级;
判断所述关键进程数是否大于或等于所述CPU核心数的一半;
若是,则根据所述第一进程优先级将各所述关键进程迁移至预先创建的绑核进程组中,并将非关键进程迁移至所述预先创建的普通进程组中,遍历各所述绑核进程组中的每个关键进程,按照各所述关键进程对应的进程优先级划分各所述关键进程分别对应的第一CPU使用率,将所述第一CPU使用率保存至预先创建的CPU-Group矩阵中;
若否,则表征所述关键进程未达到预设关键进程数阈值,根据所述第一进程优先级将所述关键进程迁移至所述绑核进程组中,并将所述非关键进程迁移至所述普通进程组中,直接为各所述绑核进程组中每个关键进程划分独立CPU,将所述独立CPU作为第二CPU使用率保存至所述CPU_Group矩阵中;
将所述CPU_Group矩阵、所述绑核进程组以及所述普通进程组写入共享内存中;
其中,各所述绑核进程组内的关键进程数相等且所述关键进程对应的进程优先级在进程优先级阈值范围内;所述CPU_Group矩阵中包括每个关键进程的CPU占有率。
5.根据权利要求4所述的方法,其特征在于,所述基于所述未来可用内存、所述划分结果以及预先配置的可用内存阈值确定所述关键进程所在关键进程组的内存限制策略,包括:
判断所述未来可用内存是否大于所述预先配置的可用内存阈值;
若是,则继续判断CPU频率调节器是否处于开启状态,若处于开启状态,则激活所述CPU频率调节器,通过预设进程间通信方式通知所述CPU频率调节器恢复原策略,并根据所述未来可用内存对应的预设内存限制策略对所述关键进程所在关键进程组进行内存限制;若未处于开启状态,则通过所述预设进程间通信方式向所述CPU频率调节器发送调节请求,并发送所述CPU_Group矩阵、所述绑核进程组以及所述普通进程组;
若否,则直接激活所述CPU频率调节器,通过所述预设进程间通信方式通知所述CPU频率调节器恢复原策略,并根据所述未来可用内存对应的预设内存限制策略对所述关键进程所在关键进程组进行内存限制;
将各所述CPU_Group矩阵进行组合得到新CPU-Group矩阵;
利用预设物理资源隔离机制对所述新CPU-Group矩阵进行CPU使用率限制。
6.根据权利要求1或5任一所述的方法,其特征在于,所述内存限制策略的预先配置,包括:
在所述未来可用内存大于预设第一可用内存,且小于预设第二可用内存的情况下,所述关键进程组可用内存数值为MM_value1;
在所述未来可用内存大于或等于预设第二可用内存,且小于预设第三可用内存的情况下,所述关键进程组可用内存数值为MM_value2;
在所述未来可用内存大于或等于预设第三可用内存,且小于预设第四可用内存的情况下,所述关键进程组可用内存数值为MM_value3;
其中,所述预设第四可用内存大于所述预设第三可用内存;所述预设第三可用内存大于所述预设第二可用内存;所述预设第二可用内存大于所述预设第一可用内存;所述预设第一可用内存为所述未来可用内存对应的最小可用内存。
7.根据权利要求1或5任一所述的方法,其特征在于,所述目标进程组CPU核心的运行频率的调整,包括:
读取CPU硬件信息,以及CPU硬件所配置的调节策略;
接收到资源限制器的激活信号时,判断所述调节策略是否为恢复原策略;若是,则恢复原策略;
若否,则继续判断是否允许调节频率;若允许,则匹配调节频率策略,遍历查找进行调节频率的目标进程组,以对所述目标进程组进行调节CPU频率,并对对调节后的CPU频率进行复检;若不允许,则恢复变频前的频率,休眠预设时间并返回接收到频率调节器的激活信号时,判断调节策略是否为恢复原策略的步骤。
8.一种系统关键进程低时延响应装置,其特征在于,包括:
注册模块,用于根据预设业务需求确定关键进程和普通进程,并将所述关键进程注册至预先创建的关键进程链表中;
预测模块,用于获取系统内存对应的当前指标参数,基于所述当前指标参数和预设灰色预测模型确定未来可用内存;
划分模块,用于统计所述关键进程链表中所包括的关键进程数,基于所述关键进程数、所获取的CPU核心数以及预先配置的进程优先级进行划分所述关键进程对应的CPU使用率,以得到所述CPU使用率的划分结果;
调整模块,用于响应于进程切换操作,基于所述未来可用内存、所述划分结果以及预先配置的可用内存阈值确定所述关键进程所在关键进程组的内存限制策略,以使频率调节器根据所述内存限制策略调整目标进程组CPU核心的运行频率,使得关键进程进行低时延响应。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的系统关键进程低时延响应方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的系统关键进程低时延响应方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311826471.3A CN117687792A (zh) | 2023-12-26 | 2023-12-26 | 一种系统关键进程低延时响应方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311826471.3A CN117687792A (zh) | 2023-12-26 | 2023-12-26 | 一种系统关键进程低延时响应方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687792A true CN117687792A (zh) | 2024-03-12 |
Family
ID=90128313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311826471.3A Pending CN117687792A (zh) | 2023-12-26 | 2023-12-26 | 一种系统关键进程低延时响应方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687792A (zh) |
-
2023
- 2023-12-26 CN CN202311826471.3A patent/CN117687792A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shen et al. | Cloudscale: elastic resource scaling for multi-tenant cloud systems | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
KR102490908B1 (ko) | 자원 스케줄링 방법 및 단말 장치 | |
US9037880B2 (en) | Method and system for automated application layer power management solution for serverside applications | |
Tuli et al. | Start: Straggler prediction and mitigation for cloud computing environments using encoder lstm networks | |
CN109558248B (zh) | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 | |
Razavi et al. | FA2: Fast, accurate autoscaling for serving deep learning inference with SLA guarantees | |
CN108574600B (zh) | 云计算服务器的功耗和资源竞争协同控制的服务质量保障方法 | |
Uma et al. | Optimized intellectual resource scheduling using deep reinforcement Q‐learning in cloud computing | |
CN104598311A (zh) | 一种面向Hadoop的实时作业公平调度的方法和装置 | |
CN110806918A (zh) | 基于深度学习神经网络的虚拟机运行方法和装置 | |
Dogani et al. | K-agrued: A container autoscaling technique for cloud-based web applications in kubernetes using attention-based gru encoder-decoder | |
Panneerselvam et al. | An approach to optimise resource provision with energy-awareness in datacentres by combating task heterogeneity | |
CN117785465A (zh) | 一种资源调度方法、装置、设备及存储介质 | |
CN115878260A (zh) | 一种低碳自适应云主机任务调度系统 | |
Zhang et al. | An advanced load balancing strategy for cloud environment | |
CN112615795A (zh) | 流量控制方法、装置、电子设备、存储介质及产品 | |
CN117112222A (zh) | 一种请求处理方法、装置、电子设备及存储介质 | |
CN116303132A (zh) | 一种数据缓存方法、装置、设备以及存储介质 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN117687792A (zh) | 一种系统关键进程低延时响应方法、装置、设备和介质 | |
CN115774602A (zh) | 一种容器资源的分配方法、装置、设备及存储介质 | |
Zhu et al. | Research on fog resource scheduling based on cloud-fog collaboration technology in the electric internet of things | |
CN113904940A (zh) | 资源调整方法、装置、电子设备和计算机可读存储介质 | |
Chen et al. | A QoS guarantee framework for cloud services based on Bayesian prediction |
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 |