CN113900824A - 一种云平台虚拟资源高速调度方法 - Google Patents
一种云平台虚拟资源高速调度方法 Download PDFInfo
- Publication number
- CN113900824A CN113900824A CN202111270303.1A CN202111270303A CN113900824A CN 113900824 A CN113900824 A CN 113900824A CN 202111270303 A CN202111270303 A CN 202111270303A CN 113900824 A CN113900824 A CN 113900824A
- Authority
- CN
- China
- Prior art keywords
- load
- error
- value
- pid controller
- performance
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/505—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 load
Abstract
本发明涉及云平台调度技术领域,具体涉及一种云平台虚拟资源高速调度方法;包括:S1、将同一服务器上运行的负载分为:负载a和负载b;S2、将所述负载a和负载b分别与不同的CPU core进行绑定;S3、通过Performance Monitoring工具PCM收集负载a的应用绩效,并把该值传入性能分析模块中。本发明利用缓存分配技术来控制工作负载对缓存路数的占用情况,通过将低优先级负载的缓存路数限制在特定子集里,来限定低优先级负载对缓存的占用,从而提高高优先级负载的工作性能,并且采用的基于缓存分配技术的云计算资源分配策略具备在多种云计算任务混合部署的情况下,有效的保证延时要求严格的计算任务的性能和服务质量,提高云计算平台的资源利用率。
Description
技术领域
本发明涉及云平台调度技术领域,具体涉及一种云平台虚拟资源高速调度方法。
背景技术
随着互联网大数据时代的来临,信息处理能力和网络技术日趋完善和高效,从而催生了由传统计算机和网络技术发展融合的云计算技术。云计算通过虚拟化技术,将分散在多个数据中心的服务器资源进行有效整合,从而形成一个云平台,然而随着云平台的不断扩大,如果对相关资源调度不合理,从物理资源上来说,将产生大量的资源碎片,从应用层面来说,将导数数据拥塞、处理效率低下和负载不均衡,反而降低了系统本身的对外服务能力。因此,寻求一种合理高效的资源调度方法格外重要。
中国专利申请号为CN 106506670 A公开了一种云平台虚拟资源高速调度方法与系统,包括:对优先级值进行初始化;从等待队列中读取申请任务;分析现有虚拟资源情况;空闲的现有虚拟资源充足时,分析任务信息;根据每个申请任务的任务信息直接分配虚拟资源;或根据每个申请任务的任务信息分配优先级值并基于高优先级任务先分配资源的原则从资源池中调度虚拟资源构建局域网。另一方面,本发明还提供了一种云平台虚拟资源高速调度系统,其包括:资源管理单元、任务管理单元、优先级计算单元、信息库单元和总控制单元。本发明通过基于优先级的云平台虚拟资源高速调度方法及系统,使得能够快速调度、合理分配云计算平台的虚拟资源,并提高了用户的体验。但本方案在实际应用时,仅仅对虚拟化计算、内存、存储和网络资源进行分配,导致Latency Critical负载服务时延过长、平台整体服务质量较差的问题。
综上所述,研发一种云平台虚拟资源高速调度方法,仍是数字化仓储技术领域中急需解决的关键问题。
发明内容
针对现有技术所存在的上述缺点,本发明的目的在于提供一种云平台虚拟资源高速调度方法,本发明采用的基于缓存分配技术的云计算资源分配策略具备在多种云计算任务混合部署的情况下,有效的保证延时要求严格的计算任务的性能和服务质量,提高云计算平台的资源利用率。
为实现上述目的,本发明提供了如下技术方案:
一种云平台虚拟资源高速调度方法,包括:
S1、将同一服务器上运行的负载分为:负载a和负载b;
S2、将所述负载a和负载b分别与不同的CPU core进行绑定;
S3、通过Performance Monitoring工具PCM收集负载a的应用绩效,并把该值传入性能分析模块中;
S4、所述性能分析模块会在一段时间内将负载b的L3 Cache Way限制到最小;
S5、计算出此时负载a的性能数据,将这个数据记录下来作为FullQoS IPC Value;
S6、由所述性能分析模块记录的实时IPC数值将其标记为ActiveIPC1,经过所述性能分析模块处理后得到FullQoS IPC Value标记为Target IPC1;
S7、PID控制器利用所述ActiveIPC1和Target IPC1作为输出,经过函数式,求出所述PID控制器的输出值error(t);
其中,所述函数式为:
error(t)=target(t)-y(t),
target(t)为给定值,
y(t)为实际输出值,
error(t)为控制偏差;
S8、所述PID控制器根据所述输出值error(t)的大小,对缓存资源按一定比例进行再次分配,根据分配后得到的ActiveIPC2与Target IPC2的差值error(t)2,进行第二次调试,直到ActiveIPCn与Target IPCn之间的差值error(t)n收敛为误差范围,所述PID控制器停止调控。
本发明进一步设置为:在步骤S8中,对缓存资源按一定比例进行再次分配的步骤为:
S80、根据所述PID控制器的输出值大小不同,将PID执行层实施Qo S的力度分为N个等级;
S81、通过操作系统Linux来对不同的工作负载进行缓存路数mask的修改。
本发明进一步设置为:在所述步骤S82中,缓存路数mask修改的步骤为:
S810、所述PID控制器利用所述Performance Monitor工具检测到高优先级负载的IPC,并计算出error(t)作为系统的偏差值;
S811、利用所述error(t)计算Qo S的执行力度,即PID Output。
本发明进一步设置为:在所述步骤S811中,计算Qo S的执行力度的公式为:
其中,
error(t)为实际监测到的值与目标值之间的差值,
Kp、Ki和Kd均为常数。
本发明进一步设置为:所述Qo S力度的大小取决于所述PID控制器,并且执行机制将会更新CAT中缓存路数的大小。
本发明进一步设置为:所述PID控制器在软件方式下运行,所述操作系统Linux可以提供error(t)的集合以及每个负载的Qo S执行力度,每隔100ms所述PID控制器把当前error(t)加上之前所有error(t)的总和,再加上error(t)的导数,基于所述计算Qo S的执行力度公式重新计算出Qo S执行的力度。
本发明进一步设置为:所述Kp、Ki和Kd将决定所述PID控制器收敛的速度。
有益效果
采用本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:
本方法利用缓存分配技术来控制工作负载对缓存路数的占用情况,通过将低优先级负载的缓存路数限制在特定子集里,来限定低优先级负载对缓存的占用,从而提高高优先级负载的工作性能。低优先级负载所占用的缓存路数的大小由系统运行时的PID控制器来决定,PID控制器会在系统运行时定时更新缓存路数的masks,调整负载对缓存的占用情况以及强制实施服务质量的力度,并且采用的基于缓存分配技术的云计算资源分配策略具备在多种云计算任务混合部署的情况下,有效的保证延时要求严格的计算任务的性能和服务质量,提高云计算平台的资源利用率。
附图说明
图1为一种云平台虚拟资源高速调度方法的架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合实施例对本发明作进一步的描述。
实施例1
请参照图1所示,一种云平台虚拟资源高速调度方法,包括:
步骤一、将同一服务器上运行的负载分为:负载a和负载b。
步骤二、将负载a和负载b分别与不同的CPU core进行绑定。
步骤三、通过Performance Monitoring工具PCM收集负载a的应用绩效,并把该值传入性能分析模块中。
步骤四、性能分析模块会在一段时间内将负载b的L3 Cache Way限制到最小。
步骤五、计算出此时负载a的性能数据,将这个数据记录下来作为FullQoS IPCValue。
步骤六、由性能分析模块记录的实时IPC数值将其标记为ActiveIPC1,经过性能分析模块处理后得到FullQoS IPC Value标记为Target IPC1。
步骤七、PID控制器利用ActiveIPC1和Target IPC1作为输出,经过函数式,求出PID控制器的输出值error(t);
其中,函数式为:
error(t)=target(t)-y(t),
target(t)为给定值,
y(t)为实际输出值,
error(t)为控制偏差。
步骤八、PID控制器根据输出值error(t)的大小,对缓存资源按一定比例进行再次分配,根据分配后得到的ActiveIPC2与Target IPC2的差值error(t)2,进行第二次调试,直到ActiveIPCn与Target IPCn之间的差值error(t)n收敛为误差范围,PID控制器停止调控,
其中:
80)根据PID控制器的输出值大小不同,将PID执行层实施Qo S的力度分为N个等级;
81)通过操作系统Linux来对不同的工作负载进行缓存路数mask的修改,一种细粒度的资源占用控制的机制,因PID控制器可以按1/N的倍数来增加/减少低优先级负载对缓存的占用。PID控制器利用Performance Monitor工具检测到高优先级负载的IPC,并计算出error(t)作为系统的偏差值,利用error(t)计算Qo S的执行力度,即PID Output,而Qo S力度的大小取决于所述PID控制器,并且执行机制将会更新CAT中缓存路数的大小,在以后的计算工作中,可以添加更多的高优先级负载或设置更多的优先等级;
计算Qo S的执行力度的公式为:
其中,
error(t)为实际监测到的值与目标值之间的差值,
Kp、Ki和Kd均为常数。
并且,Kp、Ki和Kd将决定PID控制器收敛的速度,通过前端依次调整Kp、Ki和Kd的值,最终使系统在最短的时间内收敛并具有较高的稳定性,自动调节方法通过程序对低优先级负载进行训练。
PID控制器在软件方式下运行,操作系统Linux可以提供error(t)的集合以及每个负载的Qo S执行力度,每隔100msPID控制器把当前error(t)加上之前所有error(t)的总和,再加上error(t)的导数,基于计算Qo S的执行力度公式重新计算出Qo S执行的力度。
本方法利用缓存分配技术来控制工作负载对缓存路数的占用情况,通过将低优先级负载的缓存路数限制在特定子集里,来限定低优先级负载对缓存的占用,从而提高高优先级负载的工作性能。低优先级负载所占用的缓存路数不是固定的,缓存路数的大小由系统运行时的PID控制器来决定,PID控制器会在系统运行时定时更新缓存路数的masks,调整负载对缓存的占用情况以及强制实施服务质量的力度,并且采用的基于缓存分配技术的云计算资源分配策略具备在多种云计算任务混合部署的情况下,有效的保证延时要求严格的计算任务的性能和服务质量,提高云计算平台的资源利用率。
本发明的各部分可以用硬件、软件、固件或他们的组合来实现,在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现,例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种云平台虚拟资源高速调度方法,其特征在于,包括:
S1、将同一服务器上运行的负载分为:负载a和负载b;
S2、将所述负载a和负载b分别与不同的CPU core进行绑定;
S3、通过Performance Monitoring工具PCM收集负载a的应用绩效,并把该值传入性能分析模块中;
S4、所述性能分析模块会在一段时间内将负载b的L3 Cache Way限制到最小;
S5、计算出此时负载a的性能数据,将这个数据记录下来作为FullQoS IPC Value;
S6、由所述性能分析模块记录的实时IPC数值将其标记为ActiveIPC1,经过所述性能分析模块处理后得到FullQoS IPC Value标记为Target IPC1;
S7、PID控制器利用所述ActiveIPC1和TargetIPC1作为输出,经过函数式,求出所述PID控制器的输出值error(t);
其中,所述函数式为:
error(t)=target(t)-y(t),
target(t)为给定值,
y(t)为实际输出值,
error(t)为控制偏差;
S8、所述PID控制器根据所述输出值error(t)的大小,对缓存资源按一定比例进行再次分配,根据分配后得到的ActiveIPC2与TargetIPC2的差值error(t)2,进行第二次调试,直到ActiveIPCn与TargetIPCn之间的差值error(t)n收敛为误差范围,所述PID控制器停止调控。
2.根据权利要求1所述的云平台虚拟资源高速调度方法,其特征在于,在步骤S8中,对缓存资源按一定比例进行再次分配的步骤为:
S80、根据所述PID控制器的输出值大小不同,将PID执行层实施Qo S的力度分为N个等级;
S81、通过操作系统Linux来对不同的工作负载进行缓存路数mask的修改。
3.根据权利要求2所述的云平台虚拟资源高速调度方法,其特征在于,在所述步骤S82中,缓存路数mask修改的步骤为:
S820、所述PID控制器利用所述Performance Monitor工具检测到高优先级负载的IPC,并计算出error(t)作为系统的偏差值;
S821、利用所述error(t)计算Qo S的执行力度,即PID Output。
5.根据权利要求2所述的云平台虚拟资源高速调度方法,其特征在于,所述Qo S力度的大小取决于所述PID控制器,并且执行机制将会更新CAT中缓存路数的大小。
6.根据权利要求2所述的云平台虚拟资源高速调度方法,其特征在于,所述PID控制器在软件方式下运行,所述操作系统Linux可以提供error(t)的集合以及每个负载的Qo S执行力度,每隔100ms所述PID控制器把当前error(t)加上之前所有error(t)的总和,再加上error(t)的导数,基于所述计算Qo S的执行力度公式重新计算出Qo S执行的力度。
7.根据权利要求4所述的云平台虚拟资源高速调度方法,其特征在于,所述Kp、Ki和Kd将决定所述PID控制器收敛的速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270303.1A CN113900824A (zh) | 2021-10-29 | 2021-10-29 | 一种云平台虚拟资源高速调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270303.1A CN113900824A (zh) | 2021-10-29 | 2021-10-29 | 一种云平台虚拟资源高速调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900824A true CN113900824A (zh) | 2022-01-07 |
Family
ID=79027568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111270303.1A Pending CN113900824A (zh) | 2021-10-29 | 2021-10-29 | 一种云平台虚拟资源高速调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900824A (zh) |
-
2021
- 2021-10-29 CN CN202111270303.1A patent/CN113900824A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790726B (zh) | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 | |
WO2016078178A1 (zh) | 一种虚拟cpu调度方法 | |
WO2017167025A1 (zh) | 一种实现任务调度的方法、装置及计算机存储介质 | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN107122233B (zh) | 一种面向tsn业务的多vcpu自适应实时调度方法 | |
US8645592B2 (en) | Balancing usage of hardware devices among clients | |
US11876731B2 (en) | System and methods for sharing memory subsystem resources among datacenter applications | |
WO2022068697A1 (zh) | 任务调度方法及装置 | |
US20130167152A1 (en) | Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method | |
CN110262897B (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
CN112162835A (zh) | 一种异构云环境下实时任务的调度优化方法 | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
Novak et al. | Cloud functions for fast and robust resource auto-scaling | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
Ye et al. | Astraea: A fair deep learning scheduler for multi-tenant gpu clusters | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN108574600B (zh) | 云计算服务器的功耗和资源竞争协同控制的服务质量保障方法 | |
CN113900824A (zh) | 一种云平台虚拟资源高速调度方法 | |
Qin et al. | Dynamic load balancing for I/O-and memory-intensive workload in clusters using a feedback control mechanism | |
CN113918346A (zh) | 一种云平台虚拟资源高速调度方法 | |
Chen et al. | Improving cluster resource efficiency with oversubscription | |
CN111506407B (zh) | Pull模式与Push模式相结合的资源管理与作业调度方法、系统 | |
JP6285850B2 (ja) | プロセスマイグレーション方法及びクラスタシステム | |
CN111858013A (zh) | 工作流作业调度控制方法 | |
CN112667356B (zh) | 时延可预测的NVMe存储虚拟化方法和系统 |
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 |