Job migration method, device, storage medium, and program product
By using a cluster job migration method driven by multidimensional feature data, a set of neighborhood computing units is generated and a target migration unit is selected using a preset objective function. This solves the problem of unbalanced cluster resource allocation and improves the overall utilization and performance of the cluster.
Patent Information
- Application Number
- CN202511181830.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2045-08-22
AI Technical Summary
The existing cluster job migration mechanism triggers migration decisions based on a single resource indicator, resulting in unbalanced resource allocation, long search time, high latency, and low overall cluster utilization.
By acquiring multidimensional feature data, calculating load intensity and resource requirement parameters, generating a set of neighborhood computing units, using a preset objective function to filter target migration computing units, and optimizing migration paths to reduce search time and latency.
It improved the overall resource utilization of the cluster, reduced migration latency, avoided the problem of insufficient resources in the target migration unit, and improved cluster performance.
Smart Images

Figure CN120780484B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a job migration method, device, storage medium, and program product. Background Technology
[0002] With the development of technologies such as artificial intelligence, high-performance computing, and cloud computing, clusters have become the core infrastructure for data processing and task execution. In actual operation, the efficiency of job migration between computing units directly affects the utilization efficiency of cluster resources. Lagging or unreasonable migration mechanisms can lead to resource imbalances, becoming a key bottleneck restricting cluster performance.
[0003] Currently, cluster job migration mechanisms are mostly based on single resource indicators to trigger migration decisions. This can lead to new problems caused by insufficient other resources in the target migration computing unit after migration. Furthermore, when searching for the target migration computing unit, indiscriminate traversal or random selection is often used, resulting in excessively long search times, high migration delays, and exacerbating the imbalance in resource allocation, leading to low overall cluster utilization. Summary of the Invention
[0004] This application provides a job migration method, device, storage medium, and program product to at least solve the problem of low overall cluster utilization in related technologies.
[0005] This application provides a job migration method, comprising: acquiring multidimensional feature data of each computing unit in a cluster and obtaining resource status data from the multidimensional feature data; calculating the load intensity of each computing unit based on the resource status data; acquiring resource requirement parameters for jobs running on each computing unit; determining the job to be migrated based on the load intensity of each computing unit and the resource requirement parameters for jobs running on each computing unit; generating a set of neighboring computing units with different neighborhood radii centered on the source computing unit where the job to be migrated is located, wherein the neighborhood radius is determined based on the number of network hops between computing units; determining a set of neighboring computing units with a target neighborhood radius from the set of neighboring computing units with different neighborhood radii; filtering target migration computing units within the set of neighboring computing units with the target neighborhood radius using a preset objective function; and performing the migration operation of the job to be migrated from the source computing unit to the target migration computing unit.
[0006] This application also provides a job migration apparatus, comprising: a multi-dimensional feature data processing module for acquiring multi-dimensional feature data of each computing unit in the cluster and obtaining resource status data from the multi-dimensional feature data; a load intensity calculation module for calculating the load intensity of each computing unit based on the resource status data; a resource requirement parameter acquisition module for acquiring resource requirement parameters of jobs running on each computing unit; a job to be migrated determination module for determining jobs to be migrated based on the load intensity of each computing unit and the resource requirement parameters of jobs running on each computing unit; a neighborhood set generation module for generating a set of neighborhood computing units with different neighborhood radii centered on the source computing unit where the job to be migrated is located, wherein the neighborhood radius is determined based on the network hop count between computing units; a target neighborhood set determination module for determining a set of neighborhood computing units corresponding to a target neighborhood radius from the set of neighborhood computing units corresponding to different neighborhood radii; a target migration computing unit filtering module for filtering target migration computing units within the set of neighborhood computing units corresponding to the target neighborhood radius using a preset objective function; and a job migration module for performing the migration operation of the job to be migrated from the source computing unit to the target migration computing unit.
[0007] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the steps of any of the above-described job migration methods when executing the computer program.
[0008] This application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the above-described job migration methods.
[0009] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described job migration methods.
[0010] The job migration method, device, storage medium, and program product of this application acquire multi-dimensional feature data of each computing unit and preprocess it into normalized resource status data. Combined with the resource requirement parameters of the running job, this determines the job to be migrated. This overcomes the limitations of traditional migration decisions triggered by a single resource indicator, comprehensively considering the resource status of each computing unit and preventing new problems caused by insufficient resources in the target migration computing unit after migration. Simultaneously, it generates a set of neighboring computing units with different radii centered on the source computing unit. By filtering the target migration computing unit through a preset objective function, it changes the traditional method of indiscriminate traversal or random selection of target migration computing units, accurately narrowing the search range, reducing search time, lowering migration latency, effectively alleviating resource allocation imbalance problems, and improving the overall utilization of the cluster. Attached Figure Description
[0011] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 This is a schematic diagram illustrating the application scenario architecture of the job migration method provided in the embodiments of this application;
[0013] Figure 2 A flowchart illustrating the job migration method provided in an embodiment of this application;
[0014] Figure 3 This is a schematic diagram of the structure of the job migration device provided in the embodiments of this application;
[0015] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0016] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0017] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0018] To clearly understand the technical solution of this application, the solutions of existing technologies are first described in detail. With the development of technologies such as artificial intelligence, high-performance computing, and cloud computing, clusters have become the core infrastructure for data processing and task execution. These clusters integrate computing, storage, and network resources through a distributed architecture, but their efficient operation depends on precise resource scheduling and load balancing. However, in actual operation, the efficiency of job migration between computing units directly affects the utilization efficiency of cluster resources. Lagging or unreasonable migration mechanisms can lead to resource imbalance, becoming a key bottleneck restricting cluster performance. Currently, cluster job migration mechanisms are mostly based on single resource indicators to trigger migration decisions, which may cause new problems for the target migration computing unit after migration due to insufficient other resources. Moreover, the search for target migration computing units often adopts indiscriminate traversal or random selection, without considering the characteristics of the cluster network structure, resulting in excessively long search times and high migration latency, ultimately exacerbating resource imbalance, causing some computing units to be overloaded while other nodes are idle, resulting in low overall cluster utilization.
[0019] To address the aforementioned technical issues, the inventors, recognizing the limitations of decision-making based on single resource indicators, proposed a multi-dimensional resource status data-driven decision-making approach. This involves collecting multi-dimensional characteristic data from computing units, such as processor, memory, storage, and network bandwidth, and performing normalized preprocessing to generate resource status data reflecting resource conditions. This data, combined with the load intensity of each computing unit and the resource requirements of the job itself, identifies jobs to be migrated, preventing resource imbalances in target migration computing units due to misjudgments based on a single indicator. Secondly, to address the low search efficiency of target migration computing units, a neighborhood radius is introduced. Centered on the source computing unit, different ranges of neighborhood computing unit sets are defined based on network hop count. Target migration computing units are preferentially selected within the nearest hop count range, narrowing the search scope. Furthermore, a preset objective function is used to accurately locate the target migration computing unit from the neighborhood computing unit set corresponding to the target neighborhood radius, reducing the time consumed by indiscriminate traversal, lowering migration latency, and improving the overall utilization of the cluster.
[0020] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0021] The specific application environment architecture or specific hardware architecture on which the job migration method depends is described here.
[0022] refer to Figure 1 , Figure 1 This is a schematic diagram illustrating the application scenario architecture of the job migration method provided in the embodiments of this application. For example... Figure 1 As shown, the specific application scenario architecture of this application includes: receiving device 101, processing device 102 and display device 103.
[0023] It is understood that the structure illustrated in the embodiments of this application does not constitute a specific limitation on the job migration method. In other feasible embodiments of this application, the above architecture may include more or fewer components than illustrated, or combine some components, or split some components, or arrange different components, which can be determined according to the actual application scenario and is not limited here. Figure 1 The components shown can be implemented in hardware, software, or a combination of both.
[0024] In the specific implementation process, the receiving device 101 can be an input / output interface or a communication interface, used to obtain multi-dimensional feature data of each computing unit in the cluster and resource requirement parameters of the jobs running on each computing unit.
[0025] The processing device 102 is used to obtain resource status data from multidimensional feature data; calculate the load intensity of each computing unit based on the resource status data; determine the job to be migrated according to the load intensity of each computing unit and the resource requirement parameters of the job running on each computing unit; generate a set of neighboring computing units with different neighborhood radii centered on the source computing unit where the job to be migrated is located, wherein the neighborhood radius is determined based on the network hop count between each computing unit; determine the set of neighboring computing units with the target neighborhood radius from the set of neighboring computing units with different neighborhood radii; filter the target migration computing units within the set of neighboring computing units with the target neighborhood radius through a preset objective function; and execute the migration operation of the job to be migrated from the source computing unit to the target migration computing unit.
[0026] Display device 103 is used to display the results of the migration operation.
[0027] Furthermore, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0028] Figure 2 This is a flowchart illustrating the job migration method provided in an embodiment of this application, as shown below. Figure 2 As shown, embodiments of this application provide a job migration method, which is described in detail below:
[0029] S201: Obtain multidimensional feature data of each computing unit in the cluster, and obtain resource status data from the multidimensional feature data.
[0030] Specifically, multidimensional feature data of each computing unit is collected in real time, covering dimensions such as processor, memory, storage, network bandwidth, and input / output bandwidth, with a collection interval of 30 seconds to 2 minutes. The real-time collected multidimensional feature data is preprocessed. During preprocessing, missing data is handled first: when a single dimension is occasionally missing, the moving average of the last 5 times data of the same dimension for that computing unit is used to fill it; if there are 3 or more consecutive missing data, it is marked as an abnormal computing unit and will not participate in subsequent calculations. Finally, normalization is performed.
[0031] Specifically, the normalization process includes: calculating processor utilization, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate based on multidimensional feature data; and determining processor utilization, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate as resource status data.
[0032] Specifically, the following parameters are extracted from multidimensional feature data: average processor load, number of physical processor cores, available memory, total memory, used storage, total storage, disk utilization, current network bandwidth usage, theoretical network interface bandwidth, current I / O throughput, and maximum storage throughput. Processor utilization is determined based on average processor load and number of physical processor cores. Memory availability is determined based on available memory and total memory. Storage availability is determined based on used storage, total storage, and disk utilization. Network bandwidth availability is determined based on current network bandwidth usage and theoretical network interface bandwidth. I / O bandwidth availability is determined based on current I / O throughput and maximum storage throughput. Processor utilization, memory availability, storage availability, network bandwidth availability, and I / O bandwidth availability are then converted into normalized resource status data.
[0033] Specifically, resource status data is defined as a five-dimensional vector. ,in This represents the resource status data of the j-th processing unit. This represents the processor utilization of the j-th arithmetic unit. This represents the remaining memory percentage of the j-th operation unit. This represents the remaining storage ratio of the j-th operation unit. This represents the network bandwidth remaining rate of the j-th processing unit. This represents the remaining input / output bandwidth of the j-th arithmetic unit.
[0034] The calculation formulas for each dimension of the resource status data of the j-th processing unit are as follows:
[0035]
[0036] In the formula, max(·) is the maximum value function, the processor average load is the average load of the processor in the past minute, and when the processor average load exceeds the number of physical cores of the processor, the processor utilization is forced to 0.
[0037]
[0038]
[0039] In the formula, min(·) is the function that takes the minimum value.
[0040]
[0041]
[0042] S202: Calculate the load intensity of each computing unit based on resource status data.
[0043] Specifically, the weight coefficients of each dimension in the resource status data of each computing unit are determined; a weighted summation algorithm is used to multiply the data of each dimension in the resource status data with the corresponding weight coefficients and then sum them to obtain the comprehensive resource value; based on the comprehensive resource value of each computing unit, the load intensity of each computing unit is determined.
[0044] Specifically, the weighting coefficients of each dimension The sum of the weight coefficients for each dimension is 1, and the load intensity of each computational unit is defined as follows:
[0045]
[0046] In the formula, This represents the load intensity of the j-th arithmetic unit. This represents the weight coefficient of the i-th dimension. This represents the resource status data of the i-th dimension of the j-th computational unit.
[0047] Specifically, the process of determining the weight coefficients of each dimension in the resource status data of each computing unit includes: collecting the execution data of historical jobs on each computing unit in the cluster, extracting the actual consumption ratio of processor, memory, storage, network bandwidth, and input / output bandwidth of historical jobs from the execution data; using the average consumption ratio of resources in each dimension as the initial weight coefficient, and dynamically updating the initial weight coefficients based on the actual consumption ratio using an online learning algorithm to generate a dynamic weight vector; generating feature encoding vectors based on the types of historical jobs in each computing unit, where the feature encoding vector is a multi-dimensional vector that quantifies the resource requirement characteristics of historical job types on each computing unit; matching the corresponding weight template according to the feature encoding vector, and using the weight template as the basic weight vector; and determining the weight coefficients of each dimension of data based on the dynamic weight vector and the basic weight vector.
[0048] Specifically, the cluster log system collects execution data of historical jobs over the past six months from the cluster's job scheduling and resource monitoring modules. This data includes job start time, end time, processor utilization, memory utilization, storage read / write volume, network bandwidth flow rate, and I / O bandwidth throughput at each time point. Data is collected hourly and stored in a distributed database. For each historical job, the total processor consumption time, total memory usage, total storage read / write volume, total network bandwidth transmission volume, and total I / O bandwidth throughput are calculated throughout its entire lifecycle. Then, the proportion of resource consumption for each dimension in each job on each computing unit is calculated relative to the total resource capacity of that corresponding dimension for that computing unit. The average of these proportions across all historical jobs is then used to obtain a set of actual resource consumption proportions for each dimension across different computing units.
[0049] Specifically, the average consumption ratio of resources in each dimension is used as the initial weight coefficient. That is, the average value of the actual consumption ratio of resources in each dimension, such as processor and memory, is normalized so that its sum is 1, which is used as the initial weight allocation. Then, based on the newly collected actual consumption ratio of historical jobs, online learning algorithms such as stochastic gradient descent are used to continuously iterate and adjust the initial weight coefficient to adapt to changes in resource consumption patterns, and finally generate a dynamic weight vector that reflects the current resource consumption characteristics.
[0050] Specifically, the category attribute information of historical tasks is first sorted out. This category attribute information includes the task type identifier, the typical task processing scale of this type of task, the regular data input and output volume, and the resource preference dimensions of this type of task during historical execution. Then, this information is transformed into quantifiable feature codes through coding rules to reflect the resource requirement characteristics of different types of tasks. Based on the generated feature codes, a matching is performed in a pre-set weight template library to find the weight template corresponding to the feature code. This weight template is a pre-set basic weight allocation scheme for each dimension of different types of tasks, which can reflect the basic dependence of this type of task on each resource dimension. This template is used as the basic weight vector. Then, the basic weight vector is weighted and fused with the previously generated dynamic weight vector to adjust and finally determine the weight coefficients of each dimension of data.
[0051] S203: Obtain the resource requirement parameters for running jobs on each computing unit.
[0052] Specifically, the resource requirement parameters of the currently running jobs on each computing unit are extracted in batches. These resource requirement parameters include static requirements such as the number of processor cores, memory capacity, storage space, minimum network bandwidth, and minimum input / output throughput for each running job. For jobs that support dynamic scaling, the resource requirement thresholds that are dynamically adjusted during their operation are also collected.
[0053] S204: Determine the jobs to be migrated based on the load intensity of each computing unit and the resource requirements of the jobs running on each computing unit.
[0054] Specifically, computing units with a preset load intensity are selected from all computing units; resource requirement parameters of each running job on the computing units with the preset load intensity are extracted, as well as resource status data of the computing units with the preset load intensity. The resource requirement parameters include the required values for processor utilization, memory availability, storage availability, network bandwidth availability, and input / output bandwidth availability; the resource requirement parameters of each running job in each dimension are compared with the resource status data of the corresponding dimension of the computing unit with the preset load intensity; if any running job has a resource requirement parameter in any dimension that is higher than the resource status data of the corresponding dimension of the computing unit with the preset load intensity, then the running job is identified as a job to be migrated.
[0055] Specifically, the load intensity data of all computing units in the cluster is traversed, and the computing unit with the highest load intensity is identified as the computing unit that meets the preset load intensity. Resource requirement parameters for all running jobs on the computing units with the preset load intensity are obtained, including processor utilization requirements, memory remaining rate requirements, storage remaining rate requirements, network bandwidth remaining rate requirements, and I / O bandwidth remaining rate requirements. Simultaneously, real-time resource status data for these computing units with preset load intensity is extracted from the cluster monitoring system, including current processor utilization, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and I / O bandwidth remaining rate. For each running job on the computing unit with preset load intensity, a multi-dimensional comparison of resource requirements with the actual resource status of the node is performed. If a running job's resource requirement parameter in at least one dimension is higher than the corresponding dimension's resource status data for that computing unit with preset load intensity, the job is marked as a job to be migrated.
[0056] S205: Using the source computation unit where the job to be migrated is located as the center, generate a set of neighboring computation units with different neighborhood radii, where the neighborhood radius is determined based on the number of network hops between each computation unit.
[0057] The source computing unit refers to the computing unit where the job to be migrated was located before the migration.
[0058] Specifically, the cluster is transformed into an undirected graph, where each node corresponds to a computational unit in the cluster, edges correspond to network connections between computational units, and edge weights correspond to the network hop counts between computational units. The network hop counts between the source computational unit and other computational units in the undirected graph are obtained. Centered on the source computational unit, and based on the network hop counts, computational units with the same network hop count as the source computational unit are grouped into a neighborhood set corresponding to the same neighborhood radius.
[0059] Specifically, firstly, a cluster network topology discovery tool is used to scan the network connections of each computing unit, generating an undirected graph model with computing units as nodes. Each node is marked with a unique hardware identifier for the computing unit, and the physical network links between nodes serve as edges in the undirected graph, with each edge having a fixed weight of 1. Secondly, starting from the source computing unit where the job to be migrated resides, a breadth-first search (BFS) algorithm is used to traverse the undirected graph. The BFS algorithm starts from the source node, visits adjacent nodes layer by layer, and records the number of edges in the shortest path between each node and the source node; this number of edges represents the corresponding network hop count. Finally, with the source computing unit as the center, computing units with the same network hop count are grouped into the same set, and each set corresponds to a neighborhood radius, where the neighborhood radius value is equal to the network hop count value.
[0060] S206: Determine the set of neighborhood operation units corresponding to the target neighborhood radius from the set of neighborhood operation units corresponding to different neighborhood radii.
[0061] Specifically, the set of neighboring computation units corresponding to each neighboring radius is checked sequentially in ascending order of radius. For each set of neighboring computation units, it is determined whether there are computation units that meet preset resource conditions, where the preset resource conditions are that the resource status data of each dimension of the computation unit is not lower than the resource requirement parameters of the corresponding dimension of the job to be migrated. If there are computation units that meet the preset resource conditions in the set of neighboring computation units corresponding to the currently checked neighboring radius, the currently checked neighboring radius is determined as the target neighboring radius, and each computation unit that meets the preset resource conditions is determined as the set of neighboring computation units corresponding to the target neighboring radius. If there are no computation units that meet the preset resource conditions in the set of neighboring computation units corresponding to the currently checked neighboring radius, the next set of neighboring computation units corresponding to the next neighboring radius is checked until the set of neighboring computation units corresponding to the target neighboring radius is found or the preset neighboring radius is reached.
[0062] Specifically, from the set of neighboring computation units generated by the source computation unit, all values of the neighborhood radius are extracted and sorted in ascending order to form a check sequence. Through an iterative check mechanism, starting from the first value in the sequence, i.e., a neighborhood radius of 1, the set of neighboring computation units corresponding to each neighborhood radius is called sequentially to ensure that the check is performed in order of distance from the source computation unit from near to far, prioritizing the search for suitable computation units in the nearest neighborhood.
[0063] Specifically, for the currently checked set of neighboring computing units, each computing unit within the set is traversed, and its resource status data is compared one by one with the resource requirement parameters of the job to be migrated. Specifically, the real-time data of the computing unit in five dimensions—processor utilization, memory availability, storage availability, network bandwidth availability, and I / O bandwidth availability—are compared with the corresponding requirement values of the job to be migrated. For example, if the job to be migrated requires a processor utilization of no less than 30% and a memory availability of no less than 20%, then it is necessary to check whether the actual processor utilization of the computing unit is ≥30% and the memory availability is ≥20%, while ensuring that the actual data in the other three dimensions also meet the corresponding requirements. Only computing units that meet all five dimensions are deemed to meet the preset resource conditions.
[0064] Specifically, when checking the current set of neighborhood radii, if at least one computational unit is found to satisfy the preset resource conditions for all dimensions, the checking process for subsequent neighborhood radii is immediately terminated. This neighborhood radius is marked as the target neighborhood radius, and the set of computational units that satisfy the preset resource conditions is determined as the neighborhood computational unit set corresponding to the target neighborhood radius. If none of the computational units in the current neighborhood radius set satisfy the preset resource conditions, the process automatically switches to the set corresponding to the next neighborhood radius in the checking sequence, and repeatedly checks whether there are computational units that satisfy the preset resource conditions in the set corresponding to that neighborhood radius. If no computational unit that satisfies the conditions is found after traversing all preset neighborhood radii, an exception handling mechanism is triggered, or the computational unit with resources closest to the requirement is selected as an alternative.
[0065] S207: Within the set of neighborhood operation units corresponding to the target neighborhood radius, the target migration operation units are selected by a preset objective function.
[0066] Specifically, the resource status data of each computing unit in the neighborhood computing unit corresponding to the target neighborhood radius, as well as the network hop count between each computing unit and the source computing unit, are obtained; the resource status data of each computing unit and the network hop count between each computing unit and the source computing unit are substituted into the preset objective function to calculate the objective function value of each computing unit; the objective function values of each computing unit are sorted, and the computing unit corresponding to the objective function value at the preset position is determined as the target migration computing unit.
[0067] Specifically, real-time resource status data of all computing units within the set of neighboring computing units corresponding to the target neighborhood radius are collected in batches, including normalized multi-dimensional data such as processor utilization, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate. Simultaneously, the network hop count between each computing unit and the source computing unit is extracted from the metadata of the cluster network topology graph.
[0068] The preset objective function is:
[0069]
[0070] In the formula, This represents the j-th candidate computation unit in the set of neighborhood computation units corresponding to the target neighborhood radius; This represents the weight coefficient assigned to the i-th dimension in the resource status data; Represents the j-th candidate operation unit The resource status data of the i-th dimension; This indicates the source computation unit where the job to be migrated resides; This represents the number of network hops between the source operation unit and the j-th candidate operation unit.
[0071] Specifically, a descending sorting algorithm is used to sort the objective function values of all computational units in descending order, and the computational unit with the highest objective function value is taken as the target migration computational unit.
[0072] Specifically, after determining the target migration operation unit, a secondary resource verification is performed on the target migration operation unit to check whether the resource status data of the target migration operation unit still meets the resource requirement parameters of the job to be migrated. If the secondary resource verification passes, a distributed lock is added to the target migration operation unit. If the secondary resource verification fails, the target migration operation unit is added to the temporary unavailable list and returned to the set of neighboring operation units corresponding to the target neighborhood radius. The target migration operation unit is then re-selected through the preset objective function.
[0073] Specifically, after selecting the target migration operation unit through a preset objective function, a secondary resource verification process is immediately triggered. Through the cluster's real-time monitoring interface, the latest resource status data of the target migration operation unit is collected again, including processor utilization, memory availability, storage availability, network bandwidth availability, and I / O bandwidth availability. This real-time data is then compared item by item with the resource requirements of the job to be migrated. If all dimensions meet the requirements, the secondary resource verification passes; if any dimension fails, the verification fails.
[0074] Specifically, after the secondary resource verification passes, an exclusive lock is added to the target migration operation unit via the distributed lock service. This involves creating a lock node in the distributed lock service with the unique identifier of the operation unit as the key, setting an expiration time for the lock, and ensuring that other job migration processes cannot select this operation unit during the lock's validity period to prevent resource contention due to concurrent migrations. Simultaneously, the lock holder information is recorded for subsequent permission verification when releasing the lock. If the secondary resource verification fails, the unique identifier of the operation unit, the dimension where verification failed, and the specific data are recorded in a temporary unavailable list. This list has an expiration time, during which the unit is excluded from the candidate pool. Subsequently, the unit is removed from the set of neighboring operation units corresponding to the target's neighborhood radius. The preset objective function is then re-invoked to calculate and sort the remaining operation units, selecting new target migration operation units. This selection and secondary verification process is repeated until a target unit that meets the conditions is found or no available units remain in the neighborhood set.
[0075] S208: Perform the migration operation of the job to be migrated from the source computation unit to the target migration computation unit.
[0076] Specifically, a job migration instruction is sent to the source computing unit to pause the execution of the job to be migrated and save the job's running state; the saved job running state is transmitted to the target migration computing unit; the running state of the job to be migrated is restored in the target migration computing unit, and the job to be migrated is started; when it is detected that the job to be migrated is running normally in the target migration computing unit, the resources related to the job to be migrated in the source computing unit are released, and the distributed lock of the target migration computing unit is released.
[0077] Specifically, a migration instruction containing the identifier of the job to be migrated is sent to the source processing unit. Upon receiving the instruction, the source processing unit pauses the job process to ensure that the job execution state no longer changes. Simultaneously, for containerized jobs, a container snapshot tool is used to generate an image snapshot containing memory data, process context, and network connection status; for native process jobs, a process freeze tool is used to serialize the process state and store it in a temporary file. The snapshot file contains key information such as register values, virtual memory mappings, and open file descriptors.
[0078] Specifically, a dedicated data transmission channel is initiated between the source and target migration units, prioritizing low-latency transmission using the Remote Direct Memory Access protocol. If the cluster does not support the Remote Direct Memory Access protocol, the TCP / IP protocol is used with software acceleration enabled. Before transmission, the snapshot file undergoes integrity verification, and the verification value is compared in real-time during transmission to ensure the data has not been tampered with. For large files, a chunked transmission strategy is employed, marking a resume after every 100MB of transmission to avoid retransmission overhead due to network interruptions. After receiving the data, the target migration unit stores the snapshot file in a local temporary directory and returns a confirmation signal indicating completion of reception. The local temporary directory maintains the same path as the source unit.
[0079] Specifically, after receiving the complete snapshot file, the target migration operation unit first verifies that the file hash value matches that sent by the source unit, and then initiates the state recovery process. For containerized jobs, the snapshot image is loaded through the container runtime to rebuild the runtime environment, including network namespaces and mount points, and restore the process state within the container. For native process jobs, the process context is restored from the snapshot file, virtual memory addresses are remapped, and network connections are rebuilt. After recovery is complete, the job is started, and the system monitors whether the job started successfully. If startup fails, a rollback mechanism is triggered to retransmit the snapshot and attempt recovery again.
[0080] Specifically, by continuously monitoring and confirming that the job to be migrated is running normally in the target computing unit, a resource release command is sent to the source computing unit to reclaim resources such as processor cores, memory pages, and disk space occupied by the job, and the resource status data of the source unit is updated. At the same time, the lock node of the target computing unit is deleted through the distributed lock service, releasing the resource lock and enabling the computing unit to participate in subsequent job scheduling.
[0081] In summary, by acquiring multi-dimensional feature data from each computing unit and preprocessing it into normalized resource status data, and combining this with the resource requirement parameters of the running job to determine the job to be migrated, the limitations of traditional migration decisions triggered by a single resource indicator are overcome. This approach comprehensively considers the resource status of each computing unit, preventing new problems caused by insufficient resources in the target migration computing unit after migration. Furthermore, by generating a set of neighboring computing units with different radii centered on the source computing unit, and filtering the target migration computing unit through a preset objective function, the traditional indiscriminate traversal or random selection of target migration computing units is changed. This precisely narrows the search range, reduces search time, lowers migration latency, effectively alleviates resource allocation imbalance, and improves the overall cluster utilization.
[0082] Meanwhile, by performing secondary resource verification on the target migration operation unit, the problem of insufficient resources in the target unit caused by other operations occupying resources after screening and before migration can be effectively avoided, ensuring that the target unit truly has the resource capacity to undertake the migration operation and reducing the risk of migration failure.
[0083] In another embodiment provided in this application, during the process of determining the target migration operation unit, if there are multiple operation units corresponding to the target function value at the preset position, the following steps are performed:
[0084] Sa: Network transmission delay between the source arithmetic unit and the arithmetic unit corresponding to the target function value at the preset position.
[0085] Sb: The computational unit with the lowest network transmission latency is used as the target migration computational unit.
[0086] Sc: If there are computing units with the same network transmission delay, compare the historical job migration success rates of each computing unit and determine the computing unit with the highest historical job migration success rate as the target migration computing unit.
[0087] Sd: If there are multiple computing units with the highest historical job migration success rate, then select the computing unit with the smaller load fluctuation as the target migration computing unit based on the node load history of each computing unit.
[0088] In summary, when multiple computational units corresponding to the objective function values at preset positions exist, determining the target migration computational unit by sequentially comparing network transmission latency, historical job migration success rate, and node load history can ensure fairness in the selection process while prioritizing computational units with better network performance, higher migration reliability, and more stable load. This effectively avoids the uncertainty caused by random selection, reduces job operation problems caused by high network latency, low migration success rate, or large load fluctuations after migration, further improves the accuracy of job migration and the stability of cluster operation, and ensures the efficiency of large-scale computing cluster resource scheduling.
[0089] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0090] Figure 3 This is a schematic diagram of the structure of the job migration device provided in an embodiment of this application. Figure 3 As shown, embodiments of this application also provide a job migration device, including: a multi-dimensional feature data processing module 301, a load intensity calculation module 302, a resource requirement parameter acquisition module 303, a job to be migrated determination module 304, a neighborhood set generation module 305, a target neighborhood set determination module 306, a target migration operation unit filtering module 307, and a job migration module 308.
[0091] The multidimensional feature data processing module 301 is used to obtain multidimensional feature data of each computing unit in the cluster and to obtain resource status data from the multidimensional feature data.
[0092] The load intensity calculation module 302 is used to calculate the load intensity of each computing unit based on resource status data.
[0093] The resource requirement parameter acquisition module 303 is used to acquire the resource requirement parameters of the jobs running on each computing unit.
[0094] The job to be migrated determination module 304 is used to determine the jobs to be migrated based on the load intensity of each computing unit and the resource requirement parameters of the jobs running on each computing unit.
[0095] The neighborhood set generation module 305 is used to generate a set of neighborhood operation units with different neighborhood radii, centered on the source operation unit where the job to be migrated is located. The neighborhood radius is determined based on the number of network hops between each operation unit.
[0096] The target neighborhood set determination module 306 is used to determine the neighborhood operation unit set corresponding to the target neighborhood radius from the neighborhood operation unit sets corresponding to different neighborhood radii.
[0097] The target migration operation unit filtering module 307 is used to filter target migration operation units within the set of neighborhood operation units corresponding to the target neighborhood radius by means of a preset objective function.
[0098] The job migration module 308 is used to perform the migration operation of the job to be migrated from the source computing unit to the target migration computing unit.
[0099] In one possible implementation, the multidimensional feature data processing module 301 is specifically used to calculate the processor utilization rate, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate based on the multidimensional feature data; and to determine the processor utilization rate, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate as resource status data.
[0100] In one possible implementation, the job to be migrated determination module 304 is specifically used to select computing units with a preset load intensity from each computing unit; extract the resource requirement parameters of each running job on the computing unit with the preset load intensity, as well as the resource status data of the computing unit with the preset load intensity, wherein the resource requirement parameters include the required values for processor utilization, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate; compare the resource requirement parameters of each running job in each dimension with the resource status data of the corresponding dimension of the computing unit with the preset load intensity; if there is a running job whose resource requirement parameter in any dimension is higher than the resource status data of the corresponding dimension of the computing unit with the preset load intensity, then the running job is determined as a job to be migrated.
[0101] In one possible implementation, the neighborhood set generation module 305 is specifically used to convert the cluster into an undirected graph, wherein each node of the undirected graph corresponds to each computing unit in the cluster, the edges of the undirected graph correspond to the network connections between computing units, and the weight of the edges corresponds to the network hop count between computing units; obtain the network hop count values between the source computing unit and other computing units in the undirected graph; and, based on the network hop count values, divide the computing units with the same network hop count values as the source computing unit into a neighborhood computing unit set corresponding to the same neighborhood radius.
[0102] In one possible implementation, the target neighborhood set determination module 306 is specifically used to sequentially check the neighborhood operation unit sets corresponding to each neighborhood radius in ascending order of neighborhood radius; for each neighborhood operation unit set, determine whether there are operation units that meet preset resource conditions, wherein the preset resource conditions are that the resource status data of the operation unit in each dimension is not lower than the resource requirement parameters of the corresponding dimension of the job to be migrated; if there are operation units that meet the preset resource conditions in the neighborhood operation unit set corresponding to the currently checked neighborhood radius, then the currently checked neighborhood radius is determined as the target neighborhood radius, and each operation unit that meets the preset resource conditions is determined as the neighborhood operation unit set corresponding to the target neighborhood radius; if there are no operation units that meet the preset resource conditions in the neighborhood operation unit set corresponding to the currently checked neighborhood radius, then continue to check the neighborhood operation unit set corresponding to the next neighborhood radius, until the neighborhood operation unit set corresponding to the target neighborhood radius is found or the preset neighborhood radius is reached.
[0103] In one possible implementation, the target migration operation unit filtering module 307 is specifically used to obtain the resource status data of each operation unit in the neighborhood operation unit corresponding to the target neighborhood radius, as well as the network hop count between each operation unit and the source operation unit; substitute the resource status data of each operation unit and the network hop count between each operation unit and the source operation unit into a preset objective function to calculate the objective function value of each operation unit; sort the objective function values of each operation unit, and determine the operation unit corresponding to the objective function value at the preset position as the target migration operation unit.
[0104] In one possible implementation, the job migration device further includes an average rule breaking module, which is used to obtain the network transmission delay between the source computation unit and the computation unit corresponding to the target function value at the preset position if there are multiple computation units corresponding to the target function value at the preset position; and to take the computation unit with the smallest network transmission delay as the target migration computation unit.
[0105] In one possible implementation, the target function preset in the target migration operation unit filtering module 307 is:
[0106]
[0107] In the formula, This represents the j-th candidate computation unit in the set of neighborhood computation units corresponding to the target neighborhood radius; This represents the weight coefficient assigned to the i-th dimension in the resource status data; Represents the j-th candidate operation unit The resource status data of the i-th dimension; This indicates the source computation unit where the job to be migrated resides; This represents the number of network hops between the source operation unit and the j-th candidate operation unit.
[0108] In one possible implementation, the job migration device further includes a secondary verification module, which performs secondary resource verification on the target migration operation unit to check whether the resource status data of the target migration operation unit still meets the resource requirement parameters of the job to be migrated; if the secondary resource verification passes, a distributed lock is added to the target migration operation unit; if the secondary resource verification fails, the target migration operation unit is added to a temporary unavailable list and returned to the set of neighboring operation units corresponding to the target neighborhood radius, and the target migration operation unit is re-selected through a preset objective function.
[0109] In one possible implementation, the job migration module 308 is specifically used to send a job migration instruction to the source computing unit, suspend the operation of the job to be migrated and save the job running status; transmit the saved job running status to the target migration computing unit; restore the running status of the job to be migrated in the target migration computing unit and start the job to be migrated; when it is detected that the job to be migrated is running normally in the target migration computing unit, release the resources related to the job to be migrated in the source computing unit and release the distributed lock of the target migration computing unit.
[0110] In one possible implementation, the load intensity calculation module 302 is specifically used to determine the weight coefficients of each dimension in the resource status data of each computing unit; using a weighted accumulation algorithm, the data of each dimension in the resource status data are multiplied by the corresponding weight coefficients and then summed to obtain the comprehensive resource value; and based on the comprehensive resource value of each computing unit, the load intensity of each computing unit is determined.
[0111] In one possible implementation, the load intensity calculation module 302 is further configured to collect execution data of historical jobs on each computing unit in the cluster, extract the actual consumption ratio of processor, memory, storage, network bandwidth, and input / output bandwidth of historical jobs from the execution data; use the average consumption ratio of resources in each dimension as the initial weight coefficient, and dynamically update the initial weight coefficient based on the actual consumption ratio using an online learning algorithm to generate a dynamic weight vector; generate a feature encoding vector based on the type of historical jobs in each computing unit, wherein the feature encoding vector is a multi-dimensional vector that quantifies the resource requirement characteristics of the historical job type on each computing unit; match the corresponding weight template according to the feature encoding vector, and use the weight template as the basic weight vector; and determine the weight coefficient of each dimension of data based on the dynamic weight vector and the basic weight vector.
[0112] For a description of the features in the embodiments corresponding to the job migration device, please refer to the relevant descriptions in the embodiments corresponding to the job migration method, which will not be repeated here.
[0113] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 4 As shown, the electronic device provided in this embodiment includes at least one processor 401 and a memory 402. Optionally, the electronic device further includes a communication component 403. The processor 401, memory 402, and communication component 403 are connected via a bus.
[0114] In a specific implementation, at least one processor 401 executes computer execution instructions stored in memory 402, causing at least one processor 401 to execute the above-described job migration method embodiment.
[0115] The specific implementation process of processor 401 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0116] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0117] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0118] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0119] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described job migration method embodiments at runtime.
[0120] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0121] Embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps in any of the above-described job migration method embodiments.
[0122] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described job migration method embodiments.
[0123] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0124] The above provides a detailed description of the job migration method, apparatus, storage medium, and program product provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A job migration method, characterized in that, include: Obtain multidimensional feature data of each computing unit in the cluster, and obtain resource status data from the multidimensional feature data; Based on the resource status data, the load intensity of each computing unit is calculated; Obtain the resource requirement parameters for the jobs running on each of the computing units; The jobs to be migrated are determined based on the load intensity of each computing unit and the resource requirements of the jobs running on each computing unit. Centered on the source computing unit where the job to be migrated is located, a set of neighboring computing units with different neighborhood radii is generated, wherein the neighborhood radius is determined based on the number of network hops between each computing unit; For each set of neighboring computing units, determine whether there are computing units that meet preset resource conditions, wherein the preset resource conditions are that the resource status data of the computing unit is not lower than the resource requirement parameters of the corresponding dimension of the job to be migrated. If there is a set of neighboring operation units that meets the preset resource conditions in the set of neighboring operation units corresponding to the currently checked neighboring radius, then the currently checked neighboring radius is determined as the target neighboring radius, and each operation unit that meets the preset resource conditions is determined as the set of neighboring operation units corresponding to the target neighboring radius. Obtain the resource status data of each computing unit in the neighborhood computing unit corresponding to the target neighborhood radius, as well as the network hop count between each computing unit and the source computing unit; Substitute the resource status data of each computing unit and the network hop count between each computing unit and the source computing unit into a preset objective function to calculate the objective function value of each computing unit. The objective function values of each operation unit are sorted, and the operation unit corresponding to the objective function value at a preset position is determined as the target migration operation unit; Perform the migration operation of the job to be migrated from the source computing unit to the target migration computing unit.
2. The job migration method according to claim 1, characterized in that, The process of obtaining resource status data from the multidimensional feature data includes: Based on the multidimensional feature data, the processor utilization rate, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate are calculated. The processor utilization, memory remaining rate, storage remaining rate, network bandwidth remaining rate, and input / output bandwidth remaining rate are determined as the resource status data.
3. The job migration method according to claim 2, characterized in that, The step of determining the jobs to be migrated based on the load intensity of each computing unit and the resource requirement parameters of the jobs running on each computing unit includes: Select computing units with a preset load intensity from the aforementioned computing units; Extract the resource requirement parameters of each running job on the computing unit with the preset load intensity, as well as the resource status data of the computing unit with the preset load intensity, wherein the resource requirement parameters include the required values for the processor utilization, the memory remaining rate, the storage remaining rate, the network bandwidth remaining rate, and the input / output bandwidth remaining rate; Compare the resource requirement parameters of each running job in each dimension with the resource status data of the same dimension corresponding to the computing unit with the preset load intensity. If any running job has a resource requirement parameter in any dimension that is higher than the resource status data of the corresponding dimension of the computing unit with the preset load strength, then the running job is identified as the job to be migrated.
4. The job migration method according to claim 1, characterized in that, The step of generating a set of neighborhood computation units with different neighborhood radii, centered on the source computation unit where the job to be migrated is located, includes: The cluster is transformed into an undirected graph, wherein each node of the undirected graph corresponds to each computing unit in the cluster, the edges of the undirected graph correspond to the network connections between the computing units, and the weight of the edges corresponds to the network hop count between the computing units. Obtain the network hop count between the source computation unit and other computation units in the undirected graph; Centered on the source operation unit, and based on the network hop count value, operation units with the same network hop count value as the source operation unit are divided into a set of neighboring operation units corresponding to the same neighborhood radius.
5. The job migration method according to claim 1, characterized in that, After determining whether there are any computing units that meet the preset resource conditions for each set of neighboring computing units, the process further includes: Check the set of neighborhood operation units corresponding to each neighborhood radius in ascending order of neighborhood radius; If there is no computation unit in the set of neighboring computation units corresponding to the currently checked neighboring radius that meets the preset resource conditions, then continue to check the set of neighboring computation units corresponding to the next neighboring radius until the set of neighboring computation units corresponding to the target neighboring radius is found or the preset neighboring radius is reached.
6. The job migration method according to claim 1, characterized in that, After determining the computation unit corresponding to the objective function value at the preset position as the target migration computation unit, the method further includes: If the target function value at the preset position corresponds to multiple computational units, then the network transmission delay between the source computational unit and the computational unit corresponding to the target function value at the preset position is obtained. The computational unit with the lowest network transmission latency is selected as the target migration computational unit.
7. The job migration method according to claim 1, characterized in that, The preset objective function is: In the formula, This represents the j-th candidate computation unit in the set of neighborhood computation units corresponding to the target neighborhood radius; This represents the weight coefficient assigned to the i-th dimension in the resource status data; Represents the j-th candidate operation unit The resource status data of the i-th dimension; This indicates the source computing unit where the job to be migrated resides; This represents the number of network hops between the source operation unit and the j-th candidate operation unit.
8. The job migration method according to claim 1, characterized in that, After sorting the objective function values of each computational unit and determining the computational unit corresponding to the objective function value at a preset position as the target migration computational unit, the method further includes: A secondary resource verification is performed on the target migration operation unit to check whether the resource status data of the target migration operation unit still meets the resource requirement parameters of the job to be migrated. If the secondary resource verification passes, a distributed lock is added to the target migration operation unit; If the secondary resource verification fails, the target migration operation unit is added to the temporary unavailable list and returned to the set of neighborhood operation units corresponding to the target neighborhood radius, and the target migration operation units are re-selected through the preset objective function.
9. The job migration method according to claim 8, characterized in that, The migration operation of the job to be migrated from the source computing unit to the target migration computing unit includes: Send a job migration instruction to the source computing unit to pause the execution of the job to be migrated and save the job execution status; The saved job execution status is transmitted to the target migration calculation unit; The running state of the job to be migrated is restored in the target migration operation unit, and the job to be migrated is started. Once it is detected that the job to be migrated is running normally in the target migration computing unit, the resources related to the job to be migrated in the source computing unit are released, and the distributed lock of the target migration computing unit is released.
10. The job migration method according to claim 2, characterized in that, The calculation of the load intensity of each computing unit based on the resource status data includes: Determine the weight coefficients of each dimension in the resource status data of each computing unit; A weighted summation algorithm is used to multiply the data of each dimension in the resource status data by the corresponding weight coefficient and then sum them to obtain the comprehensive resource value; The load intensity of each computing unit is determined based on the overall resource value of each computing unit.
11. The job migration method according to claim 10, characterized in that, The determination of the weight coefficients for each dimension in the resource status data of each computing unit includes: Collect the execution data of historical jobs in the cluster on each computing unit, and extract the actual consumption ratio of the historical jobs on processor, memory, storage, network bandwidth and input / output bandwidth from the execution data; Using the average consumption ratio of resources in each dimension as the initial weight coefficient, and based on the actual consumption ratio, an online learning algorithm is used to dynamically update the initial weight coefficient to generate a dynamic weight vector. Based on the types of historical jobs of each computing unit, a feature encoding vector is generated, wherein the feature encoding vector is a multi-dimensional vector that quantifies the resource requirement characteristics of the historical job types on each computing unit; Match the corresponding weight template according to the feature encoding vector, and use the weight template as the basic weight vector; The weight coefficients of each dimension of data are determined based on the dynamic weight vector and the basic weight vector.
12. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the job migration method as described in any one of claims 1 to 11.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the job migration method as described in any one of claims 1 to 11.
14. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the job migration method as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Task unloading and migration optimization method based on genetic algorithm and greedy algorithm
CN115599465A
Business migration method and device, readable storage medium and computer program product
CN120512470A