CN113238854A - 一种线程数自动调节的方法、装置、设备及可读介质 - Google Patents
一种线程数自动调节的方法、装置、设备及可读介质 Download PDFInfo
- Publication number
- CN113238854A CN113238854A CN202110767231.5A CN202110767231A CN113238854A CN 113238854 A CN113238854 A CN 113238854A CN 202110767231 A CN202110767231 A CN 202110767231A CN 113238854 A CN113238854 A CN 113238854A
- Authority
- CN
- China
- Prior art keywords
- thread
- change
- rate
- threads
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000008859 change Effects 0.000 claims abstract description 125
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000003860 storage Methods 0.000 claims abstract description 25
- 230000033228 biological regulation Effects 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种线程数自动调节的方法、装置、设备及可读介质,该方法包括:设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;基于获取到的性能计算线程处理速度的第一变化率;将第一变化率的绝对值与波动范围进行比较;响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。通过使用本发明的方案,能够找到最优线程数进而调节任务的处理速度,能够满足存储性能的更高需求,提高用户体验感。
Description
技术领域
本领域涉及计算机领域,并且更具体地涉及一种线程数自动调节的方法、装置、设备及可读介质。
背景技术
随着大数据应用规模不断增加,海量数据的处理需求对计算机***存储性能提出了更高的要求。用户更希望能拥有一个高效的使用环境,而处理线程数过少会加大I/0请求响应时延,线程数过多会占用其他任务的处理资源,也会影响用户体验,尤其在实时交易类应用中线程分配会影响用户请求完成时间,用户体验感降低。
发明内容
有鉴于此,本发明实施例的目的在于提出一种线程数自动调节的方法、装置、设备及可读介质,通过使用本发明的技术方案,能够找到最优线程数进而调节任务的处理速度,能够满足存储性能的更高需求,提高用户体验感。
基于上述目的,本发明的实施例的一个方面提供了一种线程数自动调节的方法,包括以下步骤:
设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第一变化率;
将第一变化率的绝对值与波动范围进行比较;
响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
根据本发明的一个实施例,还包括:
响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第二变化率;
将第二变化率的绝对值与波动范围进行比较;
响应于第二变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
根据本发明的一个实施例,还包括:
响应于抖动造成当前线程的处理速度下降,获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第三变化率;
将第三变化率的绝对值与波动范围进行比较;
响应于第三变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
根据本发明的一个实施例,还包括:
响应于第三变化率的绝对值大于波动范围,基于第三变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第四变化率;
将第四变化率的绝对值与波动范围进行比较;
响应于第四变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
根据本发明的一个实施例,响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数包括:
使用第一变化率与正比例系数的乘积加上当前线程数得到待调节到的线程数。
根据本发明的一个实施例,基于获取到的性能计算线程处理速度的第一变化率包括:
使用再增加一个线程运行稳定后的性能减去最后一个线程运行稳定后的性能得到第一变化率。
根据本发明的一个实施例,线程调节波动范围为第一个线程运行稳定后的性能的10%。
本发明的实施例的另一个方面,还提供了一种线程数自动调节的装置,装置包括:
获取模块,获取模块配置为设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
计算模块,计算模块配置为基于获取到的性能计算线程处理速度的第一变化率;
比较模块,比较模块配置为将第一变化率的绝对值与波动范围进行比较;
调节模块,调节模块配置为响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
本发明的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
本发明的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
本发明具有以下有益技术效果:本发明实施例提供的线程数自动调节的方法,通过设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;基于获取到的性能计算线程处理速度的第一变化率;将第一变化率的绝对值与波动范围进行比较;响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数的技术方案,能够找到最优线程数进而调节任务的处理速度,能够满足存储性能的更高需求,提高用户体验感。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的线程数自动调节的方法的示意性流程图;
图2为根据本发明一个实施例的线程数自动调节的装置的示意图;
图3为根据本发明一个实施例的计算机设备的示意图;
图4为根据本发明一个实施例的计算机可读存储介质的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种线程数自动调节的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能。
线程数调节可优化任务的处理速度,该处理速度用每秒钟处理的任务数量表示,但由于线程调节过程中可能导致处理速度的波动,所以我们需要首先确定一个处理速度和稳定性的平衡点。当相邻两次调节得到的处理速度差值在一个范围内时,认定继续做线程调节带来的速度调节的优势低于性能波动的劣势,此时需要停止线程调节,所设定的范围称为波动范围δ,一般取当前处理速度的10%左右,实际生产开发中,往往多个任务共用多个线程,则该任务最多可占用的线程数为n,记程序中初始设定的线程数为a_0 (a_0<n),一般而言初始线程数a_0都为1,运行一段时间达到稳定后,一般5分钟即可达到稳定,记录以线程数a_0稳定运行后每秒处理的任务数记为初始性能P_0,设t时刻的线程数用a_t表示,则相对应的t时刻的性能值则为P_t。例如当前***中有8个线程,则需要获取第8个线程和第9个线程的性能,即t时刻的第8个线程的性能为P_t,t+1时刻的第9个线程的性能为P_t+1。
S2基于获取到的性能计算线程处理速度的第一变化率。
获取到9个线程的性能P_t+1和第8个线程的性能P_t后进行运行速度变化的斜率K(即变化率)的计算,该斜率表征了任务处理速度变化的趋势,使用后面线程的性能减去前面线程的性能,即K=(P_t+1)- P_t。
S3将第一变化率的绝对值与波动范围进行比较。
由于任务处理速度的变化趋势可能是增加也可能是减少,因此计算出的K值可能是正值,也可能使负值,而波动范围的值是设定的正值,因此需要将变化率取绝对值后再与波动范围进行比较。
S4响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
当K<δ时,即处理速度的变化情况在设定的波动范围内,此时依据对处理速度和速度波动的权衡,认为线程调节效果到达可接受范围内,若继续调节会继续造成速度波动,且速度可继续提高的范围有限,继续调节可能得到得不偿失的效果,故寻优过程结束,退出调节,将当前线程数保持现状即可,如上例,将当前线程数保持在8个线程。
通过本发明的技术方案,能够自动调节***的线程数,自动找到最优线程数进而调节任务的处理速度,能够满足存储性能的更高需求,提高用户体验感。
在本发明的一个优选实施例中,还包括:
响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第二变化率;
将第二变化率的绝对值与波动范围进行比较;
响应于第二变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
当K>δ时,即处理速度的变化情况在设定的波动范围外,需要对线程数量进行调节以达到最优的线程数量,此时可以根据公式计算待调节到的线程数,待调节到的线程数=当前线程数+m*K,其中m可以是设定的正比例系数,K为未调节前最后一个线程和最后一个线程再增加一个线程的变化率,例如δ为50,当前线程数是8,正比例系数是0.02,第8个线程的性能为300/s,则在增加一个线程为第9个线程,第9个线程的性能为200/s,则K为-100,|-100|=100>50,则待调节的线程数为8+0.02*(-100)=6个,则需要将当前线程数调整为6个,然后继续按照该方法继续计算6个线程时是否满足需求,直到计算出的K值的绝对值小于设定的δ时停止调节。
在本发明的一个优选实施例中,还包括:
响应于抖动造成当前线程的处理速度下降,获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第三变化率;
将第三变化率的绝对值与波动范围进行比较;
响应于第三变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,还包括:
响应于第三变化率的绝对值大于波动范围,基于第三变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第四变化率;
将第四变化率的绝对值与波动范围进行比较;
响应于第四变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
当代码运行平台故障或其他任务启动等都可能对当前任务造成干扰,使得当前任务处理速度突然下降等,此时***需要重新找到最优线程。上述情况突然发生后,按照上述方法调节,此处不再赘述。
在本发明的一个优选实施例中,响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数包括:
使用第一变化率与正比例系数的乘积加上当前线程数得到待调节到的线程数。
在本发明的一个优选实施例中,基于获取到的性能计算线程处理速度的第一变化率包括:
使用再增加一个线程运行稳定后的性能减去最后一个线程运行稳定后的性能得到第一变化率。
在本发明的一个优选实施例中,线程调节波动范围为第一个线程运行稳定后的性能的10%。
实施例
依据上述步骤应用于存储产品中数据刷写的线程数自动调节需求中,总线程数10,δ=50,正比例系数为0.02,初始线程数为1,第一线程稳定运行后处理任务数为500/s,线程数为2时,即第二线程稳定运行后处理任务数为800/s,在K=800-500=300,300>50,则需要调节线程数,根据公式计算得到待调节线程数为1+300*0.02=7个,即将线程数调节到7个;
此时由于下刷数量不足造成下刷等待,第七线程处理任务数为300/s,线程数为8时,即第八线程处理任务数为200/s,此时的K=200-300=-100,|-100|=100>50,因此还需要调节线程数,根据公式计算得到待调节线程数为7+0.02*(-100)=5,即将线程数调节到5个;
第五线程处理任务数为870/s,线程数为6时,即第六线程处理任务数为900/s,此时的K=900-870=30,30<50,故循环结束,找到最优线程数为5,将当前***的线程数保持在5个线程。
通过本发明的技术方案,能够找到最优线程数进而调节任务的处理速度,能够满足存储性能的更高需求,提高用户体验感。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU 执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU 执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种线程数自动调节的装置,如图2所示,装置200包括:
获取模块201,获取模块201配置为设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能。
线程数调节可优化任务的处理速度,该处理速度用每秒钟处理的任务数量表示,但由于线程调节过程中可能导致处理速度的波动,所以我们需要首先确定一个处理速度和稳定性的平衡点。当相邻两次调节得到的处理速度差值在一个范围内时,认定继续做线程调节带来的速度调节的优势低于性能波动的劣势,此时需要停止线程调节,所设定的范围称为波动范围δ,一般取当前处理速度的10%左右,实际生产开发中,往往多个任务共用多个线程,则该任务最多可占用的线程数为n,记程序中初始设定的线程数为a_0 (a_0<n),一般而言初始线程数a_0都为1,运行一段时间达到稳定后,一般5分钟即可达到稳定,记录以线程数a_0稳定运行后每秒处理的任务数记为初始性能P_0,设t时刻的线程数用a_t表示,则相对应的t时刻的性能值则为P_t。例如当前***中有8个线程,则需要通过获取模块获取第8个线程和第9个线程的性能,即t时刻的第8个线程的性能为P_t,t+1时刻的第9个线程的性能为P_t+1。
计算模块202,计算模块202配置为基于获取到的性能计算线程处理速度的第一变化率。
获取到9个线程的性能P_t+1和第8个线程的性能P_t后通过计算模块进行运行速度变化的斜率K(即变化率)的计算,该斜率表征了任务处理速度变化的趋势,使用后面线程的性能减去前面线程的性能,即K=(P_t+1)- P_t。
比较模块203,比较模块203配置为将第一变化率的绝对值与波动范围进行比较。
由于任务处理速度的变化趋势可能是增加也可能是减少,因此计算出的K值可能是正值,也可能使负值,而波动范围的值是设定的正值,因此需要通过比较模块将变化率取绝对值后再与波动范围进行比较。
调节模块204,调节模块204配置为响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
当K<δ时,即处理速度的变化情况在设定的波动范围内,此时依据对处理速度和速度波动的权衡,认为线程调节效果到达可接受范围内,若继续调节会继续造成速度波动,且速度可继续提高的范围有限,继续调节可能得到得不偿失的效果,故寻优过程结束,退出调节,将当前线程数保持现状即可,如上例,将当前线程数保持在8个线程。
在本发明的一个优选实施例中,调节模块还配置为:
响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第二变化率;
将第二变化率的绝对值与波动范围进行比较;
响应于第二变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,调节模块还配置为:
响应于抖动造成当前线程的处理速度下降,获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第三变化率;
将第三变化率的绝对值与波动范围进行比较;
响应于第三变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,调节模块还配置为:
响应于第三变化率的绝对值大于波动范围,基于第三变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第四变化率;
将第四变化率的绝对值与波动范围进行比较;
响应于第四变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,调节模块还配置为:
使用第一变化率与正比例系数的乘积加上当前线程数得到待调节到的线程数。
在本发明的一个优选实施例中,计算模块还配置为:
使用再增加一个线程运行稳定后的性能减去最后一个线程运行稳定后的性能得到第一变化率。
在本发明的一个优选实施例中,线程调节波动范围为第一个线程运行稳定后的性能的10%。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图3示出的是本发明提供的计算机设备的实施例的示意图。如图3所示,本发明实施例包括如下装置:至少一个处理器S21;以及存储器S22,存储器S22存储有可在处理器上运行的计算机指令S23,指令由处理器执行时实现以下方法:
设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第一变化率;
将第一变化率的绝对值与波动范围进行比较;
响应于第一变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,还包括:
响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第二变化率;
将第二变化率的绝对值与波动范围进行比较;
响应于第二变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,还包括:
响应于抖动造成当前线程的处理速度下降,获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第三变化率;
将第三变化率的绝对值与波动范围进行比较;
响应于第三变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,还包括:
响应于第三变化率的绝对值大于波动范围,基于第三变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取待调节到的线程数的最后一个线程和最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第四变化率;
将第四变化率的绝对值与波动范围进行比较;
响应于第四变化率的绝对值小于波动范围,退出调节并将线程数保持在当前线程数。
在本发明的一个优选实施例中,响应于第一变化率的绝对值大于波动范围,基于第一变化率计算待调节到的线程数包括:
使用第一变化率与正比例系数的乘积加上当前线程数得到待调节到的线程数。
在本发明的一个优选实施例中,基于获取到的性能计算线程处理速度的第一变化率包括:
使用再增加一个线程运行稳定后的性能减去最后一个线程运行稳定后的性能得到第一变化率。
在本发明的一个优选实施例中,线程调节波动范围为第一个线程运行稳定后的性能的10%。
基于上述目的,本发明实施例的第四个方面,提出了一种计算机可读存储介质。图4示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图4所示,计算机可读存储介质S31存储有被处理器执行时执行如上方法的计算机程序S32。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及***单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种线程数自动调节的方法,其特征在于,包括以下步骤:
设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第一变化率;
将第一变化率的绝对值与所述波动范围进行比较;
响应于第一变化率的绝对值小于所述波动范围,退出调节并将线程数保持在当前线程数。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于第一变化率的绝对值大于所述波动范围,基于所述第一变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取所述待调节到的线程数的最后一个线程和所述最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第二变化率;
将第二变化率的绝对值与所述波动范围进行比较;
响应于第二变化率的绝对值小于所述波动范围,退出调节并将线程数保持在当前线程数。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于抖动造成当前线程的处理速度下降,获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第三变化率;
将第三变化率的绝对值与所述波动范围进行比较;
响应于第三变化率的绝对值小于所述波动范围,退出调节并将线程数保持在当前线程数。
4.根据权利要求3所述的方法,其特征在于,还包括:
响应于第三变化率的绝对值大于所述波动范围,基于所述第三变化率计算待调节到的线程数并将当前线程数调节到所述待调节到的线程数;
获取所述待调节到的线程数的最后一个线程和所述最后一个线程的下一个线程的运行稳定后的性能;
基于获取到的性能计算线程处理速度的第四变化率;
将第四变化率的绝对值与所述波动范围进行比较;
响应于第四变化率的绝对值小于所述波动范围,退出调节并将线程数保持在当前线程数。
5.根据权利要求2所述的方法,其特征在于,响应于第一变化率的绝对值大于所述波动范围,基于所述第一变化率计算待调节到的线程数包括:
使用第一变化率与正比例系数的乘积加上当前线程数得到待调节到的线程数。
6.根据权利要求1所述的方法,其特征在于,基于获取到的性能计算线程处理速度的第一变化率包括:
使用再增加一个线程运行稳定后的性能减去最后一个线程运行稳定后的性能得到第一变化率。
7.根据权利要求1所述的方法,其特征在于,所述线程调节波动范围为第一个线程运行稳定后的性能的10%。
8.一种线程数自动调节的装置,其特征在于,所述装置包括:
获取模块,所述获取模块配置为设定线程调节波动范围,并获取当前最后一个线程和再增加一个线程的运行稳定后的性能;
计算模块,所述计算模块配置为基于获取到的性能计算线程处理速度的第一变化率;
比较模块,所述比较模块配置为将第一变化率的绝对值与所述波动范围进行比较;
调节模块,所述调节模块配置为响应于第一变化率的绝对值小于所述波动范围,退出调节并将线程数保持在当前线程数。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767231.5A CN113238854B (zh) | 2021-07-07 | 2021-07-07 | 一种线程数自动调节的方法、装置、设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767231.5A CN113238854B (zh) | 2021-07-07 | 2021-07-07 | 一种线程数自动调节的方法、装置、设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238854A true CN113238854A (zh) | 2021-08-10 |
CN113238854B CN113238854B (zh) | 2021-11-19 |
Family
ID=77141256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110767231.5A Active CN113238854B (zh) | 2021-07-07 | 2021-07-07 | 一种线程数自动调节的方法、装置、设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238854B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700999A (zh) * | 2023-08-07 | 2023-09-05 | 上海观安信息技术股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式***环境下的多任务进程监视方法和监视*** |
US20120331310A1 (en) * | 2011-06-27 | 2012-12-27 | Burns James S | Increasing Power Efficiency Of Turbo Mode Operation In A Processor |
CN103810048A (zh) * | 2014-03-11 | 2014-05-21 | 国家电网公司 | 一种面向资源利用最优的线程数量自动调整方法及装置 |
CN104717236A (zh) * | 2013-12-11 | 2015-06-17 | ***通信集团公司 | 一种设备性能测试方法及装置 |
CN105260165A (zh) * | 2015-10-10 | 2016-01-20 | 西安交通大学 | 基于smt的线程级推测***中推测线程数目的动态控制方法 |
US20180357110A1 (en) * | 2016-01-15 | 2018-12-13 | Intel Corporation | Systems, methods and devices for determining work placement on processor cores |
CN109766058A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 工作线程动态调整方法、装置、设备及存储介质 |
CN109885470A (zh) * | 2019-03-04 | 2019-06-14 | 上海拉扎斯信息科技有限公司 | 线程池的调整方法、装置、存储介质和电子设备 |
CN110245019A (zh) * | 2019-06-17 | 2019-09-17 | 广东金赋科技股份有限公司 | 一种自适应***资源的线程并发方法及装置 |
-
2021
- 2021-07-07 CN CN202110767231.5A patent/CN113238854B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120331310A1 (en) * | 2011-06-27 | 2012-12-27 | Burns James S | Increasing Power Efficiency Of Turbo Mode Operation In A Processor |
CN102360310A (zh) * | 2011-09-28 | 2012-02-22 | 中国电子科技集团公司第二十八研究所 | 一种分布式***环境下的多任务进程监视方法和监视*** |
CN104717236A (zh) * | 2013-12-11 | 2015-06-17 | ***通信集团公司 | 一种设备性能测试方法及装置 |
CN103810048A (zh) * | 2014-03-11 | 2014-05-21 | 国家电网公司 | 一种面向资源利用最优的线程数量自动调整方法及装置 |
CN105260165A (zh) * | 2015-10-10 | 2016-01-20 | 西安交通大学 | 基于smt的线程级推测***中推测线程数目的动态控制方法 |
US20180357110A1 (en) * | 2016-01-15 | 2018-12-13 | Intel Corporation | Systems, methods and devices for determining work placement on processor cores |
CN109766058A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 工作线程动态调整方法、装置、设备及存储介质 |
CN109885470A (zh) * | 2019-03-04 | 2019-06-14 | 上海拉扎斯信息科技有限公司 | 线程池的调整方法、装置、存储介质和电子设备 |
CN110245019A (zh) * | 2019-06-17 | 2019-09-17 | 广东金赋科技股份有限公司 | 一种自适应***资源的线程并发方法及装置 |
Non-Patent Citations (2)
Title |
---|
任小西,唐玲等: "OpenMP多线程负载均衡调度策略研究与实现", 《计算机科学》 * |
何炎祥,张军等: "通用图形处理器线程调度优化方法研究综述", 《计算机学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700999A (zh) * | 2023-08-07 | 2023-09-05 | 上海观安信息技术股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN116700999B (zh) * | 2023-08-07 | 2023-10-03 | 上海观安信息技术股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113238854B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9755935B2 (en) | Method, system and computer storage medium for bandwidth optimization of network application | |
CN107357405B (zh) | 功耗控制方法及相关设备 | |
CN108845882B (zh) | 基于转码任务调度实现cpu负载均衡的方法和装置 | |
CN111245732B (zh) | 一种流量控制方法、装置及设备 | |
CN107436835B (zh) | 访问控制方法和装置 | |
CN105024933B (zh) | 请求包发送频率的控制方法及装置 | |
CN113238854B (zh) | 一种线程数自动调节的方法、装置、设备及可读介质 | |
CN105100800A (zh) | 视频编码器编码码率调节方法及装置 | |
CN111324533B (zh) | A/b测试方法、装置及电子设备 | |
WO2016172848A1 (zh) | 一种调整云计算中虚拟资源的方法及装置 | |
CN113835626A (zh) | 一种确定磁盘可使用时长的方法及装置 | |
CN110874314A (zh) | 压测方法、装置、设备和介质 | |
CN110765360B (zh) | 文本话题处理方法、装置、电子设备及计算机存储介质 | |
JP7214287B1 (ja) | リソース割り当ての決定方法、装置、計算装置及びコンピュータプログラム | |
CN110838982A (zh) | 网络流表参数的调整方法及装置 | |
CN114936133A (zh) | 一种提高***可用性的方法、装置、设备及可读介质 | |
CN111666535B (zh) | 确定用户活跃时长的方法、装置、电子设备及存储介质 | |
CN111176814B (zh) | 一种任务执行方法及相关装置 | |
CN114640675B (zh) | 一种卸载策略确定方法、装置、电子设备及存储介质 | |
CN114443283B (zh) | 一种应用实例的伸缩方法和装置 | |
CN116432011A (zh) | 一种深度学习模型训练方法、装置及相关设备 | |
CN116016537B (zh) | 优化对算力网络资源的选择的方法和装置 | |
CN118012167A (zh) | 一种应用于电热器的基于模糊自适应pid算法的温控方法 | |
CN116938613B (zh) | 基于非线性信息年龄的监测传感器的休眠方法及电子设备 | |
CN114338816B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |