CN112445589A - Service dispatching equipment and method - Google Patents

Service dispatching equipment and method Download PDF

Info

Publication number
CN112445589A
CN112445589A CN202010363096.3A CN202010363096A CN112445589A CN 112445589 A CN112445589 A CN 112445589A CN 202010363096 A CN202010363096 A CN 202010363096A CN 112445589 A CN112445589 A CN 112445589A
Authority
CN
China
Prior art keywords
service
dispatch
existing service
working node
estimated
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
CN202010363096.3A
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.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
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 Institute for Information Industry filed Critical Institute for Information Industry
Publication of CN112445589A publication Critical patent/CN112445589A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

A service dispatch apparatus and a service dispatch method are disclosed. The service dispatch device stores an unfitness table that records, for each of a plurality of worker nodes, a plurality of predetermined unfitness degrees corresponding respectively to a plurality of predetermined service complexities. The service dispatching device calculates an existing service complexity of an existing service, and calculates an estimated non-suitability of each working node with respect to the existing service according to the existing service complexity and the unfitness table. Then, the service dispatching device calculates a dispatching probability of each working node according to the estimated unsuitability, selects a target working node from the working nodes based on the dispatching probabilities, and dispatches the existing service to the target working node.

Description

Service dispatching equipment and method
Technical Field
The embodiment of the invention relates to service dispatching equipment and a service dispatching method. More particularly, embodiments of the present invention relate to a service deployment apparatus and a service deployment method for service deployment based on the degree of unsuitability of a worker node for a service.
Background
Most of the conventional service assignment methods are based on the computing capability of a working node (e.g., a computer, a mobile phone, a tablet computer, etc.), but such service assignment methods are not suitable in some cases. For example, conventional service dispatch methods tend to dispatch highly-time-consuming services to highly-computing worker nodes, but the highly-time-consuming services do not necessarily need to be completed as early as possible (i.e., the time to complete the highly-time-consuming services is less than the time the system expects to complete the services), so in this case, it is not suitable for the highly-computing worker nodes to handle the highly-time-consuming services. Likewise, conventional service dispatch methods tend to dispatch medium time-consuming services to medium computing power worker nodes, but handling medium time-consuming services by medium computing power worker nodes is not suitable in cases where medium time-consuming services need to be completed as early as possible. In view of the above, it is important to provide a service dispatching method capable of dispatching a service according to the relevance between the service and a working node in the technical field of the present invention.
Disclosure of Invention
In order to solve at least the above problems, an embodiment of the present invention provides a service dispatch apparatus. The service dispatch device may include a memory and a processor electrically coupled to the memory. The memory may be configured to store an unfitness table that records, for each of a plurality of working nodes, a plurality of predetermined unfitness degrees corresponding to a plurality of predetermined service complexities, respectively. The processor is configured to calculate an existing service complexity of an existing service, and calculate an estimated non-suitability of each of the working nodes with respect to the existing service based on the existing service complexity and the unfitness table. The processor is further configured to calculate a dispatch probability for each of the plurality of worker nodes based on the estimated inequalities, and select a target worker node from the plurality of worker nodes to dispatch the existing service to the target worker node based on the dispatch probabilities.
In order to solve at least the above problems, embodiments of the present invention further provide a service dispatching method performed by a service dispatching device. The service dispatch device may store an unfitness table that records, for each of a plurality of worker nodes, a plurality of predetermined unfitness degrees corresponding to a plurality of predetermined service complexities, respectively. The service dispatch method may comprise the steps of:
calculating an existing service complexity of an existing service;
calculating an estimated non-suitability of each working node relative to the existing service according to the complexity of the existing service and the unfitness table;
calculating a dispatch probability of each working node according to the estimated inappropriateness; and
based on the dispatch probabilities, a target worker node is selected from the plurality of worker nodes and the existing service is dispatched to the target worker node.
Unlike the traditional service dispatching method which only uses the computing power of the working node as the basis of service dispatching, the service dispatching device in the embodiment of the invention dispatches the service according to the unsuitability between the service and the working node, thereby effectively improving the defects of the traditional service dispatching method. Therefore, the effects of optimizing the system performance and controlling the completion time of the application program can be at least realized.
This summary describes the core concepts of the invention in their entirety and encompasses problems that may be solved, means that may be employed, and efficiencies that may be achieved to provide a basic understanding of the invention to those skilled in the art to which the invention pertains. It should be understood, however, that the summary is not intended to summarize all embodiments of the invention, but is merely a brief summary of the disclosure that is presented to present the core concepts of the invention in a simplified form as an introduction to the detailed description that follows.
Drawings
Fig. 1 illustrates a schematic diagram of a service dispatch system in one or more embodiments of the invention.
Fig. 2 is a schematic diagram illustrating a service dispatch method performed by a service dispatch device in one or more embodiments of the invention.
Description of the reference numerals
1: service dispatch device
11: memory device
111: unfitness meter
12: processor with a memory having a plurality of memory cells
13: existing services
2: service dispatching method
201. 202, 203, 204: step (ii) of
N1, N2, N3: working node
S1: service dispatch system
TN: target work node
Detailed Description
The following description of the various embodiments is not intended to limit the present invention to the particular embodiments described, but rather to limit the invention to the particular embodiments described, environments, structures, processes, or steps described. In the drawings, elements not directly related to the present invention have been omitted. In the drawings, the sizes of the components and the ratios between the components are merely examples, and are not intended to limit the present invention. In the following, the same (or similar) reference numerals may correspond to the same (or similar) elements, except where specifically noted.
Fig. 1 illustrates a schematic diagram of a service dispatch system in one or more embodiments of the invention. The illustration in fig. 1 is for the purpose of illustrating embodiments of the invention only and is not intended to be limiting thereof.
Referring to fig. 1, in a service dispatch system S1, a service dispatch apparatus 1 may include a memory 11 and a processor 12 electrically connected to the memory 11. The electrical connection between the memory 11 and the processor 12 may be direct (i.e. not connected to each other by other elements) or indirect (i.e. connected to each other by other elements). The service dispatch apparatus 1 can be connected to a plurality of working nodes via a wired network or a wireless network, or the service dispatch apparatus 1 can be directly connected to the plurality of working nodes via a connection line. The plurality of worker nodes may each be a physical device with computing capabilities, such as, but not limited to: mobile phones, tablet computers, notebook computers, internet of things devices, and the like. In some embodiments, all or a portion of the plurality of worker nodes may also be virtual machines deployed on physical devices.
For convenience of explanation, taking fig. 1 as an example, the service dispatch apparatus 1 is connected to the worker node N1, the worker node N2, and the worker node N3. In addition, the service dispatching apparatus 1 can select one of the working nodes N1, N2 and N3 as a target working node TN, and dispatch an existing service 13 included in an application to the target working node TN. The application generally refers to an application program that functions to achieve a specific purpose in the service dispatch system S1. For example, the application may be an image object recognition process, or a dynamic inventory prediction process, or the like. The existing service 13 generally refers to a task that is divided from the application in order to implement the application. For example, in the case of image object recognition, the existing service 13 may be a recognition and inference calculation task, or a recognition model download task, etc.
The processor 12 may be a microprocessor (micro processor), a microcontroller (micro controller), or the like having a signal processing function. The microprocessor or microcontroller is a programmable special integrated circuit, which has the functions of operation, storage, output/input, etc., and can accept and process various coded instructions to perform various logic operations and arithmetic operations and output corresponding operation results. Processor 12 may be programmed to interpret various instructions to process data in service dispatch device 1 and to execute various algorithms.
The memory 11 can be used to store data generated by the service dispatch apparatus 1, data transmitted from an external device, or data inputted by the user. The memory 11 may include a first level memory (also known as main memory or internal memory) and the processor 112 may directly read the set of instructions stored within the first level memory and execute these sets of instructions as needed. The memory 11 may optionally include a second level memory (also referred to as an external memory or an auxiliary memory), and this memory may transfer stored data to the first level memory through a data buffer. By way of example, the second level memory may be, but is not limited to: hard disks, optical disks, and the like. The memory 11 may optionally include a third level memory, i.e., a storage device that can be directly plugged into or unplugged from a computer, such as a portable hard disk.
The memory 11 may be used to store a fitness table 111. The unfitness table 111 can record, for each of the worker node N1, the worker node N2, and the worker node N3, a plurality of preset unfitness corresponding respectively to a plurality of preset service complexities. For each working node, the predetermined inadequacies recorded in the inadequacies table 111 reflect the inadequacies of the services with the predetermined service complexities. The smaller the predetermined unsuitability indicates that the working node is more suitable for performing the service having the service complexity corresponding to the predetermined unsuitability.
The processor 12 may be used to initialize the unfitness table 111. In some embodiments, the processor 12 may determine the initial value of each default non-suitability in the unfitness table 111 according to the results of performing the predetermined services one or more times respectively by the working node N1, the working node N2, and the working node N3. Each preset service has a preset service complexity that does not fit in the table 111. These default services may come from one or more applications.
In some embodiments, processor 12 may alternatively directly determine an initial value for each preset non-fitness in non-fitness table 111. For example, the initial value of each default non-fitness in the non-fitness table 111 may be set to zero. Although such initialization may result in a less than optimal result of the first service dispatch, the result of the service dispatch is gradually matched as the processor 12 dynamically updates the predetermined inadequacies (described in detail below) in the inadequacies table 111 based on the results of the service executions by working node N1, working node N2, and working node N3.
In some embodiments, the service complexity of a service, whether the existing service complexity of the existing service 13 or each default service complexity in the unfitness table 111, may refer to a ratio of a normal operating cost of the service to an expected operating cost of the service. The normal operating cost of a service may be expressed as the average operating time required for a work node to complete the service, and the expected operating cost of the service may be expressed as the ideal operating time for a user to expect the work node to complete the service.
In principle, a class of service requires a non-fitness table 111 to keep track of its service complexity. For example, if the plurality of services include more than two service categories, such as a calculation category and a transmission category, two unfitness tables 111 are required to record the service complexity of the service corresponding to the calculation category and the transmission category, respectively. However, if there is a conversion relationship between more than two service classes, the service dispatch can be completed by using only one unfitness table 111 through the conversion relationship. Therefore, in some embodiments, the processor 12 may implement the conversion by using a complexity adjustment parameter when calculating the service complexity of each service. At this time, the service complexity may be calculated as shown in equation 1:
Figure BDA0002475667020000051
among them:
"s" represents the service complexity of a service;
"StdCost" represents the normal operating cost of the service;
"PreferCost" represents the expected operating cost of the service; and is
"Factor" represents a complexity adjustment parameter.
For example, assume that an image object recognition application includes a recognition and inference calculation service and a recognition and inference model download service, the normal operation cost and the expected operation cost of the IDC service are the average operation time (e.g. 3.5 seconds) and the ideal operation time (e.g. 0.7 seconds) for completing an IDC operation, and the normal operation cost and the expected operation cost of the IDC download service are the file size (e.g., 200MB) and the ideal download time (e.g., 2 seconds) for completing a IDC download, then, when calculating the service complexity of the recognition and inference calculation service and the recognition and inference model download service, the Factor in equation 1 can be set to 1 and 0.1 respectively to convert the service complexity of the inference calculation service and the inference model download service into the same level. Services belonging to the same hierarchy level can be compared and their service complexity can be recorded in the same unfitness table 111.
Upon completion of the initialization of the unfitness table 111, the processor 12 may dispatch for each existing service 13. First, the processor 12 may calculate an existing service complexity of the existing service 13 according to equation 1. For example, if the existing service 13 can be a recognition and inference operation service divided from an image object recognition application, and its normal operation cost is "10 seconds", the expected operation cost is "1 second", and the complexity adjustment parameter is "1", the existing service complexity of the existing service 13 is "10".
After calculating the existing service complexity of the existing service 13, the processor 12 may calculate an estimated degree of incompatibility of each of the working node N1, the working node N2, and the working node N3 with respect to the existing service 13 according to the existing service complexity and the table 111. For example, the processor 12 may calculate the estimated non-fitness of the worker node N1, the worker node N2, and the worker node N3 for the existing service 13 according to equation 2:
Figure BDA0002475667020000061
among them:
"i" represents the serial number of the working node;
"μ" represents the existing service complexity of the existing service 13;
「Fi(mu) represents the estimated unsuitability of the ith working node for the existing service 13 with the existing service complexity [ mu ]
"s" represents the default service complexity in the unfitness table 111;
"S" represents the default service complexity set in the unfitness table 111;
「Ti(s) represents the predetermined unsuitability of the ith working node for the service with the predetermined service complexity "s" in the unsuitability table 111; and is
"g (s, μ, σ)" represents a Gaussian function, and its mean and standard deviation are "μ" and "σ", respectively.
According to equation 2, the value of the gaussian function "g (s, μ, σ)" is larger as the difference between the default service complexity "s" and the current service complexity "μ" in the unfitness table 111 is smaller. In other words, according to the formula 2, the predetermined mismatch degree "T" corresponding to the predetermined service complexity "s" with small difference can be increasedi(s) and weakens the predetermined mismatch "" T "" corresponding to the predetermined service complexity "" s "" with large variancei(s) weight of.
For example, assuming the unfitness table 111 is shown in table one, the standard deviation "σ" of the gaussian function "g (s, μ, σ)" is "1", and the existing service complexity of the existing service 13 is "10", the estimated unfitness of the working node N1 is "F1" according to equation 2N1(10) 10 × g (5,10,1) +0 × g (10,10,1) +20 × g (15,10,1) ═ 0.00001487083+0+0.00002974167 ═ 0.00004461251 ″. Similarly, according to equation 2, the operating node N2 has an estimated degree of mismatching "F" with respect to the existing service 13N2(10) 10.0000297417, and the estimated fitness "" F "" of the working node N3 to the existing service 13N2(10) Is "20.0000148708".
Figure BDA0002475667020000062
Figure BDA0002475667020000071
< TABLE I >)
After calculating the estimated incorrectness for the working nodes N1, N2, and N3, respectively, the processor 12 may calculate a selection weight for each of the working nodes according to the estimated incorrectness. For example, in some embodiments, the processor 12 may use a ratio of the largest of the plurality of estimated incorrectness degrees to each of the estimated incorrectness degrees as a selection weight for each of the working nodes corresponding to the existing service. Thus, the selection weight of the working node N1 is
Figure BDA0002475667020000072
The selection weight of the working node N2 is
Figure BDA0002475667020000073
Figure BDA0002475667020000074
The selection weight of the working node N3 is
Figure BDA0002475667020000075
Processor 12 may further normalize the selection weights of worker node N1, worker node N2, and worker node N3 to calculate dispatch probabilities for worker nodes N1, N2, and N3, respectively. At this time, the dispatch probability of the working node N1 is
Figure BDA0002475667020000076
The dispatch probability of the working node N2 is
Figure BDA0002475667020000077
The dispatch probability of the working node N3 is
Figure BDA0002475667020000078
Processor 12 may select a target worker node from the worker nodes N1, N2, N3 based on their dispatch probabilities. In this example, processor 12 may select working node N1 with the highest dispatch probability as target working node TNTo dispatch the existing service 13 to worker node N1 for processing.
In some embodiments, processor 12 may dynamically update the preset non-fitness in non-fitness table 111. For example, after the worker node N1 (i.e., the target worker node TN) completes the existing service 13, the processor 12 may calculate an estimated performance of the worker node N1 for the existing service 13 according to the following formula 3, and update the predetermined non-suitability degrees associated with the worker node N1 in the non-suitability table 111 according to absolute differences between the estimated performance and the predetermined service complexities in the non-suitability table 111.
T'i(S)=Ti(S)+[|Ri(μ)-S|-Ti(S)]×g(S,μ,σ)
< formula 3 >
Among them:
"S" represents the default service complexity set in the unfitness table 111;
「Ti(S) represents the original preset fitness set of the ith working node in the fitness table 111;
「Ti' (S) "indicates a new default unsuitability set to be used for updating the original default unsuitability set;
"μ" represents the service complexity of the existing service 13;
「Ri(μ) represents the performance of the ith working node estimated for the existing service 13 with the existing service complexity "μ"; and is
"g (S, μ, σ)" represents a Gaussian function, and its mean and standard deviation are "μ" and "σ", respectively;
"μ" represents the service complexity of the existing service 13; and is
"σ" represents the update range parameter.
In equation 3, the absolute value of the difference | R between the estimated performance and each of the default service complexities in the unfitness table 111iThe (mu) -S | can be essentially considered as an ideal degree of incompatibility corresponding to each preset service complexity. In addition, according to equation 3, the processor 12 may determine not to be determined by the standard deviation "σ" of the Gaussian function "g (S, μ, σ)"The adjusted amplitude of the originally preset unfitness set in the suitability table 111. Considering that the computing power of the working node may fluctuate in some systems (e.g., the internet of things system), the processor 12 may limit the amplitude of the adjustment of each preset unfitness in the unfitness table 111 through the gaussian function so as to prevent the amplitude adjustment from being adversely affected by the change of the computing power of the working node.
In some embodiments, the performance "R" of the ith working node is estimated for the existing service 13 with the existing service complexity "μi(μ)' may be represented by formula 4:
Figure BDA0002475667020000081
among them:
"i" represents the serial number of the working node;
"μ" represents the existing service complexity of the existing service 13;
"P" represents the expected operating cost of the existing service 13;
「Ci"represents the actual operating cost of the ith working node for the existing service 13;
"L" represents a system loading parameter; and is
"θ" represents a performance tuning parameter.
In equation 4, the system load parameter "L" may reflect the load condition of the service dispatch system S1, i.e., the system load parameter "L" is positively correlated to the load condition of the service dispatch system S1. For example, in some embodiments, the system load parameter "L" may be the number of worker nodes in the service dispatch system S1.
Since the average value "μ" is used to represent the current service complexity of the current service 13, the performance "R" of the ith working node is estimated for the current service 13 with the current service complexity "μ" according to equations 1 and 4i(μ) ", may also be represented by formula 5:
Figure BDA0002475667020000091
where "StdCost" represents an actual operating cost of the target worker node TN to complete the existing service 13. From the 5 th formula, the performance R is estimatedi(μ) corresponds to a product of a ratio of a normal operating cost of the existing service 13 to an actual operating cost of the target operating node TN for completing the existing service 13 and a performance tuning parameter "θ".
In some embodiments, the performance tuning parameter "θ" may be represented by equation 6:
Figure BDA0002475667020000092
among them:
"min { }" means selecting the minimum value;
"max { }" denotes selecting the maximum value;
"i" represents the serial number of the working node;
「Ci"represents the actual operating cost of the ith working node for the existing service 13;
"P" represents the expected operating cost of the existing service 13; and is
"L" represents a system load parameter.
According to equation 6, the performance tuning parameter "θ" is a real number between zero and one, and the value of the performance tuning parameter "θ" is less than one when the actual operating cost of the existing service 13 is less than the expected operating cost. From the combination of equations 5 and 6, when the value of the performance tuning parameter θ is equal to one, the performance R is estimatedi(μ) represents the actual performance of the ith working node for the existing service 13 of the existing service complexity [ μ ] (i.e., the
Figure BDA0002475667020000093
) Is not adjusted, and when the value of the performance tuning parameter theta is less than one, the performance R is estimatedi(mu) represents the actual effect of the ith working node on the existing service 13 with the existing service complexity [ mu ]Can be turned down. In addition, according to equation 6, the smaller the system loading parameter "L", the more significant the effect of the performance tuning parameter "θ" will be. Therefore, combining the 5 th and 6 th expressions, it can be further understood that the performance tuning parameter "θ" can lower the estimated performance "R" of the target working node TN relative to the current service 13 when the system load is low (i.e., the system load parameter "L" is small) and when the target working node TN is a high performance working node (i.e., the actual cost of the current service 13 is less than the expected cost of the current service)i(μ) to increase the likelihood that less complex services will be dispatched to the high performance worker node (i.e., the target worker node TN). This is because the frequency with which high performance nodes are allocated to services is relatively low because high complexity services are less frequently present in lower capacity systems, and the estimated performance "R" of the high performance nodes is reduced by the performance tuning parameter "θi(mu) can increase the frequency of high performance node.
For example, assuming that the expected execution time (i.e., the expected operation cost) of the existing service 13 is "1 second", the actual execution time (i.e., the actual operation cost) of the working node N1 (i.e., the target working node TN) for the existing service 13 is "0.8 seconds", and the system load parameter "L" is the number of the working nodes N1, N2, N3 (i.e., three), the performance tuning parameter of the working node N1 can be obtained as follows according to equation 6:
Figure BDA0002475667020000101
Figure BDA0002475667020000102
then according to formula 4, the
Figure BDA0002475667020000103
Figure BDA0002475667020000104
This is the estimated performance of the worker node N1 on the existing service 13. Next, according to the formula 3, a new default unfitness set "T" is obtainedi′(S) ", i.e.," T'N1(5)=10+[|12.5-5|-10]×g(5,10,1)=9.999」、「T'N1(10)=0+[|12.5-10|-0]X g (10,10,1) ═ 0.997'N1(15)=20+[|12.5-15|-20]X g (15,10,1) ═ 19.999 ″. According to the above calculation, the original preset service complexity of the relevant working node N1 in the unfitness table 111 is updated as shown in table two:
working node/preset service complexity 5 10 15
Working node N1 9.999 0.997 19.999
Working node N2 0 10 20
Working node N3 10 20 0
< TABLE two >
From the table two, it can be seen that the default mismatch for the default service with the default service complexity of "5" and "15" is slightly decreased by about "0.001", while the default mismatch for the default service with the default service complexity of "10" is increased by "0.997".
Fig. 2 is a schematic diagram illustrating a service dispatch method performed by a service dispatch device in one or more embodiments of the invention. The illustration in fig. 2 is for the purpose of illustrating an embodiment of the invention only and is not intended to be limiting.
Fig. 2 shows a service dispatching method 2 performed by a service dispatching device, which stores an unfitness table, and the unfitness table records a plurality of preset unfitness degrees respectively corresponding to a plurality of preset service complexities for each of a plurality of working nodes. The service dispatch method 2 may comprise the steps of:
calculating an existing service complexity (denoted as 201) for an existing service;
calculating an estimated non-suitability (denoted as 202) of each of the working nodes with respect to the existing service based on the existing service complexity and the unfitness table;
calculating a dispatch probability (denoted as 203) for each of the working nodes according to the estimated incorrectness; and
based on the dispatch probabilities, a target worker node is selected from the plurality of worker nodes and the existing service is dispatched to the target worker node (designated 204).
In some embodiments, regarding the service dispatch method 2, each estimated unfitness is an aggregate of a plurality of predetermined unfitness of the corresponding working node in the unfitness table multiplied by a gaussian function, an average of the gaussian function being the existing service complexity.
In some embodiments, with respect to the service dispatch method 2, the dispatch probabilities are calculated by the service dispatch equipment by normalizing the ratio of the highest of the estimated incorrectness to each of the estimated incorrectness.
In some embodiments, regarding service dispatch method 2, the existing service complexity is a ratio of a normal operating cost of the existing service to an expected operating cost of the existing service.
In some embodiments, regarding service dispatch method 2, the existing service complexity is a ratio of a normal operating cost of the existing service to an expected operating cost of the existing service. In addition, the service dispatch method 2 may further include the following steps:
calculating an estimated performance of the target working node, wherein the estimated performance is a product of a ratio of the normal operation cost of the existing service to an actual operation cost of the target working node for completing the existing service and a performance adjustment parameter; and
updating the default non-appropriateness associated with the target working node in the unfitness table according to absolute differences between the estimated performance and the default service complexities.
In some embodiments, regarding the service dispatch method 2, the existing service complexity is a ratio of a normal operating cost of the existing service to an expected operating cost of the existing service, and the service dispatch method 2 further comprises the following steps:
calculating an estimated performance of the target working node, wherein the estimated performance is a product of a ratio of the normal operation cost of the existing service to an actual operation cost of the target working node for completing the existing service and a performance adjustment parameter; and
updating the default non-appropriateness associated with the target working node in the unfitness table according to absolute differences between the estimated performance and the default service complexities. In addition, the performance tuning parameter can be defined as:
Figure BDA0002475667020000121
wherein min { } denotes a selected minimum value, max { } denotes a selected maximum value, x denotes a ratio of the actual operation cost of the target working node for completing the existing service to the expected operation cost of the existing service, and L denotes the number of the plurality of working nodes.
In some embodiments, regarding the service dispatch method 2, the existing service complexity is a ratio of a normal operating cost of the existing service to an expected operating cost of the existing service, and the service dispatch method 2 further comprises the following steps:
calculating an estimated performance of the target working node, wherein the estimated performance is a product of a ratio of the normal operation cost of the existing service to an actual operation cost of the target working node for completing the existing service and a performance adjustment parameter; and
updating the default non-appropriateness associated with the target working node in the unfitness table according to absolute differences between the estimated performance and the default service complexities. In addition, the service dispatching device updates the preset incorrectness degrees related to the target working node according to the product of the difference between each absolute value of the difference and the corresponding preset incorrectness degree and a Gaussian function, wherein the average value of the Gaussian function is the current service complexity.
In some embodiments, the service dispatch method 2 may be performed by the service dispatch device 1. Since other corresponding embodiments of the service dispatch method 2 will be apparent to those skilled in the art from the above description of the service dispatch apparatus 1, the details thereof are not repeated herein.
Unlike the conventional service dispatching method that only uses the computing power of the working node as the basis for service dispatching, the service dispatching device 1 and the service dispatching method 2 in the embodiment of the present invention dispatch services according to the unfitness between the service and the working node, so that the shortcomings of the conventional service dispatching method can be effectively overcome. Therefore, the effects of optimizing the system performance and controlling the completion time of the application program can be at least realized. In addition, the service dispatching device 1 and the service dispatching method 2 have robust adaptability because they can adjust the non-adaptability in real time according to the actual execution status of the working node and the load status of the system.
The embodiments disclosed above are not intended to limit the present invention. Variations and modifications to the embodiments disclosed above, which would occur to those skilled in the art to which the invention pertains, are also within the scope of the invention. The scope of the invention is subject to the content of the claims.

Claims (14)

1. A service dispatch device, comprising:
a memory for storing an unfitness table that records, for each of a plurality of working nodes, a plurality of predetermined unfitness degrees respectively corresponding to a plurality of predetermined service complexities; and
a processor electrically connected to the memory for:
calculating an existing service complexity of an existing service;
calculating an estimated non-suitability of each working node relative to the existing service according to the complexity of the existing service and the unfitness table;
calculating a dispatch probability of each working node according to the estimated inappropriateness; and
based on the dispatch probabilities, a target worker node is selected from the plurality of worker nodes and the existing service is dispatched to the target worker node.
2. The apparatus of claim 1, wherein each estimated unfitness is a sum of a plurality of predetermined unfitness of the corresponding working node in the unfitness table multiplied by a gaussian function, and an average of the gaussian function is the current service complexity.
3. The service dispatch apparatus of claim 1, wherein the processor calculates the dispatch probabilities by normalizing a ratio of a highest of the estimated incorrectness to each of the estimated incorrectness.
4. The service dispatch apparatus of claim 1, wherein the existing service complexity is a ratio of a normal operating cost of the existing service to an expected operating cost of the existing service.
5. The service dispatch device of claim 4, wherein:
the processor is further configured to calculate an estimated performance of the target working node, the estimated performance being a product of a ratio of the normal operating cost of the existing service to an actual operating cost of the target working node to complete the existing service and a performance tuning parameter; and is
The processor is further configured to update the predetermined non-appropriateness associated with the target working node in the unfitness table based on absolute differences between the estimated performance and the predetermined service complexities, respectively.
6. The service dispatch device of claim 5, wherein the performance tuning parameter is defined as:
Figure FDA0002475667010000011
wherein min { } denotes a selected minimum value, max { } denotes a selected maximum value, x denotes a ratio of the actual operation cost of the target working node for completing the existing service to the expected operation cost of the existing service, and L denotes the number of the plurality of working nodes.
7. The service dispatch apparatus of claim 5, wherein the processor updates the plurality of predetermined mismatches associated with the target working node according to a product of a difference between each absolute value of the difference and the corresponding predetermined mismatch and a Gaussian function whose mean is the current service complexity.
8. A service dispatching method performed by a service dispatching device, wherein the service dispatching device stores an unfitness table, the unfitness table records a plurality of preset unfitness degrees respectively corresponding to a plurality of preset service complexities for each of a plurality of working nodes, the service dispatching method comprising:
calculating an existing service complexity of an existing service;
calculating an estimated non-suitability of each working node relative to the existing service according to the complexity of the existing service and the unfitness table;
calculating a dispatch probability of each working node according to the estimated inappropriateness; and
based on the dispatch probabilities, a target worker node is selected from the plurality of worker nodes and the existing service is dispatched to the target worker node.
9. The method of claim 8 wherein each estimated misappropriateness is a sum of a plurality of predetermined misappropriateness of the corresponding working node in the misappropriateness table multiplied by a gaussian function whose average is the current service complexity.
10. The method of claim 8, wherein the dispatch probabilities are calculated by the service dispatch equipment by normalizing the ratio of the highest of the estimated incorrectness to each of the estimated incorrectness.
11. The method of claim 8, wherein the existing service complexity is a ratio of a normal operating cost of the existing service to an expected operating cost of the existing service.
12. The service dispatch method of claim 11, further comprising:
calculating an estimated performance of the target working node, wherein the estimated performance is a product of a ratio of the normal operation cost of the existing service to an actual operation cost of the target working node for completing the existing service and a performance adjustment parameter; and
updating the default non-appropriateness associated with the target working node in the unfitness table according to absolute differences between the estimated performance and the default service complexities.
13. The service dispatch method of claim 12, wherein the performance tuning parameter is defined as:
Figure FDA0002475667010000021
wherein min { } denotes a selected minimum value, max { } denotes a selected maximum value, x denotes a ratio of the actual operation cost of the target working node for completing the existing service to the expected operation cost of the existing service, and L denotes the number of the plurality of working nodes.
14. The method of claim 12, wherein the service dispatching device updates the plurality of predetermined mismatches associated with the target working node according to a product of a difference between each of the absolute difference values and the corresponding predetermined mismatch and a gaussian function whose average is the current service complexity.
CN202010363096.3A 2019-09-05 2020-04-30 Service dispatching equipment and method Pending CN112445589A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108132068 2019-09-05
TW108132068A TWI724531B (en) 2019-09-05 2019-09-05 Equipment and method for assigning services

Publications (1)

Publication Number Publication Date
CN112445589A true CN112445589A (en) 2021-03-05

Family

ID=74733130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010363096.3A Pending CN112445589A (en) 2019-09-05 2020-04-30 Service dispatching equipment and method

Country Status (2)

Country Link
CN (1) CN112445589A (en)
TW (1) TWI724531B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039581A1 (en) * 2000-01-18 2001-11-08 Yuefan Deng System for balance distribution of requests across multiple servers using dynamic metrics
US20050154625A1 (en) * 2004-01-14 2005-07-14 Agency For Science, Technology And Research Finite capacity scheduling using job prioritization and machine selection
US20120096466A1 (en) * 2009-02-05 2012-04-19 Wei Sun Method, system and program for deadline constrained task admission control and scheduling using genetic approach
CN103729246A (en) * 2013-12-31 2014-04-16 浪潮(北京)电子信息产业有限公司 Method and device for dispatching tasks
CN106126323A (en) * 2016-06-17 2016-11-16 四川新环佳科技发展有限公司 Real-time task scheduling method based on cloud platform
CN107844879A (en) * 2017-06-27 2018-03-27 北京小度信息科技有限公司 Order allocation method and device
CN109643247A (en) * 2016-07-20 2019-04-16 世界线公司 The multi-standard adaptive scheduling of mixing cloud infrastructure for market orientation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656973B (en) * 2014-11-25 2018-11-13 中国科学院声学研究所 Method for scheduling task and system in a kind of distributed node group
TWM557395U (en) * 2017-11-28 2018-03-21 Momo Com Inc Distributed task scheduling execution system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039581A1 (en) * 2000-01-18 2001-11-08 Yuefan Deng System for balance distribution of requests across multiple servers using dynamic metrics
US20050154625A1 (en) * 2004-01-14 2005-07-14 Agency For Science, Technology And Research Finite capacity scheduling using job prioritization and machine selection
US20120096466A1 (en) * 2009-02-05 2012-04-19 Wei Sun Method, system and program for deadline constrained task admission control and scheduling using genetic approach
CN103729246A (en) * 2013-12-31 2014-04-16 浪潮(北京)电子信息产业有限公司 Method and device for dispatching tasks
CN106126323A (en) * 2016-06-17 2016-11-16 四川新环佳科技发展有限公司 Real-time task scheduling method based on cloud platform
CN109643247A (en) * 2016-07-20 2019-04-16 世界线公司 The multi-standard adaptive scheduling of mixing cloud infrastructure for market orientation
CN107844879A (en) * 2017-06-27 2018-03-27 北京小度信息科技有限公司 Order allocation method and device

Also Published As

Publication number Publication date
TWI724531B (en) 2021-04-11
TW202111574A (en) 2021-03-16

Similar Documents

Publication Publication Date Title
US10679145B2 (en) System and method for balancing computation with communication in parallel learning
WO2018170454A2 (en) Using different data sources for a predictive model
CN105739917A (en) Electronic system with learning mechanism and method of operation thereof
CN112513886B (en) Information processing method, information processing apparatus, and information processing program
US20200401891A1 (en) Methods and apparatus for hardware-aware machine learning model training
WO2020148482A1 (en) Apparatus and a method for neural network compression
JP2021072103A (en) Method of quantizing artificial neural network, and system and artificial neural network device therefor
US11138042B2 (en) System and method of identifying equivalents for task completion
CN115081598B (en) Operator processing method and device, electronic equipment and computer readable storage medium
CN114925651A (en) Circuit routing determination method and related equipment
CN104077187A (en) Method and system for scheduling execution of application programs
CN112445589A (en) Service dispatching equipment and method
CN111738424A (en) Neural network processing method, neural network processing device, electronic equipment and storage medium
US20170308574A1 (en) Method and apparatus for reducing query processing time by dynamically changing algorithms and computer readable medium therefor
CN109561152B (en) Data access request response method, device, terminal and storage medium
CN113342781B (en) Data migration method, device, equipment and storage medium
TW202219750A (en) Machine learning model training method, electronic device, controller, and storage medium
CN112988275A (en) Task perception-based mobile edge computing multi-user computing unloading method
CN113033815A (en) Intelligent valve cooperation control method, device, equipment and storage medium
WO2020223575A1 (en) Pipelined-data-transform-enabled data mover system
CN112052004A (en) Function parameter optimization method, compiler, chip and electronic equipment
US20100057656A1 (en) Device, system, and method of determining a solution scheme of a poly-algorithm solver
WO2024045175A1 (en) Optimization of executable graph for artificial intelligence model inference
CN117574111B (en) BMS algorithm selection method, device, equipment and medium based on scene state
US20230214646A1 (en) Method and system for searching deep neural network architecture

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