CN116541160A - Function deployment method and device, server and cloud computing platform - Google Patents

Function deployment method and device, server and cloud computing platform Download PDF

Info

Publication number
CN116541160A
CN116541160A CN202211168310.5A CN202211168310A CN116541160A CN 116541160 A CN116541160 A CN 116541160A CN 202211168310 A CN202211168310 A CN 202211168310A CN 116541160 A CN116541160 A CN 116541160A
Authority
CN
China
Prior art keywords
function
hot start
tail
determining
server
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
CN202211168310.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.)
Shanghai Jiaotong University
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shanghai Jiaotong University
Shenzhen Tencent Computer Systems 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 Shanghai Jiaotong University, Shenzhen Tencent Computer Systems Co Ltd filed Critical Shanghai Jiaotong University
Priority to CN202211168310.5A priority Critical patent/CN116541160A/en
Publication of CN116541160A publication Critical patent/CN116541160A/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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application discloses a function deployment method, a function deployment device, a server and a cloud computing platform, and relates to the field of cloud computing. The method comprises the following steps: determining a primary function type of the function based on the triggering interval of the function, wherein the primary function type comprises a primary function and a tail function, the probability that the primary function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode; under the condition that the function belongs to a native function, determining a target deployment mode of the function based on a power performance relation of the function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power; under the condition that the function belongs to a tail function, determining a target deployment mode of the function based on the hot start income of the function, wherein the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes; and deploying the function in a server of the cloud computing platform by adopting a target deployment mode.

Description

Function deployment method and device, server and cloud computing platform
Technical Field
The embodiment of the application relates to the field of cloud computing, in particular to a function deployment method, a function deployment device, a server and a cloud computing platform.
Background
Server unaware computing (Serverless Computing) provides a more convenient application deployment scheme as an emerging cloud computing model. After the user only needs to upload the function code to the cloud computing platform, the complicated problems such as resource management and the like do not need to be considered.
In the related art, in order to prevent cold start of a function, a cloud computing platform stores an operation state of the function in a memory within a period of time after the function is operated, so that the function can be started at a hot time when the function is triggered next time, and thus the initialization time of the function is saved.
Because the functions deployed in the cloud computing platform have larger difference, how to reasonably deploy different functions in the server of the platform so as to improve the energy efficiency of the cloud computing platform becomes an urgent problem to be solved.
Disclosure of Invention
The embodiment of the application provides a function deployment method, a function deployment device, a server and a cloud computing platform, which can improve the energy efficiency of the cloud computing platform. The technical scheme is as follows:
in one aspect, an embodiment of the present application provides a function deployment method, where the method includes:
determining a primary function type of a function based on a triggering interval of the function, wherein the primary function type comprises a native function and a tail function, the probability that the native function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode;
Determining a target deployment mode of the function based on a power performance relation of the function under the condition that the function belongs to the native function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power;
determining a target deployment mode of the function based on the hot start yield of the function under the condition that the function belongs to the tail function, wherein the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes;
and deploying the function in a server of the cloud computing platform by adopting the target deployment mode.
In another aspect, an embodiment of the present application provides a function deployment apparatus, including:
the processing module is used for determining a primary function type of the function based on a triggering interval of the function, wherein the primary function type comprises a native function and a tail function, the probability that the native function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode;
the processing module is further configured to determine, based on a power performance relationship of the function, a target deployment mode of the function, where the function belongs to the native function, and the power performance relationship is used to characterize a sensitivity degree of the function performance to power;
The processing module is further configured to determine, based on the hot start yield of the function, a target deployment mode of the function, where an energy efficiency of the function in the target deployment mode is higher than energy efficiency in other deployment modes, in a case where the function belongs to the tail function;
and the deployment module is used for deploying the function in a server of the cloud computing platform by adopting the target deployment mode.
In another aspect, embodiments of the present application provide a server, where the server includes a processor and a memory, where the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement a function deployment method as described in the above aspect.
On the other hand, the embodiment of the application provides a cloud computing platform, wherein a control server and a function operation server are arranged in the cloud computing platform, and communication connection is established between the control server and the function operation server;
the control server is used for determining a primary function type of the function based on a triggering interval of the function, the primary function type comprises a native function and a tail function, the probability that the native function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode;
Determining a target deployment mode of the function based on a power performance relation of the function under the condition that the function belongs to the native function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power;
determining a target deployment mode of the function based on the hot start yield of the function under the condition that the function belongs to the tail function, wherein the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes;
and deploying the function in the function running server by adopting the target deployment mode.
In another aspect, embodiments of the present application provide a computer readable storage medium having stored therein at least one instruction that is loaded and executed by a processor to implement a function deployment method as described in the above aspects.
In another aspect, embodiments of the present application provide a computer program product comprising computer instructions stored in a computer-readable storage medium. The processor of the server reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions so that the server performs the function deployment method provided in the above aspect.
According to the method and the device, based on the triggering interval characteristics of the functions, the functions are divided into the original functions with high probability of enjoying hot start benefits and the tail functions with low probability of enjoying hot start benefits, the deployment modes of the original functions are further determined based on the influence of power on the function performance from the performance perspective aiming at the determined original functions, and the energy efficiency of the tail functions in different deployment modes is further determined based on the hot start benefits of the tail functions aiming at the determined tail functions, so that the deployment mode with the highest energy efficiency is selected and the function deployment is completed, the differentiated deployment aiming at the functions of different types is realized on the premise of guaranteeing the functional operation performance, and the energy efficiency of the cloud computing platform is improved.
Drawings
FIG. 1 is a schematic diagram of a cloud computing platform provided in an exemplary embodiment of the present application;
FIG. 2 is a flow chart of a method of function deployment provided in an exemplary embodiment of the present application;
FIG. 3 is a schematic diagram illustrating a function type two-level partitioning approach in accordance with an exemplary embodiment of the present application;
FIG. 4 is a flow chart illustrating a native function deployment mode determination process according to an exemplary embodiment of the present application;
FIG. 5 is a flow chart illustrating a tail function deployment pattern determination process according to an exemplary embodiment of the present application;
FIG. 6 is a flow chart illustrating a process for determining energy efficiency ratio values of functions in different deployment modes according to an exemplary embodiment of the present application;
FIG. 7 is a schematic diagram of an implementation of a function deployment process shown in an exemplary embodiment of the present application;
FIG. 8 is a graph of experimental results shown in an exemplary embodiment of the present application;
FIG. 9 is a block diagram of a function deployment device provided in an exemplary embodiment of the present application;
FIG. 10 illustrates a schematic diagram of a server provided in an exemplary embodiment of the present application;
FIG. 11 is a system framework diagram of a cloud computing platform as illustrated in one embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 shows a schematic diagram of a cloud computing platform according to an exemplary embodiment of the present application. Included in the cloud computing platform is a control server 110 and a function run server 120. The control server 110 and the function running server 120 communicate data through a communication network, alternatively, the communication network may be a wired network or a wireless network, and the communication network may be at least one of a local area network, a metropolitan area network, and a wide area network.
The control server 110 in the embodiment of the present application is configured to perform function deployment scheduling, that is, deploy a function to the function execution server 120, where the function execution server 120 executes the function when there is a function access requirement to provide a related service.
In a possible application scenario, as shown in fig. 1, when receiving a function deployment request sent by the service acquirer 130, the control server 110 determines a target deployment mode and a function operation server 120 for deploying the function from a plurality of candidate deployment modes by taking energy efficiency as a selection standard on the premise of ensuring the performance of the function based on the function characteristics of the function to be deployed indicated by the request, so as to send a function deployment instruction to the function operation server 120, and instruct the function operation server 120 to complete function deployment.
In another possible application scenario, since the function characteristics (such as the trigger interval) of the deployed function in the function execution server 120 may change, the control server 110 may periodically update the target deployment manner of the deployed function based on the function characteristics of the deployed function, and re-perform the function deployment.
Of course, in other application scenarios with function deployment requirements, the control server 110 may also use the function deployment method provided in the present application, and the embodiment of the present application is not limited to a specific application scenario.
FIG. 2 illustrates a flow chart of a method of function deployment provided by an exemplary embodiment of the present application. This embodiment will be described by taking the control server shown in fig. 1 as an example, and the method includes the following steps.
Step 201, determining a primary function type of the function based on the triggering interval of the function, wherein the primary function type comprises a native function and a tail function, and the probability that the native function enjoys the hot start benefits is higher than the probability that the tail function enjoys the hot start benefits, and the hot start benefits refer to benefits brought by operating the function in a hot start mode.
In some embodiments, the function may be a function already deployed in the cloud computing platform, or the function may be a function that requests to be deployed to the cloud computing platform in a function deployment request received by the control server, which is not limited in this embodiment.
Wherein the triggering interval of the function is the time interval between two adjacent triggers to access the function. In one possible implementation, the control server obtains historical access times for the function, thereby determining a plurality of trigger intervals based on adjacent historical access times.
Function cold start refers to newly opening up a space in the server for the function instance to run. For example, a server runs a function in a virtual machine or container, which needs to be started before each run to load the function. Because starting a virtual machine or container takes longer, functions in a cloud computing platform need to reduce the number of cold starts.
When a function is continuously triggered in a short time, a function instance corresponding to the function is not released in a short time (such as saving the running state in a memory), so that the created function instance can be directly run when the next request to access the function is made, and the technology of saving the running state of the function is called hot start. For example, after the function is run through the virtual machine or the container, the server does not close the virtual machine or the container, but keeps the virtual machine or the container in a standby state, and calls the function when the server is triggered next time, so that the process of starting the virtual machine or the container is omitted.
From the above principle of hot start, it can be seen that when the triggering interval of the function is small (less than the duration of the function running state), the function can enjoy the hot start benefits after the hot start is enabled; when the triggering interval of the function is large (longer than the holding time of the function running state), the function cannot enjoy the hot start benefits even if the hot start is enabled.
In the embodiment of the application, the control server divides the functions into two types of native functions (native functions) and tail functions (tail functions) based on the triggering characteristics (i.e. triggering intervals) of the functions, so that the targeted deployment modes are adopted for different types of functions later. Wherein the probability that the native function enjoys hot start benefits is higher and the probability that the tail function enjoys hot start benefits is lower.
Optionally, the hot start benefit is a time benefit brought by running the function in a hot start mode, and the time benefit is related to the initialization duration of the function and the total execution duration (including the initialization duration and the running duration) of the function.
Step 202, determining a target deployment mode of the function based on a power performance relation of the function in the case that the function belongs to a native function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power.
Since the running performance of the function may be affected by the running power, and the sensitivity of different functions to the running power is different, from the performance perspective, the control server determines the target deployment mode of the native function based on the sensitivity of the function performance to the power (i.e., the power performance relationship).
Optionally, the power performance relationship includes a function performance of the function at different operating powers.
In some embodiments, for the native function, since the large probability can enjoy the hot start benefits during the running process, the control server may not consider the hot start benefits in determining the deployment mode of the native function, and ensure that the native function supports hot start in various deployment modes.
In step 203, in the case that the function belongs to the tail function, the target deployment mode of the function is determined based on the hot start yield of the function, and the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes.
For the tail function, since a certain probability is available in the running process, the control server determines the energy efficiency (energy efficiency) of the tail function in different deployment modes based on the hot start benefits of the tail function from the viewpoint of considering both performance and power consumption, so that the deployment mode with the highest energy efficiency is selected as the target deployment mode of the tail function.
Optionally, in different deployment modes, at least one of a server deploying the tail function, a processing core deploying the tail function, and a support state of the tail function for the hot start is different.
Step 204, deploying the function in a server of the cloud computing platform in a target deployment mode.
After determining the target deployment mode for different types of functions, the control server determines a target server from function operation servers of the cloud computing platform, and deploys the functions in the target server, wherein the target server can be an activated server (i.e. a server with functions deployed) or an inactivated server (i.e. a server without functions deployed).
In summary, in the embodiment of the present application, based on the triggering interval characteristic of the function, the function is divided into the native function with high probability of enjoying the hot start income and the tail function with low probability of enjoying the hot start income, and for the determined native function, from the performance perspective, the deployment mode of the native function is further determined based on the influence of power on the performance of the function, and for the determined tail function, the energy efficiency of the tail function in different deployment modes is further determined based on the hot start income of the tail function, so that the deployment mode with the highest energy efficiency is selected and the function deployment is completed, and on the premise of ensuring the running performance of the function, the differentiated deployment for different types of functions is realized, thereby being beneficial to improving the energy efficiency of the cloud computing platform.
In one possible implementation, in order to improve the accuracy of the determined deployment mode, to implement more fine-grained function deployment, the control server performs two-stage division on the types of functions.
As shown in fig. 3, in the primary partitioning process, the control server partitions the function into a native function and a tail function based on the trigger interval of the function.
Regarding the manner of performing the first-order division based on the trigger interval, in one possible implementation, the control server determines the hot start probability of the function based on the trigger interval of the function.
The hot start probability refers to the proportion of the trigger times of the trigger interval smaller than a time threshold to the total trigger times, the time threshold is the duration of maintaining the running state of the function supporting hot start after finishing running, and the time threshold can be set by maintenance personnel of the cloud computing platform.
Optionally, the control server counts the number of triggers with a trigger interval less than the duration threshold, and the total number of triggers of the function, so as to determine the ratio of the two as the hot start probability of the function.
In an illustrative example, for function n, the control server counts the number of triggers with a trigger interval of less than 10 minutes as Ivk n,warm The total triggering times is Ivk n,total The hot start probability of function n
Further, under the condition that the hot start probability is greater than or equal to a first probability threshold, the control server determines that the function belongs to a native function; in the case that the warm start probability is smaller than the first probability threshold, the control server determines that the function belongs to the tail function.
Wherein, 0 < the first probability threshold value is less than or equal to 1. For example, the first probability threshold may be set to 1, and when the hot start probability=1 of the function, the function is a native function, and the native function may enjoy the benefits brought by the hot start; when the warm start probability of the function is not equal to 1, the function is a tail function, and the tail function cannot enjoy (warm start probability=0) or cannot fully enjoy (warm start probability not equal to 0) the benefits brought by the warm start.
For another example, the first probability threshold may be set to 0.9, and the function is a native function when the hot start probability of the function is greater than or equal to 0.9; when the hot start probability of the function is < 0.9, the function is a tail function. The value of the first probability threshold is not limited in this embodiment.
In the secondary division process, as shown in fig. 3, the control server further divides the native function into a power-sensitive native function and a non-power-sensitive native function based on the power performance relationship of the function. The operation power has a larger influence on the operation performance of the power sensitive native function, and has a smaller influence on the operation performance of the non-power sensitive native function.
The control server further divides the tail functions into explicit tail functions and implicit tail functions based on the trigger intervals of the functions. Wherein the explicit tail function enjoys a lower probability of hot start benefits than the implicit tail function.
Further, aiming at four types of functions, namely a power sensitive native function, a non-power sensitive native function, an explicit tail function and an implicit tail function, the control server sets a deployment mode in a targeted mode.
The manner of secondary partitioning of the native function and the deployment mode of the native function are described below using exemplary embodiments.
FIG. 4 is a flow chart illustrating a native function deployment mode determination process according to an exemplary embodiment of the present application. This embodiment will be described by taking the control server shown in fig. 1 as an example, and the method includes the following steps.
In step 401, in the case that the function belongs to a native function, a native function secondary type of the function is determined based on the power performance relationship of the function, where the native function secondary type includes a power sensitive native function and a non-power sensitive native function.
In one possible implementation manner, a power performance relation table corresponding to the function is set in the control server, and the power performance relation table contains the operation performance of the function under different operation powers. Alternatively, the operating power may be expressed in terms of power (power) and the operating performance may be expressed in terms of functional operating time delay (latency).
And for the determined native function, the control server further acquires a power performance relation corresponding to the native function from a power performance relation table, determines the sensitivity degree of the native function to the running power, and divides the native function into a power sensitive native function and a non-power sensitive native function based on the sensitivity degree.
The operation performance of the power sensitive native function is greatly affected as the operation power is reduced, so that the power sensitive native function needs to ensure high-power operation in order to ensure the operation performance of the function. As the operating power decreases, the operating performance of the non-power sensitive native function changes less, and thus the non-power sensitive native function can operate at low power for a part of the period.
Alternatively, the control server may determine, based on the power performance relationship, an average performance change rate of the native function, the average performance change rate being used to characterize an amount of degradation in the running performance when the unit running power is reduced, determine a non-power-sensitive native function from the native function having the average performance change rate less than the change rate threshold, and determine a native function having the average performance change rate greater than the change rate threshold as the power-sensitive native function. Of course, the control server may divide the native function based on other criteria, which is not limited in this embodiment.
Step 402, determining that the target deployment mode of the function is a third deployment mode in the case that the function belongs to the power sensitive native function, wherein the power sensitive native function is isolated from other types of functions and supports hot start in the third deployment mode.
For the power sensitive native function, in order to reduce the overhead of the function cold start and ensure the running performance of the function, the control server isolates (Isolated deployment) the power sensitive native function from being deployed in a server (i.e., the power sensitive native function and other types of functions are deployed in different servers), and ensures that the power sensitive native function supports hot start.
It should be noted that the power sensitive native function monopolizes the processing resources of the server.
Step 403, determining that the target deployment mode of the function is the first deployment mode under the condition that the function belongs to a non-power sensitive native function, wherein the non-power sensitive native function is merged with the tail function and deployed in the first deployment mode, and supporting hot start.
Since the non-power sensitive native function can maintain higher running performance at low running power, server heat can be reduced by reducing the running power of the non-power sensitive native function without affecting running performance.
Since the non-power sensitive native function can provide heat dissipation space for the server, in one possible implementation, the control server determines to deploy the non-power sensitive native function in a aggressive function merge deployment mode (i.e., a first deployment mode), i.e., the non-power sensitive native function can be deployed in the same server as the tail function. In addition, in order to reduce the cost of the function cold start, the control server ensures that the non-power consumption sensitive native function supports the hot start.
In a multi-core processor, only part of gates are allowed to be in an operating state at the same time, and the rest of gates are in an inactive state, and the part of the inactive gates are called dark silicon (dark silicon). In some embodiments, the non-power sensitive native function is deployed on the non-dark silicon of the server, and the tail function that is deployed in combination with the non-power sensitive native function is deployed on the dark silicon of the server to fully utilize the processing resources of the server.
In the embodiment, the control server further divides the primary function into two types of power sensitivity and non-power sensitivity based on the power consumption performance relation of the primary function, and adopts an isolated deployment mode aiming at the power sensitivity primary function to ensure the function operation performance of the primary function; and a function merging type deployment mode is adopted aiming at the non-power sensitive native function, so that the function operation performance of the function is ensured, and meanwhile, a space is provided for the heat dissipation of the server, so that the processing resources of the server are fully utilized in the follow-up process.
The following describes a two-level partitioning of the tail function and a deployment mode of the tail function using exemplary embodiments.
FIG. 5 is a flow chart illustrating a tail function deployment mode determination process according to an exemplary embodiment of the present application. This embodiment will be described by taking the control server shown in fig. 1 as an example, and the method includes the following steps.
In step 501, in the case that the function belongs to the tail function, determining a tail function secondary type of the function based on the hot start probability, where the tail function secondary type includes an explicit tail function and an implicit tail function, and the probability that the implicit tail function enjoys hot start benefits is higher than the probability that the explicit tail function enjoys hot start benefits.
There is greater uncertainty as to whether the tail function can enjoy hot start benefits than the native function, so finer granularity of the secondary partitioning of the tail function is needed further based on the trigger interval of the tail function.
In one possible implementation, the control server performs a secondary division of the tail function based on the hot start probability of the tail function (determined based on the trigger interval). Under the condition that the hot start probability is smaller than or equal to a second probability threshold value, determining that the function belongs to an explicit tail function, wherein the second probability threshold value is smaller than the first probability threshold value; and under the condition that the hot start probability is larger than the second probability threshold value, determining that the function belongs to an implicit tail function.
Wherein, 0 is less than or equal to the second probability threshold value and less than the first probability threshold value. For example, the second probability threshold may be set to 0, and when the warm start probability=0 of the tail function, the tail function is an explicit tail function, and the explicit tail function cannot enjoy the benefits brought by the warm start; when the hot start probability of the tail function is not equal to 0, the tail function is an implicit tail function, and the implicit tail function cannot fully enjoy the benefits brought by hot start.
For another example, the second probability threshold may be set to 0.1, where the tail function is an explicit tail function when the hot start probability of the tail function is less than or equal to 0.1, and where the tail function is an implicit tail function when the hot start probability of the tail function is greater than 0.1. The value of the second probability threshold is not limited in the embodiment of the present application.
Step 502, determining that a target deployment mode of a function is a first deployment mode under the condition that the function belongs to an explicit tail function, wherein the explicit tail function is merged with a native function and deployed in the first deployment mode, dark silicon in a server is deployed, and hot start is not supported.
For the explicit tail function, since the explicit tail function cannot enjoy or cannot enjoy the hot start benefits with a high probability, the control server adopts an aggressive function merging part deployment mode (i.e., a first deployment mode) to merge and deploy the explicit tail function with the native function, i.e., deploy the explicit tail function and the native function in the same server.
Also, to avoid meaningless saving of the running state of the explicit tail function, the control server sets the explicit tail function to not support warm-up.
In addition, in order to fully utilize the processing resources of the server, the control server deploys the explicit tail function on the dark silicon of the server, namely, when the explicit tail function is triggered to be accessed, the function running server starts the dark silicon and runs the explicit tail function on the dark silicon. And when the explicit tail function is operated, the function operation server closes the dark silicon.
Step 503, under the condition that the function belongs to an implicit tail function, determining the energy efficiency ratio of the function in different deployment modes based on the hot start income of the function; based on the energy efficiency ratio, a target deployment pattern of the function is determined.
For the implicit tail function, since the implicit tail function has a certain probability of enjoying the hot start income, the control server needs to synthesize the hot start income enjoyed by the implicit tail function and the power consumption condition of the implicit tail function under different deployment modes, and adaptively select the deployment mode with the highest energy efficiency.
In one possible implementation, the deployment modes supported by the implicit tail function include an aggressive function merge deployment mode and a conservative deployment mode (i.e., a second deployment mode described below). In the aggressive function merging deployment mode, the implicit tail function and the native function are deployed on the same server (similar to the explicit tail function); in the conservative deployment mode, a new server needs to be restarted for the implicit tail function, and the implicit tail function exclusively shares the processing resources of the server.
The control server selects the deployment mode with the highest energy efficiency as a target deployment mode by calculating the energy efficiency ratio of the functions under different deployment modes. Regarding the manner in which the energy efficiency ratio is determined, in one possible implementation, as shown in fig. 6, this step may include the sub-steps of:
in step 503A, a hot start benefit of the function is determined based on the initialization duration and the total execution duration of the function.
The initialization time length refers to the time length required by the function to finish initialization under the condition that the hot start is not started, and the total execution time length comprises the initialization time length and the running time length of the function. Correspondingly, in this embodiment, the hot start benefit is a time benefit brought by starting the hot start condition (the initialization process can be omitted).
In one example, the function n is initialized for a duration of D n,init The total execution duration is D n,total Then the hot start benefit of function n
Step 503B, determining the estimated time delay of the function in different deployment modes based on the hot start probability, the hot start benefit and the total execution duration.
In this embodiment, the estimated time delay of the function, that is, the interval between triggering and completing the feedback operation result after the function is deployed in the specific deployment mode, may be regarded as the operation efficiency of the function.
When the implicit tail function is deployed by adopting the first deployment mode, the implicit tail function is deployed by combining with the native function, dark silicon in the server is deployed, and hot start is not supported, so that the estimated time delay of the implicit tail function in the first deployment mode is the total execution time length of the implicit tail function. In one example, the first estimated time delay of the function n in the first deployment mode is L n,A =D n,total
In one possible implementation, the control server determines the total execution duration as a first estimated time delay of the function in the first deployment mode.
When the implicit tail function is deployed in the second deployment mode, since the implicit tail function supports hot start and may or may not obtain hot start benefits, the control server determines average hot start benefits based on the hot start probability and the hot start benefits, and thereby determines a second estimated time delay of the function in the second deployment mode based on the average hot start benefits and the total execution time length, wherein the implicit tail function is deployed in the newly opened server in the second deployment mode.
In one example, the average hot start yield of the function n may be expressed as:
(P n,warm *(1-B n,warm )+1-P n,warm )
thus, the second estimated time delay of the function n can be expressed as:
L n,C =D n,total *(P n,warm *(1-B n,warm )+1-P n,warm )
step 503C, determining the energy efficiency ratio of the function in the different deployment modes based on the estimated time delay of the function in the different deployment modes and the power consumption increment of the server in the different deployment modes.
After determining the operation efficiency (i.e. estimated time delay) of the function in different deployment modes through the steps, the control server further determines the operation energy consumption of the function in different deployment modes, so that the deployment mode with the highest energy efficiency is comprehensively determined based on the operation efficiency and the operation energy consumption.
Because the hardware added when the implicit tail function is operated in different deployment modes is different and the operation time of the function is different, the control server needs to further determine the energy consumption in different deployment modes based on the estimated time delay and the power consumption increment in different modes. In one possible embodiment, the present step may comprise the following sub-steps:
1. and determining the first energy consumption of the function in the first deployment mode based on the first estimated time delay of the function in the first deployment mode and a first power consumption increment, wherein the first power consumption increment is the power consumption increased after the dark silicon in the server is started.
When the implicit tail function is deployed in the first deployment mode, the implicit tail function is deployed and operated on the dark silicon of the server, so that the corresponding first power consumption increment is the power consumption generated by the operation of the dark silicon, and correspondingly, the first energy consumption of the implicit tail function in the first deployment mode is the first estimated time delay multiplied by the first power consumption increment.
In an illustrative example, a first energy consumption E of a function n in a first deployment mode n,A =Power dync *L n,A Wherein Power is dync To turn on the first power consumption increment of the server after dark silicon.
2. And determining second energy consumption of the function in the second deployment mode based on the second estimated time delay and a second power consumption increment of the function in the second deployment mode, wherein the second power consumption increment is increased power consumption after the server is newly started.
When the implicit tail function is deployed in the second deployment mode, the implicit tail function is deployed on the newly opened server, so that the corresponding second power consumption increment is the power consumption generated by the opened new server, and correspondingly, the second energy consumption of the implicit tail function in the second deployment mode is the second estimated time delay multiplied by the second power consumption increment.
In an illustrative example, the second energy consumption E of the function n in the first deployment mode n,C =Power total *L n,C Wherein Power is total A second power consumption increment for the newly started server.
3. And determining the energy efficiency ratio of the function in different deployment modes based on the time delay ratio of the first estimated time delay to the second estimated time delay and the power consumption ratio of the first power consumption increment to the second power consumption increment.
In one possible implementation, the energy efficiency ratio of the function n in different deployment modes can be identified as:
wherein alpha is a time delay weight, beta is an energy consumption weight, and the two weights can be configured.
Alternatively, when Eff n When not less than 1, the control server determines that the target deployment mode is the first deployment mode, and when Eff n And when the deployment mode is less than 1, the control server determines that the target deployment mode is the second deployment mode.
In the embodiment, the control server further divides the original function into an explicit tail function and an implicit tail function based on the hot start probability of the tail function, adopts a function merging deployment mode aiming at the explicit tail function, and fully utilizes the processing resources of the server; and aiming at the implicit tail function, according to the hot start income, the deployment mode is adaptively determined by taking the maximized energy efficiency as a target, so that the energy efficiency of the cloud computing platform is improved.
In the foregoing embodiment, when it is determined that the deployment mode of the (implicit or explicit) tail function is the first deployment mode, in order to minimize the influence on the running performance of the (non-power-sensitive) native function in the server, in a possible implementation, in a case where the function belongs to the tail function and the target deployment mode is the first deployment mode, the control server determines, based on the power performance relationship of the native function in the server, a target server in the cloud computing platform, and deploys the function in the target server. Wherein the native function deployed in the target server has the lowest power sensitivity.
Optionally, the control server traverses the power performance relation corresponding to the deployed non-power sensitive native function in each server, so that the server where the non-power sensitive native function with the lowest power sensitivity is located is determined as the target server.
Further, for a server where the native function and the tail function are deployed in a combined manner, dark silicon needs to be turned on when the tail function is running, and the dark silicon is turned on to increase the heat of the server, so that the heat of the server temporarily exceeds the heat limit. In order to dissipate heat generated by the server, the function operation server can reduce the operation power of the original function, so that the purpose of heat dissipation of the server is achieved.
In one possible implementation, the control server radiates the thermal instruction to the target server, so that the target server reduces the running power of the native function when the tail function in the first deployment mode runs out based on the thermal instruction.
Alternatively, the function running server may reduce the running power of all the native functions, or reduce the running power of part of the native functions.
Regarding the degree of reduction in operating power, in one possible implementation, the control server determines a target operating power based on a power performance relationship of the native function at the target server, the functional performance of the native function at the target operating power satisfying a minimum functional performance, thereby radiating thermal instructions down the target server based on the target operating power.
Optionally, the control server determines k primary functions with lower power sensitivity based on the power performance relationship of the primary functions, and further determines the target operating power based on the power performance relationship of the k primary functions, so that the subsequent function operating server can reduce the operating power of the k primary functions based on the target operating power, and the influence of server heat dissipation on the function operating performance is minimized.
Of course, in addition to the heat dissipation instruction under the control server, in other possible embodiments, the function running server that combines and deploys the native function and the tail function may also self-formulate the heat dissipation policy, which is not limited in this embodiment of the present application.
In connection with the various embodiments described above, in one illustrative example, as shown in FIG. 7, control server 710 obtains the function 700 to be deployed and then classifies the function 700 first.
For the native function 711, the control server 710 further subdivides the native function 711 into a non-power sensitive native function 7111 and a power sensitive native function 7112 based on the power performance relationship indicated by the power performance relationship table 713. For the non-power sensitive native function 7111, the control server 710 merges it with the tail function 712 for deployment in the function run server 720; for the power sensitive native function 7112, the control server 710 deploys its isolation in the function run server 720.
For the tail function 712, the control server 710 further subdivides the tail function 712 into an explicit tail function and an implicit tail function based on the hot start probability. For the explicit tail function, the control server 710 merges and deploys it with the non-power sensitive native function 7111; for the implicit tail function, the control server 710 determines the most energy efficient deployment mode from the two modes of merging deployment and distinguishing deployment based on the hot start probability, the hot start benefit and the total execution duration of the function. When the merging deployment is adopted, the implicit tail function and the non-power sensitive native function 7111 are merged and deployed in a server, and when the distinguishing deployment is adopted, the control server 710 activates the new function operation server 720 and deploys the implicit tail function on the server.
In addition, for the function operation server which is combined and deployed by the native function and the tail function, when the tail function operation is finished, the server heat dissipation module can reduce the operation power of the native function so as to reduce the heat of the server.
To verify the validity of the solution provided by the above embodiment, experiments were performed using a function trigger pattern from the data set disclosed by Azure function, and the experimental results obtained are shown in fig. 8. The overall energy efficiency of the cloud computing platform is improved by about 23%.
FIG. 9 is a block diagram of a function deployment device provided in an exemplary embodiment of the present application, the device comprising:
the processing module 901 is configured to determine a primary function type of a function based on a triggering interval of the function, where the primary function type includes a native function and a tail function, the probability that the native function enjoys a hot start benefit is higher than the probability that the tail function enjoys a hot start benefit, and the hot start benefit is a benefit brought by running the function in a hot start mode;
the processing module 901 is further configured to determine, if the function belongs to the native function, a target deployment mode of the function based on a power performance relationship of the function, where the power performance relationship is used to characterize a sensitivity degree of a function performance to power;
The processing module 901 is further configured to determine, based on the hot start benefit of the function, a target deployment mode of the function, where an energy efficiency of the function in the target deployment mode is higher than energy efficiency in other deployment modes, where the function belongs to the tail function;
a deployment module 902, configured to deploy the function in a server of a cloud computing platform in the target deployment mode.
Optionally, in the process of determining the primary function type of the function based on the triggering interval of the function, the processing module 901 is configured to:
determining the hot start probability of the function based on the triggering interval of the function, wherein the hot start probability refers to the proportion of the triggering times of the triggering interval smaller than a duration threshold value to the total triggering times, and the duration threshold value is the duration of the function supporting hot start in maintaining the running state after finishing running;
determining that the function belongs to the native function under the condition that the hot start probability is greater than or equal to a first probability threshold;
and determining that the function belongs to the tail function under the condition that the hot start probability is smaller than the first probability threshold.
Optionally, in the process of determining the target deployment mode of the function based on the hot start benefit of the function in the case that the function belongs to the tail function, the processing module 901 is configured to:
Determining a tail function secondary type of the function based on the hot start probability under the condition that the function belongs to the tail function, wherein the tail function secondary type comprises an explicit tail function and an implicit tail function, and the probability that the implicit tail function enjoys hot start benefits is higher than that of the explicit tail function enjoys hot start benefits;
determining that the target deployment mode of the function is a first deployment mode under the condition that the function belongs to the explicit tail function, wherein the explicit tail function is merged and deployed with the native function in the first deployment mode, dark silicon is deployed in a server, and hot start is not supported;
determining the energy efficiency ratio of the function in different deployment modes based on the hot start income of the function under the condition that the function belongs to the implicit tail function; the target deployment pattern of the function is determined based on the energy efficiency ratio.
Optionally, in the process of determining the energy efficiency ratio of the function in different deployment modes based on the hot start benefit of the function, the processing module 901 is configured to:
determining the hot start benefits of the function based on the initialization time length and the total execution time length of the function;
Determining estimated time delays of the functions in different deployment modes based on the hot start probability, the hot start benefits and the total execution time length;
and determining the energy efficiency ratio of the function in different deployment modes based on the estimated time delay of the function in different deployment modes and the power consumption increment of the server in different deployment modes.
Optionally, in the process of determining the estimated time delay of the function in different deployment modes based on the hot start probability, the hot start benefit and the total execution duration, the processing module 901 is configured to:
determining the total execution duration as a first estimated time delay of the function in the first deployment mode, wherein the implicit tail function is merged with the native function and deployed in the first deployment mode, dark silicon deployed in a server, and hot start is not supported;
determining an average hot start yield based on the hot start probability and the hot start yield; and determining a second estimated time delay of the function in a second deployment mode based on the average hot start income and the total execution duration, wherein the implicit tail function is deployed in a newly started server in the second deployment mode and supports hot start.
Optionally, in the process of determining the energy efficiency ratio of the function in different deployment modes based on the estimated time delay of the function in different deployment modes and the power consumption increment of the server in different deployment modes, the processing module 901 is configured to:
determining a first energy consumption of the function in the first deployment mode based on the first estimated time delay and a first power consumption increment of the function in the first deployment mode, wherein the first power consumption increment is increased power consumption after the dark silicon in a server is started;
determining a second energy consumption of the function in the second deployment mode based on the second estimated time delay and a second power consumption increment of the function in the second deployment mode, wherein the second power consumption increment is increased power consumption after a server is newly started;
and determining the energy efficiency ratio of the function in different deployment modes based on the delay ratio of the first estimated delay to the second estimated delay and the power consumption ratio of the first power consumption increment to the second power consumption increment.
Optionally, the deployment module 902 is configured to:
determining a target server in the cloud computing platform based on a power performance relationship of a native function in a server under the condition that the function belongs to the tail function and the target deployment mode is the first deployment mode, wherein the native function deployed in the target server has the lowest power sensitivity, and the power performance relationship is used for representing the sensitivity degree of the function performance to power;
The function is deployed in the target server.
Optionally, the apparatus further includes:
and the instruction sending module is used for radiating a thermal instruction to the target server so that the target server can reduce the running power of the primary function based on the radiating instruction under the condition that the tail function adopting the first deployment mode is completely run.
Optionally, the instruction sending module is configured to:
determining a target operating power based on the power performance relationship of the native function in the target server, wherein the function performance of the native function at the target operating power meets the minimum function performance;
and issuing the heat dissipation instruction to the target server based on the target operating power.
Optionally, in the process of determining the secondary function type of the function based on the hot start probability, the processing module 901 is configured to:
determining that the function belongs to the explicit tail function when the hot start probability is smaller than or equal to a second probability threshold, wherein the second probability threshold is smaller than the first probability threshold;
and determining that the function belongs to the implicit tail function under the condition that the hot start probability is larger than the second probability threshold.
Optionally, in the case that the function belongs to the native function, the target deployment mode of the function is determined based on a power performance relationship of the function, where the power performance relationship is used in a process of characterizing a sensitivity degree of a function performance to power, and the processing module 901 is configured to:
determining a primary function secondary type of the function based on the power performance relationship of the function, the primary function secondary type including a power sensitive primary function and a non-power sensitive primary function, in a case the function belongs to the primary function;
determining that the target deployment mode of the function is a third deployment mode under the condition that the function belongs to the power sensitive native function, wherein the power sensitive native function is isolated from other types of functions and supports hot start in the third deployment mode;
and under the condition that the function belongs to the non-power sensitive native function, determining the target deployment mode of the function as a first deployment mode, wherein the non-power sensitive native function is merged with the tail function and deployed in the first deployment mode, and supporting hot start.
In summary, in the embodiment of the present application, based on the triggering interval characteristic of the function, the function is divided into the native function with high probability of enjoying the hot start income and the tail function with low probability of enjoying the hot start income, and for the determined native function, from the performance perspective, the deployment mode of the native function is further determined based on the influence of power on the performance of the function, and for the determined tail function, the energy efficiency of the tail function in different deployment modes is further determined based on the hot start income of the tail function, so that the deployment mode with the highest energy efficiency is selected and the function deployment is completed, and on the premise of ensuring the running performance of the function, the differentiated deployment for different types of functions is realized, thereby being beneficial to improving the energy efficiency of the cloud computing platform.
It should be noted that: the apparatus provided in the above embodiment is only exemplified by the division of the above functional modules, and in practical application, the above functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules, so as to perform all or part of the functions described above. In addition, the apparatus and the method embodiments provided in the foregoing embodiments belong to the same concept, and detailed implementation processes of the method embodiments are described in the method embodiments, which are not repeated herein.
Referring to fig. 10, a schematic structural diagram of a server according to an exemplary embodiment of the present application is shown. Specifically, the present invention relates to a method for manufacturing a semiconductor device. The server 1300 includes a central processing unit (Central Processing Unit, CPU) 1301, a system memory 1304 including a random access memory 1302 and a read only memory 1303, and a system bus 1305 connecting the system memory 1304 and the central processing unit 1301. The server 1300 also includes a basic Input/Output system (I/O) 1306 to facilitate the transfer of information between the various devices within the computer, and a mass storage device 1307 for storing an operating system 1313, application programs 1314, and other program modules 1315.
The basic input/output system 1306 includes a display 1308 for displaying information, and an input device 1309, such as a mouse, keyboard, etc., for a user to input information. Wherein the display 1308 and the input device 1309 are connected to the central processing unit 1301 through an input output controller 1310 connected to the system bus 1305. The basic input/output system 1306 may also include an input/output controller 1310 for receiving and processing input from a keyboard, mouse, or electronic stylus, among a plurality of other devices. Similarly, the input output controller 1310 also provides output to a display screen, a printer, or other type of output device.
The mass storage device 1307 is connected to the central processing unit 1301 through a mass storage controller (not shown) connected to the system bus 1305. The mass storage device 1307 and its associated computer-readable media provide non-volatile storage for the server 1300. That is, the mass storage device 1307 may include a computer-readable medium (not shown), such as a hard disk or drive.
The computer readable medium may include computer storage media and communication media without loss of generality. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes random access Memory (RAM, random Access Memory), read Only Memory (ROM), flash Memory or other solid state Memory technology, compact disk (CD-ROM), digital versatile disk (Digital Versatile Disc, DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage medium is not limited to the one described above. The system memory 1304 and mass storage device 1307 described above may be referred to collectively as memory.
The memory stores one or more programs configured to be executed by the one or more central processing units 1301, the one or more programs containing instructions for implementing the methods described above, the central processing unit 1301 executing the one or more programs to implement the methods provided by the various method embodiments described above.
According to various embodiments of the application, the server 1300 may also operate by a remote computer connected to the network through a network, such as the Internet. I.e., the server 1300 may be connected to the network 1312 via a network interface unit 1311 coupled to the system bus 1305, or the network interface unit 1311 may be used to connect to other types of networks or remote computer systems (not shown).
The memory also includes one or more programs stored in the memory, the one or more programs including steps for performing the methods provided by the embodiments of the present application, performed by the control server.
Referring to fig. 11, a system architecture diagram of a cloud computing platform according to an exemplary embodiment of the present application is shown. The cloud computing platform 1100 is provided with a control server 1101 and a function operation server 1102, and a communication connection is established between the control server 1101 and the function operation server 1102;
The control server 1101 is configured to determine a primary function type of a function based on a triggering interval of the function, where the primary function type includes a native function and a tail function, and a probability that the native function enjoys a hot start benefit is higher than a probability that the tail function enjoys a hot start benefit, where the hot start benefit is a benefit brought by running the function in a hot start manner;
determining a target deployment mode of the function based on a power performance relation of the function under the condition that the function belongs to the native function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power;
determining a target deployment mode of the function based on the hot start yield of the function under the condition that the function belongs to the tail function, wherein the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes;
the function is deployed in the function execution server 1102 using the target deployment mode.
It should be noted that, the specific process of function deployment by the control server 1101 may refer to the above method embodiment, and this embodiment is not described herein.
The embodiment of the application further provides a computer readable storage medium, wherein at least one instruction is stored in the readable storage medium, and the at least one instruction is loaded and executed by a processor to implement the function deployment method according to any of the embodiments.
Embodiments of the present application provide a computer program product comprising computer instructions stored in a computer-readable storage medium. The processor of the server reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the server performs the function deployment method described in the above embodiment.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments is merely exemplary in nature and is in no way intended to limit the invention, since it is intended that all modifications, equivalents, improvements, etc. that fall within the spirit and scope of the invention.

Claims (15)

1. A method of function deployment, the method comprising:
determining a primary function type of a function based on a triggering interval of the function, wherein the primary function type comprises a native function and a tail function, the probability that the native function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode;
Determining a target deployment mode of the function based on a power performance relation of the function under the condition that the function belongs to the native function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power;
determining a target deployment mode of the function based on the hot start yield of the function under the condition that the function belongs to the tail function, wherein the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes;
and deploying the function in a server of the cloud computing platform by adopting the target deployment mode.
2. The method of claim 1, wherein the determining the primary function type of the function based on the trigger interval of the function comprises:
determining the hot start probability of the function based on the triggering interval of the function, wherein the hot start probability refers to the proportion of the triggering times of the triggering interval smaller than a duration threshold value to the total triggering times, and the duration threshold value is the duration of the function supporting hot start in maintaining the running state after finishing running;
determining that the function belongs to the native function under the condition that the hot start probability is greater than or equal to a first probability threshold;
And determining that the function belongs to the tail function under the condition that the hot start probability is smaller than the first probability threshold.
3. The method of claim 2, wherein the determining a target deployment pattern for the function based on the warm start yield of the function if the function belongs to the tail function comprises:
determining a tail function secondary type of the function based on the hot start probability under the condition that the function belongs to the tail function, wherein the tail function secondary type comprises an explicit tail function and an implicit tail function, and the probability that the implicit tail function enjoys hot start benefits is higher than that of the explicit tail function enjoys hot start benefits;
determining that the target deployment mode of the function is a first deployment mode under the condition that the function belongs to the explicit tail function, wherein the explicit tail function is merged and deployed with the native function in the first deployment mode, dark silicon is deployed in a server, and hot start is not supported;
determining the energy efficiency ratio of the function in different deployment modes based on the hot start income of the function under the condition that the function belongs to the implicit tail function; the target deployment pattern of the function is determined based on the energy efficiency ratio.
4. A method according to claim 3, wherein said determining the energy efficiency ratio of the function in different deployment modes based on the hot start yield of the function comprises:
determining the hot start benefits of the function based on the initialization time length and the total execution time length of the function;
determining estimated time delays of the functions in different deployment modes based on the hot start probability, the hot start benefits and the total execution time length;
and determining the energy efficiency ratio of the function in different deployment modes based on the estimated time delay of the function in different deployment modes and the power consumption increment of the server in different deployment modes.
5. The method of claim 4, wherein the determining the estimated time delay of the function in different deployment modes based on the hot start probability, the hot start benefit, and the total execution duration comprises:
determining the total execution duration as a first estimated time delay of the function in the first deployment mode, wherein the implicit tail function is merged with the native function and deployed in the first deployment mode, dark silicon deployed in a server, and hot start is not supported;
Determining an average hot start yield based on the hot start probability and the hot start yield; and determining a second estimated time delay of the function in a second deployment mode based on the average hot start income and the total execution duration, wherein the implicit tail function is deployed in a newly started server in the second deployment mode and supports hot start.
6. The method of claim 5, wherein the determining the energy efficiency ratio of the function in the different deployment modes based on the estimated time delay of the function in the different deployment modes and the power consumption increment of the server in the different deployment modes comprises:
determining a first energy consumption of the function in the first deployment mode based on the first estimated time delay and a first power consumption increment of the function in the first deployment mode, wherein the first power consumption increment is increased power consumption after the dark silicon in a server is started;
determining a second energy consumption of the function in the second deployment mode based on the second estimated time delay and a second power consumption increment of the function in the second deployment mode, wherein the second power consumption increment is increased power consumption after a server is newly started;
And determining the energy efficiency ratio of the function in different deployment modes based on the delay ratio of the first estimated delay to the second estimated delay and the power consumption ratio of the first power consumption increment to the second power consumption increment.
7. The method of claim 3, wherein deploying the function in a server of a cloud computing platform using the target deployment mode comprises:
determining a target server in the cloud computing platform based on a power performance relationship of a native function in a server under the condition that the function belongs to the tail function and the target deployment mode is the first deployment mode, wherein the native function deployed in the target server has the lowest power sensitivity, and the power performance relationship is used for representing the sensitivity degree of the function performance to power;
the function is deployed in the target server.
8. The method of claim 7, wherein the method further comprises:
and radiating a thermal instruction to the target server, so that the target server reduces the running power of the native function under the condition that the tail function adopting the first deployment mode runs completely based on the thermal instruction.
9. The method of claim 8, wherein said issuing thermal instructions down to said target server comprises:
determining a target operating power based on the power performance relationship of the native function in the target server, wherein the function performance of the native function at the target operating power meets the minimum function performance;
and issuing the heat dissipation instruction to the target server based on the target operating power.
10. A method according to claim 3, wherein said determining a secondary function type of said function based on said hot start probability comprises:
determining that the function belongs to the explicit tail function when the hot start probability is smaller than or equal to a second probability threshold, wherein the second probability threshold is smaller than the first probability threshold;
and determining that the function belongs to the implicit tail function under the condition that the hot start probability is larger than the second probability threshold.
11. The method of claim 1, wherein the determining the target deployment mode of the function based on a power performance relationship of the function in the case that the function belongs to the native function, the power performance relationship being used to characterize a degree of sensitivity of function performance to power, comprises:
Determining a primary function secondary type of the function based on the power performance relationship of the function, the primary function secondary type including a power sensitive primary function and a non-power sensitive primary function, in a case the function belongs to the primary function;
determining that the target deployment mode of the function is a third deployment mode under the condition that the function belongs to the power sensitive native function, wherein the power sensitive native function is isolated from other types of functions and supports hot start in the third deployment mode;
and under the condition that the function belongs to the non-power sensitive native function, determining the target deployment mode of the function as a first deployment mode, wherein the non-power sensitive native function is merged with the tail function and deployed in the first deployment mode, and supporting hot start.
12. A function deployment apparatus, the apparatus comprising:
the processing module is used for determining a primary function type of the function based on a triggering interval of the function, wherein the primary function type comprises a native function and a tail function, the probability that the native function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode;
The processing module is further configured to determine, based on a power performance relationship of the function, a target deployment mode of the function, where the function belongs to the native function, and the power performance relationship is used to characterize a sensitivity degree of the function performance to power;
the processing module is further configured to determine, based on the hot start yield of the function, a target deployment mode of the function, where an energy efficiency of the function in the target deployment mode is higher than energy efficiency in other deployment modes, in a case where the function belongs to the tail function;
and the deployment module is used for deploying the function in a server of the cloud computing platform by adopting the target deployment mode.
13. A server comprising a processor and a memory having stored therein at least one instruction that is loaded and executed by the processor to implement the function deployment method of any of claims 1 to 11.
14. The cloud computing platform is characterized in that a control server and a function operation server are arranged in the cloud computing platform, and communication connection is established between the control server and the function operation server;
The control server is used for determining a primary function type of the function based on a triggering interval of the function, the primary function type comprises a native function and a tail function, the probability that the native function enjoys hot start benefits is higher than the probability that the tail function enjoys hot start benefits, and the hot start benefits refer to benefits brought by running the function in a hot start mode;
determining a target deployment mode of the function based on a power performance relation of the function under the condition that the function belongs to the native function, wherein the power performance relation is used for representing the sensitivity degree of the function performance to power;
determining a target deployment mode of the function based on the hot start yield of the function under the condition that the function belongs to the tail function, wherein the energy efficiency of the function in the target deployment mode is higher than that in other deployment modes;
and deploying the function in the function running server by adopting the target deployment mode.
15. A computer readable storage medium having stored therein at least one instruction that is loaded and executed by a processor to implement the function deployment method of any of claims 1 to 11.
CN202211168310.5A 2022-09-23 2022-09-23 Function deployment method and device, server and cloud computing platform Pending CN116541160A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211168310.5A CN116541160A (en) 2022-09-23 2022-09-23 Function deployment method and device, server and cloud computing platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211168310.5A CN116541160A (en) 2022-09-23 2022-09-23 Function deployment method and device, server and cloud computing platform

Publications (1)

Publication Number Publication Date
CN116541160A true CN116541160A (en) 2023-08-04

Family

ID=87454761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211168310.5A Pending CN116541160A (en) 2022-09-23 2022-09-23 Function deployment method and device, server and cloud computing platform

Country Status (1)

Country Link
CN (1) CN116541160A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270888A (en) * 2023-11-24 2023-12-22 之江实验室 Cloud application deployment method, system, device and computer equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270888A (en) * 2023-11-24 2023-12-22 之江实验室 Cloud application deployment method, system, device and computer equipment
CN117270888B (en) * 2023-11-24 2024-04-16 之江实验室 Cloud application deployment method, system, device and computer equipment

Similar Documents

Publication Publication Date Title
Liu et al. Dependent task placement and scheduling with function configuration in edge computing
US8954487B2 (en) Management server and method for providing cloud computing service
CN1717645B (en) Apparatus and method for multi-threaded processors performance control
CN108900626B (en) Data storage method, device and system in cloud environment
CN105117285B (en) A kind of nonvolatile memory method for optimizing scheduling based on mobile virtual system
CN111338779B (en) Resource allocation method, device, computer equipment and storage medium
WO2022095815A1 (en) Graphics card memory management method and apparatus, device, and system
CN110990154B (en) Big data application optimization method, device and storage medium
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
JP2023526883A (en) Scheduling methods, computing devices, and storage media for tasks
CN116541160A (en) Function deployment method and device, server and cloud computing platform
CN117251275B (en) Multi-application asynchronous I/O request scheduling method, system, equipment and medium
CN110795323A (en) Load statistical method, device, storage medium and electronic equipment
Spivak et al. Data preloading and data placement for MapReduce performance improving
CN109408230B (en) Docker container deployment method and system based on energy consumption optimization
CN115208900B (en) Multi-cloud architecture cloud service resource scheduling method based on blockchain and game model
CN115480902A (en) Multi-core processor energy-saving scheduling method, device and medium associated with periodic tasks
Du et al. A combined priority scheduling method for distributed machine learning
CN116932156A (en) Task processing method, device and system
US11429420B2 (en) Method for controlling performance in virtualized environment and information processing device for the same
JP2580525B2 (en) Load balancing method for parallel computers
CN114217956A (en) Container cluster deployment method and device and computer equipment
Ullah et al. Task priority-based cached-data prefetching and eviction mechanisms for performance optimization of edge computing clusters
CN116188239B (en) Multi-request concurrent GPU (graphics processing unit) graph random walk optimization realization method and system
Bakni et al. Survey on improving the performance of MapReduce in Hadoop

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination