CN112445589A - Service dispatching equipment and method - Google Patents
Service dispatching equipment and method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006870 function Effects 0.000 claims description 18
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques 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
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:
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:
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".
< 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 isThe selection weight of the working node N2 is The selection weight of the working node N3 is
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:
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:
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:
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) 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: then according to formula 4, the 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:
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:
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:
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.
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)
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)
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 |
-
2019
- 2019-09-05 TW TW108132068A patent/TWI724531B/en active
-
2020
- 2020-04-30 CN CN202010363096.3A patent/CN112445589A/en active Pending
Patent Citations (7)
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 |