CN110928661B - 一种线程迁移方法、装置、设备及可读存储介质 - Google Patents

一种线程迁移方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN110928661B
CN110928661B CN201911157856.9A CN201911157856A CN110928661B CN 110928661 B CN110928661 B CN 110928661B CN 201911157856 A CN201911157856 A CN 201911157856A CN 110928661 B CN110928661 B CN 110928661B
Authority
CN
China
Prior art keywords
thread
cpu
delay
migration
target
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.)
Active
Application number
CN201911157856.9A
Other languages
English (en)
Other versions
CN110928661A (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 Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data 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 Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911157856.9A priority Critical patent/CN110928661B/zh
Publication of CN110928661A publication Critical patent/CN110928661A/zh
Application granted granted Critical
Publication of CN110928661B publication Critical patent/CN110928661B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • 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

本申请公开了一种线程迁移方法、装置、设备及可读存储介质。本申请公开的方法包括:利用监测进程检测存储系统中的各个CPU的负载延时;确定各个CPU的负载延时的差异度;判断差异度是否大于预设的波动阈值,若差异度大于预设的波动阈值,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照迁移策略进行线程迁移,从而使负载较高的CPU对应的线程迁移至负载较低的CPU上,实现负载均衡,提高存储系统的服务能力。相应地,本申请提供的一种线程迁移装置、设备及可读存储介质,也同样具有上述技术效果。

Description

一种线程迁移方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种线程迁移方法、装置、设备及可读存储介质。
背景技术
在多CPU的存储系统中,每个CPU可以绑定多个线程,且每个CPU绑定的线程数量不同。同一CPU上,各个线程占用的资源也各异。因此,如何使存储系统中的各个CPU实现负载均衡,提高存储系统的服务能力,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种线程迁移方法、装置、设备及可读存储介质,以使存储系统中的各个CPU实现负载均衡,提高存储系统的服务能力。其具体方案如下:
第一方面,本申请提供了一种线程迁移方法,包括:
利用监测进程检测存储系统中的各个CPU的负载延时;
确定各个CPU的负载延时的差异度;
判断所述差异度是否大于预设的波动阈值;
若是,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移。
优选地,若所述差异度为方差,则所述确定各个CPU的负载延时的差异度,包括:
确定各个CPU的负载延时的方差。
优选地,所述根据各个CPU对应的线程的IO延时生成迁移策略,包括:
针对任一个CPU,计算当前CPU对应的每个线程的IO延时,并将IO延时大于预设延时阈值的线程确定为目标线程;
根据所有目标线程和各个CPU的负载延时生成所述迁移策略,所述迁移策略至少包括待迁移线程,以及承载所述待迁移线程的目的CPU。
优选地,所述根据所有目标线程和各个CPU的负载延时生成所述迁移策略,包括:
将IO延时最大的目标线程确定为所述待迁移线程;
将负载延时最小的CPU确定为所述目的CPU。
优选地,所述根据所有目标线程和各个CPU的负载延时生成所述迁移策略,包括:
将所有目标线程确定为所述待迁移线程;
将负载延时低于预设负载阈值的CPU确定为所述目的CPU;
根据所述待迁移线程的IO延时和所述目的CPU的负载延时,确定各个待迁移线程的迁移方向,并将所述迁移方向添加至所述迁移策略。
优选地,所述计算当前CPU对应的每个线程的IO延时,包括:
利用当前CPU对应的任一个线程处理目标IO业务,将当前线程处理所述目标IO业务的延时记录为当前线程的IO延时。
优选地,所述计算当前CPU对应的每个线程的IO延时,包括:
利用当前CPU对应的任一个线程处理多个目标IO业务,将当前线程处理多个目标IO业务的延时平均值记录为当前线程的IO延时。
第二方面,本申请提供了一种线程迁移装置,包括:
检测模块,用于利用监测进程检测存储系统中的各个CPU的负载延时;
确定模块,用于确定各个CPU的负载延时的差异度;
判断模块,用于判断所述差异度是否大于预设的波动阈值;
迁移模块,用于若所述差异度大于预设的波动阈值,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移。
第三方面,本申请提供了一种线程迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的线程迁移方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的线程迁移方法。
通过以上方案可知,本申请提供了一种线程迁移方法,包括:利用监测进程检测存储系统中的各个CPU的负载延时;确定各个CPU的负载延时的差异度;判断所述差异度是否大于预设的波动阈值;若是,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移。
可见,所述方法能够检测存储系统中的各个CPU的负载延时;并确定各个CPU的负载延时的差异度;若所述差异度大于预设的波动阈值,则表明各个CPU的负载不够均衡,因此需要进行线程迁移,那么根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移,从而使负载较高的CPU对应的线程迁移至负载较低的CPU上,实现负载均衡,从而提高存储系统的服务能力。
相应地,本申请提供的一种线程迁移装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种线程迁移方法流程图;
图2为本申请公开的一种存储系统示意图;
图3为本申请公开的一种线程迁移装置示意图;
图4为本申请公开的一种线程迁移设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在多CPU的存储系统中,每个CPU可以绑定多个线程,且每个CPU绑定的线程数量不同。同一CPU上,各个线程占用的资源也各异。为此,本申请提供了一种线程迁移方案,能够使存储系统中的各个CPU实现负载均衡,提高存储系统的服务能力。
参见图1所示,本申请实施例公开了一种线程迁移方法,包括:
S101、利用监测进程检测存储系统中的各个CPU的负载延时;
S102、确定各个CPU的负载延时的差异度;
需要说明的是,各个CPU的负载延时的差异度越大,表明各个CPU的负载越不均衡。在一种具体实施方式中,差异度可以为方差,那么确定各个CPU的负载延时的差异度,包括:确定各个CPU的负载延时的方差。
S103、判断差异度是否大于预设的波动阈值;若是,则执行S104;若否,则无操作;
S104、根据各个CPU对应的线程的IO延时生成迁移策略,并按照迁移策略进行线程迁移。
若差异度不大于预设的波动阈值,则表明各个CPU的负载还相对均衡,因此不需要进行线程迁移,所以当差异度不大于预设的波动阈值时,不执行任何操作。
在一种具体实施方式中,根据各个CPU对应的线程的IO延时生成迁移策略,包括:针对任一个CPU,计算当前CPU对应的每个线程的IO延时,并将IO延时大于预设延时阈值的线程确定为目标线程;根据所有目标线程和各个CPU的负载延时生成迁移策略,迁移策略至少包括待迁移线程,以及承载待迁移线程的目的CPU。其中,若暂时没有IO延时大于预设延时阈值的线程,那么无需进行线程迁移。
假设存储系统中有3个CPU:CPU1、CPU2和CPU3,CPU1、CPU2和CPU3的负载延时分别为1、2、3。若每个CPU绑定2个线程,那么针对任一个CPU,则有:CPU1对应第一线程和第二线程,第一线程和第二线程的IO延时分别为2和3;CPU2对应第三线程和第四线程,第三线程和第四线程的IO延时分别为3和4;CPU3对应第五线程和第六线程,第五线程和第六线程的IO延时分别为2和4。IO延时的单位可以为毫秒。假设预设延时阈值为2,那么目标线程包括:第二线程、第三线程、第四线程、第六线程。
其中,根据所有待迁移线程和各个CPU的负载延时生成迁移策略,包括:将IO延时最大的目标线程确定为待迁移线程;将负载延时最小的CPU确定为目的CPU。基于上述示例,第六线程的IO延时最大,因此待迁移线程为第六线程,CPU1的负载最小,因此目的CPU为CPU1。其中,CPU的负载延时越大,表明CPU负载越大。线程的IO延时越大,表明处理当前线程的CPU负载越大。
其中,根据所有待迁移线程和各个CPU的负载延时生成迁移策略,包括:将所有目标线程确定为待迁移线程;将负载延时低于预设负载阈值的CPU确定为目的CPU;根据待迁移线程的IO延时和目的CPU的负载延时,确定各个待迁移线程的迁移方向,并将迁移方向添加至迁移策略。其中,负载延时低于预设负载阈值的CPU可看作空闲CPU。若当前存储系统中不存在空闲CPU,那么先暂停线程迁移。
基于上述示例,假设负载阈值为2,那么待迁移线程包括:第二线程、第三线程、第四线程、第六线程,目的CPU仅有CPU1,此时需要考虑CPU1可承载的最大负载,将待迁移线程中的部分线程或全部线程迁移至CPU1,迁移完成后,使得CPU1的负载不大于其最大负载。其中,若将第三线程迁移至CPU1,那么迁移方向为CPU2→CPU1。
在一种具体实施方式中,计算当前CPU对应的每个线程的IO延时,包括:利用当前CPU对应的任一个线程处理目标IO业务,将当前线程处理目标IO业务的延时记录为当前线程的IO延时。也就是将一个线程处理单IO业务的延时确定为其IO延时。
为了更精确计算一个线程的IO延时,可以将一个线程处理多个单IO业务的延时平均值确定为其IO延时。在一种具体实施方式中,计算当前CPU对应的每个线程的IO延时,包括:利用当前CPU对应的任一个线程处理多个目标IO业务,将当前线程处理多个目标IO业务的延时平均值记录为当前线程的IO延时。
可见,本申请实施例能够检测存储系统中的各个CPU的负载延时;并确定各个CPU的负载延时的差异度;若所述差异度大于预设的波动阈值,则表明各个CPU的负载不够均衡,因此需要进行线程迁移,那么根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移,从而使负载较高的CPU对应的线程迁移至负载较低的CPU上,实现负载均衡,从而提高存储系统的服务能力。
按照本申请提供的方法可实现如下实施例。请参见如图2所示的存储系统。在图2中,每个CPU中的线程按照队列处理IO业务,队列包括head(头)和tail(尾)。
在本实施例中,首先利用CPU负载确定是否需要进行线程,具体过程包括:针对每个CPU,启动CPU负载监测进程。负载监测进程中执行阶乘算法,并记录执行时间,该执行时间记录为当前CPU的负载延时。计算每个CPU的负载延时的方差;若方差超过预设的波动阈值,则判定需要进行线程迁移。
在进行线程迁移之前,对各个CPU对应的线程进行单IO测试,以确定每个线程的IO延时。若某一线程处理单IO业务的时长大于时延阈值,则将该线程标记为可迁移线程。
若某一线程被标记为可迁移线程,且当前各个CPU的负载方差超过预设的波动阈值,那么便可将该线程迁移至空闲CPU上,以使存储系统中的各个CPU实现负载均衡,提高存储系统的服务能力。
在一种具体实施方式中,若某一线程被标记为可迁移线程,且当前各个CPU的负载方差超过预设的波动阈值,也可以不及时进行线程迁移。若此种情况的持续时间超过预设时间段,那么再进行线程迁移。
可见,本实施例基于IO处理复杂度设定时延阈值,并检测CPU负载,若某一线程的IO延时超过时延阈值,且方差超过预设的波动阈值,则进行线程迁移,从而使存储系统中的各个CPU实现负载均衡,提高存储系统的服务能力。
下面对本申请实施例提供的一种线程迁移装置进行介绍,下文描述的一种线程迁移装置与上文描述的一种线程迁移方法可以相互参照。
参见图3所示,本申请实施例公开了一种线程迁移装置,包括:
检测模块301,用于利用监测进程检测存储系统中的各个CPU的负载延时;
确定模块302,用于确定各个CPU的负载延时的差异度;
判断模块303,用于判断所述差异度是否大于预设的波动阈值;
迁移模块304,用于若差异度大于预设的波动阈值,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照迁移策略进行线程迁移。
在一种具体实施方式中,确定模块具体用于:
确定各个CPU的负载延时的方差。
在一种具体实施方式中,迁移模块包括:
确定单元,用于针对任一个CPU,计算当前CPU对应的每个线程的IO延时,并将IO延时大于预设延时阈值的线程确定为目标线程;
生成单元,用于根据所有目标线程和各个CPU的负载延时生成迁移策略,迁移策略至少包括待迁移线程,以及承载待迁移线程的目的CPU。
在一种具体实施方式中,生成单元具体用于:
将IO延时最大的目标线程确定为待迁移线程;将负载延时最小的CPU确定为目的CPU。
在一种具体实施方式中,生成单元具体用于:
将所有目标线程确定为待迁移线程;将负载延时低于预设负载阈值的CPU确定为目的CPU;根据待迁移线程的IO延时和目的CPU的负载延时,确定各个待迁移线程的迁移方向,并将迁移方向添加至迁移策略。
在一种具体实施方式中,确定单元具体用于:
利用当前CPU对应的任一个线程处理目标IO业务,将当前线程处理目标IO业务的延时记录为当前线程的IO延时。
在一种具体实施方式中,确定单元具体用于:
利用当前CPU对应的任一个线程处理多个目标IO业务,将当前线程处理多个目标IO业务的延时平均值记录为当前线程的IO延时。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种线程迁移装置,该装置能够使负载较高的CPU对应的线程迁移至负载较低的CPU上,实现负载均衡,从而提高存储系统的服务能力。
下面对本申请实施例提供的一种线程迁移设备进行介绍,下文描述的一种线程迁移设备与上文描述的一种线程迁移方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种线程迁移设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种线程迁移方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的线程迁移方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种线程迁移方法,其特征在于,包括:
利用监测进程检测存储系统中的各个CPU的负载延时;其中,针对每个CPU启动监测进程,该监测进程用于执行阶乘算法并记录执行时间,该执行时间记录为相应CPU的负载延时;
确定各个CPU的负载延时的差异度;
判断所述差异度是否大于预设的波动阈值;
若是,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移;
其中,所述根据各个CPU对应的线程的IO延时生成迁移策略,包括:
针对任一个CPU,计算当前CPU对应的每个线程的IO延时,并将IO延时大于预设延时阈值的线程确定为目标线程;
根据所有目标线程和各个CPU的负载延时生成所述迁移策略,所述迁移策略至少包括待迁移线程,以及承载所述待迁移线程的目的CPU;
其中,所述计算当前CPU对应的每个线程的IO延时,包括:
利用当前CPU对应的任一个线程处理目标IO业务,将当前线程处理所述目标IO业务的延时记录为当前线程的IO延时;每个CPU中的线程按照队列处理IO业务。
2.根据权利要求1所述的线程迁移方法,其特征在于,若所述差异度为方差,则所述确定各个CPU的负载延时的差异度,包括:
确定各个CPU的负载延时的方差。
3.根据权利要求2所述的线程迁移方法,其特征在于,所述根据所有目标线程和各个CPU的负载延时生成所述迁移策略,包括:
将IO延时最大的目标线程确定为所述待迁移线程;
将负载延时最小的CPU确定为所述目的CPU。
4.根据权利要求2所述的线程迁移方法,其特征在于,所述根据所有目标线程和各个CPU的负载延时生成所述迁移策略,包括:
将所有目标线程确定为所述待迁移线程;
将负载延时低于预设负载阈值的CPU确定为所述目的CPU;
根据所述待迁移线程的IO延时和所述目的CPU的负载延时,确定各个待迁移线程的迁移方向,并将所述迁移方向添加至所述迁移策略。
5.根据权利要求3至4任意一项所述的线程迁移方法,其特征在于,所述计算当前CPU对应的每个线程的IO延时,包括:
利用当前CPU对应的任一个线程处理多个目标IO业务,将当前线程处理多个目标IO业务的延时平均值记录为当前线程的IO延时。
6.一种线程迁移装置,其特征在于,包括:
检测模块,用于利用监测进程检测存储系统中的各个CPU的负载延时;其中,针对每个CPU启动监测进程,该监测进程用于执行阶乘算法并记录执行时间,该执行时间记录为相应CPU的负载延时;
确定模块,用于确定各个CPU的负载延时的差异度;
判断模块,用于判断所述差异度是否大于预设的波动阈值;
迁移模块,用于若所述差异度大于预设的波动阈值,则根据各个CPU对应的线程的IO延时生成迁移策略,并按照所述迁移策略进行线程迁移;
其中,所述迁移模块包括:
确定单元,用于针对任一个CPU,计算当前CPU对应的每个线程的IO延时,并将IO延时大于预设延时阈值的线程确定为目标线程;
生成单元,用于根据所有目标线程和各个CPU的负载延时生成所述迁移策略,所述迁移策略至少包括待迁移线程,以及承载所述待迁移线程的目的CPU;
其中,所述确定单元具体用于:
利用当前CPU对应的任一个线程处理目标IO业务,将当前线程处理所述目标IO业务的延时记录为当前线程的IO延时;每个CPU中的线程按照队列处理IO业务。
7.一种线程迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的线程迁移方法。
8.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的线程迁移方法。
CN201911157856.9A 2019-11-22 2019-11-22 一种线程迁移方法、装置、设备及可读存储介质 Active CN110928661B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911157856.9A CN110928661B (zh) 2019-11-22 2019-11-22 一种线程迁移方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911157856.9A CN110928661B (zh) 2019-11-22 2019-11-22 一种线程迁移方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110928661A CN110928661A (zh) 2020-03-27
CN110928661B true CN110928661B (zh) 2023-06-16

Family

ID=69850846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911157856.9A Active CN110928661B (zh) 2019-11-22 2019-11-22 一种线程迁移方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110928661B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651866B (zh) * 2020-05-12 2023-03-17 北京华如科技股份有限公司 一种基于动态负载迁移及时间同步的仿真执行方法及系统
CN111831414A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 线程迁移方法、装置、存储介质及电子设备
CN111831409B (zh) * 2020-07-01 2022-07-15 Oppo广东移动通信有限公司 线程调度方法、装置、存储介质及电子设备
CN112835720A (zh) * 2021-02-26 2021-05-25 杭州迪普科技股份有限公司 一种arp老化线程管理方法、装置及电子设备
CN113254186A (zh) * 2021-06-15 2021-08-13 阿里云计算有限公司 一种进程调度方法、调度器及存储介质
CN113553164B (zh) * 2021-09-17 2022-02-25 统信软件技术有限公司 一种进程迁移方法、计算设备及存储介质
CN115129458B (zh) * 2022-09-02 2022-11-25 腾讯科技(深圳)有限公司 基于容器的进程调度方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184125A (zh) * 2011-06-02 2011-09-14 首都师范大学 异构多核环境下基于程序行为在线分析的负载均衡方法
CN109903162A (zh) * 2019-03-01 2019-06-18 山东大学 一种加速区块链MCMC随机选择的ReRAM及其工作方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2437168B1 (en) * 2011-04-18 2023-09-06 Huawei Technologies Co., Ltd. Method and device for balancing load of multiprocessor system
US9207873B2 (en) * 2013-12-19 2015-12-08 Netapp, Inc. Parallel migration of data objects to clustered storage
CN105159841B (zh) * 2014-06-13 2018-10-19 华为技术有限公司 一种内存迁移方法及装置
CN104184813B (zh) * 2014-08-20 2018-03-09 杭州华为数字技术有限公司 虚拟机的负载均衡方法和相关设备及集群系统
CN105700951B (zh) * 2014-11-25 2021-01-26 中兴通讯股份有限公司 一种实现cpu业务迁移的方法及装置
CN106469018B (zh) * 2015-08-17 2019-12-27 阿里巴巴集团控股有限公司 分布式存储系统的负载监控方法及设备
US10884811B2 (en) * 2017-06-04 2021-01-05 Apple Inc. Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping
WO2019071626A1 (zh) * 2017-10-09 2019-04-18 华为技术有限公司 一种刷新显示异常处理的方法及终端
CN108845882B (zh) * 2018-06-07 2022-03-01 网宿科技股份有限公司 基于转码任务调度实现cpu负载均衡的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184125A (zh) * 2011-06-02 2011-09-14 首都师范大学 异构多核环境下基于程序行为在线分析的负载均衡方法
CN109903162A (zh) * 2019-03-01 2019-06-18 山东大学 一种加速区块链MCMC随机选择的ReRAM及其工作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LFMCW雷达多目标检测技术研究;张军;周旭;;现代雷达(第06期);全文 *
基于层次分析法权重和灰色服务器负载预测的云计算on-line迁移策略;郭正红;马辛华;兰安怡;;计算机测量与控制(第03期);全文 *

Also Published As

Publication number Publication date
CN110928661A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN110928661B (zh) 一种线程迁移方法、装置、设备及可读存储介质
CA2849565C (en) Method, apparatus, and system for scheduling processor core in multiprocessor core system
EP2437168B1 (en) Method and device for balancing load of multiprocessor system
TWI755415B (zh) 雲端環境下應用集群資源分配的方法、裝置和系統
CN103109276B (zh) 系统测试方法
CN105528330A (zh) 负载均衡的方法、装置、丛集和众核处理器
RU2015114568A (ru) Автоматизированное профилирование использования ресурса
CN111064808A (zh) 一种基于分布式存储系统的负载均衡方法及装置
GB2586111A (en) Internet of things resource optimization
CN112506643A (zh) 一种分布式系统的负载均衡方法、装置及电子设备
CN111563014A (zh) 接口服务性能测试方法、装置、设备和存储介质
US9401869B1 (en) System and methods for sharing memory subsystem resources among datacenter applications
JPH02297228A (ja) 障害情報格納方式
CN103902348A (zh) 一种虚拟化环境下用户数据的读写方法、系统及物理机
CN106980533B (zh) 基于异构处理器的任务调度方法、装置及电子设备
CN107465627A (zh) 过载保护方法、装置、电子设备及流量处理系统
CN110674008B (zh) Ssd的问题盘日志信息收集方法、装置、设备及介质
CN107368351B (zh) 一种虚拟机配置自动升级扩容方法和装置
CN117519905A (zh) 一种基于迁移成本和资源均衡的虚拟机选择方法
CN117421167A (zh) 硬件存储设备的性能瓶颈检测方法、装置及计算设备
JP6145193B2 (ja) メモリへの読取り又は書込み
US7421618B2 (en) Method for processing a diagnosis of a processor, information processing system and a diagnostic processing program
CN106330595B (zh) 分布式平台的心跳检测方法和装置
CN110941535A (zh) 一种硬盘负载均衡方法
CN113407620A (zh) 基于异构Hadoop集群环境的数据块放置方法及系统

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