CN111399995A - 保证延迟敏感程序服务质量的调节方法及系统 - Google Patents
保证延迟敏感程序服务质量的调节方法及系统 Download PDFInfo
- Publication number
- CN111399995A CN111399995A CN202010084612.9A CN202010084612A CN111399995A CN 111399995 A CN111399995 A CN 111399995A CN 202010084612 A CN202010084612 A CN 202010084612A CN 111399995 A CN111399995 A CN 111399995A
- Authority
- CN
- China
- Prior art keywords
- program
- delay sensitive
- core
- batch
- delay
- 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 64
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000013468 resource allocation Methods 0.000 claims description 6
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
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)
- Stored Programmes (AREA)
Abstract
本公开公开了保证延迟敏感程序服务质量的调节方法及系统,包括:资源采集,采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;实时监控延迟敏感程序运行过程中的性能;根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量。该方法能够保证延迟敏感程序与批量程序共同执行时的性能要求,同时尽可能的提升系统的资源利用率。
Description
技术领域
本公开涉及并行与分布计算技术领域,尤其涉及保证延迟敏感程序服务质量的调节方法及系统。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
现在的大型数据中心运行着越来越多的程序,但大多数数据中心的平均利用率较低。为了提高资源利用率,大量的程序在尽可能少的服务器上执行。而在一个服务器节点中,会有多个程序在一个节点上执行。多个程序共同执行的好处是可以增加服务器的利用率,而问题是会导致程序性能下降。程序性能下降程度取决于程序特征,对于某些程序,与其他程序共同执行时,性能下降不明显;而对于某些程序,与其他程序共同执行时,性能会明显下降。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
数据中心中运行着大量的延迟敏感程序。客户将延迟敏感程序在数据中心执行,并对程序有一定的服务质量需求,比如程序性能不能低于单独执行时的90%。当延迟敏感程序与其他程序共同执行时,很容易由于性能干扰导致严重的性能下降,从而不能满足客户的服务质量需求。这是必须要解决的问题。因此,现有技术存在的技术问题是,在提升系统资源利用率的同时,不能保证延迟敏感程序的服务质量。
发明内容
本公开的目的就是为了解决上述问题,提供一种保证延迟敏感程序服务质量的调节方法及系统,该方法能够保证延迟敏感程序与批量程序共同执行时的性能要求,同时尽可能的提升系统的资源利用率。
为了实现上述目的,本公开采用如下技术方案:
第一方面,本公开提供了保证延迟敏感程序服务质量的调节方法;
保证延迟敏感程序服务质量的调节方法,包括:
资源采集,采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;
假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;
实时监控延迟敏感程序运行过程中的性能;根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量。
第二方面,本公开提供了保证延迟敏感程序服务质量的调节系统;
保证延迟敏感程序服务质量的调节系统,包括:
资源采集模块,其被配置为:采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;
资源分配模块,其被配置为:假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;
资源分配调节模块,其被配置为:实时监控延迟敏感程序运行过程中的性能;根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量。
本公开的有益效果:
1该方法通过Linux的cpuset来分配延迟敏感程序和批量程序的core数量,根据实时延迟敏感程序的性能,来利用DVFS来提高或降低延迟敏感程序或者批量程序的core运行频率,动态的去调整运行批量程序的core数量,来减少对延迟敏感程序所产生的压力,从而保证延迟敏感程序的性能,并且实现系统的资源利用最大化。
2本公开在保证延迟敏感程序服务质量的同时,可以最大化的提升系统的资源利用率和吞吐量。
3本公开利用Linux的cpuset先为延迟敏感程序分配足够的core数量,保证延迟敏感程序的服务质量。
4本公开在实时监控延迟敏感程序的性能时,利用DVFS加快或者减慢程序的core运行频率,尽可能的提升运行批量程序,提高系统的资源利用率和吞吐量。
附图说明
图1为本公开实施一的方法流程图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
专业术语解释:
延迟敏感程序:是面向用户的,对延迟的要求比较严格,需要低延迟的程序;
批量程序:是面向吞吐量的,对延迟的要求不高的程序;
Core:处理器CPU的逻辑核心;
DVFS:Dynamic Voltage and Frequency Scaling,即动态电压频率调节。
实施例一,本实施例提供了保证延迟敏感程序服务质量的调节方法;
如图1所示,保证延迟敏感程序服务质量的调节方法,包括:
S1:资源采集,采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;
S2:假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;
S3:实时监控延迟敏感程序运行过程中的性能;根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量。
进一步地,所述S3中,实时监控延迟敏感程序运行过程中的性能;具体步骤包括:通过性能分析工具,实时监控延迟敏感程序运行过程中的性能。
应理解的,由于延迟敏感程序同批量程序共同执行时竞争内存、LLC等共享资源,会导致程序性能不同程度的下降。所以需要实时监控延迟敏感程序性能,与延迟敏感程序单独执行时的90%相比较。
进一步地,所述S3中,根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量;具体步骤包括:
S301:如果延迟敏感程序运行过程中的性能低于设定阈值超过设定时长,则利用DVFS加快延迟敏感程序的core运行频率;
S302:如果延迟敏感程序运行过程中的core运行频率达到最大设定频率,则利用DVFS降低所有的批量程序的core运行频率;
S303:如果所有的批量程序运行过程中的core运行频率处于最低设定频率,则利用Linux的cpuset将所有的批量程序的所有core分配给延迟敏感程序。
进一步地,所述采集每一个待执行程序的资源占用率,是指采用性能分析工具来采集每一个待执行程序的资源占用率;
应理解的,所述性能分析工具,例如:collect。
进一步地,所述每一个待执行程序的资源占用率,是指每一个待执行程序对处理器和内存的资源占用率。
进一步地,所述S2中,分别为延迟敏感程序和批量程序分配运行资源;包括:假设每个服务器节点有n个core,为延迟敏感程序分配n-1个core;为所有批量程序分配1个core;n为正整数。
进一步地,为延迟敏感程序分配n-1个core,是利用Linux的cpuset来实现分配。
进一步的,为所有的批量程序分配1个core,是利用利用Linux的cpuset来实现分配。
应理解的,因为要保证延迟敏感程序的服务质量,所以需要足够的资源分配给延迟敏感程序。
进一步地,所述S301的加快延迟敏感程序的core运行频率,是利用DVFS进行加快。
进一步地,所述S302的降低批量程序的core运行频率,是利用DVFS进行降低。
进一步地,所述S303的将批量程序的core分配给延迟敏感程序,是利用Linux的cpuset将批量程序的core分配给延迟敏感程序。
应理解的,所述设定阈值,是指延迟敏感程序单独运行时性能的90%。
应理解的,所述设定时长,是指30秒。
进一步地,所述S3中,根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量;具体步骤还包括:
S311:如果延迟敏感程序运行过程中的性能大于等于设定阈值超过设定时长,则利用Linux的cpuset将资源占用率小于30%的core分配给批量程序;
S312:如果没有core分配给批量程序,则利用DVFS加快批量程序的core运行频率;
S313:如果所有批量程序的core运行频率均达到最大,则利用DVFS降低延迟敏感程序的core运行频率。
进一步地,所述S311的将延迟敏感程序的core分配给批量程序,是利用Linux的cpuset将利用率小于30%的core分配给批量程序;
进一步地,所述S312的加快批量程序的core运行频率,是利用DVFS加快运行批量程序的core频率。
进一步地,所述S313的降低延迟敏感程序的core运行频率,是指利用DVFS降低延迟敏感程序的core运行频率。
应理解的,所述设定阈值,是指延迟敏感程序单独运行时性能的90%。
应理解的,所述设定时长,是指30秒。
一:离线工作
对于需要执行的每一个程序,利用性能分析工具获取处理器、内存的资源占用率。
二:在线工作
首先利用Linux的cpuset为延迟敏感程序和批处理程序分配运行的core数量。
在延迟敏感程序同批量程序一起运行时,需要实时监控延迟敏感程序的性能,同离线获得的延迟敏感程序性能的90%进行比较;
若延迟敏感程序的性能低于单独执行时性能的90%30秒:
利用DVFS加快延迟敏感程序的core运行频率;当延迟敏感程序达到最大频率,则利用DVFS降低批量程序的core运行频率;如果批量程序已经处于最低频率,则利用Linux的cpuset将批量程序的core分配给延迟敏感程序。
若延迟敏感程序的性能高于程序单独执行时性能的95%30秒:
利用Linux的cpuset将多余的core分配给批量程序;如果没有多余的core分配批量程序,则利用DVFS加大运行批量程序的core运行频率;如果所有批量程序的频率达到最大,则利用DVFS适当的降低延迟敏感程序的频率。
实施例二,本实施例提供了保证延迟敏感程序服务质量的调节系统;
保证延迟敏感程序服务质量的调节系统,包括:
资源采集模块,其被配置为:采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;
资源分配模块,其被配置为:假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;
资源分配调节模块,其被配置为:实时监控延迟敏感程序运行过程中的服务质量要求性能;根据延迟敏感程序运行过程中的服务质量要求性能与设定阈值进行比较,为延迟敏感程序调整运行core频率和core数量,保证延迟敏感程序服务质量。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (10)
1.保证延迟敏感程序服务质量的调节方法,其特征是,包括:
资源采集,采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;
假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;
实时监控延迟敏感程序运行过程中的性能;根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量。
2.如权利要求1所述的方法,其特征是,实时监控延迟敏感程序运行过程中的性能;具体步骤包括:通过性能分析工具,实时监控延迟敏感程序运行过程中的性能。
3.如权利要求1所述的方法,其特征是,根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量;具体步骤包括:
S301:如果延迟敏感程序运行过程中的性能低于设定阈值超过设定时长,则利用DVFS加快延迟敏感程序的core运行频率;
S302:如果延迟敏感程序运行过程中的core运行频率达到最大设定频率,则利用DVFS降低所有的批量程序的core运行频率;
S303:如果所有的批量程序运行过程中的core运行频率处于最低设定频率,则利用Linux的cpuset将所有的批量程序的所有core分配给延迟敏感程序。
4.如权利要求1所述的方法,其特征是,所述采集每一个待执行程序的资源占用率,是指采用性能分析工具来采集每一个待执行程序的资源占用率。
5.如权利要求1所述的方法,其特征是,分别为延迟敏感程序和批量程序分配运行资源;包括:假设每个服务器节点有n个core,为延迟敏感程序分配n-1个core;为所有批量程序分配1个core;n为正整数;
或者,为延迟敏感程序分配n-1个core,是利用Linux的cpuset来实现分配;
或者,为所有的批量程序分配1个core,是利用利用Linux的cpuset来实现分配。
6.如权利要求3所述的方法,其特征是,所述S301的加快延迟敏感程序的core运行频率,是利用DVFS进行加快;
或者,所述S302的降低批量程序的core运行频率,是利用DVFS进行降低;
或者,所述S303的将批量程序的core分配给延迟敏感程序,是利用Linux的cpuset将批量程序的core分配给延迟敏感程序。
7.如权利要求1所述的方法,其特征是,根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整core运行频率和core数量,保证延迟敏感程序服务质量;具体步骤还包括:
S311:如果延迟敏感程序运行过程中的性能大于等于设定阈值超过设定时长,则利用Linux的cpuset将资源占用率小于30%的core分配给批量程序;
S312:如果没有core分配给批量程序,则利用DVFS加快批量程序的core运行频率;
S313:如果所有批量程序的core运行频率均达到最大,则利用DVFS降低延迟敏感程序的core运行频率。
8.如权利要求7所述的方法,其特征是,所述S311的将延迟敏感程序的core分配给批量程序,是利用Linux的cpuset将利用率小于30%的core分配给批量程序。
9.如权利要求7所述的方法,其特征是,所述S312的加快批量程序的core运行频率,是利用DVFS加快运行批量程序的core频率;
所述S313的降低延迟敏感程序的core运行频率,是指利用DVFS降低延迟敏感程序的core运行频率。
10.保证延迟敏感程序服务质量的调节系统,其特征是,包括:
资源采集模块,其被配置为:采集每一个待执行程序的资源占用率;所述待执行程序,包括:延迟敏感程序和若干个批量程序;
资源分配模块,其被配置为:假设每个服务器节点上执行一个延迟敏感程序和若干个批量程序;分别为延迟敏感程序和批量程序分配运行资源;
资源分配调节模块,其被配置为:实时监控延迟敏感程序运行过程中的服务质量要求性能;根据延迟敏感程序运行过程中的性能与设定阈值进行比较,为延迟敏感程序调整运行core频率和core数量,保证延迟敏感程序服务质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010084612.9A CN111399995A (zh) | 2020-02-10 | 2020-02-10 | 保证延迟敏感程序服务质量的调节方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010084612.9A CN111399995A (zh) | 2020-02-10 | 2020-02-10 | 保证延迟敏感程序服务质量的调节方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111399995A true CN111399995A (zh) | 2020-07-10 |
Family
ID=71434252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010084612.9A Pending CN111399995A (zh) | 2020-02-10 | 2020-02-10 | 保证延迟敏感程序服务质量的调节方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399995A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000465A (zh) * | 2020-07-21 | 2020-11-27 | 山东师范大学 | 数据中心环境下减少延迟敏感程序性能干扰的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107589997A (zh) * | 2017-08-29 | 2018-01-16 | 山东师范大学 | 数据中心环境下保证延迟敏感程序QoS的动态调节方法 |
CN107656810A (zh) * | 2017-08-29 | 2018-02-02 | 山东师范大学 | 数据中心环境下保证延迟敏感程序服务质量的方法 |
CN108123998A (zh) * | 2017-11-23 | 2018-06-05 | 北京交通大学 | 多云数据中心中面向延迟敏感应用的启发式请求调度方法 |
US20180364782A1 (en) * | 2017-06-19 | 2018-12-20 | Advanced Micro Devices, Inc. | Power efficiency optimization in throughput-based workloads |
CN109766168A (zh) * | 2017-11-09 | 2019-05-17 | 阿里巴巴集团控股有限公司 | 任务调度方法和装置、存储介质以及计算设备 |
-
2020
- 2020-02-10 CN CN202010084612.9A patent/CN111399995A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180364782A1 (en) * | 2017-06-19 | 2018-12-20 | Advanced Micro Devices, Inc. | Power efficiency optimization in throughput-based workloads |
CN107589997A (zh) * | 2017-08-29 | 2018-01-16 | 山东师范大学 | 数据中心环境下保证延迟敏感程序QoS的动态调节方法 |
CN107656810A (zh) * | 2017-08-29 | 2018-02-02 | 山东师范大学 | 数据中心环境下保证延迟敏感程序服务质量的方法 |
CN109766168A (zh) * | 2017-11-09 | 2019-05-17 | 阿里巴巴集团控股有限公司 | 任务调度方法和装置、存储介质以及计算设备 |
CN108123998A (zh) * | 2017-11-23 | 2018-06-05 | 北京交通大学 | 多云数据中心中面向延迟敏感应用的启发式请求调度方法 |
Non-Patent Citations (3)
Title |
---|
HAORAN CAI: "ESprint: QoS-Aware Management for Effective Computational Sprinting in Data Centers", 《2019 19TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTERS,CLOUD AND COMPUTING(CCGRID)》 * |
周舟: "《云计算下能耗优化及管理技术》", 31 August 2018 * |
青岛英谷教育科技股份有限公司: "《云计算与虚拟化技术》", 28 February 2018 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000465A (zh) * | 2020-07-21 | 2020-11-27 | 山东师范大学 | 数据中心环境下减少延迟敏感程序性能干扰的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066332B (zh) | 分布式系统及其调度方法和调度装置 | |
CN107580023B (zh) | 一种动态调整任务分配的流处理作业调度方法及系统 | |
US8869160B2 (en) | Goal oriented performance management of workload utilizing accelerators | |
CN107908479B (zh) | 一种节点资源分配方法及装置 | |
US20130055283A1 (en) | Workload Performance Control | |
CN108770017B (zh) | 一种无线资源动态均衡方法及系统 | |
CN111046091B (zh) | 数据交换系统的运行方法、装置及设备 | |
WO2023115931A1 (zh) | 大数据组件参数调整方法、装置、电子设备及存储介质 | |
US20130239112A1 (en) | Information processing system | |
CN112181613A (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
US8090903B2 (en) | Fair and dynamic disk input/output bandwidth distribution | |
JP2013125548A (ja) | 仮想マシン割り当てシステム及びその使用方法 | |
CN111399995A (zh) | 保证延迟敏感程序服务质量的调节方法及系统 | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN106407013B (zh) | 资源动态调度的方法、装置、资源调度服务器及系统 | |
CN112181498A (zh) | 并发控制方法、装置和设备 | |
CN112214299A (zh) | 多核处理器及其任务调度方法和装置 | |
CN109144664B (zh) | 一种基于用户服务质量需求差异的虚拟机动态迁移方法 | |
CN114860449B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111176847B (zh) | 物理核超多线程服务器上大数据集群性能优化方法及装置 | |
CN114443262A (zh) | 计算资源管理方法、装置、设备及系统 | |
CN113407313A (zh) | 资源需求感知的多队列调度方法、系统及服务器 | |
TWI821038B (zh) | 運算工作分派方法及應用其之終端電子裝置與運算系統 | |
CN114115702B (zh) | 存储控制方法、装置、存储系统和存储介质 | |
US20230418674A1 (en) | Information processing apparatus, information processing system, and information processing method |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200710 |