CN116382918A - Resource control method, device and equipment - Google Patents
Resource control method, device and equipment Download PDFInfo
- Publication number
- CN116382918A CN116382918A CN202310401234.6A CN202310401234A CN116382918A CN 116382918 A CN116382918 A CN 116382918A CN 202310401234 A CN202310401234 A CN 202310401234A CN 116382918 A CN116382918 A CN 116382918A
- Authority
- CN
- China
- Prior art keywords
- thread
- partition
- state
- threads
- data
- 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 85
- 238000005192 partition Methods 0.000 claims abstract description 702
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 29
- 238000001514 detection method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
The embodiment of the application provides a resource control method, a device and equipment, which are applied to computing equipment, wherein a processor and a plurality of data partitions are arranged in the computing equipment, the processor accesses the data partitions through calling threads, and the method comprises the following steps: acquiring the resource utilization rate of a processor; when the resource utilization rate is greater than or equal to a first threshold value, determining a hot spot partition with highest accessed frequency from a plurality of data partitions; a portion of the threads accessing the hot spot partition are set to a disabled state to reduce the resource utilization of the processor. Improving the reliability of the computing device.
Description
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, and a device for controlling resources.
Background
A processor and a plurality of data partitions may be provided in a computing device, each of which may be used to store data.
In the related art, when a data request is received, a computing device may operate on data in a data partition through a processor. However, in the above procedure, when the resource usage rate of the processor is too high, the delay of processing all data requests is increased, and the partial data requests corresponding to all data partitions may be randomly discarded.
As can be seen from the above, the reliability of the computing device in the related art is low.
Disclosure of Invention
Aspects of the present application provide a method, apparatus, and device for controlling resources to improve reliability of a computing device.
In a first aspect, an embodiment of the present application provides a resource control method, applied to a computing device, where a processor and a plurality of data partitions are disposed in the computing device, where the processor accesses the data partitions through a calling thread, and the method includes:
acquiring the resource utilization rate of the processor;
when the resource utilization rate is greater than or equal to a first threshold value, determining a hot spot partition with highest accessed frequency from the plurality of data partitions;
and setting partial threads accessing the hot spot partition to be in a disabled state so as to reduce the resource utilization rate of the processor.
In one possible implementation manner, determining a hot spot partition with highest accessed frequency among the plurality of data partitions includes:
acquiring a thread state of each thread called by the processor, wherein the thread state is a busy state or an idle state;
determining threads corresponding to each data partition, wherein the threads corresponding to the data partition are threads accessing the data partition;
And determining the hot spot partition in the plurality of data partitions according to the thread state of each thread and the thread corresponding to each data partition.
In one possible implementation, for any one thread; obtaining the thread state of the thread called by the processor, including:
acquiring the running time of the thread and the occupied time of a processor, wherein the occupied time of the processor is the occupied time of the thread;
acquiring the ratio of the occupied time length of the processor to the running time length;
if the ratio is greater than or equal to a second threshold, determining that the thread state is the busy state;
and if the ratio is smaller than the second threshold value, determining the thread state as the idle state.
In one possible implementation manner, determining the hot spot partition in the plurality of data partitions according to the thread state of each thread and the thread corresponding to each data partition includes:
determining the number of busy threads corresponding to each data partition according to the thread state of each thread and the threads corresponding to each data partition, wherein the busy threads are threads in a busy state;
and determining the data partition with the largest number of the corresponding busy threads as the hot spot partition.
In one possible implementation, setting a portion of threads accessing the hot spot partition to a disabled state includes:
determining a forbidden proportion;
determining the partial threads in a plurality of threads accessing the hot spot partition according to the forbidden proportion;
the partial thread is set to a disabled state.
In one possible implementation, after setting a portion of threads accessing the hot spot partition to a disabled state, the method further includes:
the partition state of the hot spot partition is set to a restricted state.
In one possible embodiment, the method further comprises:
acquiring a partition state of each data partition, wherein the data partition state is a limiting state or a non-limiting state;
determining a limiting partition in the plurality of data partitions according to the partition state of each data partition, wherein the partition state of the limiting partition is the limiting state;
acquiring the limit time length of the limit partition;
and updating the threads of the restricted partition according to the restricted duration.
In one possible implementation, updating the thread of the restricted partition according to the restricted duration includes:
acquiring the current thread number and the maximum thread number corresponding to the limiting partition;
If the limit time length is greater than or equal to the preset time length, determining the newly increased thread number of the limit partition according to the current thread number and the maximum thread number;
and adding threads for the limited partition according to the number of the threads newly added.
In one possible implementation, determining the new thread number of the restricted partition includes:
obtaining a new proportion;
determining a new increment to be selected according to the current thread number and the new increment proportion;
obtaining a difference value between the maximum thread number and the current thread number;
if the number of new increases to be selected is smaller than the difference value, determining the number of new increases to be selected as the number of new increases;
and if the newly-increased number to be selected is greater than or equal to the difference value, determining the difference value as the newly-increased thread number.
In one possible implementation manner, after adding threads to the restricted partition according to the number of threads to be added, the method further includes:
and if the sum of the newly added thread number and the current thread number is the maximum thread number, setting the partition state of the limited partition as an unlimited state.
In a second aspect, an embodiment of the present application provides a resource control device, where the device includes: the device comprises a first acquisition module, a first determination module and a setting module, wherein,
The first acquisition module is used for acquiring the resource utilization rate of the processor;
the first determining module is used for determining a hot spot partition with highest accessed frequency from a plurality of data partitions when the resource utilization rate is greater than or equal to a first threshold value;
the setting module is used for setting partial threads accessing the hot spot partition to be in a forbidden state so as to reduce the resource utilization rate of the processor.
In one possible implementation manner, the first determining module is specifically configured to:
acquiring a thread state of each thread called by the processor, wherein the thread state is a busy state or an idle state;
determining threads corresponding to each data partition, wherein the threads corresponding to the data partition are threads accessing the data partition;
and determining the hot spot partition in the plurality of data partitions according to the thread state of each thread and the thread corresponding to each data partition.
In one possible implementation manner, the first determining module is specifically configured to:
acquiring the running time of the thread and the occupied time of a processor, wherein the occupied time of the processor is the occupied time of the thread;
acquiring the ratio of the occupied time length of the processor to the running time length;
If the ratio is greater than or equal to a second threshold, determining that the thread state is the busy state;
and if the ratio is smaller than the second threshold value, determining the thread state as the idle state.
In one possible implementation manner, the first determining module is specifically configured to:
determining the number of busy threads corresponding to each data partition according to the thread state of each thread and the threads corresponding to each data partition, wherein the busy threads are threads in a busy state;
and determining the data partition with the largest number of the corresponding busy threads as the hot spot partition.
In one possible implementation manner, the setting module is specifically configured to:
determining a forbidden proportion;
determining the partial threads in a plurality of threads accessing the hot spot partition according to the forbidden proportion;
the partial thread is set to a disabled state.
In one possible implementation, after setting a portion of threads accessing the hot spot partition to a disabled state, the setting module is further configured to:
the partition state of the hot spot partition is set to a restricted state.
In one possible embodiment, the apparatus further comprises: the system comprises a second acquisition module, a second determination module, a third acquisition module and an updating module, wherein,
The second obtaining module is used for obtaining the partition state of each data partition, wherein the data partition state is a limiting state or a non-limiting state;
the second determining module is configured to determine a limiting partition among the plurality of data partitions according to a partition state of each data partition, where the partition state of the limiting partition is the limiting state;
the third obtaining module is used for obtaining the limit duration of the limit partition;
the updating module is used for updating the threads of the limited partition according to the limited duration.
In a possible implementation manner, the updating module is specifically configured to:
acquiring the current thread number and the maximum thread number corresponding to the limiting partition;
if the limit time length is greater than or equal to the preset time length, determining the newly increased thread number of the limit partition according to the current thread number and the maximum thread number;
and adding threads for the limited partition according to the number of the threads newly added.
In a possible implementation manner, the updating module is specifically configured to:
obtaining a new proportion;
determining a new increment to be selected according to the current thread number and the new increment proportion;
obtaining a difference value between the maximum thread number and the current thread number;
If the number of new increases to be selected is smaller than the difference value, determining the number of new increases to be selected as the number of new increases;
and if the newly-increased number to be selected is greater than or equal to the difference value, determining the difference value as the newly-increased thread number.
In a possible embodiment, the setting module is further configured to:
and if the sum of the newly added thread number and the current thread number is the maximum thread number, setting the partition state of the limited partition as an unlimited state.
In a third aspect, an embodiment of the present application provides an electronic device, including: a memory and a processor;
the memory stores computer-executable instructions;
the processor executing computer-executable instructions stored in the memory, causing the processor to perform the resource control method of any of the first aspects.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium having stored therein computer-executable instructions for implementing the resource control method of any of the first aspects when the computer-executable instructions are executed by a processor.
In a fifth aspect, embodiments of the present application provide a computer program product comprising a computer program which, when executed by a processor, implements the resource control method as set out in any of the first aspects.
The embodiment of the application provides a resource control method, a device and equipment, wherein a computing device can acquire the resource utilization rate of a processor, and when the resource utilization rate is greater than or equal to a first threshold value, a hot spot partition with highest accessed frequency is determined in a plurality of data partitions, and then partial threads accessing the hot spot partition are set to be in a disabled state, so that the resource utilization rate of the processor is reduced. Because the computing device can determine the hot spot partition, dynamically adjust the thread number corresponding to the data partition to limit the processor resources occupied by the hot spot partition, discard part of requests of the hot spot partition, but not discard data requests of other data partitions, the time delay for processing the data requests of other data partitions is reduced, and therefore the reliability of the computing device is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute an undue limitation to the application. In the drawings:
fig. 1 is a schematic diagram of an application scenario provided in an exemplary embodiment of the present application;
fig. 2 is a flow chart of a resource control method according to an exemplary embodiment of the present application;
FIG. 3 is a flow chart of another method for controlling resources according to an exemplary embodiment of the present application;
FIG. 4 is a flowchart illustrating a partition removal method according to an exemplary embodiment of the present disclosure;
fig. 5 is a flow chart of another resource control method according to an embodiment of the present application;
fig. 6 is a process schematic diagram of a resource control method according to an exemplary embodiment of the present application;
fig. 7 is a schematic structural diagram of a resource control device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of another resource control device according to an exemplary embodiment of the present application;
fig. 9 is a schematic structural diagram of a computing device according to an exemplary embodiment of the present application.
Detailed Description
It should be noted that, the user information (including but not limited to user equipment information, user personal information, etc.) and the data (including but not limited to data for analysis, stored data, presented data, etc.) referred to in the present application are information and data authorized by the user or fully authorized by each party, and the collection, use and processing of the related data need to comply with the related laws and regulations and standards, and provide corresponding operation entries for the user to select authorization or rejection.
For the purposes, technical solutions and advantages of the present application, the technical solutions of the present application will be clearly and completely described below with reference to specific embodiments of the present application and corresponding drawings. It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
Fig. 1 is a schematic diagram of an application scenario provided in an exemplary embodiment of the present application. Referring to fig. 1, a cloud service system may include a plurality of computing devices, which may be computing device 1, computing devices 2, … …, and computing device Q, respectively.
For any one computing device, a processor, multiple threads, and multiple data partitions may be included in the computing device.
At least one processing core may be included in the processor. The at least one processing core may be processing core 1, processing cores 2, … …, processing core n, respectively.
The processor may have a corresponding maximum resource usage. The available number of processing cores may be equal to the number of processing cores by maximum resource usage. For example, if the maximum resource usage of the processor is 80%, and if n is 96, that is, 96 processing cores exist in the computing device 1, the available number of processing cores may be 96×80% =76.
The plurality of threads may be thread 1, thread 2, thread 3, … …, thread m, respectively. The number of threads m may typically be 1.5-2 times the number of processing cores n. For example, if n is 96, i.e., 96 processing cores exist in computing device 1, m may be 96×2=192, i.e., computing device 1 may include 192 threads, i.e., thread 1, thread 2, … …, and thread 192, respectively.
The plurality of data partitions may be data partition 1, data partitions 2, … …, data partition k, respectively. For any one data partition, user data may be stored in the data partition. For example, data for user a may be stored in data partition 1 and data partition 2, … …, and data for user Z may be stored in data partition k.
In a computing device, any one processing core may invoke any one thread. For example, processing core 1 may call thread 1, thread 2, thread 3, … …, thread m.
For any one data partition, there may be at most an available number of processing cores, invoking the available number of threads to operate on the data partition. For example, if the available number of processing cores in computing device 1 is 76, there may be a maximum of 76 processing cores invoking 76 threads in total to operate on data in any one of the data partitions.
In the related art, when a data request is received, a computing device may operate on data in a data partition through a processor. However, in the above procedure, when the resource usage rate of the processor is too high, the delay of processing all data requests is increased, and the partial data requests corresponding to all data partitions may be randomly discarded. As can be seen from the above, the reliability of the computing device in the related art is low.
In this embodiment of the present application, when the resource usage rate of the processor is greater than the first threshold, the computing device may determine a hot spot partition with the highest access frequency from among the plurality of data partitions, and set a part of threads of the hot spot partition to a disabled state, so as to reduce the resource usage rate of the processor. Because the computing device can determine the hot spot partition and disable part of threads in the hot spot partition to limit the processor resources occupied by the hot spot partition, and discard part of requests of the hot spot partition without discarding data requests of other data partitions, the time delay for processing the data requests of other data partitions is reduced, and thus the reliability of the computing device is improved.
The technical scheme shown in the application is described in detail through specific embodiments. It should be noted that the following embodiments may exist alone or in combination with each other, and for the same or similar content, the description will not be repeated in different embodiments.
Fig. 2 is a flow chart of a resource control method according to an exemplary embodiment of the present application. Referring to fig. 2, the method may include:
s201, acquiring the resource utilization rate of the processor.
The execution subject of the embodiments of the present application may be a computing device, or may be a resource control device provided in the computing device. The resource control means may be implemented by software or by a combination of software and hardware. The resource control means may be a processor in a computing device. For ease of understanding, the execution subject will be described below as an example of a computing device.
Alternatively, the processor may be a central processing unit (Central Processing Unit, CPU).
Resource usage refers to the ratio of occupied processor resources. For example, a resource utilization of 70% indicates that 70% of the processor resources are occupied.
Alternatively, the computing device may periodically detect the processor. For example, the computing device may detect the processor once every 500ms (milliseconds).
For any one detection, the computing device may obtain the resource usage of the processor. Alternatively, the computing device may obtain the resource usage of the processor via a system file. For example, if the system file may be a/proc/[ pid ]/stat file, the computing device may read the contents of the file to obtain the resource usage of the processor, assuming that the resource usage of the processor is 85%.
S202, when the resource utilization rate is greater than or equal to a first threshold value, determining a hot spot partition with highest accessed frequency from a plurality of data partitions.
The first threshold may be a maximum resource usage of a processor in the computing device, and the first threshold may be manually set. For example, the first threshold of computing device 1 may be set to 80%, i.e., the maximum resource usage of the processors in computing device 1 is 80%.
Hot spot partitions and non-hot spot partitions may be included in multiple data partitions of a computing device. The hot spot partition refers to a data partition with highest access frequency; non-hot spot partitions refer to data partitions that are accessed less frequently.
When the resource usage of the processor is greater than or equal to a first threshold, the computing device may determine a hot spot partition of the plurality of data partitions that is most frequently accessed. For example, if the resource usage rate of the processor is 85%, and the first threshold value is 80%, since the resource usage rate of the processor is greater than the first threshold value, a hot spot partition with the highest accessed frequency may be determined among the plurality of data partitions.
In an alternative embodiment, the hot spot partition with the highest accessed frequency may be determined from the plurality of data partitions by: acquiring the thread state of each thread called by a processor; determining threads corresponding to each data partition; and determining a hot spot partition in the plurality of data partitions according to the thread state of each thread and the thread corresponding to each data partition.
For any one thread, the thread may have a corresponding thread state. The thread state may include a busy state or an idle state.
The computing device may obtain the thread state of each thread invoked by the processor. For example, if there are 192 threads invoked by the processor, the computing device may obtain the thread states of the 192 threads. The thread state of thread 1 may be busy, the thread state of thread 2 may be idle, and the thread state of … … thread 192 may be busy.
For any one data partition, the computing device may determine a plurality of threads to which the data partition corresponds. The plurality of threads may be threads that access the data partition.
For example, for data partition 1, the computing device may determine 76 threads for data partition 1, each of which may access data partition 1.
Because the plurality of data partitions may include hot spot partitions and non-hot spot partitions, the computing device may determine the hot spot partitions among the plurality of data partitions based on the thread state of each thread and the thread corresponding to each data partition.
For example, if the plurality of data partitions includes data partition 1 and data partition 2, and data partition 1 and data partition 2 respectively correspond to 76 threads, and the thread status of 45 threads is busy among the 76 threads corresponding to data partition 1, it may be determined that data partition 1 is a hot spot partition.
S203, setting partial threads accessing the hot spot partition to be in a disabled state so as to reduce the resource utilization rate of the processor.
In an alternative embodiment, a portion of the threads accessing the hot spot partition may be set to a disabled state by: determining a forbidden proportion; determining partial threads in a plurality of threads accessing the hot spot partition according to the forbidden proportion; a portion of the threads is set to a disabled state.
The disabling proportion may be manually set. For example, the disabling proportion may be 50%.
For example, if it is determined that the hot spot partition is the data partition 1 and the disabling proportion is 50%, if the data partition 1 corresponds to 76 threads, 76×50% =38 threads may be randomly determined from the 76 threads according to the disabling proportion, and the 38 threads may be set to the disabling state.
After the partial threads of the hot spot partition are set to be in the disabled state, the threads accessing the hot spot partition are reduced, and partial requests of the hot spot partition can be discarded, so that the processor resources occupied by the hot spot partition are also reduced, and the resource utilization rate of the processor can be reduced.
In this embodiment of the present application, the computing device may obtain a resource usage rate of the processor, and determine, when the resource usage rate is greater than or equal to a first threshold, a hot spot partition with a highest accessed frequency from among the plurality of data partitions, and then set a portion of threads accessing the hot spot partition to a disabled state, so as to reduce the resource usage rate of the processor. Because the computing device can determine the hot spot partition, and set part of threads in the hot spot partition to be in a disabled state so as to limit the processor resources occupied by the hot spot partition, and discard part of requests of the hot spot partition, but not discard data requests of other data partitions, the time delay for processing the data requests of other data partitions is reduced, and therefore the reliability of the computing device is improved.
The above-described resource control method will be described in further detail with reference to fig. 3, based on the embodiment shown in fig. 2.
Fig. 3 is a flow chart illustrating another method for controlling resources according to an exemplary embodiment of the present application. Referring to fig. 3, the method may include:
s301, acquiring the resource utilization rate of the processor.
It should be noted that, the execution process of step S301 may refer to step S201, and will not be described herein.
S302, when the resource utilization rate is greater than or equal to a first threshold value, acquiring the thread state of each thread called by the processor.
In an alternative embodiment, the thread state of a thread invoked by a processor may be obtained by: acquiring the running time of a thread and the occupied time of a processor; acquiring the ratio of the occupied time length and the running time length of a processor; if the ratio is greater than or equal to the second threshold value, determining that the thread state is a busy state; if the ratio is less than the second threshold, determining that the thread state is an idle state.
For any one thread, the thread has a run length and a processor footprint.
Processor-occupied duration refers to the duration that a thread occupies a processor. For example, the processor occupancy time may be 200ms.
Alternatively, the processor-occupied duration of a thread may be obtained by: determining a thread identification of a thread; acquiring a processor clock corresponding to the thread according to the thread identification and the acquisition function; and determining the processor occupation time length of the thread according to the processor clock.
For any one thread, the thread may have a corresponding thread identification. For example, the thread identification corresponding to thread 1 may be 001.
The acquisition function may be used to acquire a processor clock corresponding to the thread based on the thread identification. For example, the acquisition function may be pthread_getcpuclock.
The processor clock may be used to record the start time of the thread occupying the processor, as well as the end time.
For example, if the thread identifier corresponding to the thread 1 is 001 and the acquisition function is pthread_getcpu clock, the processor clock 1 corresponding to the thread 1 may be acquired by the acquisition function pthread_getcpu clock and the thread identifier 001. Assuming processor clock 1 records that thread 1 occupies a processor at a start time of 9:50:18:135 and an end time of 9:50:18:335, it may be determined that thread 1 occupies a processor for 200ms.
The second threshold may be set manually in the computing device by a worker. For example, the second threshold may be 50%.
For any one thread, the computing device may obtain the running duration of the thread and the processor occupation duration, and obtain a ratio of the processor occupation duration to the running duration.
For example, if the running duration of the thread may be 500ms and the processor occupation duration is 200ms, the ratio of the processor occupation duration to the running duration may be determined to be 2/5.
Alternatively, determining the thread state of a thread may include the following 2 cases for any one thread:
case 1: the ratio of the processor occupancy time and the run time is greater than or equal to a second threshold.
In this case, the thread status of the thread may be determined to be busy.
For example, if the running duration of the thread 1 is 500ms, the processor occupation duration is 400ms, and the second threshold is 50%, the ratio of the processor occupation duration to the running duration of the thread 1 may be determined to be 4/5, and since the ratio of 4/5 is greater than 50%, the thread 1 may be determined to be in a busy state.
Case 2: the ratio of the processor occupancy time to the run time is less than a second threshold.
In this case, then, the thread state of the thread may be determined to be an idle state.
For example, if the running duration of the thread 1 may be 500ms, the processor occupation duration is 200ms, and the second threshold is 50%, the ratio of the processor occupation duration to the running duration of the thread 1 may be determined to be 2/5, and since the ratio of 2/5 is less than 50%, the thread 1 may be determined to be in an idle state.
S303, determining threads corresponding to each data partition.
For any one data partition, the computing device may determine a plurality of threads to which the data partition corresponds. The plurality of threads may be threads that access the data partition. For example, if there are 4 threads for data partition 1, the computing device may determine the 4 threads for data partition 1.
S304, determining the number of busy threads corresponding to each data partition according to the thread state of each thread and the threads corresponding to each data partition.
A busy thread refers to a thread whose thread state is busy.
For example, if there are 8 threads, thread 1, thread 2, thread 3, … …, and thread 8, respectively, there are 4 partitions, each data partition corresponds to 4 threads, and it is assumed that the thread state of each thread and the thread corresponding to each data partition are as shown in table 1:
TABLE 1
|
Thread 2 | Thread 3 | Thread 4 | Thread 5 | Thread 6 | Thread 7 | Thread 8 | |
Thread state | Busy with water | Idle | Busy with water | Idle | Busy with water | Busy with water | Busy with water | |
Data partition | ||||||||
1 | |
Thread 3 | Thread 5 | Thread 7 | ||||
Data partition 2 | |
Thread 2 | Thread 5 | Thread 8 | ||||
Data partition 3 | Thread 2 | Thread 3 | Thread 4 | Thread 8 | ||||
Data partition 4 | Thread 3 | Thread 5 | Thread 6 | Thread 7 |
As shown in table 1, the thread states of thread 1, thread 3, thread 5, thread 6 and thread 7 are all busy states, and the thread states of thread 2, thread 4 and thread 8 are all idle states. The 4 threads corresponding to the data partition 1 are respectively thread 1, thread 3, thread 5 and thread 7; the 4 threads corresponding to the data partition 2 are respectively thread 1, thread 2, thread 5 and thread 8; the 4 threads corresponding to the data partition 3 are respectively thread 2, thread 3, thread 4 and thread 8; the 4 threads corresponding to the data partition 4 are thread 3, thread 5, thread 6 and thread 7 respectively, so that the number of busy threads corresponding to each data partition can be determined. For example, the number of busy threads corresponding to data partition 1 may be determined to be 4, the number of busy threads corresponding to data partition 2 may be determined to be 2, the number of busy threads corresponding to data partition 3 may be determined to be 1, and the number of busy threads corresponding to data partition 4 may be determined to be 4.
S305, determining the data partition with the maximum number of the corresponding busy threads as a hot spot partition.
For example, if it is determined that the number of busy threads corresponding to the data partition 1 is 4, the number of busy threads corresponding to the data partition 2 is 2, the number of busy threads corresponding to the data partition 3 is 1, and the number of busy threads corresponding to the data partition 4 is 4, it may be determined that the data partition 1 and the data partition 4 are hot spot partitions.
S306, setting partial threads accessing the hot spot partition to be in a disabled state so as to reduce the resource utilization rate of the processor.
In an alternative embodiment, a portion of the threads accessing the hot spot partition may be set to a disabled state by: determining a forbidden proportion; determining partial threads in a plurality of threads accessing the hot spot partition according to the forbidden proportion; a portion of the threads is set to a disabled state.
The disabling proportion may be set manually in the computing device by a worker. For example, the disabling proportion may be 50%.
Alternatively, the computing device may determine a portion of threads among the plurality of threads accessing the hot spot partition according to the disabling proportion and set the portion of threads to the disabled state.
For example, if it is determined that the data partition 1 and the data partition 4 are hot spot partitions, 4 threads corresponding to the data partition 1 and the data partition 4 are shown in table 1, and if the disabling proportion is 50%, 2 threads may be randomly determined among the 4 threads corresponding to the data partition 1 according to the disabling proportion of 50%, and assuming that the 2 threads are the thread 5 and the thread 7, the thread 5 and the thread 7 may be set to the disabled state; similarly, 2 threads may be randomly determined from the 4 threads corresponding to the data partition 4 according to the disabling proportion of 50%, and assuming that the 2 threads are thread 6 and thread 7, the thread 6 and thread 7 may be set to a disabling state, as shown in table 2:
TABLE 2
|
Thread 2 | Thread 3 | Thread 4 | Thread 5 | Thread 6 | Thread 7 | Thread 8 | |
|
|
Thread 3 | Disabling | Disabling | ||||
Data partition 2 | |
Thread 2 | Thread 5 | Thread 8 | ||||
Data partition 3 | Thread 2 | Thread 3 | Thread 4 | Thread 8 | ||||
Data partition 4 | Thread 3 | Thread 5 | Disabling | Disabling |
After setting the thread 5 and the thread 7 corresponding to the data partition 1 to a disabled state, the thread 5 and the thread 7 cannot access the data partition 1, and the current thread of the data partition 1 comprises the thread 1 and the thread 3, namely, only the thread 1 and the thread 3 can access the data partition 1; thread 6 and thread 7 corresponding to data partition 4 may be set to a disabled state, and then thread 6 and thread 7 may not be able to access data partition 4, and the current thread of data partition 4 includes thread 3 and thread 5, i.e., only thread 3 and thread 5 may access data partition 4.
It should be noted that, when the computing device sets a portion of threads corresponding to the hot spot partition to a disabled state, at least 1 thread may be reserved to access the hot spot partition.
S307, setting the partition state of the hot spot partition to a limiting state.
Alternatively, since the partial threads corresponding to the hot spot partition are set to the disabled state, that is, the hot spot partition is limited, the partition state of the hot spot partition may be set to the limited state.
For example, if the data partition 1 and the data partition 4 are hot spot partitions, after the partial threads corresponding to the data partition 1 are set to the disabled state, the partition state of the data partition 1 may be set to the limited state; likewise, after setting the partial thread corresponding to the data partition 4 to the disabled state, the partition state of the data partition 4 may be set to the restricted state.
Optionally, when the computing device sets the partition status of the hotspot partition to the limit status, and may record the current time as the operation time for the hotspot partition. For example, if the computing device sets the partition status of hot spot partition 1 to a restricted status at 9:50:18:100, then 9:50:18:100 may be recorded as the time of operation for hot spot partition 1.
In the embodiment of the application, the computing device may acquire the resource usage rate of the processor, and may acquire the thread state of each thread invoked by the processor and the thread corresponding to each data partition when the resource usage rate is greater than or equal to the first threshold. The computing device may determine, according to the thread state of each thread and the thread corresponding to each data partition, the number of busy threads corresponding to each data partition, and determine, as a hot spot partition, the data partition with the largest number of corresponding busy threads. The computing device may set a portion of threads accessing the hot spot partition to a disabled state and a partition state of the hot spot partition to a restricted state. Because the computing device can determine the data partition corresponding to the data partition with the largest busy thread number as the hot spot partition, and can set part of threads in the hot spot partition as the forbidden state so as to limit the processor resources occupied by the hot spot partition, discard part of requests of the hot spot partition, but not discard data requests of other data partitions, the time delay for processing the data requests of other data partitions is reduced, and therefore the reliability of the computing device is improved.
Since in any of the above embodiments, after a portion of the threads of the hot spot partition are set to the disabled state, the partition state of the hot spot partition is also set to the restricted state. After limiting the hot spot partition for a preset period of time, the hot spot partition needs to be relieved. Next, a process of releasing the restricted partition will be described in detail with reference to fig. 4.
Fig. 4 is a flowchart of a partition removal method according to an exemplary embodiment of the present application. Referring to fig. 4, the method may include:
s401, obtaining the partition state of each data partition.
For any one detection, the computing device may obtain the partition status of each data partition. Partition states may include a restricted state or an unrestricted state.
For example, a computing device may obtain the partition state of data partition 1, and the partition state of data partition 1 may be a constraint state.
S402, determining a limit partition in a plurality of data partitions according to the partition state of each data partition.
The partition state of the restricted partition may be a restricted state.
For example, if there are 4 data partitions, where the partition state of data partition 1 and data partition 4 is a restricted state and the partition state of data partition 2 and data partition 3 is an unrestricted state, the computing device may determine that data partition 1 and data partition 4 are restricted partitions.
S403, acquiring the limit duration of the limit partition.
Alternatively, the computing device may determine the restriction duration of the restricted partition based on the current time and the latest operation time for the restricted partition. For example, if the data partition 1 is a restricted partition, the current time is 9:50:18:436, and the latest operation time of the data partition 1 is 9:50:08:436, it may be determined that the restriction duration of the data partition 1 is 10s.
S404, obtaining the current thread number and the maximum thread number corresponding to the limiting partition.
The maximum thread number refers to the total number of threads corresponding to each data partition, and the maximum thread number may include the current thread number and the disabled thread number corresponding to the data partition.
Optionally, for any one restricted partition, the computing device may obtain the current thread number and the maximum thread number corresponding to the restricted partition. For example, if the data partition 1 is a restricted partition, the maximum number of threads corresponding to the data partition 1 may be 4, and the current number of threads may be 2.
And S405, if the limit time length is greater than or equal to the preset time length, determining the newly added thread number of the limit partition according to the current thread number and the maximum thread number.
The preset time period may be manually set. For example, the preset time period may be 10s.
For example, if the limiting duration of the data partition 1 is 10s and the preset duration is 10s, the current thread number and the maximum thread number can be determined as the limiting duration is equal to the preset duration, so that the newly added thread number of the data partition 1 can be determined.
In an alternative embodiment, the number of added threads to limit the partition may be determined by: obtaining a new proportion; determining a new increment to be selected according to the current thread number and the new increment proportion; obtaining a difference value between the maximum thread number and the current thread number; if the number of new increases to be selected is smaller than the difference value, determining the number of new increases to be selected as the number of new increases; if the newly added number to be selected is greater than or equal to the difference value, the difference value is determined to be the newly added thread number.
The new ratio may be manually set. For example, the new ratio may be 1 time.
For example, if data partition 1 is a restricted partition, the computing device may obtain the current thread count and the new increment ratio of data partition 1. Assuming that the current thread number of the data partition 1 is 2 and the new increment ratio is 1 time, the computing device may determine that the new increment to be selected is 2 according to the current thread number and the new increment ratio. If the computing device obtains the maximum thread number of the data partition 1 as 4, the difference value may be determined as 2 according to the maximum thread number 4 and the current thread number 2.
Optionally, determining the newly added number of threads according to the newly added number to be selected and the difference between the maximum number of threads and the current number of threads may include the following 2 cases:
case 1: the number of new additions to be selected is smaller than the difference value.
In this case, the newly added number to be selected may be determined as the newly added thread number.
For example, if the data partition 1 is a limited partition, the new number to be selected corresponding to the data partition 1 is 2, and the difference between the maximum thread number and the current thread number of the data partition 1 is 8, since the new number to be selected is smaller than the difference, the new number to be selected 2 may be determined as the new thread number 8.
Case 2: the new increment to be selected is larger than or equal to the difference value.
In this case, the difference may be determined as the newly added thread number.
For example, if the data partition 1 is a limited partition, the number of new threads to be selected corresponding to the data partition 1 is 2, and the difference between the maximum number of threads and the current number of threads of the data partition 1 is 2, then the difference 2 may be determined as the number of new threads 2 because the number of new threads to be selected 2 is equal to the difference 2.
S406, limiting the newly added threads of the partition according to the newly added thread number.
Because the partial threads corresponding to the limiting partition are in the forbidden state, the new threads of the limiting partition are determined randomly according to the number of the new threads, namely the threads of the new threads are set to be in the non-forbidden state in the partial threads corresponding to the limiting partition.
For example, if the data partition 1 is a restricted partition and the corresponding newly added thread number is 2, 2 threads may be newly added to the data partition 1 according to the newly added thread number 2. If the threads corresponding to the data partition 1 are shown in table 2 and include thread 1, thread 3, thread 5 and thread 7, where the threads 5 and 7 are in a disabled state, the thread 5 and 7 may be set in a non-disabled state, that is, 2 threads are newly added to the data partition 1, as shown in table 3:
TABLE 3 Table 3
|
Thread 2 | Thread 3 | Thread 4 | Thread 5 | Thread 6 | Thread 7 | Thread 8 | |
|
|
Thread 3 | Thread 5 | Thread 7 | ||||
Data partition 2 | |
Thread 2 | Thread 5 | Thread 8 | ||||
Data partition 3 | Thread 2 | Thread 3 | Thread 4 | Thread 8 | ||||
Data partition 4 | Thread 3 | Thread 5 | Disabling | Disabling |
S407, if the sum of the newly added thread number and the current thread number is the maximum thread number, setting the partition state of the limited partition as an unlimited state.
If the sum of the newly added thread number and the current thread number is the maximum thread number, the threads corresponding to the limiting partition can normally access the limiting partition, and the threads are not disabled, namely the limiting partition is completely released, and the partition state of the limiting partition is set to be an unlimited state.
For example, if the data partition 1 is a restricted partition, the newly added thread number corresponding to the data partition 1 is 2, the current thread number is 2, and the maximum thread number is 4, which means that all the 4 threads corresponding to the data partition 1 can normally access the data partition 1, and if no thread is disabled, the partition state of the data partition 1 can be set to an unrestricted state.
In embodiments of the present application, a computing device may obtain a partition status of each data partition and determine a restricted partition among a plurality of data partitions based on the partition status of each data partition. The computing device may obtain a limit duration of the limit partition, and a current thread count and a maximum thread count corresponding to the limit partition. If the current thread count is less than the maximum thread count and the limit time period is greater than or equal to the preset time period, the computing device may determine to limit the newly added thread count of the partition. The computing device may limit the partition to the newly added thread according to the newly added thread number, and may set the partition state of the limited partition to the non-limited state if the sum of the newly added thread number and the current thread number is the maximum thread number. Because the computing device can dynamically adjust the current thread number and the forbidden thread number of the data partition, when the resource utilization rate of the processor is low, partial threads for limiting the partition can be unrestricted, idle partial threads are avoided, and the resource utilization rate of the computing device is improved.
The flow of determining the hot spot partition and releasing the restriction will be described in further detail below based on any of the above embodiments with reference to fig. 5.
Fig. 5 is a flow chart of another resource control method according to an embodiment of the present application. Referring to fig. 5, the method may include:
s501, initializing i to 1.
i may be used to represent the number of detections, and i may be an integer greater than or equal to 1.
Alternatively, the computing device may initialize i to 1, indicating that the 1 st detection is performed.
S502, the resource utilization rate of the processor is obtained for the ith time.
Alternatively, the computing device may obtain the resource usage of the processor via a system file. For example, if i is 1, the computing device may obtain a resource utilization of 85% for the processor in the 1 st test.
S503, determining whether the resource utilization rate is greater than or equal to a first threshold.
The computing device may determine whether the resource usage is greater than or equal to a first threshold. If yes, then S504 may be performed; if not, S510 may be performed.
For example, if the first threshold is 80% and the resource usage rate obtained by the computing device is 85%, it may be determined that the resource usage rate 85% is greater than the first threshold 80%, and S504 may be performed; if the resource usage rate acquired by the computing device is 70%, it may be determined that the resource usage rate 70% is less than the first threshold value 80%, and S510 may be performed.
S504, obtaining the thread state of each thread called by the processor.
For any one thread, the computing device may obtain the running duration of the thread and the processor occupation duration, and determine a ratio of the processor occupation duration to the running duration. If the ratio is greater than or equal to the second threshold, determining that the thread state of the thread is busy; if the ratio is less than the second threshold, the thread state of the thread may be determined to be an idle state.
For example, if the running duration of the thread 1 is 500ms, the processor occupation duration is 400ms, and the second threshold is 50%, the ratio of the processor occupation duration to the running duration of the thread 1 may be determined to be 4/5, and since the ratio of 4/5 is greater than 50%, the thread 1 may be determined to be in a busy state; if the running duration of the thread 2 can be 500ms and the processor occupation duration is 100ms, the ratio of the processor occupation duration to the running duration of the thread 2 can be determined to be 1/5, and the thread 2 can be determined to be in an idle state because the ratio of 1/5 is less than 50%.
S505, determining a thread corresponding to each data partition.
For any one data partition, the computing device may determine a plurality of threads to which the data partition corresponds. The plurality of threads may be threads that access the data partition. For example, for data partition 1, the computing device may determine 4 threads, thread 1, thread 3, thread 5, and thread 7, respectively, for data partition 1, each of which may access data partition 1.
S506, determining the number of busy threads corresponding to each data partition according to the thread state of each thread and the threads corresponding to each data partition.
It should be noted that, the execution process of step S506 may refer to step S304, and will not be described herein.
S507, determining the data partition with the maximum number of the corresponding busy threads as a hot spot partition.
For example, if the number of busy threads corresponding to the data partition 1 and the data partition 4 is at most 4, the data partition 1 and the data partition 4 may be determined as a hot spot partition.
S508, setting partial threads accessing the hot spot partition to a disabled state.
Alternatively, the computing device may determine a disabling proportion and determine a portion of threads among the plurality of threads accessing the hot spot partition according to the disabling proportion, thereby setting the portion of threads to a disabled state.
For example, if it is determined that the data partition 1 and the data partition 4 are hot spot partitions, 4 threads corresponding to the data partition 1 and the data partition 4 are shown in table 1, and if the disabling proportion is 50%, 2 threads may be randomly determined among the 4 threads corresponding to the data partition 1 according to the disabling proportion of 50%, and assuming that the 2 threads are the thread 5 and the thread 7, the thread 5 and the thread 7 may be set to the disabled state; similarly, 2 threads may be randomly determined from the 4 threads corresponding to the data partition 4 according to the disabling proportion of 50%, and assuming that the 2 threads are the thread 6 and the thread 7, the thread 6 and the thread 7 may be set to the disabled state.
S509, setting the partition state of the hot spot partition to a limit state.
Alternatively, since the partial threads corresponding to the hot spot partition are set to the disabled state, that is, the hot spot partition is limited, the partition state of the hot spot partition may be set to the limited state.
For example, if the data partition 1 and the data partition 4 are hot spot partitions, after the partial threads corresponding to the data partition 1 and the data partition 4 are set to the disabled state, the partition states of the data partition 1 and the data partition 4 may be set to the limited state.
S510, determining whether a limiting partition exists in the plurality of data partitions according to the partition state of each data partition.
For any one data partition, the computing device may obtain a partition status of the partition and determine a plurality of restricted partitions among the plurality of data partitions based on the partition status of each data partition. If the partition status of the data partition is a restricted status, the data partition may be determined to be a restricted partition.
If there is a restricted partition, S511 may be performed; if there is no restricted partition, S518 may be performed.
For example, if there are 4 data partitions, the computing device may acquire the partition states of the 4 data partitions, if the partition states of the data partition 1 and the data partition 4 are constraint states, it may be determined that the data partition 1 and the data partition 4 are constraint partitions, and S511 may be executed; if the computing device can acquire that the partition states of the 5 data partitions are all non-restricted states, S518 can be performed.
S511, acquiring the limit duration of the limit partition.
Alternatively, the computing device may determine the restriction duration of the restricted partition based on the current time and the latest operation time for the restricted partition.
For example, when i=21, in the 21 st detection, the data partition 1 and the data partition 4 are limited to the partition, if the current time is 9:50:18:436 and the latest operation time of the data partition 1 is 9:50:08:436, it may be determined that the limiting duration of the data partition 1 is 10s; if the latest operation time of the data partition 4 is 9:50:12:436, the limit duration of the data partition 4 can be determined to be 6s.
S512, determining whether the limiting duration is greater than or equal to a preset duration.
For any one of the restricted partitions, the computing device may determine whether a restriction duration of the restricted partition is greater than or equal to a preset duration. If yes, S513 may be performed; if the limiting time periods of the limiting partitions are smaller than the preset time period, S518 may be executed.
For example, when i=1, if the preset time period is 10S, since the data partition 1, 4 have just been operated in the 1 st detection, the limitation time period of the data partition 1 and the data partition 4 is less than the preset time period of 10S, S518 may be performed.
For example, when i=21, if the data partition 1 and the data partition 4 are limited to the partition in the 21 st detection, if the limiting duration of the data partition 1 is 10S, the limiting duration of the data partition 4 is 6S, and the preset duration is 10S, it may be determined that the limiting duration 10S of the data partition 1 is equal to the preset duration 10S, and S513 may be performed on the data partition 1.
S513, obtaining the current thread number and the maximum thread number corresponding to the limiting partition.
Optionally, for any one restricted partition, the computing device may obtain the current thread number and the maximum thread number corresponding to the restricted partition. For example, if the data partition 1 is a restricted partition, the maximum number of threads corresponding to the data partition 1 may be 4, and the current number of threads may be 2.
S514, determining the newly added thread number of the limited partition according to the current thread number and the maximum thread number.
It should be noted that, the execution process of step S514 may refer to step S405, and will not be described herein.
S515, limiting the newly added threads of the partition according to the newly added thread number.
For example, if the data partition 1 is a restricted partition and the corresponding newly added thread number is 2, 2 threads may be newly added to the data partition 1 according to the newly added thread number 2. If the threads corresponding to the data partition 1 include a thread 1, a thread 3, a thread 5 and a thread 7, wherein the thread 5 and the thread 7 are in a disabled state, the thread states of the thread 5 and the thread 7 can be set to be in a non-disabled state according to the newly increased thread number 2, that is, 2 threads are newly added to the data partition 1.
S516, determining whether the sum of the newly added thread number and the current thread number is the maximum thread number.
For any one restricted partition, the computing device may determine whether the sum of the newly added thread count and the current thread count is the maximum thread count. If yes, S517 may be performed; if not, S518 may be performed.
For example, if the data partition 1 is a limited partition, the newly added thread number corresponding to the data partition 1 is 2, the current thread number is 2, and the maximum thread number is 4, S517 may be executed; if the data partition 2 is a limited partition, the newly added thread number corresponding to the data partition 2 is 2, the current thread number is 2, and the maximum thread number is 8, then S518 may be executed.
S517, setting the partition status of the restricted partition to an unrestricted status.
For example, if the data partition 1 is a restricted partition, the number of newly added threads corresponding to the data partition 1 is 2, the current number of threads is 2, and the maximum number of threads is 4, the partition state of the data partition 1 may be set to an unrestricted state.
S518, updating i to be i+1.
For example, if i is 1, after the 1 st detection is performed, the computing device may update i to 2, waiting for the 2 nd detection to be performed.
In this embodiment of the present application, the computing device may obtain the resource usage rate of the processor for the ith time, and determine whether the resource usage rate is greater than or equal to the first threshold, if yes, may obtain the thread state of each thread invoked by the processor, determine the thread corresponding to each data partition, and determine, according to the thread state of each thread and the thread corresponding to each data partition, the number of busy threads corresponding to each data partition. The computing device may determine a data partition with a maximum number of corresponding busy threads as a hot spot partition and set a portion of threads accessing the hot spot partition to a disabled state. The computing device may set the partition state of the hotspot partition to a restricted state. The computing device may also determine a restricted partition among the plurality of data partitions based on the partition status of each data partition. If the limiting partition exists, the computing device may acquire a limiting duration of the limiting partition and determine whether the limiting duration is greater than or equal to a preset duration. If the limit time length is greater than or equal to the preset time length, the current thread number and the maximum thread number corresponding to the limit partition can be obtained, and the newly-increased thread number of the limit partition is determined according to the current thread number and the maximum thread number, so that the newly-increased thread of the limit partition can be limited according to the newly-increased thread number. The computing device may determine whether the sum of the newly added thread count and the current thread count of the restricted partition is a maximum thread count, and if so, may set the partition state of the restricted partition to a non-restricted state. Because the computing equipment can determine the hot spot partition and disable partial threads corresponding to the hot spot partition, the processor resources occupied by the hot spot partition are reduced, and the resource utilization rate of the processor is reduced; and the method can be used for solving the limitation of partial threads of the limited partition, avoiding the partial threads from being idle when the resource utilization rate of the processor is low, dynamically adjusting the current thread number and the forbidden thread number of the data partition, and improving the reliability and the resource utilization rate of the computing equipment.
Next, the above-described resource control method will be described in further detail with reference to fig. 6 by way of a specific example on the basis of any of the above-described embodiments.
Fig. 6 is a process schematic diagram of a resource control method according to an exemplary embodiment of the present application. Referring to fig. 6, the method includes: the 1 st detection process, the 2 nd detection process, and the 21 st detection process.
Alternatively, the computing device may periodically detect the processor and the data partition. For example, the computing device may detect every 500 ms.
When i is equal to 1, the 1 st detection process may be performed. If the computing device obtains the resource usage rate of the processor for the 1 st time to be 85% and greater than the first threshold value by 80%, the computing device may determine that the resource usage rate of the processor is greater than the first threshold value. If the computing device includes 8 threads, thread 1, thread 2, thread 3, thread 4, thread 5, thread 6, thread 7, and thread 8, respectively. If there are 4 data partitions in the computing device, namely data partition 1, data partition 2, data partition 3 and data partition 4, the computing device may determine a plurality of threads corresponding to each data partition. The threads corresponding to the data partition 1 are assumed to be a thread 1, a thread 3, a thread 5 and a thread 7 respectively; threads corresponding to the data partition 2 are thread 1, thread 2, thread 5 and thread 8 respectively; the threads corresponding to the data partition 3 are respectively thread 2, thread 3, thread 4 and thread 8; the threads corresponding to the data partition 4 are thread 3, thread 5, thread 6 and thread 7 respectively.
The computing device may obtain a thread state for each thread. Assuming that the thread states of thread 1, thread 3, thread 5, thread 6 and thread 7 are busy states, the thread states of thread 2, thread 4 and thread 8 are idle states. The computing device may determine, according to the thread state of each thread and the thread corresponding to each data partition, the number of busy threads corresponding to each data partition, and determine, as the hot spot partition, the data partition with the largest number of corresponding busy threads. As shown in fig. 6, the 4 threads corresponding to the data partition 1 are all busy threads, 2 busy threads are among the 4 threads corresponding to the data partition 2, 1 busy thread is among the 4 threads corresponding to the data partition 3, and the 4 threads corresponding to the data partition 4 are all busy threads. Then data partition 1 and data partition 4 may be determined to be hot spot partitions since the number 4 of busy threads corresponding to data partition 1 and data partition 4 is the largest.
The computing device may disable a portion of threads of the hot spot partition, i.e., set a portion of threads accessing the hot spot partition to a disabled state, and set a partition state of the hot spot partition to a restricted state, and record an operation time. For example, the computing device may set thread 5 and thread 7 corresponding to data partition 1 to disabled states and set the partition state of data partition 1 to restricted states; the corresponding threads 6 and 7 of the data partition 4 may be set to a disabled state and the partition state of the data partition 4 may be set to a restricted state.
If the preset duration is 10s, since the data partition 1 and the data partition 4 are just operated in the first detection, the limitation duration of the data partition 1 and the data partition 4 is less than 10s, so that the 1 st detection can be finished without performing a de-limitation flow in the 1 st detection.
When i is equal to 2, the 2 nd detection process may be performed. If the computing device acquires the resource usage of the processor for the 2 nd time to be 83% and still greater than the first threshold value of 80%, the computing device may determine that the resource usage of the processor is greater than the first threshold value. The computing device may obtain a thread state for each thread. Assuming that the thread states of thread 3 and thread 5 are busy, the thread states of thread 1, thread 2, thread 4, thread 6, thread 7, and thread 8 are idle. The computing device may determine, according to the thread state of each thread and the thread corresponding to each data partition, the number of busy threads corresponding to each data partition, and determine, as the hot spot partition, the data partition with the largest number of corresponding busy threads. As shown in fig. 6, 1 busy thread is included in 2 current threads corresponding to the data partition 1, 1 busy thread is included in 4 threads corresponding to the data partition 2, 1 busy thread is included in 4 threads corresponding to the data partition 3, and all 2 current threads corresponding to the data partition 4 are busy threads. Then data partition 4 may be determined to be a hot spot partition because the number 2 of busy threads to which data partition 4 corresponds is greatest. The computing device may set the corresponding thread 5 of data partition 4 to a disabled state, the partition state of data partition 4 still being a restricted state.
Since the restriction duration of the data partition 1 and the data partition 4 in the 2 nd detection is less than 10s, the de-restriction process is not required in the 2 nd detection, and the 2 nd detection can be ended.
The computing device may detect once every 500ms, repeating the 1 st or 2 nd detection step. After a plurality of rounds of detection processes, the number of threads accessing the hot spot partition is reduced, and part of requests of the hot spot partition can be discarded, so that the processor resources occupied by the hot spot partition are also reduced, and the resource utilization rate of the processor can be reduced.
In the ith detection process, if the resource utilization rate of the processor is smaller than the first threshold and the limiting duration of the limiting partition is smaller than the preset duration, no operation is needed.
When i is equal to 21, the 21 st detection process may be performed. If the resource utilization rate of the 21 st acquisition processor of the computing device is 70%, the resource utilization rate is smaller than 80% of the first threshold value. The computing device may proceed to unblock the partition. Since the time of operating the data partition 1 is 10s away from the current time by the 1 st detection, the limiting duration of the partition 1 is equal to the preset duration of 10s, and the elimination standard is reached. The computing device may obtain the current thread count 2 and the maximum thread count 4 corresponding to data partition 1. If the new increment ratio is 50%, the computing device can determine that the new increment ratio to be selected is 2 according to the current thread number 2 and the new increment ratio by 1 time. Because the maximum thread number of the data partition 1 is 4, the current thread number is 2, the newly added number to be selected is 2, and the newly added 2 threads of the data partition 1 cannot exceed the maximum thread number corresponding to the data partition 1, the 2 threads can be newly added to the data partition 1, namely the threads 5 and 7 in the disabled state can be set to be in the non-disabled state, and the normal state is recovered.
Since the maximum thread number of the data partition 1 is 4, after 2 threads are newly added to the data partition 1, the current thread number of the data partition 1 is 4, and no threads in the 4 threads corresponding to the data partition 1 are disabled, i.e. the limitation on the data partition 1 is completely removed, and the partition state of the data partition 1 can be set to an unlimited state, i.e. a normal state. Since the data partition 4 is operated in the 2 nd detection, the restriction duration of the data partition 4 is still less than 10s in the 21 st detection, and thus the data partition 4 is still in the restriction state without operating the data partition 4.
In this embodiment of the present application, the computing device may obtain the resource usage rate of the processor for the ith time, and determine whether the resource usage rate is greater than or equal to the first threshold, if yes, may obtain the thread state of each thread invoked by the processor, determine the thread corresponding to each data partition, and determine, according to the thread state of each thread and the thread corresponding to each data partition, the number of busy threads corresponding to each data partition. The computing device may determine a data partition with a maximum number of corresponding busy threads as a hot spot partition and set a portion of threads accessing the hot spot partition to a disabled state. The computing device may set the partition state of the hotspot partition to a restricted state. The computing device may also determine a restricted partition among the plurality of data partitions based on the partition status of each data partition. If the limiting partition exists, the computing device may acquire a limiting duration of the limiting partition and determine whether the limiting duration is greater than or equal to a preset duration. If the limit time length is greater than or equal to the preset time length, the current thread number and the maximum thread number corresponding to the limit partition can be obtained, and the newly-increased thread number of the limit partition is determined according to the current thread number and the maximum thread number, so that the newly-increased thread of the limit partition can be limited according to the newly-increased thread number. The computing device may determine whether the sum of the newly added thread count and the current thread count of the restricted partition is a maximum thread count, and if so, may set the partition state of the restricted partition to a non-restricted state. Because the computing equipment can determine the hot spot partition and disable partial threads corresponding to the hot spot partition, the processor resources occupied by the hot spot partition are reduced, and the resource utilization rate of the processor is reduced; and the method can be used for solving the limitation of partial threads of the limited partition, so that the phenomenon that the partial threads are idle when the resource utilization rate of the processor is low is avoided, the current thread number and the forbidden thread number of the data partition are dynamically adjusted, and the reliability and the resource utilization rate of the computing equipment are improved.
Fig. 7 is a schematic structural diagram of a resource control device according to an embodiment of the present application. Referring to fig. 7, the apparatus includes: a first acquisition module 11, a first determination module 12 and a setting module 13, wherein,
the first obtaining module 11 is configured to obtain a resource utilization rate of a processor;
the first determining module 12 is configured to determine, when the resource usage rate is greater than or equal to a first threshold, a hot spot partition with a highest accessed frequency from among a plurality of data partitions;
the setting module 13 is configured to set a portion of threads accessing the hot spot partition to a disabled state, so as to reduce a resource usage rate of the processor.
The resource control device provided in the embodiment of the present application may execute the technical solution shown in the foregoing method embodiment, and its implementation principle and beneficial effects are similar, and will not be described herein again.
In one possible implementation, the first determining module 12 is specifically configured to:
acquiring a thread state of each thread called by the processor, wherein the thread state is a busy state or an idle state;
determining threads corresponding to each data partition, wherein the threads corresponding to the data partition are threads accessing the data partition;
And determining the hot spot partition in the plurality of data partitions according to the thread state of each thread and the thread corresponding to each data partition.
In one possible implementation, the first determining module 12 is specifically configured to:
acquiring the running time of the thread and the occupied time of a processor, wherein the occupied time of the processor is the occupied time of the thread;
acquiring the ratio of the occupied time length of the processor to the running time length;
if the ratio is greater than or equal to a second threshold, determining that the thread state is the busy state;
and if the ratio is smaller than the second threshold value, determining the thread state as the idle state.
In one possible implementation, the first determining module 12 is specifically configured to:
determining the number of busy threads corresponding to each data partition according to the thread state of each thread and the threads corresponding to each data partition, wherein the busy threads are threads in a busy state;
and determining the data partition with the largest number of the corresponding busy threads as the hot spot partition.
In a possible embodiment, the setting module 13 is specifically configured to:
determining a forbidden proportion;
Determining the partial threads in a plurality of threads accessing the hot spot partition according to the forbidden proportion;
the partial thread is set to a disabled state.
In one possible implementation, after setting a part of the threads accessing the hot spot partition to a disabled state, the setting module 13 is further configured to:
the partition state of the hot spot partition is set to a restricted state.
The resource control device provided in the embodiment of the present application may execute the technical solution shown in the foregoing method embodiment, and its implementation principle and beneficial effects are similar, and will not be described herein again.
Fig. 8 is a schematic structural diagram of another resource control device according to an exemplary embodiment of the present application. Referring to fig. 8, on the basis of the embodiment shown in fig. 7, the apparatus further includes: a second acquisition module 14, a second determination module 15, a third acquisition module 16 and an update module 17, wherein,
the second obtaining module 14 is configured to obtain a partition status of each data partition, where the data partition status is a limited status or a non-limited status;
the second determining module 15 is configured to determine a limiting partition from the plurality of data partitions according to a partition state of each data partition, where the partition state of the limiting partition is the limiting state;
The third obtaining module 16 is configured to obtain a limitation duration of the limitation partition;
the updating module 17 is configured to update the thread of the restricted partition according to the restricted duration.
The resource control device provided in the embodiment of the present application may execute the technical solution shown in the foregoing method embodiment, and its implementation principle and beneficial effects are similar, and will not be described herein again.
In a possible implementation manner, the updating module 17 is specifically configured to:
acquiring the current thread number and the maximum thread number corresponding to the limiting partition;
if the limit time length is greater than or equal to the preset time length, determining the newly increased thread number of the limit partition according to the current thread number and the maximum thread number;
and adding threads for the limited partition according to the number of the threads newly added.
In a possible implementation manner, the updating module 17 is specifically configured to:
obtaining a new proportion;
determining a new increment to be selected according to the current thread number and the new increment proportion;
obtaining a difference value between the maximum thread number and the current thread number;
if the number of new increases to be selected is smaller than the difference value, determining the number of new increases to be selected as the number of new increases;
And if the newly-increased number to be selected is greater than or equal to the difference value, determining the difference value as the newly-increased thread number.
In a possible embodiment, the setting module 13 is further configured to:
and if the sum of the newly added thread number and the current thread number is the maximum thread number, setting the partition state of the limited partition as an unlimited state.
The resource control device provided in the embodiment of the present application may execute the technical solution shown in the foregoing method embodiment, and its implementation principle and beneficial effects are similar, and will not be described herein again.
An exemplary embodiment of the present application provides a schematic structural diagram of a computing device, please refer to fig. 9, the computing device 20 may include a processor 21 and a memory 22. The processor 21, the memory 22, and the like are illustratively interconnected by a bus 23.
The memory 22 stores computer-executable instructions;
the processor 21 executes computer-executable instructions stored in the memory 22, causing the processor 21 to perform the resource control method as shown in the method embodiments described above.
Accordingly, embodiments of the present application provide a computer readable storage medium having stored therein computer executable instructions for implementing the resource control method described in the above method embodiments when the computer executable instructions are executed by a processor.
Accordingly, embodiments of the present application may also provide a computer program product, including a computer program, which when executed by a processor may implement the resource control method shown in the foregoing method embodiments.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and changes may be made to the present application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. which are within the spirit and principles of the present application are intended to be included within the scope of the claims of the present application.
Claims (14)
1. A method of resource control, for use with a computing device having a processor and a plurality of data partitions disposed therein, the processor accessing the data partitions through a calling thread, the method comprising:
acquiring the resource utilization rate of the processor;
when the resource utilization rate is greater than or equal to a first threshold value, determining a hot spot partition with highest accessed frequency from the plurality of data partitions;
and setting partial threads accessing the hot spot partition to be in a disabled state so as to reduce the resource utilization rate of the processor.
2. The method of claim 1, wherein determining the most frequently accessed hot spot partition among the plurality of data partitions comprises:
acquiring a thread state of each thread called by the processor, wherein the thread state is a busy state or an idle state;
Determining threads corresponding to each data partition, wherein the threads corresponding to the data partition are threads accessing the data partition;
and determining the hot spot partition in the plurality of data partitions according to the thread state of each thread and the thread corresponding to each data partition.
3. The method of claim 2, wherein for any one thread; obtaining the thread state of the thread called by the processor, including:
acquiring the running time of the thread and the occupied time of a processor, wherein the occupied time of the processor is the occupied time of the thread;
acquiring the ratio of the occupied time length of the processor to the running time length;
if the ratio is greater than or equal to a second threshold, determining that the thread state is the busy state;
and if the ratio is smaller than the second threshold value, determining the thread state as the idle state.
4. A method according to claim 2 or 3, wherein determining the hot spot partition among the plurality of data partitions based on the thread state of each thread and the thread corresponding to each data partition comprises:
determining the number of busy threads corresponding to each data partition according to the thread state of each thread and the threads corresponding to each data partition, wherein the busy threads are threads in a busy state;
And determining the data partition with the largest number of the corresponding busy threads as the hot spot partition.
5. The method of any of claims 1-4, wherein setting a portion of threads accessing the hot spot partition to a disabled state comprises:
determining a forbidden proportion;
determining the partial threads in a plurality of threads accessing the hot spot partition according to the forbidden proportion;
the partial thread is set to a disabled state.
6. The method of any of claims 1-5, further comprising, after setting a portion of threads accessing the hot spot partition to a disabled state:
the partition state of the hot spot partition is set to a restricted state.
7. The method according to any one of claims 1-6, further comprising:
acquiring a partition state of each data partition, wherein the data partition state is a limiting state or a non-limiting state;
determining a limiting partition in the plurality of data partitions according to the partition state of each data partition, wherein the partition state of the limiting partition is the limiting state;
acquiring the limit time length of the limit partition;
and updating the threads of the restricted partition according to the restricted duration.
8. The method of claim 7, wherein updating the thread of the restricted partition according to the restricted duration comprises:
acquiring the current thread number and the maximum thread number corresponding to the limiting partition;
if the limit time length is greater than or equal to the preset time length, determining the newly increased thread number of the limit partition according to the current thread number and the maximum thread number;
and adding threads for the limited partition according to the number of the threads newly added.
9. The method of claim 8, wherein determining the newly added number of threads for the restricted partition comprises:
obtaining a new proportion;
determining a new increment to be selected according to the current thread number and the new increment proportion;
obtaining a difference value between the maximum thread number and the current thread number;
if the number of new increases to be selected is smaller than the difference value, determining the number of new increases to be selected as the number of new increases;
and if the newly-increased number to be selected is greater than or equal to the difference value, determining the difference value as the newly-increased thread number.
10. The method of claim 9, further comprising, after adding threads to the restricted partition based on the number of added threads:
And if the sum of the newly added thread number and the current thread number is the maximum thread number, setting the partition state of the limited partition as an unlimited state.
11. A resource control apparatus, the apparatus comprising: the device comprises a first acquisition module, a first determination module and a setting module, wherein,
the first acquisition module is used for acquiring the resource utilization rate of the processor;
the first determining module is used for determining a hot spot partition with highest accessed frequency from a plurality of data partitions when the resource utilization rate is greater than or equal to a first threshold value;
the setting module is used for setting partial threads accessing the hot spot partition to be in a forbidden state so as to reduce the resource utilization rate of the processor.
12. A computing device, comprising: a memory and a processor;
the memory stores computer-executable instructions;
the processor executing computer-executable instructions stored in the memory, causing the processor to perform the resource control method of any one of claims 1 to 10.
13. A computer readable storage medium having stored therein computer executable instructions for implementing the resource control method of any of claims 1 to 10 when the computer executable instructions are executed by a processor.
14. A computer program product comprising a computer program which, when executed by a processor, implements the resource control method of any of claims 1 to 10.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310401234.6A CN116382918A (en) | 2023-04-13 | 2023-04-13 | Resource control method, device and equipment |
PCT/CN2024/087306 WO2024213065A1 (en) | 2023-04-13 | 2024-04-11 | Resource control method and apparatus, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310401234.6A CN116382918A (en) | 2023-04-13 | 2023-04-13 | Resource control method, device and equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116382918A true CN116382918A (en) | 2023-07-04 |
Family
ID=86974902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310401234.6A Pending CN116382918A (en) | 2023-04-13 | 2023-04-13 | Resource control method, device and equipment |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116382918A (en) |
WO (1) | WO2024213065A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024213065A1 (en) * | 2023-04-13 | 2024-10-17 | 阿里云计算有限公司 | Resource control method and apparatus, and device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007148371A1 (en) * | 2006-06-19 | 2007-12-27 | Nec Corporation | Performance management system and performance management method for virtual machine |
US10574554B2 (en) * | 2016-05-03 | 2020-02-25 | Microsoft Technology Licensing, Llc | Control of applications that use system resources |
CN113867927A (en) * | 2020-06-30 | 2021-12-31 | 北京达佳互联信息技术有限公司 | Resource allocation method, device, electronic equipment and storage medium |
CN115934311A (en) * | 2022-09-22 | 2023-04-07 | 超聚变数字技术有限公司 | Data redistribution method and electronic equipment |
CN116382918A (en) * | 2023-04-13 | 2023-07-04 | 阿里巴巴(中国)有限公司 | Resource control method, device and equipment |
-
2023
- 2023-04-13 CN CN202310401234.6A patent/CN116382918A/en active Pending
-
2024
- 2024-04-11 WO PCT/CN2024/087306 patent/WO2024213065A1/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024213065A1 (en) * | 2023-04-13 | 2024-10-17 | 阿里云计算有限公司 | Resource control method and apparatus, and device |
Also Published As
Publication number | Publication date |
---|---|
WO2024213065A1 (en) | 2024-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214313B (en) | Memory allocation method and related equipment | |
US20160335135A1 (en) | Method for minimizing lock contention among threads when tasks are distributed in multithreaded system and appratus using the same | |
US8024739B2 (en) | System for indicating and scheduling additional execution time based on determining whether the execution unit has yielded previously within a predetermined period of time | |
CN108572876A (en) | A kind of implementation method and device of Read-Write Locks | |
CN116382918A (en) | Resource control method, device and equipment | |
CN111338803B (en) | Thread processing method and device | |
CN115190078B (en) | Access flow control method, device, equipment and storage medium | |
CN108647102B (en) | Service request processing method and device of heterogeneous system and electronic equipment | |
CN115269118A (en) | Scheduling method, device and equipment of virtual machine | |
CN114925015A (en) | Data processing method, device, equipment and medium based on multi-core processor | |
CN114461323A (en) | Card pause processing method and device, electronic equipment and storage medium | |
CN109358961B (en) | Resource scheduling method and device with storage function | |
CN112541041A (en) | Data processing method, device, server and storage medium | |
CN114461353A (en) | Method, terminal and computer readable storage medium for adjusting thread priority | |
CN109558249B (en) | Control method and device for concurrent operation | |
CN111162947A (en) | PCRE hot switching method, network device and storage medium | |
CN112784161B (en) | Information processing method, device, medium and electronic device | |
CN115794362A (en) | Resource allocation method, cloud host and computer-readable storage medium | |
CN114039893A (en) | API gateway speed limiting method and device | |
CN114157717A (en) | Micro-service dynamic current limiting system and method | |
CN108255820B (en) | Method and device for data storage in distributed system and electronic equipment | |
CN107018533B (en) | The method redistributed and base station are loaded under a kind of S1-Flex framework | |
CN116069502A (en) | Dynamic control method and equipment for data processing | |
CN110851286A (en) | Thread management method and device, electronic equipment and storage medium | |
CN111324428B (en) | Task allocation method, device, equipment and computer readable storage medium |
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 |