CN116860423A - Method, apparatus, electronic device and computer readable storage medium for computing resource allocation - Google Patents

Method, apparatus, electronic device and computer readable storage medium for computing resource allocation Download PDF

Info

Publication number
CN116860423A
CN116860423A CN202210280981.4A CN202210280981A CN116860423A CN 116860423 A CN116860423 A CN 116860423A CN 202210280981 A CN202210280981 A CN 202210280981A CN 116860423 A CN116860423 A CN 116860423A
Authority
CN
China
Prior art keywords
service
computing resource
service node
target
load
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
CN202210280981.4A
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202210280981.4A priority Critical patent/CN116860423A/en
Publication of CN116860423A publication Critical patent/CN116860423A/en
Pending legal-status Critical Current

Links

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Embodiments of the present disclosure provide a method, apparatus, electronic device, and computer-readable storage medium for computing resource configuration. The method comprises the steps of obtaining computing resource utilization information of a plurality of service nodes included in a service system, wherein service dependency relations exist among the plurality of service nodes. The method further includes determining a target computing resource for at least one of the plurality of service nodes based on the computing resource utilization information for the plurality of service nodes and the target load of the service system. According to the embodiment of the application, the invalidity of the computing resources of the local regulation service node can be avoided, thereby reducing the investment of the invalid computing resources in the service system and improving the efficiency of using the computing resources by users. The embodiment of the disclosure can also recommend different schemes to the user for selection, so that the user can decide a more suitable optimization scheme according to own requirements.

Description

Method, apparatus, electronic device and computer readable storage medium for computing resource allocation
Technical Field
Embodiments of the present application relate to the field of computer technology, and more particularly, to cloud computing technology. Embodiments of the present application provide a method, electronic device, computer-readable storage medium, and computer program product for computing resource configuration.
Background
With the development of cloud computing technology, application service providers increasingly deploy their services in the cloud. Instances of the application service may run in virtual machines or containers in the cloud, with hardware computing resources allocated to the virtual machines or containers by the cloud computing provider to provide for the running of the supporting instances. Examples have various computing resources such as processor resources, memory (also referred to as memory) resources, network resources, storage capacity, and the like. Some cloud computing providers offer hardware templates of different specifications for users to choose from to meet business appeal for different scenarios.
However, many users have little knowledge of the match between their own business and the actual hardware templates. In order to guarantee the service performance, many users generally request a hardware template with a larger specification to guarantee the service performance of the instance. However, the inability to fully utilize the applied computing resources not only results in wasted data center resources, but also is a significant loss to the cost of the user. On the other hand, as the traffic load increases, there are instances where there is a bottleneck of insufficient resources.
Disclosure of Invention
The embodiment of the disclosure provides a technical scheme for computing resource configuration.
According to a first aspect of the present disclosure, a method of computing resource configuration is provided. The method comprises the following steps: acquiring computing resource utilization information of a plurality of service nodes included in a service system, wherein service dependency relations exist among the plurality of service nodes; and determining a target computing resource of at least one of the plurality of service nodes based on the computing resource utilization information of the plurality of service nodes and the target load of the service system.
Based on the mode, the embodiment of the disclosure utilizes the business dependency relationship among the business nodes of the service system to probe the performance bottleneck of the service system, and avoids the invalidity of locally adjusting the computing resources of the business nodes, thereby reducing the investment of the invalid computing resources in the service system and improving the efficiency of using the computing resources by users. The embodiment of the disclosure can also recommend different schemes to the user for selection, so that the user can decide the proper scheme according to own requirements.
In some embodiments of the first aspect, the method may further comprise providing a configuration interface for receiving a user configured target load. In this way, the target load is determined by the user according to the requirements, so that the critical load of each service node can be matched with the target load specified by the user, and therefore, the performance level and the use cost of the service system are customized by the user, and the requirements of the user can be better met.
In some embodiments of the first aspect, the method may further comprise: determining a critical load of each service node based on the current computing resource and computing resource utilization information of each service node; and determining a target load of the service system based on a plurality of critical loads corresponding to the plurality of service nodes. In this way, resource optimization may be performed based on the current performance of one or some of the traffic nodes in the plurality of nodes to minimize the range of adjustments required. The critical load refers to the maximum load that the service node can operate normally, and once the actual load exceeds the critical load, the service node performance will be significantly degraded.
In some embodiments of the first aspect, determining the target computing resource of at least one of the plurality of service nodes may comprise: determining at least one service node to adjust computing resources based on a target load of the service system and a respective critical load of each service node; and determining a target computing resource of the at least one service node based on the computing resource utilization information of the at least one service node and the target load of the service system. In this way, service nodes may be selected for resource optimization that require current performance that does not match the target load.
In some embodiments of the first aspect, the target load may be a minimum critical load of the critical loads of the plurality of service nodes, and determining the target computing resource of the at least one service node may include: reducing computing resources of at least one service node. In this way, a lower cost resource optimization approach is provided for user selection.
In some embodiments of the first aspect, the target load may be a maximum critical load of the critical loads of the plurality of service nodes, and determining the target computing resource of the at least one service node may include: the computing resources of at least one service node are increased. Based on this approach, a resource optimization approach is provided for the user to choose from that improves the performance of the service system.
In some embodiments of the first aspect, determining the target computing resource of the at least one service node may comprise: determining a computing resource utilization ratio of the at least one service node based on the computing resource utilization information of the at least one service node; and determining a target computing resource of the at least one service node based on the computing resource utilization ratio and the target load. In this way, an appropriate combination of computing resources may be selected according to the computing resource preferences of the service node.
In some embodiments of the first aspect, the method may further comprise: calculating the cost of updating the computing resources of the at least one service node according to the target computing resources of the at least one service node; presenting at least the target computing resources and costs of the service node. In this manner, the user is enabled to select desired target computing resources to update the resources of the service system to achieve performance improvement or cost reduction.
In some embodiments of the first aspect, the computing resource may include at least one of: processor, memory, network capability, capacity or type of storage device.
According to a second aspect of the present application, there is provided an apparatus for determining computing resources. The device comprises: a computing resource utilization information acquisition unit and a target computing resource determination unit. The computing resource utilization information acquisition unit is configured to acquire computing resource utilization information of a plurality of service nodes included in the service system, wherein a service dependency relationship exists between the plurality of service nodes. The target computing resource determining unit is configured to determine a target computing resource of at least one of the plurality of service nodes based on the computing resource utilization information of the plurality of service nodes and a target load of the service system.
In some embodiments of the second aspect, the apparatus may further comprise a target load determining unit configured to receive the target load set by the user through the configuration interface.
In some embodiments of the second aspect, the target load determining unit may be further configured to determine a critical load for each service node based on the respective current computing resources and computing resource utilization information for each service node; and determining a target load of the service system based on a plurality of critical loads corresponding to the plurality of service nodes. The critical load refers to the maximum load that the service node can operate normally, and once the actual load exceeds the critical load, the service node performance will be significantly degraded.
In some embodiments of the second aspect, the target computing resource determination unit may be further configured to: determining at least one service node to adjust computing resources based on a target load of the service system and a critical load of each service node; and determining a target computing resource of the at least one service node based on the computing resource utilization information of the at least one service node and the target load of the service system.
In some embodiments of the second aspect, the target load may be a minimum critical load of the critical loads of the plurality of service nodes. The target computing resource determination unit may be further configured to reduce computing resources of the at least one service node.
In some embodiments of the second aspect, the target load may be a maximum critical load of the critical loads of the plurality of service nodes. The target computing resource determination unit may be further configured to increase the computing resources of the at least one service node.
In some embodiments of the second aspect, the target computing resource determination unit may be further configured to: determining a computing resource utilization ratio of the at least one service node based on the computing resource utilization information of the at least one service node; and determining a target computing resource of the at least one service node based on the computing resource utilization ratio and the target load.
In some embodiments of the second aspect, the apparatus may further comprise a computing resource application unit, which may be configured to: calculating the cost of updating the computing resources of the at least one service node according to the target computing resources of the at least one service node; the target computing resources of the at least one service node and the cost are presented.
In some embodiments of the second aspect, the computing resource may include at least one of: processor, memory, network capability, capacity or type of storage device.
According to a third embodiment of the present application, there is provided an electronic apparatus. The electronic device comprises a processing unit and a memory, the processing unit executing instructions in the memory, causing the electronic device to perform the method according to the embodiment of the first aspect described above.
According to a fourth embodiment of the present application, there is provided a computer readable storage medium having stored thereon one or more computer instructions, wherein execution of the one or more computer instructions by a processor causes the processor to perform the method according to the embodiment of the first aspect described above.
According to a fifth embodiment of the present application, there is provided a computer program product comprising machine executable instructions which, when executed by a device, cause the device to perform a method according to an embodiment of the first aspect described above.
Drawings
The above and other features, advantages and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, wherein like or similar reference numerals designate like or similar elements, and wherein:
FIG. 1 illustrates a schematic diagram of an example environment in which various embodiments of the present disclosure may be implemented;
FIG. 2 illustrates a schematic diagram of adjusting computing resources of a single service node, according to some embodiments of the present disclosure;
FIG. 3 illustrates a schematic diagram of an exemplary distributed business system, according to some embodiments of the present disclosure;
FIG. 4 illustrates a schematic flow diagram of a process for computing resource configuration, according to some embodiments of the present disclosure;
FIG. 5 illustrates a schematic flow diagram of a process for determining target computing resources of a service node, according to some embodiments of the present disclosure;
FIG. 6 illustrates a schematic flow diagram of yet another process for determining computing resources, according to some embodiments of the present disclosure;
FIG. 7 illustrates a schematic flow diagram of an apparatus for computing resource configuration, according to some embodiments of the present disclosure;
FIG. 8 illustrates a schematic diagram of an exemplary scenario in which various embodiments of the present disclosure are applied; and
FIG. 9 shows a schematic block diagram of an example device that may be used to implement embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
In describing embodiments of the present disclosure, the term "comprising" and its like should be taken to be open-ended, i.e., including, but not limited to. The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first," "second," and the like, may refer to different or the same object. Other explicit and implicit definitions are also possible below. It should be understood that all numerical values in this disclosure are exemplary and in no way limit the scope of this disclosure.
Traditionally, in smaller traffic cluster sizes and simple stand-alone job scenarios, there is less interaction between traffic nodes. Therefore, their resource utilization may depend only on the local load, and the degree of matching of the service node to its hardware resources can be analyzed according to the relationship between the resource utilization caused by the current load and the used computing resource specification. However, for complex service scenarios, such as service systems where service dependencies exist between service nodes, taking each service node as an independent component for making resource recommendations may result in erroneous recommendations. The load of one service node at this time may also depend on the load of the other service nodes, which are very complex to interact with. Simple resource specification matching does not help users solve the problem.
According to an embodiment of the present disclosure, a method of determining a computing resource configuration for a service system is provided. The method includes determining computing resource utilization information for a plurality of service nodes in a service system having service dependencies. The computing resource utilization information may be a usage of computing resources involving multiple dimensions, such as processors, memory, I/O, storage capacity, and the like. The method also includes determining a target computing resource for at least one of the plurality of service nodes based on the computing resource utilization information and a target load of the service system.
Based on the mode, the embodiment of the disclosure utilizes the business dependency relationship among the business nodes of the service system to probe the performance bottleneck of the service system, and avoids the invalidity of locally adjusting the computing resources of the business nodes, thereby reducing the investment of the invalid computing resources in the service system and improving the efficiency of using the computing resources by users. The embodiment of the disclosure can also recommend different schemes to the user for selection, so that the user can decide a more suitable optimization scheme according to own requirements.
FIG. 1 illustrates a schematic diagram of an example environment 100 in which various embodiments of the present disclosure may be implemented. The environment 100 includes a computing resource management system 102, a service system 104, and a plurality of clients 106. The service system 104 may include a plurality of service nodes 105-1, 105-2, 105-3 (collectively referred to as service nodes 105). These service nodes may be distributed or centralized. Each service node may be deployed separately, operate independently, and may communicate with each other over a network. Clients 106 may access service system 104 via a network to obtain services. For the service system 104, the client 106 that is accessing forms its load.
The service node 105 may be deployed in an instance, where the instance includes one or more of a physical machine, a virtual machine, or a container. Instances may be implemented in a distributed computing cluster and possess computing resources that they may use, e.g., processors, memory, networks, storage capacities, etc. The service node 105 uses the allocated computing resources to handle the load of the service system 104.
In the service system 104, the service nodes 105 may communicate with each other to have a service dependency relationship, thereby cooperatively providing services. For example, the service node 105-1 may provide access services, distributing received requests to the appropriate service node 105-2 for service logic processing. The service node 105-2 may provide service logic processing and generate processing results, and the service node 105-3 may receive and store the processing results from the service logic processing node 105-3, i.e., provide data storage services.
The computing resource management system 102 may be deployed on a separate computing device or distributed computing cluster for determining, adjusting, allocating computing resources for the service nodes 105 of the service system 104. Additionally or alternatively, the computing resources of the service node 105 may be pre-selected or specified by the user and then updated by the computing resource management recommendation of the appropriate computing resources. The computing resource management system 102 may also issue virtual machine instances with corresponding computing resources to service nodes and bill for the computing resources.
The computing resources used by the service node 105 may be organized as a type template. The type template specifies the amount or proportion of different types of computing resources for meeting business appeal for different scenarios. For example, for high performance computing traffic, a type template with more processing power (e.g., more CPU cores) may be provided; for memory-intensive services, a type template with more memory can be provided; a type template of high performance network capability (e.g., greater bandwidth) may be provided for front-end access traffic. The computing resource management system 102 may use predetermined or custom virtual machine hardware templates (also referred to as type templates) to allocate computing resources.
An exemplary environment in which embodiments of the present disclosure may be implemented is described above in connection with fig. 1. It should be understood that environment 100 is only exemplary. Embodiments of the present disclosure may also be implemented in a variety of environments. For example, the service system 104 may include more service nodes and the communication or service dependencies between the service nodes may differ from that shown in fig. 1.
Fig. 2 illustrates a schematic diagram of adjusting computing resources of a single service node, according to some embodiments of the present disclosure. According to the embodiment of the disclosure, the computing resource use condition of the single service node for the workload can be determined, and the specification conforming to the load is recommended to be assisted in vertical scaling. In some embodiments, more accurate horizontal scaling may also be achieved based on end-to-end quality of service (quality of service, qoS) requirements. By detecting the computing resource utilization information of the virtual machine running the service node under a specific load, a virtual machine resource specification entity which is the most similar to the virtual machine can be searched for recommendation.
The service node 201 provides services through, for example, virtual machines 202 (or physical machines, containers, etc.). The computing resource management system 102 may obtain computing resource utilization information 210 for the service node 201 from historical statistics of the service node 201 over a period of time or long-term operation, thereby analyzing the demand dimensions of the respective computing resources, e.g., resource proportioning relationships, resource usage, etc.
In some embodiments, computing resource utilization information 210 may include time-varying CPU usage information, memory usage information, I/O resource usage information, etc. of virtual machine 202. CPU usage information may be represented by, for example, the time duty cycle that the CPU or CPU core is in an operational state. The memory usage information may be represented by, for example, a memory usage rate, i.e., a ratio of a total memory of the allocated memory to the virtual machine, and the I/O resource utilization information may be represented by, for example, a used bandwidth, a number of read/write operations per second (input/output operations per second, IOPS), a capacity of the storage device, and the like.
As shown in the figure, by such computing resource utilization information 210, the service node's requirement for CPU resources can be derived to have a lower demand than memory resources, so that it can try to recommend virtual machines 203 having larger memory resource specifications and having reduced CPU resource configurations, i.e. corresponding to vertical scaling recommendations.
On the other hand, if the service node 201 also supports horizontal scaling capability and has an elastic scaling service of a cloud service provider providing a computing resource pool, by identifying the resource proportioning relationship of the service node, more virtual machines 204 of the running horizontal instance can be provided in advance before performance is about to deteriorate when an emergency occurs in service pressure, so as to reduce the negative influence of service.
It should be understood that the above-described computing resource utilization information 210 and recommended virtual machines 203 and 204 with respect to the service node are merely examples. The service nodes may have different computing resource utilization information and recommended virtual machines.
As described with reference to fig. 1, the service system 104 has a plurality of service nodes 105 working in concert. There may be load mismatch between the individual service nodes 105. Therefore, if only a single point service node performs capacity expansion and contraction, good effects may not be obtained due to the upstream-downstream relationship of the service link.
Fig. 3 illustrates a schematic diagram of an exemplary distributed business system, according to some embodiments of the present disclosure. The distributed business system 300 includes a web services layer 302, a business application layer 304, and a data services layer 306. Each tier may include one or more servers as service nodes. As shown, web services layer 302 includes web servers that receive requests from clients 308 and forward according to traffic type. The business application layer 304 includes two business application servers that can receive business requests from the web service layer 302 for respective business logic processing. The data service layer includes three database servers that can receive storage requests from the business application layer 304, process the data and store it.
In the exemplary scenario of fig. 3, the demands of the service nodes of the various service levels on different resources are often quite different, and different pressures may be generated on the different levels under the same load conditions from the clients. For example, a data entry request from a client may generate many parallel, serial business logic processing and writing requests after passing through the web services layer 302, exhibiting different magnification phenomena in different business scenarios. Accordingly, performance inflection points exhibited at different levels may occur at different load levels. Here, the inflection point refers to determining a load that will cause degradation of the service node performance as the load increases. When the actual load exceeds the inflection point, the throughput of the traffic node will stop growing and even fail to provide service. For example, an excessively high amount of data access may result in a client not receiving a response.
Fig. 3 shows a possible scenario where the business application layer 304 first reaches a performance bottleneck and the web service layer 302 lags slightly as the load from the client continues to expand. The main reason for this is that after the processing pressure of the business application layer 304 builds up, requests from clients are queued and retried at the web service layer 302, and further pressure is raised. In the example scenario of fig. 3, the inflection point of the data service layer 306 appears last. That is, as the load increases, the business application layer 304 first reaches its inflection point, after which its throughput will drop, and even fail to provide service. This will cause the background data server layer 306 to be in an idle state, resulting in wasted resources.
The embodiment of the disclosure provides the optimized scheme for providing the computing resources for the users and provides the optimized computing resources for the service nodes with the service dependency relationship, so that the distributed service system has no obvious bottleneck and no obvious resource waste.
Fig. 4 illustrates a schematic flow diagram for a computing resource configuration process 400, according to some embodiments of the present disclosure. Process 400 may be performed by, for example, computing resource management system 102 shown in fig. 1. It should be appreciated that process 400 may also be performed by an entity or device other than computing resource management system 102.
At block 410, the computing resource management system determines computing resource utilization information for a plurality of service nodes included in the service system, the plurality of service nodes having service dependencies therebetween.
In some embodiments, a computing resource management system may first determine a plurality of service nodes having service dependencies based on data transmitted between the service nodes of a service system. For example, the computing resource management system may capture network processing events and their timestamps at each host operating system side to describe the "stay" time of the request at the service node side, and describe the association of the event with the service node at the service node side with host identity (host_ip), process identity (process_id), thread identity (thread_id).
In some embodiments, the dependencies between service nodes may be hierarchical, whereby a hierarchical dependency graph between service nodes may be generated. For example, referring to fig. 3, a web server for receiving a client request, a service application server executing service logic, and a data block server of a back-end may be determined as a set of service nodes having service dependencies.
The computing resource management system may then collect computing resource utilization information and corresponding loads for these service nodes over a period of time (e.g., one day, one week, or even longer).
In some embodiments, the computing resources include processors, memory, network capabilities, capacity or type of storage devices. Accordingly, the computing resource management system may determine the utilization of the computing resources of each of the plurality of service nodes, e.g., utilization of time-varying processors (or processor cores) in the service nodes, used memory, used bandwidth, IOPS, storage capacity, etc. The computing resource management system may then determine a computing resource utilization ratio for each of the plurality of service nodes based on the computing resource utilization information as described above with reference to fig. 2. Thus, the computing resource management system can perform resource portrayal on the service node. The service node's resource consumption preferences (e.g., high performance computing, high memory consumption, high I/O, etc.) are obtained.
The computing resource utilization ratio may be used to determine a type template appropriate for the service node for vertical scaling. For example, a high performance computing class template may have a larger ratio of CPU core count to memory or bandwidth than a high memory consumption and high I/O class template. It should be understood that the same type of category templates may also have different specifications, and typically, the cost of using them by the user is also different. For example, one high performance computing class template may be a template comprising 8 CPU cores, 8G memory, a maximum bandwidth of 2Gbps, while another high performance computing class template may be a template comprising 64 CPU cores, 64G memory, and a maximum of 6 Gbps.
In some embodiments, the computing resource management system also obtains actual load conditions of the service nodes over time. The load may be the total load of the service system (e.g., the number of client requests over a period of time) or the load of the service node itself. Based on the obtained actual load and the corresponding computing resource utilization information, it may be determined whether the computing resources of the service node are sufficient to cope with future emergency situations or situations where there is an excess of computing resources.
At block 420, the computing resource management system determines a target computing resource for at least one of the plurality of service nodes based on the computing resource utilization information and a target load of the service system.
According to the embodiment of the disclosure, by adjusting the computing resource of the service node to be the target computing resource, the performance inflection point of the service node also changes correspondingly, so that the service node can be matched with the target load. As long as the actual load does not exceed the target load, there will be no obvious bottleneck service nodes in the service system after resource allocation, and there will be no obvious wasted service nodes in the service system when the service system reaches or approaches the target load. The process of determining the target computing resource in block 420 is described below with reference to fig. 5.
Referring to fig. 5, at block 510, the computing resource management system determines critical loads of the plurality of service nodes that respectively result in performance degradation based on current computing resources and computing resource utilization information of the respective plurality of service nodes.
In some embodiments, the computing resource management system may predict the performance of multiple traffic nodes in the event of sudden high loads, e.g., by machine learning, to determine the load size, i.e., inflection point, that causes degradation in its performance, as shown in fig. 3. It should be appreciated that the traffic node load is derived from the load of the distributed system caused by the requests of clients 308. Thus, as the client load increases gradually, the performance of multiple traffic nodes will reach their inflection points in turn. For example, there may be a quantitative mapping between the client load and the actual load of the service node (e.g., may be obtained empirically or by machine learning, and may be constant or variable). The service system load (e.g., number of client requests per second) corresponding to the inflection point of a service node may be referred to herein as the critical load of the service node. Therefore, when the load of the service system increases, the critical load of the service node can be determined according to the load amount of the service node at the inflection point and the mapping relationship between the system load and the node load.
As the load of the service system increases, each service layer node will not experience performance degradation until its critical load is reached, thereby causing performance degradation of other service layer nodes.
As the load of the service system continues to increase, some service nodes may first reach the inflection point. Referring to fig. 3, assuming that the critical load of the service node of the web service layer is a requests per second, the critical load of the service node of the service application layer is b requests per second, and the critical load of the data service layer is c requests per second, wherein b < a < c. In this example, as the critical load of the business application layer is minimal, i.e., its inflection point appears earliest, the business application layer node becomes the bottleneck of the system first as client requests increase.
At block 520, the computing resource management system determines a target load for the service system based on a plurality of critical loads corresponding to the plurality of service nodes.
The target load may be one of the critical loads of the plurality of service nodes. In some embodiments, the computing resource management system may determine a maximum critical load of the critical loads of the plurality of service nodes as the target load. That is, the capacity expansion or the capacity contraction of the service nodes is uniformly performed according to the service node at which the inflection point finally appears. This expansion and contraction capacity may also be referred to as "backward unification".
In other embodiments, the computing resource management system may determine a minimum capacity of the critical loads of the plurality of service nodes as the target load. In this case, the expansion or contraction of the service nodes is uniformly performed according to the service node at which the inflection point occurs earliest. Such expansion and contraction capacity may also be referred to as "unified forward".
Alternatively, the target load may also be specified by a user, for example, a provider of the service system. To this end, a configuration interface may be provided for receiving a target load set by a user. In this case, the service nodes of the service system may uniformly expand or contract the capacity so that the computing resources of the respective service nodes match the target load specified by the user.
At block 530, the computing resource management system determines at least one service node to adjust the computing resource based on the target load of the service system and the critical load of each service node. As described above, in some embodiments, it may be determined whether to adjust the computing resources of a service node by comparing the current critical load of the service node to a target load.
Alternatively, if the critical load of a service node is within a range, such as + -5%, + -10%, or other range, of the vicinity of the target load, and the type template of the current computing resource of the service node meets its service requirements, the computing resource of the service node may not be adjusted. Otherwise, it is determined that the computing resources of the service node need to be adjusted. It should be appreciated that the critical load of a plurality of service nodes with service dependencies need not be adjusted to exactly coincide with the target load, allowing for some deviation. Doing so may avoid the overhead caused by frequent adjustments to computing resources.
At block 540, the computing resource management system determines a target computing resource for the at least one service node based on the computing resource utilization information for the at least one service node and a target load for the service system. According to embodiments of the present disclosure, its target computing resources may be determined for a single service node. Fig. 6 illustrates an exemplary process 600 of determining target computing resources for a single service node in accordance with some embodiments of the present disclosure.
At block 610, the computing resource management system determines a computing resource utilization ratio of the service node based on the computing resource utilization information of the service node. The proportional relation of the dimensions of CPU core number, memory size, network bandwidth, storage capacity and the like of the virtual machine for the service node is determined by analyzing the usage amount of various computing resources, such as CPU resources, memory resources, I/O resources and the like, in the historical statistical data of the service node.
At block 620, the computing resource management system determines a target computing resource for the service node based on the computing resource utilization ratio and the target load. The computing resource utilization ratio reflects the preference of the service node for computing resources. To meet the target load of the service system, the computing resource management system may map the target load of the service system to the actual load of the service node and scale according to the proportioning and the actual load to select a type template that meets the actual load requirements.
According to the procedure shown in fig. 6, the single resource image per actual service is performed for each service node, i.e. the computational resource adjustment for a single service node may be included in the collaborative adjustment of multiple service nodes.
As described above, the computing resource management system may determine the target load according to a "unified backward" resource optimization manner, and perform collaborative resource adjustment on multiple service nodes. At this time, the target load of the service system is determined as the maximum critical load among all service nodes, and the critical loads of other service nodes should be increased to match the target load of the service system. In some embodiments, the critical load of the service node may be increased by increasing the target computing resources of the service node to match the target load of the service system. In this way, the overall performance of the service system is improved, focusing on eliminating system performance bottlenecks.
On the other hand, the computing resource management system can determine the target load according to a 'unified forward' resource optimization mode, and perform cooperative resource adjustment on a plurality of service nodes. At this time, the target load of the service system is determined as the minimum critical load among all service nodes, and the critical loads of other service nodes should be reduced to match the target load of the service system. In some embodiments, the critical load of the traffic node may be reduced by reducing the target computing resources of the traffic node to match the target load. In this way, the waste of computing resources of the service system is reduced, which is focused on reducing the cost of use for the user.
Alternatively, the target load may be specified by the user through a configuration interface, whereby the computing resource management system may customize the computing resources of the service nodes of the service system such that the critical load of each service node matches the user-specified target load. In this way, the performance level and use cost of the service system are customized to better meet the user's needs.
In some embodiments, the computing resource management system may also calculate a cost of updating the computing resources of the at least one service node based on the target computing resources of the at least one service node. The computing resource management system then presents the target computing resources and their costs to the user (e.g., a provider of the service system) for the user to select whether to adjust the current computing resources of the service node to the target computing resources. If the user accepts the target computing resource and its cost, the computing resource management system applies the target computing resource based on the user's confirmation, e.g., issues a virtual machine instance with the target computing resource.
Fig. 7 illustrates a schematic flow diagram of an apparatus 700 for computing resource configuration, according to some embodiments of the present disclosure. The apparatus may be implemented by, for example, the computing resource management system 102 shown in fig. 1. It should be appreciated that the apparatus 700 may also be implemented by an entity or device other than the computing resource management system 102.
The apparatus 700 includes a computing resource utilization information acquisition unit 710 and a target computing resource determination unit 720. The computing resource utilization information obtaining unit 720 is configured to determine computing resource utilization information of a plurality of service nodes included in the service system, wherein a service dependency relationship exists between the plurality of service nodes. The target computing resource determining unit 720 is configured to determine a target computing resource of at least one of the plurality of service nodes based on the computing resource utilization information and a target load of the service system.
In some embodiments, the apparatus 700 may include a service node determination unit (not shown). The service node determination unit may be configured to determine a plurality of service nodes having service dependencies based on data transmitted between the service nodes of the service system. For example, the service node determining unit determines a plurality of service nodes having service dependency relationships based on data transmitted between the service nodes of the service system.
In some embodiments, the apparatus 700 may further include a target load determining unit. The target load determining unit is configured to receive the target load set by a user through a configuration interface.
In some embodiments, the target load determination unit may be further configured to: determining a critical load of each service node based on the current computing resource and computing resource utilization information of each service node; and determining a target load of the service system based on a plurality of critical loads corresponding to the plurality of service nodes.
In some embodiments, the target computing resource determination unit 720 may be further configured to determine at least one service node to adjust the computing resource based on the target load and the critical load of each service node; and determining a target computing resource of the at least one service node based on the computing resource utilization information and the target load of the at least one service node.
In some embodiments, the target load may be a minimum critical load of the critical loads of the plurality of traffic nodes. The target computing resource determination unit 720 may also be configured to reduce computing resources of at least one service node.
In some embodiments, the target load may be a maximum critical load of the critical loads of the plurality of traffic nodes. The target computing resource determination unit 720 may also be configured to increase the computing resources of at least one service node.
In some embodiments, the target computing resource determination unit 720 may be further configured to: determining a computing resource utilization ratio of the at least one service node based on the computing resource utilization information of the at least one service node; and determining a target computing resource of the at least one service node based on the computing resource utilization ratio and a target load of the service system.
In some embodiments, the apparatus may further comprise a computing resource application unit. The computing resource application unit may be configured to: calculating the cost of updating the computing resources of the at least one service node according to the target computing resources of the at least one service node; and presenting the target computing resources and costs.
In some embodiments of the second aspect, the computing resources of the service node may include a processor, memory, network capabilities, capacity or type of storage device.
Fig. 8 shows a schematic diagram of an exemplary scenario 800 in which various embodiments of the present disclosure are applied.
In environment 800, the computing resource management system 102 described with reference to FIG. 1 can each determine and allocate computing resources for the service nodes 105 of the service system 104. The computing resource management system 102 may be implemented by a separate computing device or a distributed computing cluster. As shown, the computing resource management system 102 includes a resource recommendation subsystem 802, a network data analysis subsystem 804, a resource detection subsystem 806, a billing subsystem 807, and an instance issuance subsystem 808. The resource recommendation subsystem 801 may be implemented by, for example, the target computing resource determination unit 720 in fig. 7. The network data analysis subsystem 804 may be implemented by a service node determination unit (not shown) as described with reference to fig. 7. The resource probing subsystem 806 may be implemented by the computing resource utilization information acquisition unit 710 in fig. 7. The billing subsystem 807 and the instance issuance subsystem 808 may be implemented by the computing resource application unit (not shown) described with reference to fig. 7.
A user renting computing resources (e.g., a provider of a service system) requests a resource optimization scheme from the resource recommendation subsystem 802. The resource recommendation subsystem 802 may also proactively initiate computing resource optimization for the service system.
The resource recommendation subsystem 802 sends optimization requests to the resource exploration subsystem 804 and the network data analysis subsystem 806, respectively.
The resource probing subsystem 804 is configured to probe computing resource utilization information of the service node. During the operation of the service node under load, the resource probing subsystem 804 gathers the computing resource utilization of the service node under that load. For example, the resource exploration subsystem 804 gathers the number of idle resources of the service node, forming the extent of demand of the service node with respect to the computational resource dimension. In response to receiving the optimization request, the resource exploration subsystem 802 may feed back computing resource usage information to the resource recommendation subsystem 802.
The network data analysis subsystem 806 is configured to perform dependency analysis on service nodes in the service system and describe data interaction relationships between related service nodes. For example, the network data analysis subsystem 806 may detect data transmitted between service nodes to determine a set of service nodes having service dependencies.
The resource recommendation subsystem 802 combines the feedback of the resource probing subsystem 804 and the network data analysis subsystem 806 to generate a computing resource optimization scheme for one or more service nodes. The computing resource optimization scheme may include recommendations for coping with abrupt loads and recommendations for coping with resource wastage. The computing resource optimization scheme may be generated according to the processes 400, 500, 600 described with reference to fig. 4-6.
Billing subsystem 807 may pre-calculate rates or costs of use for the resource optimization scheme and provide the estimated rates or costs to the user for selection or validation by the user.
The user may determine or select a resource optimization scheme and send a resource adjustment request to the instance issuance subsystem 808. The instance issuance subsystem 808 may issue computing resources in response to the resource adjustment request of the resource recommendation subsystem 802 and notify the billing subsystem 807 to perform billing.
As can be seen from the above description in connection with fig. 1 to 8, in the embodiment according to the present application, the performance bottleneck of the service system is explored by using the service dependency relationship between service nodes of the service system, so as to avoid the invalidity of locally adjusting the computing resources of the service nodes, thereby reducing the ineffective computing resource investment in the service system and improving the efficiency of using the computing resources by the user. In addition, by analyzing the resource portraits of the service nodes of the service system, differentiated specification example service with fixed specification and constraint specification examples can be provided compared with the existing service nodes, so that service resource requirements of users are better known than the service nodes of the service system, and the users are helped to fully realize service values.
FIG. 9 shows a schematic block diagram of an example device that may be used to implement embodiments of the present disclosure. Fig. 9 shows a schematic block diagram of an example device 900 that may be used to implement embodiments of the present disclosure. The device 900 may be used to implement the computing resource management system 102, the service system 104, the service node 105, and the client 106 as shown in fig. 1. As shown, the device 900 includes a Central Processing Unit (CPU) 901, which can perform various suitable actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM) 902 or loaded from a storage unit 908 into a Random Access Memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the device 900 can also be stored. The CPU 901, ROM 902, and RAM 903 are connected to each other through a bus 904. An input/output (I/O) interface 905 is also connected to the bus 904.
Various components in device 900 are connected to I/O interface 905, including: an input unit 906 such as a keyboard, a mouse, or the like; an output unit 907 such as various types of displays, speakers, and the like; a storage unit 908 such as a magnetic disk, an optical disk, or the like; and a communication unit 909 such as a network card, modem, wireless communication transceiver, or the like. The communication unit 909 allows the device 900 to exchange information/data with other devices through a computer network such as the internet and/or various telecommunications networks.
The various processes and treatments described above, such as methods 400, 500, and/or 600, may be performed by processing unit 901. For example, in some embodiments, the methods 400, 500, and/or 600 may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 900 via the ROM 902 and/or the communication unit 909. When the computer program is loaded into RAM 903 and executed by CPU 901, one or more of the acts of methods 400, 500, and/or 600 described above may be performed.
The present disclosure may be methods, apparatus, systems, and/or computer program products. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for performing aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer program instructions for performing the operations of the present disclosure can be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, c++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed 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 kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts 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 instructions, which comprises one or more executable instructions for implementing the specified logical function(s). 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 embodiments of the present disclosure have been described above, the foregoing description is illustrative, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (19)

1. A method of computing resource allocation, comprising:
acquiring computing resource utilization information of a plurality of service nodes included in a service system, wherein service dependency relations exist among the plurality of service nodes;
determining a target computing resource of at least one of the plurality of service nodes based on the computing resource utilization information of the plurality of service nodes and the target load of the service system.
2. The method according to claim 1, wherein the method further comprises:
providing a configuration interface, wherein the configuration interface is used for receiving the target load set by a user.
3. The method according to claim 1, wherein the method further comprises:
determining the critical load of each service node based on the current computing resource and computing resource utilization information of each service node; and
and determining the target load of the service system based on a plurality of critical loads corresponding to the service nodes.
4. The method of claim 3, wherein determining the target computing resource of at least one of the plurality of service nodes comprises:
determining at least one service node to adjust computing resources based on a target load of the service system and a critical load of each service node; and
determining a target computing resource of the at least one service node based on the computing resource utilization information of the at least one service node and a target load of the service system.
5. The method of claim 3, wherein the target load is a minimum critical load of the critical loads, and wherein determining the target computing resources of the at least one service node comprises:
reducing computing resources of the at least one service node.
6. The method of claim 3, wherein the target load is a maximum critical load of the critical loads, and wherein determining the target computing resources of the at least one service node comprises:
and increasing the computing resources of the at least one service node.
7. The method according to any one of claims 1 to 6, wherein said determining a target computing resource of said at least one service node comprises:
determining a computing resource utilization ratio of the at least one service node based on the computing resource utilization information of the at least one service node; and
and determining a target computing resource of the at least one service node based on the computing resource utilization ratio and the target load.
8. The method of any one of claims 1 to 7, further comprising:
calculating the cost of updating the computing resources of the at least one service node according to the target computing resources of the at least one service node; and
presenting the target computing resources of the at least one service node and the cost.
9. An apparatus for computing resource configuration, comprising:
a computing resource utilization information acquisition unit configured to acquire computing resource utilization information of a plurality of service nodes included in a service system, wherein service dependency relationships exist among the plurality of service nodes; and
And a target computing resource determining unit configured to determine a target computing resource of at least one of the plurality of service nodes based on the computing resource utilization information of the plurality of service nodes and the target load of the service system.
10. The apparatus of claim 9, further comprising a target load determination unit configured to receive the target load set by a user through a configuration interface.
11. The apparatus of claim 9, further comprising a target load determination unit configured to:
determining the critical load of each service node based on the current computing resource and computing resource utilization information of each service node; and
and determining the target load of the service system based on a plurality of critical loads corresponding to the service nodes.
12. The apparatus of claim 11, wherein the target computing resource determination unit is further configured to:
determining at least one service node to adjust computing resources based on the target load of the service system and the critical load of each service node; and
Determining a target computing resource of the at least one service node based on the computing resource utilization information of the at least one service node and a target load of the service system.
13. The apparatus of claim 11, wherein the target load is a minimum critical load of the critical loads, the target computing resource determination unit further configured to:
reducing computing resources of the at least one service node.
14. The apparatus of claim 12, wherein the target load is a maximum critical load of the critical loads, the target computing resource determination unit further configured to:
and increasing the computing resources of the at least one service node.
15. The apparatus according to any one of claims 9 to 14, wherein the target computing resource determination unit is further configured to:
determining a computing resource utilization ratio of the at least one service node based on the computing resource utilization information of the at least one service node; and
and determining a target computing resource of the at least one service node based on the computing resource utilization ratio and the target load.
16. The apparatus of any of claims 9 to 15, further comprising a computing resource application unit configured to:
Calculating the cost of updating the computing resources of the at least one service node according to the target computing resources of the at least one service node;
presenting the target computing resources of the at least one service node and the cost.
17. An electronic device, comprising:
a processing unit and a memory for storing the processing unit,
the processing unit executing instructions in the memory causing the electronic device to perform the method according to any one of claims 1 to 8.
18. A computer-readable storage medium having stored thereon one or more computer instructions, wherein execution of the one or more computer instructions by a processor causes the processor to perform the method of any of claims 1 to 8.
19. A computer program product comprising machine executable instructions which, when executed by a device, cause the device to perform the method of any one of claims 1 to 8.
CN202210280981.4A 2022-03-21 2022-03-21 Method, apparatus, electronic device and computer readable storage medium for computing resource allocation Pending CN116860423A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210280981.4A CN116860423A (en) 2022-03-21 2022-03-21 Method, apparatus, electronic device and computer readable storage medium for computing resource allocation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210280981.4A CN116860423A (en) 2022-03-21 2022-03-21 Method, apparatus, electronic device and computer readable storage medium for computing resource allocation

Publications (1)

Publication Number Publication Date
CN116860423A true CN116860423A (en) 2023-10-10

Family

ID=88225440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210280981.4A Pending CN116860423A (en) 2022-03-21 2022-03-21 Method, apparatus, electronic device and computer readable storage medium for computing resource allocation

Country Status (1)

Country Link
CN (1) CN116860423A (en)

Similar Documents

Publication Publication Date Title
US10942781B2 (en) Automated capacity provisioning method using historical performance data
JP6457447B2 (en) Data center network traffic scheduling method and apparatus
US20220300344A1 (en) Flexible credential supported software service provisioning
US8190744B2 (en) Data center batch job quality of service control
US8352951B2 (en) Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
US10120724B2 (en) Optimized resource metering in a multi tenanted distributed file system
US8046767B2 (en) Systems and methods for providing capacity management of resource pools for servicing workloads
EP2894827B1 (en) Method, apparatus, and system for managing migration of virtual machine
US10191779B2 (en) Application execution controller and application execution method
US20180225137A1 (en) Resource management for virtual machines in cloud computing systems
US9665294B2 (en) Dynamic feedback-based throughput control for black-box storage systems
US8024737B2 (en) Method and a system that enables the calculation of resource requirements for a composite application
US20050268063A1 (en) Systems and methods for providing constrained optimization using adaptive regulatory control
CN111480145A (en) System and method for scheduling workloads according to a credit-based mechanism
TW201820165A (en) Server and cloud computing resource optimization method thereof for cloud big data computing architecture
Sathiyamoorthi et al. Adaptive fault tolerant resource allocation scheme for cloud computing environments
US20220121467A1 (en) A method and a system for managing the computing resources of a cloud computing platform
US20180352020A1 (en) Perfect application capacity analysis for elastic capacity management of cloud-based applications
CN114443310A (en) Resource scheduling method, device, equipment, medium and program product
Dechouniotis et al. A control‐theoretic approach towards joint admission control and resource allocation of cloud computing services
Giannakopoulos et al. Smilax: statistical machine learning autoscaler agent for Apache Flink
Zhao et al. SLA-aware and deadline constrained profit optimization for cloud resource management in big data analytics-as-a-service platforms
CN116860423A (en) Method, apparatus, electronic device and computer readable storage medium for computing resource allocation
Li et al. Toward optimal operator parallelism for stream processing topology with limited buffers
US10942780B1 (en) Resource use and operational load of performing computing and storage tasks in distributed systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication