WO2024020897A1 - 在计算设备之间分配计算任务的方法、装置及存储介质 - Google Patents

在计算设备之间分配计算任务的方法、装置及存储介质 Download PDF

Info

Publication number
WO2024020897A1
WO2024020897A1 PCT/CN2022/108402 CN2022108402W WO2024020897A1 WO 2024020897 A1 WO2024020897 A1 WO 2024020897A1 CN 2022108402 W CN2022108402 W CN 2022108402W WO 2024020897 A1 WO2024020897 A1 WO 2024020897A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing
resource utilization
rule
data point
sub
Prior art date
Application number
PCT/CN2022/108402
Other languages
English (en)
French (fr)
Inventor
张海涛
王琪
于禾
张跃华
Original Assignee
西门子股份公司
西门子(中国)有限公司
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 西门子股份公司, 西门子(中国)有限公司 filed Critical 西门子股份公司
Priority to PCT/CN2022/108402 priority Critical patent/WO2024020897A1/zh
Publication of WO2024020897A1 publication Critical patent/WO2024020897A1/zh

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/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present invention relates to the field of data processing technology, in particular to methods, devices and storage media for allocating computing tasks between computing devices.
  • Data sets and rule sets are typically large, requiring significant computing power to handle computational tasks on the data sets and rule sets.
  • the computing power of a single computing device is usually limited, and computing tasks often need to be distributed among multiple computing devices.
  • Embodiments of the present invention provide methods, devices and storage media for allocating computing tasks between computing devices.
  • a method of allocating computing tasks among computing devices comprising:
  • a relationship matrix is determined.
  • the element A ij in the relationship matrix represents the applicable relationship between the i-th data point and the j-th rule, where m, n, i and j are all positive integers, i is less than or equal to m, j is less than or equal to n;
  • the rearranged relationship matrix is divided into balanced blocks with respect to the computing tasks to obtain multiple sub-blocks, where the sum of the non-zero elements of each sub-block is a measure of the computing tasks of the sub-block. measurement factor;
  • the computing tasks of each sub-block are assigned to the corresponding computing devices.
  • the embodiment of the present invention uses a matrix method to map data points and their rules, which is conducive to uniform distribution of many data points with many rules, thereby improving resource utilization. Furthermore, the embodiment of the present invention uses the sum of non-zero elements of a sub-block as a measurement factor to measure the computing tasks of the sub-block, which is conducive to load-balanced distribution of computing tasks, thereby facilitating high-quality execution of computing tasks. In addition, the embodiment of the present invention can intelligently allocate computing tasks based on constraints, thereby improving controllability.
  • the A ij when the j-th rule applies to the i-th data point, the A ij is 1; when the j-th rule does not apply to the i-th data point, the A ij ij is 0.
  • elements in the relationship matrix can be assigned values based on the rule application status to facilitate implementation.
  • the A ij when the j-th rule applies to the i-th data point, the A ij is k; when the j-th rule does not apply to the i-th data point, the A ij ij is 0;
  • the elements in the relationship matrix can be assigned values based on the rule application status, the operation weight of the data point and the operation weight of the rule. Therefore, the element value also reflects the operation weight of the data point and the operation weight of the rule, which is convenient for Accurately allocate computing tasks.
  • it also includes:
  • the constraints include at least one of the following constraints:
  • the number of computing devices The number of computing devices; the computing capabilities of the computing devices; the geographical location of the computing devices; the work schedule of the computing devices; the type of computing devices.
  • it also includes:
  • balancing the rearranged relationship matrix with respect to computing tasks includes:
  • the measurement factor of the allocated sub-block is lower than the predetermined first measurement factor threshold, and for a computing device whose historical resource utilization is lower than the second resource utilization
  • the calculation device of the rate threshold value the metric factor of the allocated sub-block is higher than the predetermined second metric factor threshold value.
  • it also includes:
  • the rearranged relationship matrix is divided into blocks again, wherein the computing tasks allocated to the computing device are reduced;
  • the rearranged relationship matrix is divided into blocks again, wherein the computing tasks allocated to the computing device are increased;
  • the resource utilization is stored in the resource library.
  • the allocation results can be adjusted based on feedback from the computing device, thereby improving the accuracy of allocation.
  • An apparatus for allocating computing tasks between computing devices comprising:
  • the determination module is configured to determine a relationship matrix based on a data point set containing m data points and a rule set containing n rules.
  • the element A ij in the relationship matrix represents the relationship between the i-th data point and the j-th rule. Applicable relations, where m, n, i and j are all positive integers, i is less than or equal to m, and j is less than or equal to n;
  • a rearrangement module configured to rearrange the relationship matrix to move non-zero elements in the relationship matrix closer to a diagonal
  • the blocking module is configured to perform balanced blocking on the computing tasks of the rearranged relationship matrix based on the constraints of the computing device to obtain multiple sub-blocks, where the sum of the non-zero elements of each sub-block is measured The measurement factor of the computational tasks of this sub-block;
  • the allocation module is configured to allocate the computing tasks of each sub-block to the corresponding computing device.
  • the embodiment of the present invention uses a matrix method to map data points and their rules, which is conducive to uniform distribution of many data points with many rules, thereby improving resource utilization.
  • the embodiment of the present invention uses the sum of non-zero elements of a sub-block as a measurement factor to measure the computing tasks of the sub-block, which is beneficial to load-balanced distribution of computing tasks, thereby facilitating high-quality execution of computing tasks.
  • the embodiment of the present invention can intelligently allocate computing tasks based on constraints, thereby improving controllability.
  • the A ij when the j-th rule applies to the i-th data point, the A ij is 1; when the j-th rule does not apply to the i-th data point, the A ij ij is 0.
  • elements in the relationship matrix can be assigned values based on the rule application status to facilitate implementation.
  • the A ij when the j-th rule applies to the i-th data point, the A ij is k; when the j-th rule does not apply to the i-th data point, the A ij ij is 0;
  • the elements in the relationship matrix can be assigned values based on the rule application status, the operation weight of the data point and the operation weight of the rule. Therefore, the element value also reflects the operation weight of the data point and the operation weight of the rule, which is convenient for Accurately allocate computing tasks.
  • the blocking module is configured to receive user input including the constraint; extract the constraint from the user input; wherein the constraint includes at least one of the following constraint factors A: The number of computing devices; the computing power of the computing devices; the geographical location of the computing devices; the work schedule of the computing devices; the type of computing devices.
  • the blocking module is configured to retrieve historical resource utilization of the computing device from the resource library; for computing devices whose historical resource utilization is higher than the first resource utilization threshold, The metric factor of the allocated sub-block is lower than the predetermined first metric factor threshold. For a computing device whose historical resource utilization is lower than the second resource utilization threshold, the metric factor of the allocated sub-block is higher than the predetermined The threshold value of the second measurement factor.
  • the blocking module is configured to receive a feedback message including resource utilization from a computing device that performs the assigned computing task; when the resource utilization exceeds a preset third resource utilization When the threshold value is reached, the rearranged relationship matrix is divided into blocks again, in which the computing tasks allocated to the computing device are reduced; when the resource utilization is lower than the preset fourth resource utilization threshold When the limit value is reached, the rearranged relationship matrix is divided into blocks again, in which the computing tasks assigned to the computing device are increased; and the resource utilization rate is stored in the resource library.
  • the allocation results can be adjusted based on feedback from the computing device, thereby improving the accuracy of allocation.
  • An electronic device including:
  • the processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the method for allocating computing tasks among computing devices as described in any one of the above.
  • a computer-readable storage medium has computer instructions stored thereon. When the computer instructions are executed by a processor, the method for allocating computing tasks between computing devices is implemented as described in any one of the above.
  • a computer program product includes a computer program that, when executed by a processor, implements the method for allocating computing tasks between computing devices as described in any one of the above items.
  • FIG. 1 is an exemplary flowchart of a method of allocating computing tasks among computing devices according to an embodiment of the present invention.
  • FIG. 2 is an exemplary schematic diagram of a relationship matrix according to an embodiment of the present invention.
  • Figure 3 is an exemplary schematic diagram of rearranging a relationship matrix according to an embodiment of the present invention.
  • Figure 4 is an exemplary schematic diagram of blocking a relationship matrix according to an embodiment of the present invention.
  • FIG. 5 is an exemplary schematic diagram of a relationship matrix with operation weights according to an embodiment of the present invention.
  • FIG. 6 is an exemplary schematic diagram of rearrangement and blocking of a relationship matrix with operation weights according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of an exemplary process for allocating computing tasks among computing devices according to an embodiment of the present invention.
  • Figure 8 is an exemplary structural diagram of an apparatus for allocating computing tasks among computing devices according to an embodiment of the present invention.
  • FIG. 9 is an exemplary structural diagram of an electronic device according to an embodiment of the present invention.
  • the computing device may be implemented with numerical calculation capabilities and/or logical calculation capabilities, preferably also with a storage memory function.
  • the computing device may be implemented as a personal computer (PC), a mobile terminal, a personal digital assistant (PDA), a palmtop computer, a server, or the like.
  • the computing device can be implemented as a programmable logic controller (PLC), an industrial host, a cloud processing device, or an industrial edge device, etc.
  • PLC programmable logic controller
  • All the data from a data point is named a data set, and all the rules for processing the data are named a rule set.
  • Data sets and rule sets are typically large, requiring significant computing power to handle computational tasks on the data sets and rule sets. For example, approximately 40,000 data points can be obtained from WinCC OA, and a total of approximately 500 process rules will be used to process these data points. For this scenario, the data set and rule set need to be divided into multiple small sets to facilitate the distribution of computing tasks to multiple computing devices executing respective small sets.
  • FIG. 1 is an exemplary flowchart of a method of allocating computing tasks among computing devices according to an embodiment of the present invention.
  • the method includes:
  • Step 101 Based on the data point set containing m data points and the rule set containing n rules, determine the relationship matrix.
  • the element A ij in the relationship matrix represents the applicable relationship between the i-th data point and the j-th rule, where m , n, i and j are all positive integers, i is less than or equal to m, and j is less than or equal to n.
  • Aij is 1 when the jth rule applies to the ith data point; Aij is 0 when the jth rule does not apply to the ith data point. Therefore, each element in the relationship matrix can be assigned a value based on the rule application status to facilitate implementation.
  • each data point only requires a few rules to process, but there are a total of multiple rules for all data points.
  • each rule is used in many data points, so the total number of rules is also large. But for each data point, it only uses a few rules, not all of them.
  • the relationship matrix of data points and rules the number of number 0s is significantly greater than the number of number 1s, so the relationship matrix usually behaves as a sparse matrix. Starting from the sparse matrix, the relationship between data points and rules can be clearly expressed.
  • FIG. 2 is an exemplary schematic diagram of a relationship matrix according to an embodiment of the present invention.
  • the data point set contains m data points, namely DP1, DP2, DP3...DPm.
  • the rule set contains n rules, namely R1, R2, R3...Rn.
  • the relationship matrix A can be determined.
  • the relationship matrix A is a matrix of m rows and n columns arranged by m ⁇ n elements A ij , which is referred to as an m ⁇ n matrix.
  • the order of row m is DP1 in row 1, DP2 in row 2, DP3 in row 3, until DPm in row m; the order of columns n is R1 in column 1, DP3 in column 2.
  • a ij is located in the i-th row and j-th column of matrix A. Based on whether the j-th rule applies to the i-th data point, the value of A ij is determined. Among them: A ij is 1 when the j-th rule applies to the i-th data point; A ij is 0 when the j-th rule does not apply to the i-th data point.
  • a 11 in row 1 and column 1 is equal to 1, which means that the first rule R1 applies to the first data point DP1.
  • a 12 at row 1, column 1 is equal to 1, which means rule 2, R2, applies to data point 1, DP1.
  • a 13 in row 1 column 3 is equal to 0 which means the 3rd rule R3 does not apply to the 1st data point DP1.
  • the value of each element in the relationship matrix A is determined.
  • the relationship matrix B of the n ⁇ m matrix can be used to describe the applicable relationship between the rule set and the data point set.
  • the n ⁇ m relationship matrix B consists of n ⁇ m elements B ji arranged into a matrix of n rows and m columns. Among them, the sequence of n rows is R1 in row 1, R2 in row 2, R3 in row 3, until Rn in row n; the sequence of m columns is DP1 in column 1, DP2 in column 2, R3 in row 3, respectively.
  • the element value when the rule is applied to the data point, the element value is 1, and when the rule is applied to the data point, the element value is zero. This does not distinguish the difference in operation volume between the rules and does not distinguish between the data points.
  • the mapping method of operation difference has the advantage of convenient implementation.
  • Step 102 Rearrange the relationship matrix to move the non-zero elements in the relationship matrix closer to the diagonal.
  • Matrix bandwidth is the maximum length from a nonzero element to the matrix diagonal.
  • the relationship matrix is reordered (i.e. rearranged) by exchanging rows and columns to reduce the bandwidth of the relationship matrix.
  • Some algorithms can be used to reduce matrix bandwidth, for example, the Inverse Cuthill-McGee (RCM) algorithm is a popular algorithm. After rearrangement, non-zero elements are aligned on the diagonal of the matrix and other elements are zero. Therefore, for sparse matrices, the RCM algorithm can reduce the bandwidth of the matrix.
  • there are other bandwidth minimum algorithms to reduce matrix bandwidth such as column count sort, minimum degree sort, etc.
  • These algorithms can also be used to rearrange relationship matrices.
  • the algorithm with the best rearrangement effect is selected to perform the rearrangement process.
  • Rearrangement processing often involves the replacement of rows or columns. Replacement of rows or columns cannot change the relationship between data points and their corresponding rules.
  • Figure 3 is an exemplary schematic diagram of rearranging a relationship matrix according to an embodiment of the present invention.
  • the relationship matrix 31 before rearrangement is transformed into the rearrangement relationship matrix 32.
  • both rows and columns in the relationship matrix 32 have been replaced.
  • the first row D1 in the relationship matrix 31 is transformed into the last row in the relationship matrix 32
  • the second row R2 in the relationship matrix 31 is transformed into the third column in the relationship matrix 32, and so on.
  • the non-zero elements in the relationship matrix 32 are moved as close to the diagonal as possible (in a "best effort" manner).
  • Step 103 Based on the constraints of the computing device, perform balanced block partitioning on the computing tasks on the rearranged relationship matrix to obtain multiple sub-blocks, where the sum of the non-zero elements of each sub-block is a measure of the sub-block. Calculate the measurement factor of the task.
  • the method further includes: receiving user input including a constraint; extracting the constraint from the user input; wherein the constraint includes at least one of the following constraint factors: a number of computing devices; computing capabilities of the computing device; computing The geographical location of the device; the work schedule of the computing device; the type of computing device, etc. It can be seen that the constraints have multiple implementation methods, which is helpful to improve the applicability.
  • Count the number of devices For example, up to 10 computing devices can participate in distributing computing tasks.
  • each computing device can calculate up to 50 data points and their corresponding rules.
  • the geographical location of the computing device For example, constraining computing devices in specific geographical locations to participate or not participate in the allocation of computing tasks, or constraining computing devices to be in the same geographical location as the data points they process, etc.
  • Type of computing device For example, constraining certain types of computing devices to only process certain types of data points, etc.
  • the rearranged relationship matrix is divided into balanced blocks with respect to the computing tasks to obtain multiple sub-blocks, where the sum of the non-zero elements of each sub-block is a measure of the computing tasks of the sub-block. factor. For example, when the constraint is 10 computing devices with the same computing power, the rearranged relationship matrix is divided into balanced blocks to obtain 10 sub-blocks, in which a best-effort approach is used to make each sub-block non-zero. The sum of the elements is the same.
  • Step 104 Allocate the computing tasks of each sub-block to the corresponding computing devices.
  • Figure 4 is an exemplary schematic diagram of blocking a relationship matrix according to an embodiment of the present invention.
  • the relationship matrix 41 is divided into two sub-blocks, namely sub-block 42 and sub-block 43.
  • the sum of the non-zero elements of the sub-block 42 is 7, and the sum of the non-zero elements of the sub-block 43 is 7.
  • the computational tasks of sub-block 42 and sub-block 73 are the same.
  • the calculation tasks of sub-block 42 include: executing rule R1 on data point D1, executing rule R2 on data point D1, executing rule R2 on data point D2, executing rule R3 on data point D2, executing rule R2 on data point D3, and executing rule R2 on data point D2. Execute rule R3 on point D3 and execute rule R4 on data point D3.
  • the calculation tasks of sub-block 432 include: executing rule R3 on data point D4, executing rule R4 on data point D4, executing rule R4 on data point D5, executing rule R5 on data point D5, executing rule R5 on data point D6, and executing rule R5 on data point D5.
  • Sub-block 42 and sub-block 43 may be assigned to two computing devices respectively, and the computing devices specifically perform respective computing tasks.
  • FIG. 5 is an exemplary schematic diagram of a relationship matrix with operation weights according to an embodiment of the present invention.
  • the first row is the data point D1, the operation weight of D1 is d1, the second row is the data point D2, the operation weight of D2 is d2...The mth row is the data point Dm, Dm The operation weight is dm; the first column is rule R1, and the operation weight of R1 is r1. The second column is rule R2, and the operation weight of R2 is r2...The nth column is rule Rn, and the operation weight of Rn is rn. .
  • Aij is 0 when the jth rule does not apply to the ith data point.
  • Relationship matrix 52 is exemplary in which elements have weights.
  • FIG. 6 is an exemplary schematic diagram of rearrangement and blocking of a relationship matrix with operation weights according to an embodiment of the present invention.
  • a relationship matrix 62 is obtained. It is assumed that the number of computing devices specified in the constraints to participate in the distribution of computing tasks is 2, and the computing capabilities of each computing device are the same.
  • the relationship matrix 62 is divided into two sub-blocks whose sums of non-zero elements are approximately the same in a best-effort manner using the sum of non-zero elements as a measurement factor to measure the computational tasks of the sub-blocks. For example, it is divided into a first block 63 and a second block 64.
  • the sum of the non-zero elements of the first block 63 is 14.5; the sum of the non-zero elements of the second block 64 is 18. Then, the computing task volume of the first block 63 is allocated to the first device, and the computing task volume of the second block 64 is allocated to the second device.
  • the embodiment of the present invention uses a matrix method to map data points and their rules, which is conducive to uniform distribution of many data points with many rules, thereby improving resource utilization. Furthermore, the embodiment of the present invention uses the sum of non-zero elements of a sub-block as a measurement factor to measure the computing tasks of the sub-block, which is conducive to load-balanced distribution of computing tasks, thereby facilitating high-quality execution of computing tasks. In addition, the embodiment of the present invention can intelligently allocate computing tasks based on constraints, thereby improving controllability.
  • the method further includes: retrieving the historical resource utilization rate of the computing device from the resource library; based on the constraints of the computing device, performing balanced partitioning of the computing tasks on the rearranged relationship matrix includes: for the historical resources For computing devices with a utilization rate higher than the first resource utilization threshold, the measurement factor of the allocated sub-block is lower than the predetermined first measurement factor threshold; for historical resource utilization lower than the second resource utilization threshold The calculation device of the value, the metric factor of the allocated sub-block is higher than the predetermined second metric factor threshold value. Therefore, balanced chunking of computing tasks can be performed based on historical resource utilization, and the impact of historical resource utilization on current chunking is also taken into consideration, thereby ensuring the accuracy of chunking.
  • the method further includes: receiving a feedback message containing resource utilization from a computing device that executes the assigned computing task; and rescheduling when the resource utilization exceeds a preset third resource utilization threshold.
  • the rearranged relationship matrix is divided into blocks again, in which the computing tasks allocated to the computing device are reduced; when the resource utilization is lower than the preset fourth resource utilization threshold, the rearranged relationship matrix is divided again. Blocks in which computing tasks allocated to computing devices are increased; resource utilization is stored in the resource base. It can be seen that the allocation results can be adjusted based on feedback from the computing device, thereby improving the accuracy of allocation.
  • the embodiments of the present invention specifically include:
  • Step 1 Enter data points and processing rules. First, make it clear which data points are to be obtained and the rules that should be used for each data point. All data points and their rules can be entered into a file or table by manual or other methods. Different data points and rules can be given their own weights.
  • Step 2 Automatically generate the relationship matrix. From the file generated in step 1, the relationship matrix can be obtained automatically. Data points are set to row identifiers and rules are set to column identifiers in sequence. The values of the elements in the relationship matrix can be calculated, where the corresponding element value in the matrix is set to the product of the data point and the rule weight factor if the data point uses which rule, otherwise it is set to zero. In most cases, the matrix is a sparse matrix.
  • Step 3 Rearrange the algorithm.
  • different rearrangement algorithms are used and an optimization algorithm is selected.
  • the relationship matrix is then rearranged using the chosen algorithm.
  • the relationship matrix is rearranged through algorithms such as Cuthill-McKee or RCM to reduce the bandwidth of the relationship matrix and make non-zero elements evenly distributed on the diagonal of the matrix.
  • the initialized names of rows and columns should be preserved in each permutation, which means that if the initialized name d1 of the first row is permuted to the second row, the name of the second row after rearrangement should also be is d1.
  • Step 4 Obtain the rearrangement matrix.
  • Step 5 Resource constraint input. Before chunking the relationship matrix, the corresponding resource information should be obtained. This means on which resource the allocated data block will be run. Resource capabilities limit the size of data blocks.
  • Step 6 Assign the relationship matrix.
  • the rearrangement matrix is divided into different sub-blocks under the resource constraints entered in step 5.
  • information can be exchanged with the resource performance library to gain empirical value.
  • the relationship matrix can be divided into sub-blocks, each of which has similar sums of weights of data points and rules.
  • Step 7 Query and response between resource performance library and chunking algorithm.
  • the resource performance library stores historical data about resource performance.
  • the chunking algorithm queries the resource performance library to obtain reference information, such as historical resource utilization for each computing device.
  • the allocated sub-blocks For computing devices with higher historical resource utilization (for example, higher than the first resource utilization threshold), the allocated sub-blocks have smaller measurement factors (for example, lower than the predetermined first measurement factor threshold);
  • the weighting factor of the allocated sub-block is higher (for example, higher than the predetermined second weighting factor threshold). It can be seen that this ensures load balancing of computing devices.
  • Step 8 Output the allocated sub-blocks.
  • the relationship matrix is divided into several sub-matrices (i.e., sub-blocks), and each sub-matrix is a divided data block.
  • the rows are sets of data points and the columns are sets of rules.
  • the elements of the submatrix are the weighted results between data points and rules. Each subset has a similar weighted sum of results.
  • Step 9 Deploy the allocated sub-block to the edge device and verify. To verify the performance, an allocated sub-block is selected and deployed to the edge device. If performance is good, the edge device will send feedback to the chunking algorithm module that chunking is complete. If the performance is not good, the edge device also sends feedback to the blocking algorithm module, telling it that the blocking is not good, and repeat steps 6 to 9 until good performance is obtained.
  • Step 10 Record to resource performance library. Finally, the information of edge devices with good performance is recorded into the resource performance library. Information includes edge device hardware information, data point set size and rules, etc. Usually the rules are executed in order, for example, rule 1 is executed, then rule 3 is executed, but in a rearranged matrix, the order may be changed to rule 3, rule 1. At this point, the rule execution order will need to be changed to the correct order after assignment.
  • FIG. 7 is a schematic diagram of an exemplary process for allocating computing tasks among computing devices according to an embodiment of the present invention.
  • a large number of data points and rules 78 are input to the computing task allocation device 80.
  • Data parsing 70 parses the data points and rules 78 to determine which rule(s) apply to which data point, as well as the operation weight of each data point and the operation weight of each rule.
  • a sparse matrix 71 is obtained.
  • the sparse matrix 71 is rearranged to obtain a rearrangement matrix 73 such that the non-zero elements in the rearrangement matrix 73 are moved closer to the diagonal in a best-effort manner.
  • the rearrangement matrix 73 is balanced and divided based on the historical resource utilization of each edge device provided by the resource library, and we obtain p sub-blocks 751, 752...75p, where the sum of the non-zero elements of each sub-block is a measure of the computational task of that sub-block.
  • the p sub-blocks 751, 752...75p correspond to p edge devices 76 one-to-one, and execute respective sub-blocks respectively.
  • each edge device 76 feeds back the resource utilization rate when processing its respective sub-block to the blocking processing 74.
  • the blocking processing 74 will re-block and adjust the corresponding sub-blocks.
  • the edge devices 77 send their respective resource utilization rates to the resource library 77 for storage.
  • IE industrial edge devices
  • Each IE collects data from multiple data points.
  • the raw data will be preprocessed on the IE side and then sent to the upper layer.
  • the performance of IE often varies due to the number of data points collected and preprocessing rules.
  • on-site data points can be regrouped and distributed to different IEs through load balancing. To do this, the data points and preprocessing rules of each IE are first aggregated into one IE, then these data points are regrouped to achieve load balancing, and finally each edge device uses its rules to preprocess the regrouped data points.
  • one IE When aggregating all data points and rules into one IE, one IE is selected as the master IE (MIE) where the auto-allocator and resource performance library are deployed.
  • MIE master IE
  • IE management software is run to listen for other IE requests. For other IEs, broadcast packets are sent during the initialization phase to find the MIE, the MIE receives the broadcast and sends ACK to the IE, and then the IE and MIE communicate with the unicast packets.
  • MIE establishes a connection with other IE, MIE will obtain the data points, rules and performance information of other IE. MIE fetches all data points and their rules one by one, which means MIE also knows which rules are required for each data point.
  • the data points are repartitioned to achieve load balancing.
  • the auto-assigner gets all the data points and rule information, it will represent the data points and rules through a sparse matrix. Rearrange the matrix and divide the data points and rules into subgroups through load balancing. During this process, you can access the resource performance library to gain experience points. Additionally, if a data point is collected in one IE but its data is preprocessed in another IE, the cost of sending the data from the IE to the other should be considered in the allocation process.
  • WinCC is also a distributed software that acquires field data, processes and displays the data.
  • the embodiment of the present invention can also be used to divide the field data into several parts to ensure load balancing of the WinCC servers.
  • FIG. 8 is an exemplary structural diagram of an apparatus for allocating computing tasks among computing devices according to an embodiment of the present invention.
  • an apparatus 800 for allocating computing tasks among computing devices includes:
  • the determination module 801 is configured to determine a relationship matrix based on a data point set containing m data points and a rule set containing n rules.
  • the element A ij in the relationship matrix represents the application of the i-th data point and the j-th rule. relationship, where m, n, i and j are all positive integers, i is less than or equal to m, and j is less than or equal to n;
  • Rearrangement module 802 is configured to rearrange the relationship matrix to move non-zero elements in the relationship matrix closer to the diagonal;
  • the blocking module 803 is configured to perform balanced blocking on the rearranged relationship matrix with respect to the computing tasks based on the constraints of the computing device to obtain multiple sub-blocks, where the sum of the non-zero elements of each sub-block is a measure of the Measuring factors for the computational tasks of sub-blocks;
  • the allocation module 804 is configured to allocate the computing tasks of each sub-block to the corresponding computing device.
  • Aij is 1 when the jth rule applies to the ith data point; Aij is 0 when the jth rule does not apply to the ith data point.
  • the blocking module 803 is configured to receive user input including constraints; extract the constraints from the user input; wherein the constraints include at least one of the following constraint factors: the number of computing devices; The computing power; the geographical location of the computing device; the work schedule of the computing device; the type of computing device.
  • the blocking module 803 is configured to retrieve the historical resource utilization of the computing device from the resource library; for the computing device whose historical resource utilization is higher than the first resource utilization threshold, the allocated The metric factor of the sub-block is lower than the predetermined first metric factor threshold. For a computing device whose historical resource utilization is lower than the second resource utilization threshold, the metric factor of the allocated sub-block is higher than the predetermined second Measurement factor threshold.
  • the blocking module 803 is configured to receive a feedback message containing resource utilization from a computing device that executes an assigned computing task; when the resource utilization exceeds a preset third resource utilization threshold, When , the rearranged relationship matrix is divided into blocks again, in which the computing tasks assigned to the computing device are reduced; when the resource utilization is lower than the preset fourth resource utilization threshold, the rearranged relationship matrix is The relationship matrix is again partitioned, where the computing tasks assigned to the computing devices are increased; the resource utilization is stored in the resource base.
  • FIG. 9 is an exemplary structural diagram of an electronic device according to an embodiment of the present invention.
  • the electronic device 900 includes a processor 901, a memory 902, and a computer program stored in the memory 902 and executable on the processor 901.
  • the memory 902 can be implemented as various storage media such as electrically erasable programmable read-only memory (EEPROM), flash memory (Flash memory), programmable programmable read-only memory (PROM), etc.
  • the processor 901 may be implemented to include one or more central processing units or one or more field programmable gate arrays, where the field programmable gate array integrates one or more central processing unit cores.
  • the central processing unit or central processing unit core may be implemented as a CPU, an MCU, a DSP, or the like.
  • each step is not fixed and can be adjusted as needed.
  • the division of each module is only for the convenience of describing the functional division. In actual implementation, one module can be implemented by multiple modules, and the functions of multiple modules can also be implemented by the same module. These modules can be located on the same device. , or it can be on a different device.
  • the hardware modules in various embodiments may be implemented mechanically or electronically.
  • a hardware module may include specially designed permanent circuits or logic devices (such as a dedicated processor such as an FPGA or ASIC) to perform specific operations.
  • Hardware modules may also include programmable logic devices or circuits (eg, including general-purpose processors or other programmable processors) temporarily configured by software to perform specific operations.
  • programmable logic devices or circuits eg, including general-purpose processors or other programmable processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施方式公开了在计算设备之间分配计算任务的方法、装置及存储介质。方法包括:基于包含m个数据点的数据点集及包含n个规则的规则集,确定关系矩阵,关系矩阵中的元素Aij表征第i个数据点与第j个规则的适用关系;重排关系矩阵,以将关系矩阵中的非零元素移至靠近对角线;基于计算设备的约束条件,对重排后的关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子;将每个子块的计算任务,分配给对应的计算设备。利用矩阵方式映射数据点和规则,将具有许多规则的许多数据点负载均衡地划分为子集,提高资源利用率,还可以基于约束条件和资源历史记录智能地分配计算任务。

Description

在计算设备之间分配计算任务的方法、装置及存储介质 技术领域
本发明涉及数据处理技术领域,特别是在计算设备之间分配计算任务的方法、装置及存储介质。
背景技术
为了确保生产的可靠性和连续性,许多工厂开始收集现场数据(field data),以提高生产透明度和/或对生产设备进行预测性维护。大量的现场数据点会产生巨大的数据量。同时,存在处理这些数据的过程规则,例如过滤或求和,等等。来自数据点的所有数据被命名为数据集,而处理数据的所有规则被命名为规则集。
数据集和规则集通常都很大,因此需要强大的计算能力来处理关于数据集和规则集的计算任务。单个计算设备的计算能力通常有限,经常需要在多个计算设备之间分配计算任务。
然而,如何在计算设备之间合理分配计算任务是个尚待解决的技术问题。尤其是,在计算资源宝贵的边缘设备侧,这个问题更加突出。
发明内容
本发明实施方式提出在计算设备之间分配计算任务的方法、装置及存储介质。
一种在计算设备之间分配计算任务的方法,所述方法包括:
基于包含m个数据点的数据点集及包含n个规则的规则集,确定关系矩阵,所述关系矩阵中的元素A ij表征第i个数据点与第j个规则的适用关系,其中m、n、i和j均为正整数,i小于或等于m,j小于或等于n;
重排所述关系矩阵,以将所述关系矩阵中的非零元素移至靠近对角线;
基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子;
将每个子块的计算任务,分配给对应的计算设备。
可见,本发明实施方式利用矩阵方式映射数据点及其规则,有利于统一分配具有许多规则的许多数据点,从而提高资源利用率。而且,本发明实施方式以子块的非零元素之和作为衡量该子块的计算任务的衡量因子,有利于负载均衡地分配计算任务,从而有利于高质量执行计算任务。另外,本发明实施方式可以基于约束条件智能分配计算任务,提高了可控性。
在示范性实施方式中,当第j个规则适用于所述第i个数据点时,所述A ij为1;当第j个规则不适用于所述第i个数据点时,所述A ij为0。
因此,可以基于规则适用状况为关系矩阵中的元素赋值,便于实施。
在示范性实施方式中,当第j个规则适用于所述第i个数据点时,所述A ij为k;当第j个规则不适用于所述第i个数据点时,所述A ij为0;
其中k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。
因此,可以基于规则适用状况、数据点的运算量权重及规则的运算量权重,为关系矩阵中的元素赋值,因此元素值中还体现了数据点的运算量权重及规则的运算量权重,便于准确分配计算任务。
在示范性实施方式中,还包括:
接收包含所述约束条件的用户输入;
从所述用户输入中提取所述约束条件;
其中所述约束条件包括下列约束因子中的至少一个:
计算设备的数目;计算设备的计算能力;计算设备的地理位置;计算设备的工作进度安排;计算设备的类型。
可见,约束条件具有多种实施方式,有利于提高适用性。
在示范性实施方式中,还包括:
从资源库中检索所述计算设备的历史资源利用率;
所述基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块包括:
对于历史资源利用率高于第一资源利用率门限值的计算设备,所分配的 子块的衡量因子低于预定的第一衡量因子门限值,对于历史资源利用率低于第二资源利用率门限值的计算设备,所分配的子块的衡量因子高于预定的第二衡量因子门限值。
因此,可以基于历史资源利用率进行关于计算任务的均衡分块,还考虑到历史资源利用率对当前分块的影响,从而保证了分块的准确度。
在示范性实施方式中,还包括:
从执行分配到计算任务的计算设备接收包含资源利用率的反馈消息;
当所述资源利用率超过预先设定的第三资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被减少;
当所述资源利用率低于预先设定的第四资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被增加;
在资源库中存储所述资源利用率。
可见,可以基于计算设备的反馈调整分配结果,从而提高了分配的准确度。
一种在计算设备之间分配计算任务的装置,所述装置包括:
确定模块,被配置为基于包含m个数据点的数据点集及包含n个规则的规则集,确定关系矩阵,所述关系矩阵中的元素A ij表征第i个数据点与第j个规则的适用关系,其中m、n、i和j均为正整数,i小于或等于m,j小于或等于n;
重排模块,被配置为重排所述关系矩阵,以将所述关系矩阵中的非零元素移至靠近对角线;
分块模块,被配置为基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子;
分配模块,被配置为将每个子块的计算任务,分配给对应的计算设备。
可见,本发明实施方式利用矩阵方式映射数据点及其规则,有利于统一分配具有许多规则的许多数据点,从而提高资源利用率。而且,本发明实施方式以子块的非零元素之和作为衡量该子块的计算任务的衡量因子,有利于 负载均衡地分配计算任务,从而有利于高质量执行计算任务。另外,本发明实施方式可以基于约束条件智能分配计算任务,提高了可控性。
在示范性实施方式中,当第j个规则适用于所述第i个数据点时,所述A ij为1;当第j个规则不适用于所述第i个数据点时,所述A ij为0。
因此,可以基于规则适用状况为关系矩阵中的元素赋值,便于实施。
在示范性实施方式中,当第j个规则适用于所述第i个数据点时,所述A ij为k;当第j个规则不适用于所述第i个数据点时,所述A ij为0;
其中k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。
因此,可以基于规则适用状况、数据点的运算量权重及规则的运算量权重,为关系矩阵中的元素赋值,因此元素值中还体现了数据点的运算量权重及规则的运算量权重,便于准确分配计算任务。
在示范性实施方式中,所述分块模块,被配置为接收包含所述约束条件的用户输入;从所述用户输入中提取所述约束条件;其中所述约束条件包括下列约束因子中的至少一个:计算设备的数目;计算设备的计算能力;计算设备的地理位置;计算设备的工作进度安排;计算设备的类型。
可见,约束条件具有多种实施方式,有利于提高适用性。
在示范性实施方式中,所述分块模块,被配置为从资源库中检索所述计算设备的历史资源利用率;对于历史资源利用率高于第一资源利用率门限值的计算设备,所分配的子块的衡量因子低于预定的第一衡量因子门限值,对于历史资源利用率低于第二资源利用率门限值的计算设备,所分配的子块的衡量因子高于预定的第二衡量因子门限值。
因此,可以基于历史资源利用率进行关于计算任务的均衡分块,还考虑到历史资源利用率对当前分块的影响,从而保证了分块的准确度。
在示范性实施方式中,所述分块模块,被配置为从执行分配到计算任务的计算设备接收包含资源利用率的反馈消息;当所述资源利用率超过预先设定的第三资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被减少;当所述资源利用率低于预先设定 的第四资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被增加;在资源库中存储所述资源利用率。
可见,可以基于计算设备的反馈调整分配结果,从而提高了分配的准确度。
一种电子设备,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实施如上任一项所述的在计算设备之间分配计算任务的方法。
一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实施如上任一项所述的在计算设备之间分配计算任务的方法。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实施如上任一项所述的在计算设备之间分配计算任务的方法。
附图说明
下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
图1是根据本发明实施方式的在计算设备之间分配计算任务的方法的示范性流程图。
图2是根据本发明实施方式的关系矩阵的示范性示意图。
图3是根据本发明实施方式重排关系矩阵的示范性示意图。
图4是根据本发明实施方式对关系矩阵进行分块的示范性示意图。
图5是根据本发明实施方式具有运算量权重的关系矩阵的示范性示意图。
图6是根据本发明实施方式具有运算量权重的关系矩阵的重排和分块的示范性示意图。
图7是根据本发明实施方式计算设备之间分配计算任务的示范性过程示意图。
图8是根据本发明实施方式的在计算设备之间分配计算任务的装置的示 范性结构图。
图9是根据本发明实施方式电子设备的示范性结构图。
其中,附图标记如下:
Figure PCTCN2022108402-appb-000001
Figure PCTCN2022108402-appb-000002
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
计算设备可以实施为具有数值计算能力和/或逻辑计算能力,优选还具有存储记忆功能。比如,计算设备可以实施为个人计算机(PC)、移动终端、个人数字助理(PDA)、掌上型电脑、服务器,等等。当计算任务具体涉及 到工业场景时,计算设备可以实施为可编程逻辑器(PLC)、工业主机、云处理设备或工业边缘设备,等等。
来自数据点的所有数据被命名为数据集,而处理数据的所有规则被命名为规则集。数据集和规则集通常都很大,因此需要强大的计算能力来处理关于数据集和规则集的计算任务。例如,从WinCC OA中可以获取约40000个数据点,总共将使用约500个过程规则来处理这些数据点。对于这种场景,需要将数据集和规则集划分为多个小集,从而便于将计算任务分配给执行各自小集的多个计算设备。
图1是根据本发明实施方式的在计算设备之间分配计算任务的方法的示范性流程图。
如图1所示,该方法包括:
步骤101:基于包含m个数据点的数据点集及包含n个规则的规则集,确定关系矩阵,关系矩阵中的元素A ij表征第i个数据点与第j个规则的适用关系,其中m、n、i和j均为正整数,i小于或等于m,j小于或等于n。
在示范性实施方式中,当第j个规则适用于第i个数据点时,A ij为1;当第j个规则不适用于第i个数据点时,A ij为0。因此,可以基于规则适用状况为关系矩阵中的每个元素赋值,便于实施。
在大多数情况下,每个数据点只需要若干个规则来处理,但对于所有数据点,总共有多条规则。同时,每一条规则都会在许多数据点中使用,因此总的规则数量也很大。但对于每个数据点,它只使用几个规则,而不是所有规则。数据点和规则的关系矩阵中,数字0的数量显著大于数字1的数量,因此关系矩阵通常表现为稀疏矩阵。从稀疏矩阵出发,可以清晰地表示了数据点和规则之间的关系。
图2是根据本发明实施方式的关系矩阵的示范性示意图。假定数据点集中包含m个数据点,分别为DP1、DP2、DP3…DPm。规则集中包含n个规则,分别为R1、R2、R3…Rn。比如,可以确定出关系矩阵A,关系矩阵A由m×n个元素A ij排成的m行n列的矩阵,简称m×n矩阵。其中m行的排列顺序分别为第1行的DP1、第2行的DP2、第3行的DP3,直到第m行的DPm;n列的排列顺序分别为第1列的R1、第2列的R2、第3列的R3, 直到第n行的Rn。其中,A ij位于矩阵A的第i行第j列。基于第j个规则是否适用于第i个数据点,确定出A ij的值。其中:当第j个规则适用于第i个数据点时,A ij为1;当第j个规则不适用于第i个数据点时,A ij为0。
比如,由图2可见,第1行第1列的A 11等于1,这意味着第1个规则R1适用于第1个数据点DP1。第1行第1列的A 12等于1,这意味着第2个规则R2适用于第1个数据点DP1。第1行第3列的A 13等于0,这意味着第3个规则R3不适用于第1个数据点DP1。类似地,确定出关系矩阵A中的每个元素的值。
以上示范性描述了利用m×n矩阵的关系矩阵A,描述规则集与数据点集的适用关系。实际上,可以利用n×m矩阵的关系矩阵B,描述规则集与数据点集的适用关系。比如,n×m的关系矩阵B由n×m个元素B ji排成n行m列的矩阵。其中,n行顺序分别为第1行的R1、第2行的R2、第3行的R3,直到第n行的Rn;m列顺序分别为第1列的DP1、第2列的DP2、第3列的DP3,直到第m列的DPm;其中,B ij位于矩阵B的第i行第j列。基于第i个规则是否适用于第j个数据点,确定出B ij的值。
在上述实施方式中,当规则适用于数据点时,元素值为1,当规则适用于数据点时,元素值为零,这种不区分规则之间的运算量差异及不区分数据点之间的运算量差异的映射方式具有实施便利的优点。
然而,考虑到在实际应用中,规则之间通常具有运算量差异(比如,指数运算的运算量通常大于乘法运算,乘法运算的运算量通常大于加法运算,等等)以及数据点之间通常具有运算量差异(比如,来自于大型运算过程中的数据点的运算量通常大于小型运算过程中的数据点),优选进一步考虑到规则之间的运算量差异及数据点之间的运算量差异,实现关系矩阵中的每个元素的赋值。
在示范性实施方式中,当第j个规则适用于第i个数据点时,A ij为k;当第j个规则不适用于第i个数据点时,A ij为0;其中k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。因此,可以基于规则适用状况、数据点的运算量权重及规则的运算量权重,为关系矩阵中的元素赋值,因此元素值中还体现了数据点的运算量 权重及规则的运算量权重,便于准确分配计算任务。
步骤102:重排关系矩阵,以将关系矩阵中的非零元素移至靠近对角线。
在这里,对于作为稀疏矩阵的关系矩阵,其带宽可以通过重排其元素来减少。矩阵带宽是从非零元素到矩阵对角线的最大长度。在这里,通过行、列交换,对关系矩阵进行重新排序(即重排),以减小关系矩阵的带宽。一些算法可用于减少矩阵带宽,例如,逆卡特希尔-麦基(RCM)算法是一种流行的算法。重排后,非零元素在矩阵的对角线上对齐,其他元素为零。因此,对于稀疏矩阵,RCM算法可以减少矩阵的带宽。实际上,还有其他的带宽最小算法来减少矩阵带宽,例如列计数排序、最小度排序,等等。这些算法也可以用于重排关系矩阵。优选地,在所有这些重排算法中,选择出重排效果最好的算法以执行重排处理。在重排处理中,经常涉及行或列的置换。行或列的置换不能改变数据点之间的关系及其对应的规则。
图3是根据本发明实施方式重排关系矩阵的示范性示意图。重排前的关系矩阵31经过重排处理后,变换为重排后的关系矩阵32。由图3可见,关系矩阵32中的行和列都发生了置换。比如,关系矩阵31中的第一行D1,变换为关系矩阵32中的最后一行,关系矩阵31中的第二行R2,变换为关系矩阵32中的第三列,等等。而且,关系矩阵32中的非零元素,都尽量(以“尽力而为”方式)被移至靠近对角线。步骤103:基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子。
在示范性实施方式中,还包括:接收包含约束条件的用户输入;从用户输入中提取约束条件;其中约束条件包括下列约束因子中的至少一个:计算设备的数目;计算设备的计算能力;计算设备的地理位置;计算设备的工作进度安排;计算设备的类型,等等。可见,约束条件具有多种实施方式,有利于提高适用性。
比如,在约束条件中可以指定:
1、计算设备的数目。比如,最多10个计算设备参与分配计算任务。
2、计算设备的计算能力。比如,每个计算设备最多可以计算50个数据点及其对应规则。
3、计算设备的地理位置。比如,约束特定地理位置的计算设备参与或不参与计算任务的分配,或约束计算设备与其处理的数据点处于相同的地理位置,等等。
4、计算设备的工作进度安排。比如,约束特定时间内的计算设备参与或不参与计算任务的分配。
5、计算设备的类型。比如,约束特定类型的计算设备只处理特定类型的数据点,等等。
以上示范性描述了约束条件的典型实例,本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的保护范围。
在满足约束条件的前提下,对重排后的关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子。比如,当约束条件为10个计算能力相同的计算设备时,则对重排后的关系矩阵进行关于均衡分块,以得到10个子块,其中以尽力而为的方式使得每个子块的非零元素之和相同。
步骤104:将每个子块的计算任务,分配给对应的计算设备。
图4是根据本发明实施方式对关系矩阵进行分块的示范性示意图。
在图4中,关系矩阵41被分为两个子块,分别为子块42和子块43,其中子块42的非零元素之和为7,子块43的非零元素之和为7。将子块42和子块73的计算任务相同。子块42的计算任务包括:对数据点D1执行规则R1、对数据点D1执行规则R2、对数据点D2执行规则R2、对数据点D2执行规则R3、对数据点D3执行规则R2、对数据点D3执行规则R3和对数据点D3执行规则R4。子块432的计算任务包括:对数据点D4执行规则R3、对数据点D4执行规则R4、对数据点D5执行规则R4、对数据点D5执行规则R5、对数据点D6执行规则R5、对数据点D6执行规则R6和对数据点D7执行规则R6。可以将子块42和子块43分别分配给两个计算设备,由计算设备具体执行各自的计算任务。
图5是根据本发明实施方式具有运算量权重的关系矩阵的示范性示意图。
图5所示的元素关系矩阵51中,第一行为数据点D1,D1的运算量权重为d1,第二行为数据点D2,D2的运算量权重为d2…第m行为数据点Dm, Dm的运算量权重为dm;第一列为规矩R1,R1的运算量权重为r1,第二列为规矩R2,R2的运算量权重为r2…第n列为规矩Rn,Rn的运算量权重为rn。当第j个规则不适用于第i个数据点时,A ij为0。当第j个规则适用于第i个数据点时,A ij为k,k=d i*r j,其中d i为第i个数据点的运算量权重,r j为第j个规则的运算量权重。关系矩阵52为元素具有权重的示范性的。
图6是根据本发明实施方式具有运算量权重的关系矩阵的重排和分块的示范性示意图。元素具有权重的关系矩阵61重排后,得到关系矩阵62。假定约束条件中指定参与分配计算任务的计算设备的数目为2,且每个计算设备的计算能力相同。利用非零元素之和作为衡量子块的计算任务的衡量因子,以尽力而为方式将关系矩阵62分块为非零元素之和近似相同的两个子块。比如,分为第一分块63和第二分块64,其中第一分块63的非零元素之和为14.5;第二分块64的非零元素之和为18。然后,将第一分块63的计算任务量分配给第一设备,第二分块64的计算任务量分配给第二设备。
可见,本发明实施方式利用矩阵方式映射数据点及其规则,有利于统一分配具有许多规则的许多数据点,从而提高资源利用率。而且,本发明实施方式以子块的非零元素之和作为衡量该子块的计算任务的衡量因子,有利于负载均衡地分配计算任务,从而有利于高质量执行计算任务。另外,本发明实施方式可以基于约束条件智能分配计算任务,提高了可控性。
在示范性实施方式中,还包括:从资源库中检索计算设备的历史资源利用率;基于计算设备的约束条件,对重排后的关系矩阵进行关于计算任务的均衡分块包括:对于历史资源利用率高于第一资源利用率门限值的计算设备,所分配的子块的衡量因子低于预定的第一衡量因子门限值;对于历史资源利用率低于第二资源利用率门限值的计算设备,所分配的子块的衡量因子高于预定的第二衡量因子门限值。因此,可以基于历史资源利用率进行关于计算任务的均衡分块,还考虑到历史资源利用率对当前分块的影响,从而保证了分块的准确度。
在示范性实施方式中,还包括:从执行分配到计算任务的计算设备接收包含资源利用率的反馈消息;当资源利用率超过预先设定的第三资源利用率门限值时,对重排后的关系矩阵再次进行分块,其中分配给计算设备的计算 任务被减少;当资源利用率低于预先设定的第四资源利用率门限值时,对重排后的关系矩阵再次进行分块,其中分配给计算设备的计算任务被增加;在资源库中存储资源利用率。可见,可以基于计算设备的反馈调整分配结果,从而提高了分配的准确度。
基于上述描述,本发明实施方式中,具体包括:
步骤1:输入数据点和处理规则。首先,明确获取哪些数据点以及每个数据点应该使用的规则。所有数据点及其规则都可以通过手动或其他方法输入到文件或表中。可以为不同的数据点和规则赋予各自的权重。
步骤2:自动生成关系矩阵。从步骤1中生成的文件中,可以自动获得关系矩阵。数据点设置为行标识符,规则按顺序设置为列标识符。可以计算关系矩阵中元素的值,其中如果数据点使用哪些规则,则矩阵中相应的元素值设置为数据点和规则权重因子的乘积,否则设置为零。在大多数情况下,矩阵是稀疏矩阵。
步骤3:重排算法。在这一步中,将使用不同的重排算法并选择优化算法。然后使用所选算法重排关系矩阵。比如,通过Cuthill-McKee或RCM等算法重排关系矩阵,以减少关系矩阵的带宽,并使非零元素均匀分布在矩阵的对角线上。在重排过程中,应在每个排列中保留行和列的初始化名称,这意味着如果将第一行的初始化名称d1排列为第二行,则重排后的第二行的名称也应为d1。
步骤4:获取重排矩阵。
步骤5:资源约束输入。在分块关系矩阵之前,应获得相应的资源信息。这意味着分配的数据块将在哪个资源上运行。资源能力限制了数据块的大小。
步骤6:分配关系矩阵。此时,在步骤5中输入的资源约束下,重排矩阵被分块为不同的子块。在分块过程中,可以与资源性能库交换信息,以获得经验价值。关于所有元素的权重和块数,关系矩阵可以分为多个子块,每个子块都有相似的数据点与规则的权重之和。
步骤7:资源性能库和分块算法之间的查询和响应。资源性能库存储有关资源性能的历史数据。分块算法查询资源性能库以获取参考信息,比如获取每个计算设备的历史资源利用率。对于历史资源利用率较高的(比如高于第 一资源利用率门限值的)计算设备,所分配的子块的衡量因子较少(比如低于预定的第一衡量因子门限值);对于历史资源利用率较低(比如低于第二资源利用率门限值)的计算设备,所分配的子块的衡量因子较高(比如高于预定的第二衡量因子门限值)。可见,由此保证计算设备的负载均衡。
步骤8:输出分配的子块。将关系矩阵被分块为若干个子矩阵(即子块),每个子矩阵是一个划分的数据块。在子矩阵中,行是数据点集,列是规则集。子矩阵的元素是数据点和规则之间的加权结果。每个子集具有相似的加权结果之和。
步骤9:将分配的子块部署到边缘设备并验证。为了验证性能,选择了一个分配的子块,并将其部署到边缘设备。如果性能良好,边缘设备将向分块算法模块发送反馈,告知分块完成。如果性能不好,边缘设备还向分块算法模块发送反馈,告诉其分块不好,重复步骤6~步骤9,直到获得良好的性能。
步骤10:记录到资源性能库。最后,将性能良好的边缘设备的信息记录到资源性能库中。信息包括边缘设备硬件信息、数据点集大小和规则等。通常规则是按顺序执行的,例如,规则1执行,然后规则3执行,但在重排矩阵中,顺序可能会更改为规则3,规则1。此时,分配后将需要规则执行顺序更改为正确顺序。
图7是根据本发明实施方式计算设备之间分配计算任务的示范性过程示意图。
在图7中,大量的数据点及规则78被输入到计算任务分配装置80。数据解析70对数据点及规则78进行解析,以确定出哪个(些)规则适用于哪个数据点,以及每个数据点的运算量权重和每个规则的运算量权重。基于数据解析70的解析处理,得到稀疏矩阵71。稀疏矩阵71中的元素A ij表征第i个数据点与第j个规则的适用关系,其中当第j个规则适用于第i个数据点时,A ij为k;当第j个规则不适用于第i个数据点时,所述A ij为0。k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。
在重排处理72中,对稀疏矩阵71进行重排以得到重排矩阵73,其中使得重排矩阵73中的非零元素以尽力而为的方式移至靠近对角线。
在分块处理74中,按照约束条件79的约束(比如,约定p个边缘设备76),基于资源库提供的每个边缘设备的历史资源利用率,对重排矩阵73进行均衡分块,得到p个子块751、752…75p,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子。p个子块751、752…75p一一对应到的p个边缘设备76,分别执行各自的子块。而且,每个边缘设备76向分块处理74反馈处理各自子块时的资源利用率,其中当有边缘设备的资源利用率不符合要求时,分块处理74将重新分块,并调整针对该边缘设备的计算任务。边缘设备77将各自的资源利用率发送到资源库77进行存储。
下面以工厂环境为例,对本发明实施方式的应用场景进行示范性说明。在工厂中,有许多工业边缘设备(IE)用于收集现场数据。每个IE收集多个数据点的数据。原始数据将在IE端进行预处理,然后发送到上层。由于收集的数据点数量和预处理规则不同,IE的性能通常不同。基于上述本发明实施方式,可以通过负载均衡将现场数据点重新分组并分配给不同的IE。为此,首先将每个IE的数据点和预处理规则聚合为一个IE,然后对这些数据点重新分组以实现负载均衡,最后每个边缘设备使用其规则对重新分组的数据点进行预处理。在将所有数据点和规则聚合到一个IE时,选择一个IE作为主IE(MIE),其中部署了自动分配器和资源性能库。为了获得所有其他IE信息,运行了IE管理软件来监听其他IE请求。对于其他IE,在初始化阶段发送广播数据包以寻找MIE,MIE接收广播并向IE发送ACK,然后IE和MIE与单播数据包通信。当MIE和其他IE建立连接时,MIE将获取其他IE的数据点、规则和性能信息。MIE逐个地获取所有数据点及其规则,这意味着MIE还知道每个数据点需要哪些规则。
然后,重新划分数据点以实现负载均衡。当自动分配器获得所有数据点和规则信息时,它将通过稀疏矩阵表示数据点和规则。重排矩阵,并通过负载均衡将数据点和规则划分为多个子组。在此过程中,可以访问资源性能库以获取经验值。此外,如果数据点在一个IE中收集,但其数据在另一个IE中预处理,则在分配过程中应考虑从IE向另一个IE发送数据的成本。
接着,执行部署、运行和验证。数据点重新分组后,重新分组的子数据块将部署到边缘设备,在其上运行以进行验证。边缘设备的性能结果将反馈 给自动分频器,如果性能良好,相关信息将发送到资源性能库并予以记录,如果没有,则重复上述步骤再次分配。可见,本发明实施方式可以提高IE的利用率。
实际上,本发明实施方式还适用于其他场景或产品。例如,WinCC也是一种分布式软件,它获取现场数据,处理和显示数据。对于多个WinCC服务器的场景,本发明实施方式也可以用于将现场数据分成几个部分,以确保WinCC服务器的负载均衡。
图8是根据本发明实施方式的在计算设备之间分配计算任务的装置的示范性结构图。如图8所示,在计算设备之间分配计算任务的装置800包括:
确定模块801,被配置为基于包含m个数据点的数据点集及包含n个规则的规则集,确定关系矩阵,关系矩阵中的元素A ij表征第i个数据点与第j个规则的适用关系,其中m、n、i和j均为正整数,i小于或等于m,j小于或等于n;
重排模块802,被配置为重排关系矩阵,以将关系矩阵中的非零元素移至靠近对角线;
分块模块803,被配置为基于计算设备的约束条件,对重排后的关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子;
分配模块804,被配置为将每个子块的计算任务,分配给对应的计算设备。
在示范性实施方式中,当第j个规则适用于第i个数据点时,A ij为1;当第j个规则不适用于第i个数据点时,A ij为0。
在示范性实施方式中,当第j个规则适用于第i个数据点时,A ij为k;当第j个规则不适用于第i个数据点时,A ij为0;其中k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。
在示范性实施方式中,分块模块803,被配置为接收包含约束条件的用户输入;从用户输入中提取约束条件;其中约束条件包括下列约束因子中的至少一个:计算设备的数目;计算设备的计算能力;计算设备的地理位置; 计算设备的工作进度安排;计算设备的类型。
在示范性实施方式中,分块模块803,被配置为从资源库中检索计算设备的历史资源利用率;对于历史资源利用率高于第一资源利用率门限值的计算设备,所分配的子块的衡量因子低于预定的第一衡量因子门限值,对于历史资源利用率低于第二资源利用率门限值的计算设备,所分配的子块的衡量因子高于预定的第二衡量因子门限值。
在示范性实施方式中,分块模块803,被配置为从执行分配到计算任务的计算设备接收包含资源利用率的反馈消息;当资源利用率超过预先设定的第三资源利用率门限值时,对重排后的关系矩阵再次进行分块,其中分配给计算设备的计算任务被减少;当资源利用率低于预先设定的第四资源利用率门限值时,对重排后的关系矩阵再次进行分块,其中分配给计算设备的计算任务被增加;在资源库中存储资源利用率。
本发明实施方式还提出了一种具有处理器-存储器架构的电子设备。图9是根据本发明实施方式电子设备的示范性结构图。
如图9所示,电子设备900包括处理器901、存储器902及存储在存储器902上并可在处理器901上运行的计算机程序,计算机程序被处理器901执行时实现如上任一种的在计算设备之间分配计算任务的方法方法。其中,存储器902具体可以实施为电可擦可编程只读存储器(EEPROM)、快闪存储器(Flash memory)、可编程程序只读存储器(PROM)等多种存储介质。处理器901可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为CPU或MCU或DSP,等等。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个 硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
以上所述,仅为本发明的较佳实施方式而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

  1. 一种在计算设备之间分配计算任务的方法,其特征在于,所述方法包括:
    基于包含m个数据点的数据点集及包含n个规则的规则集,确定(101)关系矩阵,所述关系矩阵中的元素A ij表征第i个数据点与第j个规则的适用关系,其中m、n、i和j均为正整数,i小于或等于m,j小于或等于n;
    重排(102)所述关系矩阵,以将所述关系矩阵中的非零元素移至靠近对角线;
    基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块(103),以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子;
    将每个子块的计算任务,分配(104)给对应的计算设备。
  2. 根据权利要求1所述的方法,其特征在于,当第j个规则适用于所述第i个数据点时,所述A ij为1;当第j个规则不适用于所述第i个数据点时,所述A ij为0。
  3. 根据权利要求1所述的方法,其特征在于,当第j个规则适用于所述第i个数据点时,所述A ij为k;当第j个规则不适用于所述第i个数据点时,所述A ij为0;
    其中k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。
  4. 根据权利要求1所述的方法,其特征在于,还包括:
    接收包含所述约束条件的用户输入;
    从所述用户输入中提取所述约束条件;
    其中所述约束条件包括下列约束因子中的至少一个:
    计算设备的数目;计算设备的计算能力;计算设备的地理位置;计算设备的工作进度安排;计算设备的类型。
  5. 根据权利要求1所述的方法,其特征在于,还包括:
    从资源库中检索所述计算设备的历史资源利用率;
    所述基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块包括:
    对于历史资源利用率高于第一资源利用率门限值的计算设备,所分配的子块的衡量因子低于预定的第一衡量因子门限值;
    对于历史资源利用率低于第二资源利用率门限值的计算设备,所分配的子块的衡量因 子高于预定的第二衡量因子门限值。
  6. 根据权利要求5所述的方法,其特征在于,还包括:
    从执行分配到计算任务的计算设备接收包含资源利用率的反馈消息;
    当所述资源利用率超过预先设定的第三资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被减少;
    当所述资源利用率低于预先设定的第四资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被增加;
    在所述资源库中存储所述资源利用率。
  7. 一种在计算设备之间分配计算任务的装置,其特征在于,所述装置包括:
    确定模块(801),被配置为基于包含m个数据点的数据点集及包含n个规则的规则集,确定关系矩阵,所述关系矩阵中的元素A ij表征第i个数据点与第j个规则的适用关系,其中m、n、i和j均为正整数,i小于或等于m,j小于或等于n;
    重排模块(802),被配置为重排所述关系矩阵,以将所述关系矩阵中的非零元素移至靠近对角线;
    分块模块(803),被配置为基于计算设备的约束条件,对重排后的所述关系矩阵进行关于计算任务的均衡分块,以得到多个子块,其中每个子块的非零元素之和为衡量该子块的计算任务的衡量因子;
    分配模块(804),被配置为将每个子块的计算任务,分配给对应的计算设备。
  8. 根据权利要求7所述的装置,其特征在于,当第j个规则适用于所述第i个数据点时,所述A ij为1;当第j个规则不适用于所述第i个数据点时,所述A ij为0。
  9. 根据权利要求7所述的装置,其特征在于,当第j个规则适用于所述第i个数据点时,所述A ij为k;当第j个规则不适用于所述第i个数据点时,所述A ij为0;
    其中k=d i*r j,其中d i为第i个数据点在m个数据点中的运算量权重,r j为第j个规则在n个规则中的运算量权重。
  10. 根据权利要求7所述的装置,其特征在于,
    所述分块模块(803),被配置为接收包含所述约束条件的用户输入;从所述用户输入中提取所述约束条件;其中所述约束条件包括下列约束因子中的至少一个:计算设备的数目;计算设备的计算能力;计算设备的地理位置;计算设备的工作进度安排;计算设备的类型。
  11. 根据权利要求7所述的装置,其特征在于,
    所述分块模块(803),被配置为从资源库中检索所述计算设备的历史资源利用率;对于历史资源利用率高于第一资源利用率门限值的计算设备,所分配的子块的衡量因子低于预定的第一衡量因子门限值,对于历史资源利用率低于第二资源利用率门限值的计算设备,所分配的子块的衡量因子高于预定的第二衡量因子门限值。
  12. 根据权利要求11所述的装置,其特征在于,
    所述分块模块(803),被配置为从执行分配到计算任务的计算设备接收包含资源利用率的反馈消息;当所述资源利用率超过预先设定的第三资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被减少;当所述资源利用率低于预先设定的第四资源利用率门限值时,对重排后的所述关系矩阵再次进行分块,其中分配给所述计算设备的计算任务被增加;在所述资源库中存储所述资源利用率。
  13. 一种电子设备,其特征在于,包括:
    处理器(901);
    存储器(902),用于存储所述处理器(901)的可执行指令;
    所述处理器(901),用于从所述存储器(902)中读取所述可执行指令,并执行所述可执行指令以实施权利要求1-6中任一项所述的在计算设备之间分配计算任务的方法。
  14. 一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实施权利要求1-6中任一项所述的在计算设备之间分配计算任务的方法。
  15. 一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实施权利要求1-6中任一项所述的在计算设备之间分配计算任务的方法。
PCT/CN2022/108402 2022-07-27 2022-07-27 在计算设备之间分配计算任务的方法、装置及存储介质 WO2024020897A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/108402 WO2024020897A1 (zh) 2022-07-27 2022-07-27 在计算设备之间分配计算任务的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/108402 WO2024020897A1 (zh) 2022-07-27 2022-07-27 在计算设备之间分配计算任务的方法、装置及存储介质

Publications (1)

Publication Number Publication Date
WO2024020897A1 true WO2024020897A1 (zh) 2024-02-01

Family

ID=89704929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/108402 WO2024020897A1 (zh) 2022-07-27 2022-07-27 在计算设备之间分配计算任务的方法、装置及存储介质

Country Status (1)

Country Link
WO (1) WO2024020897A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169743A (zh) * 2007-11-27 2008-04-30 南京大学 电力网格中基于多核计算机实现并行潮流计算的方法
US7840914B1 (en) * 2005-05-13 2010-11-23 Massachusetts Institute Of Technology Distributing computations in a parallel processing environment
US20140122695A1 (en) * 2012-10-31 2014-05-01 Rawllin International Inc. Dynamic resource allocation for network content delivery
CN103812949A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种面向实时云平台的任务调度与资源分配方法及系统
US10146740B1 (en) * 2017-03-08 2018-12-04 Symantec Corporation Sparse data set processing
CN112256427A (zh) * 2020-10-21 2021-01-22 北京人人云图信息技术有限公司 一种基于改进分支限界法的大规模资源快速分配装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840914B1 (en) * 2005-05-13 2010-11-23 Massachusetts Institute Of Technology Distributing computations in a parallel processing environment
CN101169743A (zh) * 2007-11-27 2008-04-30 南京大学 电力网格中基于多核计算机实现并行潮流计算的方法
US20140122695A1 (en) * 2012-10-31 2014-05-01 Rawllin International Inc. Dynamic resource allocation for network content delivery
CN103812949A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种面向实时云平台的任务调度与资源分配方法及系统
US10146740B1 (en) * 2017-03-08 2018-12-04 Symantec Corporation Sparse data set processing
CN112256427A (zh) * 2020-10-21 2021-01-22 北京人人云图信息技术有限公司 一种基于改进分支限界法的大规模资源快速分配装置

Similar Documents

Publication Publication Date Title
CN103970587B (zh) 一种资源调度的方法、设备和系统
CN102541858A (zh) 基于映射和规约的数据均衡性处理方法、装置及系统
CN105471985A (zh) 负载均衡方法及云平台计算方法、云平台
CN107241281A (zh) 一种数据处理方法及其装置
WO2014052942A1 (en) Random number generator in a parallel processing database
EP2854029A2 (en) Information processing system, management device control program, and control method of information processing system
CN116263701A (zh) 算力网络任务调度方法、装置、计算机设备及存储介质
Ghaderi et al. Asymptotic optimality of BestFit for stochastic bin packing
CN107220271A (zh) 一种分布式数字资源存储处理与管理的方法及系统
CN107016115A (zh) 数据导出方法、装置、计算机可读存储介质及电子设备
CN113568759A (zh) 一种基于云计算的大数据处理方法及其系统
WO2024020897A1 (zh) 在计算设备之间分配计算任务的方法、装置及存储介质
Blanas et al. Topology-aware parallel data processing: Models, algorithms and systems at scale
CN115129463A (zh) 算力调度方法及装置、系统及存储介质
Liu et al. Optimizing scientific data transfer on globus with error-bounded lossy compression
CN116089367A (zh) 动态分桶方法、装置、电子设备和介质
CN111091138A (zh) 辐照预报的处理方法、堆叠泛化模型的训练方法及装置
Yamazaki et al. On techniques to improve robustness and scalability of the Schur complement method
CN116521335A (zh) 一种倾斜影像模型生产的分布式任务调度方法及系统
CN111930299B (zh) 分配存储单元的方法及相关设备
CN115981843A (zh) 云边协同电力系统中任务调度方法、装置和计算机设备
CN109857593B (zh) 一种数据中心日志缺失数据恢复方法
CN106357676A (zh) 一种云服务资源开销优化方法
CN113986544B (zh) 一种运算分配方法、装置及电子设备
CN112905351B (zh) 一种gpu和cpu负载调度方法、装置、设备和介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22952359

Country of ref document: EP

Kind code of ref document: A1