CN114138427A - SLO guarantee method, SLO guarantee device, node, and storage medium - Google Patents

SLO guarantee method, SLO guarantee device, node, and storage medium Download PDF

Info

Publication number
CN114138427A
CN114138427A CN202111209079.5A CN202111209079A CN114138427A CN 114138427 A CN114138427 A CN 114138427A CN 202111209079 A CN202111209079 A CN 202111209079A CN 114138427 A CN114138427 A CN 114138427A
Authority
CN
China
Prior art keywords
task
resource utilization
slo
water line
utilization rate
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
Application number
CN202111209079.5A
Other languages
Chinese (zh)
Inventor
钟成
程正君
章程
廖祥森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111209079.5A priority Critical patent/CN114138427A/en
Publication of CN114138427A publication Critical patent/CN114138427A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the disclosure relates to an SLO (sleep/sleep) guarantee method, an SLO guarantee device, a node and a storage medium. The method comprises the steps of obtaining the resource utilization rate of a processing node; in response to the resource utilization being greater than or equal to a first water line and less than a second water line, reducing the number of resources allocated to a first task in the processing nodes, wherein a service level objective SLO of the first task is lower than that of the second task, and the first water line is lower than that of the second water line; in response to the resource utilization being greater than or equal to the second water line, at least a portion of the first task is evicted. According to the scheme, two different water level lines are arranged, so that normal execution of the task with high SLO is guaranteed, the task with low SLO can obtain resources as much as possible for processing, and the SLO of the task with low priority is guaranteed.

Description

SLO guarantee method, SLO guarantee device, node, and storage medium
Technical Field
The embodiment of the disclosure relates to the technical field of resource optimization, and in particular, to an SLO guaranteeing method, device, node, and storage medium.
Background
In the related art, services of Service Level Objects (SLOs for short) of multiple priorities may be mixedly deployed on the underlying resources of the same processing node, so as to improve the resource utilization rate. However, how to guarantee the SLO of the high-priority and low-priority tasks in a hybrid deployment manner is a technical problem to be solved.
Disclosure of Invention
In order to solve the technical problem or at least partially solve the technical problem, embodiments of the present disclosure provide an SLO guaranteeing method, apparatus, node, and storage medium.
A first aspect of the embodiments of the present disclosure provides an SLO guaranteeing method, including:
acquiring the resource utilization rate of a processing node;
in response to the resource utilization being greater than or equal to a first water line and less than a second water line, reducing an amount of resources allocated to a first task of the processing nodes, wherein the first task has a SLO that is lower than a second task, the first water line being lower than the second water line;
in response to the resource utilization being greater than or equal to the second water line, evicting at least a portion of the first task.
A second aspect of the disclosed embodiments provides an SLO safeguard device, including
The acquisition module is used for acquiring the resource utilization rate of the processing node;
a resource throttle module, configured to reduce the number of resources allocated to a first task in the processing nodes in response to the resource utilization being greater than or equal to a first water level line and less than a second water level line, where SLO of the first task is lower than a second task, and the first water level line is lower than the second water level line;
an eviction module to evict at least a portion of the first task in response to the resource utilization being greater than or equal to the second water line.
A third aspect of the embodiments of the present disclosure provides a processing node, which includes a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the method of the first aspect may be implemented.
A fourth aspect of embodiments of the present disclosure provides a computer-readable storage medium having a computer program stored therein, which, when executed by a processor, may implement the method of the first aspect described above.
Compared with the prior art, the technical scheme provided by the embodiment of the disclosure has the following advantages:
according to the embodiment of the disclosure, by acquiring the resource utilization rate of the processing node, in response to the resource utilization rate being greater than or equal to a first waterline and smaller than a second waterline, the number of resources allocated to a first task in the processing node is reduced, wherein the SLO of the first task is lower than that of the second task, the first waterline is lower than that of the second waterline, and in response to the resource utilization rate being greater than or equal to the second waterline, at least part of the first task is evicted. Because the first water level line and the second water level line are arranged, the quantity of resources allocated to low-priority tasks (in the embodiment of the disclosure, the higher the SLO of the task is, the higher the priority of the task is) in the processing nodes can be controlled according to the comparison result of the resource utilization rate of the processing nodes with the first water level line and the second water level line, the control mode comprises the steps of reducing the quantity of the resources allocated to the low-priority tasks and expelling at least part of the low-priority tasks, and the condition of reducing the quantity of the resources and the condition of expelling the low-priority tasks are separated by arranging two different water level lines, so that not only is the SLO of the high-priority tasks ensured, but also the low-priority tasks can obtain the resources as much as possible to be processed, and the SLO of the low-priority tasks is ensured.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present disclosure, the drawings used in the description of the embodiments or prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
Fig. 1 is a schematic diagram of an SLO security scenario provided in an embodiment of the present disclosure;
fig. 2 is a flowchart of an SLO guaranteeing method provided by the embodiment of the present disclosure;
fig. 3 is a flowchart of another SLO securing method provided by the embodiment of the present disclosure;
FIG. 4 is a block diagram of a mixing system provided by embodiments of the present disclosure;
FIG. 5 is a schematic diagram of a processing node provided by an embodiment of the present disclosure;
FIG. 6 is a schematic diagram of resource allocation in a processing node according to an embodiment of the present disclosure;
FIG. 7 is a schematic diagram of a water line control provided by an embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of an SLO safeguard device provided in an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of a processing node in an embodiment of the present disclosure.
Detailed Description
In order that the above objects, features and advantages of the present disclosure may be more clearly understood, aspects of the present disclosure will be further described below. It should be noted that the embodiments and features of the embodiments of the present disclosure may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure, but the present disclosure may be practiced in other ways than those described herein; it is to be understood that the embodiments disclosed in the specification are only a few embodiments of the present disclosure, and not all embodiments.
In order to improve resource utilization, in the related art, services of SLOs with multiple priorities may be mixedly deployed on underlying resources of the same processing node, where the higher the SLO of a task is, the higher the priority of the task is. In the hybrid deployment, in order to ensure SLOs of multiple priority tasks, in the related art, a single water line may be set, so that a low-priority task is evicted when the resource utilization rate of a processing node exceeds that of the water line, but in this way, when the jitter of a high-priority task is strong, the low-priority task is evicted more frequently, so that the completion rate of the low-priority task is low, and therefore the SLO of the low-priority task cannot be ensured. Therefore, how to guarantee the SLO of the high-priority and low-priority tasks in a hybrid deployment manner is a technical problem to be solved.
To address technical problems in the related art, an embodiment of the present disclosure provides an SLO guarantee scheme, and fig. 1 is a schematic diagram of an SLO guarantee scenario provided by an embodiment of the present disclosure, where as shown in fig. 1, a processing node may obtain a resource utilization rate, and then may reduce the number of resources allocated to a first task in the processing node in response to the resource utilization rate being greater than or equal to a first water level line and less than a second water level line, where the SLO of the first task is lower than the second task, and the first water level line is lower than the second water level line, and in the present disclosure, the higher the SLO of the task is, the higher the priority of the task is, and in response to the resource utilization rate being greater than or equal to the second water level line, at least part of the first task is evicted. Because the first water level line and the second water level line are arranged, the quantity of resources allocated to low-priority tasks in the processing nodes can be controlled according to the comparison result of the resource utilization rate of the processing nodes with the first water level line and the second water level line, the control mode comprises reducing the quantity of the resources allocated to the low-priority tasks and expelling at least part of the low-priority tasks, and the condition of reducing the quantity of the resources and the condition of expelling the low-priority tasks are separated by setting two different water level lines, so that not only is the SLO of the high-priority tasks ensured, but also the low-priority tasks can obtain the resources as much as possible for processing, and the SLO of the low-priority tasks is ensured.
In order to better understand the inventive concept of the embodiments of the present disclosure, the following describes technical solutions of the embodiments of the present disclosure with reference to exemplary embodiments.
Fig. 2 is a flowchart of an SLO securing method provided in the embodiment of the present disclosure. As shown in fig. 2, the method provided by this embodiment includes the following steps:
and 101, acquiring the resource utilization rate of the processing node.
The processing node may be understood as a device in which tasks or services of SLOs of multiple priorities are mixedly deployed, and is used to process various different tasks. The resource utilization rate may be a percentage of the number of actually applied resources to the total number of resources, and the resource utilization rate in the embodiment of the present disclosure may include a total resource utilization rate and resource utilization rates of tasks with different priorities.
In this embodiment of the present disclosure, the processing node may obtain the total resource utilization rate according to a preset time interval, and may also obtain the resource utilization rate of the second task, where the preset time interval may be a second-level time interval, and is specifically set according to actual needs. The resource utilization of the second task may be a percentage of the amount of resources actually utilized by the second task to the total amount of resources allocated to the second task.
The processing node also comprises a first task besides the second task, the SLO of the first task is lower than that of the second task, wherein the higher the SLO of the task is, the higher the priority of the second task is than that of the first task in the processing node, namely the processing node meets the processing of the second task preferentially, and the processing of the first task is carried out on the premise of meeting the second task. The task in the embodiment of the present disclosure may be a computing Unit that uses node resources correspondingly, for example, a program or an application, and the running of the task needs to use the resources of the node.
The task priority can be understood as a priority for dividing the task according to the importance of the task, the time delay characteristics and the like, the priority can be represented by a preset identifier, and the format of the preset identifier is not limited, and for example, numbers or letters and the like can be adopted. Tasks with high priority indicate that the SLO requires relatively high tasks, such as ordering of e-commerce of delay-sensitive applications, payment systems, and the like, and the results need to be calculated in time and fed back to the user. Tasks with low priority, which indicate that SLO requires relatively low tasks, may include delay insensitive tasks, such as big data tasks, as long as the computation is completed within a period of time.
Step 102, responsive to the resource utilization being greater than or equal to the first waterline and less than the second waterline, reducing an amount of resources allocated to a first task in the processing node.
Wherein the first water line may be a lower water line set for utilization of resources in the processing node, which may be understood as a throttle water line for performing throttling of low priority tasks based on the first water line. The second water line may be a higher water line set for utilization of resources in the processing node, which may be understood as a castout water line, for castout of at least part of the low priority task based on the second water line. The first water level line is lower than the second water level line.
In embodiments of the present disclosure, because the resource utilization may include a total resource utilization and a resource utilization of the second task, the processing node may be capable of reducing the amount of resources allocated to the first task in the processing node in response to the total resource utilization being greater than or equal to the first waterline, less than the second waterline, and the resource utilization of the second task being less than the first waterline.
After obtaining the total resource utilization rate and the resource utilization rate of the second task, the processing node may compare the total resource utilization rate and the resource utilization rate of the second task with a preset first water level line, if the total resource utilization rate is greater than or equal to the first water level line and the resource utilization rate of the second task is less than the first water level line, continue to compare the total resource utilization rate with the second water level line, and when the total resource utilization rate is less than the second water level line, reduce the number of resources allocated to the first task, where the specifically reduced number of resources may be set according to an actual situation, and it is sufficient that the total resource utilization rate is less than the first water level line after the reduction.
In the above scheme, according to the comparison result between the total resource utilization rate and the resource rate of the second task and the first water level line and the second water level line, the number of resources allocated to the first task in the processing node can be reduced, that is, the low-priority task is suppressed, the total resource utilization rate is ensured to be below the first water level line, although the low-priority task is suppressed, part of the low-priority task can obtain part of the resources to be processed, part of available resources of the low-priority task is ensured, and the situation that the resources cannot be obtained completely is avoided.
Step 103, in response to the resource utilization being greater than or equal to the second waterline, evicting at least a portion of the first task.
In this embodiment of the present disclosure, the processing node may periodically obtain the total resource utilization rate and the resource utilization rate of the second task, and compare the total resource utilization rate and the resource utilization rate of the second task with the first waterline and the second waterline, and as the total resource utilization rate or the resource utilization rate of the second task increases, when the total resource utilization rate or the resource utilization rate of the second task is greater than or equal to the second waterline, at least a part of the first task is evicted, and the specific number of evicted tasks may be determined according to an actual situation.
When the processing node determines that the total resource utilization rate is greater than or equal to the second waterline or the resource utilization rate of the second task is greater than or equal to the second waterline, it indicates that an operation of deleting or evicting at least part of the low-priority tasks is required, that is, the eviction of at least part of the first tasks is performed at this time, so as to ensure the resource usage of the second tasks, and the eviction can be stopped until the total resource utilization rate is less than the second waterline.
The SLO guarantee method provided in the embodiment of the present disclosure reduces the number of resources allocated to a first task in a processing node by acquiring a resource utilization rate of the processing node and in response to the resource utilization rate being greater than or equal to a first waterline and less than a second waterline, where an SLO of the first task is lower than the second task, and the first waterline is lower than the second waterline, and in response to the resource utilization rate being greater than or equal to the second waterline, at least part of the first task is evicted. Because the first water level line and the second water level line are arranged, the quantity of resources allocated to low-priority tasks in the processing nodes can be controlled according to the comparison result of the resource utilization rate of the processing nodes with the first water level line and the second water level line, the control mode comprises reducing the quantity of the resources allocated to the low-priority tasks and expelling at least part of the low-priority tasks, and the condition of reducing the quantity of the resources and the condition of expelling the low-priority tasks are separated by setting two different water level lines, so that not only is the SLO of the high-priority tasks ensured, but also the low-priority tasks can obtain the resources as much as possible for processing, and the SLO of the low-priority tasks is ensured.
Exemplarily, fig. 3 is a flowchart of another SLO securing method provided in an embodiment of the present disclosure, and as shown in fig. 3, in a possible implementation manner, after the step 101, the SLO securing method may further include the following steps:
step 301, in response to the total resource utilization rate being greater than or equal to the first waterline, less than the second waterline, and the resource utilization rate of the second task being less than the first waterline, evicting at least a portion of the first task after a first preset time.
The first preset time may be a preset longer time period, and the specific value may be set according to an actual situation, for example, the first preset time may be 20 minutes.
After obtaining the total resource utilization rate and the resource utilization rate of the second task, the processing node may compare the total resource utilization rate and the resource utilization rate of the second task with a preset first water level line, if the total resource utilization rate is greater than or equal to the first water level line and the resource utilization rate of the second task is less than the first water level line, the total resource utilization rate is continuously compared with the second water level line, when the total resource utilization rate is less than the second water level line, the time period may be counted from the current time except for performing the above reduction of the number of resources allocated to the first task, when the time period reaches a first preset time, that is, when the total resource utilization rate and the resource utilization rate of the second task meet the suppression condition, the first preset time elapses, at this time, the eviction operation may be performed on at least part of the first task.
In the above scheme, a buffer may be set between the suppressing and the evicting by setting the first preset time, and the second task may be processed within the first preset time, that is, although the low-priority task is suppressed, the low-priority task may be processed within a longer time period, so that the loss caused by directly evicting the low-priority task in the related art is reduced.
Step 301 may be followed by step 302, or step 301 and step 302 may be performed in parallel without a sequential order.
And 302, in response to the resource utilization rate of the second task being greater than or equal to the first water level line and smaller than the second water level line, expelling at least part of the first task after a second preset time.
The first preset time may be a preset short time period, and the second preset time is less than the first preset time, for example, the second preset time may be 3 minutes.
After the step 101, or in the process of executing the step 301, the processing node may compare the resource utilization rate of the second task with a preset first water level line and a preset second water level line, when the resource utilization rate of the second task is greater than or equal to the first water level line and is less than the second water level line, that is, when the resource utilization rate of the second task is between the first water level line and the second water level line, the processing node may count the time period from the current time, and when the determined time period reaches a second preset time, may perform an eviction operation on at least a part of the first task.
By setting the second preset time, when the resource utilization rate of the second task is between the first water level line and the second water level line, a short buffer can be provided before the low-priority task is evicted, and partial loss caused by direct eviction is reduced.
Fig. 4 is a frame diagram of a hybrid system according to an embodiment of the present disclosure, and as shown in fig. 4, an exemplary hybrid system is shown, where a hybrid deployment is a manner of deploying services of multiple SLOs on the same underlying resource in a hybrid manner to improve resource utilization. In fig. 4, taking kubernets (K8 s for short) scene downmix system as an example, K8s may be an application for managing container clusters in cloud platform. In the figure, the community version K8s includes an interface Server (API Server), a community version K8s cluster and a plurality of node agents (kubelets), and the community version K8s cluster also includes a Scheduler (Scheduler), which can operate in cooperation with a Co-Scheduler (Co-location Scheduler) in the resource mixing system. The resource mixed portion system in the graph comprises a resource mixed portion control module, a cooperative scheduling program and a plurality of SLO controllers (SLOAgent), wherein the resource mixed portion control module is used for achieving resource portrait mixed portion management, the cooperative scheduling program comprises a scheduling algorithm to guarantee operation performance through scheduling, the plurality of SLO controllers can operate in cooperation with node agents in a community version K8s cluster, and stability and fault isolation of the system are guaranteed. The SLO securing method in the embodiment of the present disclosure is related to an SLO controller.
Fig. 5 is a schematic diagram of a processing node according to an embodiment of the disclosure, and as shown in fig. 5, an exemplary illustration of a processing node 500 is shown, where the processing node 500 may include an SLO controller 501 and tasks with different priorities, such as tasks with three priorities, i.e., a high priority, a medium priority and a low priority, which is merely an example. The SLO guaranteeing method provided by the embodiment of the present disclosure may be implemented by the SLO controller 501 in the processing node 500 in fig. 5.
For example, fig. 6 is a schematic diagram of resource allocation in a processing node according to an embodiment of the present disclosure, as shown in fig. 6, a case of resource allocation in the processing node is shown, where an abscissa in the diagram is time, an ordinate is a resource in the processing node, an uppermost horizontal line represents a total amount of cluster resources, that is, a total amount of resources included in the processing node, a middle rectangular broken line represents a total amount of container allocation (that is, a total amount of resources allocated to a container), that is, a number of resources that have been allocated, and a lowermost zigzag broken line represents a resource utilization rate of the container. Resources between the total amount of cluster resources and the total amount of resources allocated for a container are denoted as unallocated resources, while resources between the total amount of container allocation and resource utilization are denoted as allocated but unused resources.
Tasks with different priorities can be included in the processing nodes, and during scheduling, a high-priority task (including the high-priority task and the medium-priority task in fig. 5) is preferentially allocated with resources, while a low-priority task is allocated with resources allocated to the container but not used in fig. 6, so when the resource utilization rate of the high-priority task is increased, the allocated but not used resources are reduced, and at this time, the amount of the resources allocated to the low-priority task needs to be controlled in time.
Exemplarily, fig. 7 is a schematic diagram of a water level line control provided by an embodiment of the present disclosure, as shown in fig. 7, where an abscissa is time and an ordinate is resources in a processing node, and the diagram further shows a first water level line and a second water level line in the embodiment of the present disclosure, where the first water level line is set to be 50% and the second water level line is set to be 70%. The bottom broken line in the graph represents the resource utilization rate of the high-priority task, namely the resource utilization rate of the second task, the middle broken line represents the total resource utilization rate, and the total resource utilization rate and the resource utilization rate of the second task are changed along with the change of time. The SLO of the first task is lower than the second task, and the second task has a higher priority than the first task in the processing node.
The SLO controller 501 in fig. 5 may poll and obtain the total resource utilization rate and the resource utilization rate of the second task according to the preset time interval, and then may compare the total resource utilization rate and the resource utilization rate of the second task with the first water level line and the second water level line in fig. 7, at time t1 in fig. 7, the total resource utilization rate reaches the first water level line but is less than the second water level line, and the resource utilization rate of the second task is less than the first water level line, so that the amount of resources allocated to the first task may be reduced, and the overall resource utilization rate is ensured to be below the first water level line; after t1, the total resource utilization rate further rises, and when the total resource utilization rate is greater than or equal to the second water level line, at least part of the first task is expelled, so as to ensure the use of the high-priority resource; after time t1 and before time t2, and also after a first preset time, evicting at least a portion of the first task so that the portion of the first task may be processed within the first preset time; at time t2, the resource utilization rate of the second task is greater than or equal to the first water level line and less than the second water level line, and at least part of the first task is evicted after a second preset time; at time t3, the resource utilization of the second task is greater than or equal to the second water line, and at least a portion of the first task is evicted.
In conclusion, the scheme provides the SLO guarantee strategy, the conditions of pressing and expelling the low-priority tasks are separated by setting two different water level lines, the number of the resources of the low-priority tasks is pressed when the high-priority tasks frequently shake resources, the low-priority tasks are guaranteed not to be expelled, when the resource utilization rate meets the expelling conditions, at least part of the low-priority tasks are expelled, the balance between the overall resource utilization rate of a cluster and the available resources of the low-priority tasks is guaranteed, the SLO of the high-priority tasks and the SLO of the low-priority tasks are guaranteed, and the loss caused by the expelling of the low-priority tasks is reduced.
It should be noted that, in the embodiment of the present disclosure, only the first task and the second task are exemplified, and it is assumed that other tasks with priorities lower than that of the second task, such as the third task and the fourth task, also exist in other embodiments, and these tasks with other priorities may also be suppressed and evicted by using the similar method described above, and are not described herein again.
Fig. 8 is a schematic structural diagram of an SLO provisioning apparatus provided in an embodiment of the present disclosure, where the SLO provisioning apparatus may be understood as the processing node or a part of the functional modules in the processing node. As shown in fig. 8, the SLO securing device 80 includes:
an obtaining module 81, configured to obtain a resource utilization rate of a processing node;
a resource throttle module 82, configured to reduce the number of resources allocated to a first task in the processing nodes in response to the resource utilization being greater than or equal to a first water line and less than a second water line, wherein SLO of the first task is lower than a second task, and the first water line is lower than the second water line;
an eviction module 83 to evict at least a portion of the first task in response to the resource utilization being greater than or equal to the second water line.
In one embodiment, the obtaining module 81 is configured to:
and acquiring the total resource utilization rate of the processing nodes.
In one embodiment, the obtaining module 81 is further configured to:
and acquiring the resource utilization rate of the second task.
In one embodiment, the resource throttle module 82 is configured to:
in response to the total resource utilization being greater than or equal to a first water line, less than a second water line, the resource utilization of the second task being less than the first water line, reducing the amount of resources allocated to a first task of the processing nodes.
In one embodiment, the eviction module 83 is configured to:
evicting at least a portion of the first task when the total resource utilization or the resource utilization of the second task is greater than or equal to the second water line.
In one embodiment, the apparatus further comprises a second eviction module to:
in response to the total resource utilization being greater than or equal to a first water line, less than a second water line, the resource utilization of the second task being less than the first water line, evicting at least a portion of the first task after a first preset time.
In one embodiment, the apparatus further comprises a third eviction module to:
in response to the resource utilization of the second task being greater than or equal to the first water line and less than a second water line, evicting at least a portion of the first task after a second preset time;
and the second preset time is less than the first preset time.
The apparatus provided in this embodiment can execute the method in any one of the embodiments in fig. 1 to fig. 7, and the execution manner and the beneficial effects are similar, and are not described herein again.
The embodiment of the present disclosure further provides a processing node, which includes a processor and a memory, where the memory stores a computer program, and when the computer program is executed by the processor, the method of any one of the above-mentioned fig. 1 to 7 may be implemented.
For example, fig. 9 is a schematic structural diagram of a processing node in the embodiment of the present disclosure. Referring now in particular to FIG. 9, a schematic diagram of a processing node 900 suitable for use in implementing embodiments of the present disclosure is shown. The processing node 900 in the disclosed embodiments may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), etc., and a fixed terminal such as a digital TV, a desktop computer, etc. The processing node shown in fig. 9 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present disclosure.
As shown in fig. 9, processing node 900 may include a processing device (e.g., central processing unit, graphics processor, etc.) 901 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)902 or a program loaded from a storage device 908 into a Random Access Memory (RAM) 903. In the RAM 903, various programs and data necessary for the operation of the processing node 900 are also stored. The processing apparatus 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An input/output (I/O) interface 905 is also connected to bus 904.
Generally, the following devices may be connected to the I/O interface 905: input devices 906 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 907 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 908 including, for example, magnetic tape, hard disk, etc.; and a communication device 909. Communications 909 may allow processing node 900 to communicate wirelessly or by wire with other devices to exchange data. While fig. 9 illustrates a processing node 900 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication device 909, or installed from the storage device 908, or installed from the ROM 902. The computer program performs the above-described functions defined in the methods of the embodiments of the present disclosure when executed by the processing apparatus 901.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the processing node; or may exist separately and not be assembled into the processing node.
The computer readable medium carries one or more programs which, when executed by the processing node, cause the processing node to: acquiring the resource utilization rate of a processing node; in response to the resource utilization being greater than or equal to a first water line and less than a second water line, reducing an amount of resources allocated to a first task of the processing nodes, wherein the first task has a SLO that is lower than a second task, the first water line being lower than the second water line; in response to the resource utilization being greater than or equal to the second water line, evicting at least a portion of the first task.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The embodiments of the present disclosure further provide a computer-readable storage medium, where a computer program is stored in the storage medium, and when the computer program is executed by a processor, the method of any one of the embodiments in fig. 1 to 7 may be implemented, where the execution manner and the beneficial effects are similar, and are not described herein again.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, 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 an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing are merely exemplary embodiments of the present disclosure, which enable those skilled in the art to understand or practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. An SLO guaranteeing method, comprising:
acquiring the resource utilization rate of a processing node;
in response to the resource utilization being greater than or equal to a first water line and less than a second water line, reducing an amount of resources allocated to a first task in the processing nodes, wherein a service level target SLO of the first task is lower than a second task, the first water line being lower than the second water line;
in response to the resource utilization being greater than or equal to the second water line, evicting at least a portion of the first task.
2. The method of claim 1, wherein obtaining resource utilization of a processing node comprises:
and acquiring the total resource utilization rate of the processing nodes.
3. The method of claim 2, wherein obtaining resource utilization for a processing node further comprises:
and acquiring the resource utilization rate of the second task.
4. The method of claim 3, wherein said reducing the amount of resources allocated to a first task in the processing node in response to the resource utilization being greater than or equal to a first water line, less than a second water line comprises;
in response to the total resource utilization being greater than or equal to a first water line, less than a second water line, the resource utilization of the second task being less than the first water line, reducing the amount of resources allocated to a first task of the processing nodes.
5. The method of claim 3, wherein said evicting at least a portion of the first task in response to the resource utilization being greater than or equal to the second water line comprises:
evicting at least a portion of the first task when the total resource utilization or the resource utilization of the second task is greater than or equal to the second water line.
6. The method of claim 3, further comprising:
in response to the total resource utilization being greater than or equal to a first water line, less than a second water line, the resource utilization of the second task being less than the first water line, evicting at least a portion of the first task after a first preset time.
7. The method of claim 3 or 6, further comprising:
in response to the resource utilization of the second task being greater than or equal to the first water line and less than a second water line, evicting at least a portion of the first task after a second preset time;
and the second preset time is less than the first preset time.
8. An SLO safeguard device is characterized by comprising
The acquisition module is used for acquiring the resource utilization rate of the processing node;
a resource throttle module, configured to reduce the number of resources allocated to a first task in the processing nodes in response to the resource utilization being greater than or equal to a first water level line and less than a second water level line, where SLO of the first task is lower than a second task, and the first water level line is lower than the second water level line;
an eviction module to evict at least a portion of the first task in response to the resource utilization being greater than or equal to the second water line.
9. A processing node, comprising:
memory and a processor, wherein the memory has stored therein a computer program which, when executed by the processor, implements the method of any of claims 1-7.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-7.
CN202111209079.5A 2021-10-18 2021-10-18 SLO guarantee method, SLO guarantee device, node, and storage medium Pending CN114138427A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111209079.5A CN114138427A (en) 2021-10-18 2021-10-18 SLO guarantee method, SLO guarantee device, node, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111209079.5A CN114138427A (en) 2021-10-18 2021-10-18 SLO guarantee method, SLO guarantee device, node, and storage medium

Publications (1)

Publication Number Publication Date
CN114138427A true CN114138427A (en) 2022-03-04

Family

ID=80394185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111209079.5A Pending CN114138427A (en) 2021-10-18 2021-10-18 SLO guarantee method, SLO guarantee device, node, and storage medium

Country Status (1)

Country Link
CN (1) CN114138427A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116467068A (en) * 2023-03-14 2023-07-21 浙江大学 Resource scheduling method, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116467068A (en) * 2023-03-14 2023-07-21 浙江大学 Resource scheduling method, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN112363813A (en) Resource scheduling method and device, electronic equipment and computer readable medium
US9973512B2 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
CN107832143B (en) Method and device for processing physical machine resources
CN111240834B (en) Task execution method, device, electronic equipment and storage medium
CN112600695B (en) RAN side network slice resource allocation method and device and electronic equipment
CN114138428A (en) SLO (Simultaneous task oriented) guaranteeing method, device, node and storage medium for multi-priority tasks
CN112749002A (en) Method and device for dynamically managing cluster resources
CN110430142A (en) Method and apparatus for controlling flow
CN113722056A (en) Task scheduling method and device, electronic equipment and computer readable medium
CN115237589A (en) SR-IOV-based virtualization method, device and equipment
CN114138427A (en) SLO guarantee method, SLO guarantee device, node, and storage medium
TWI539273B (en) Concurrent network application scheduling for reduced power consumption
CN111913792A (en) Service processing method and device
CN115766582A (en) Flow control method, device and system, medium and computer equipment
CN112156453B (en) Example adaptive adjustment method, apparatus, computer readable storage medium and device
CN117056064A (en) Resource allocation method, device, server, storage medium and program product
CN114625479A (en) Cloud edge collaborative application management method in edge computing and corresponding device
CN112527454A (en) Container group scheduling method and device, electronic equipment and computer readable medium
CN111694670A (en) Resource allocation method, device, equipment and computer readable medium
US11432303B2 (en) Method and apparatus for maximizing a number of connections that can be executed from a mobile application
CN116089756A (en) Page component rendering method, device, equipment and medium
CN112148448B (en) Resource allocation method, apparatus, device and computer readable medium
CN114625505A (en) Waybill task execution method and device, electronic equipment and computer readable medium
CN114461573A (en) File migration method and device, storage medium and electronic equipment
CN117742953A (en) IO scheduling method and device

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