Task migration method and device, medium and product

By allocating tasks according to task characteristics and equipment performance, and migrating when the task processing equipment is overloaded, the problem of unreasonable allocation of computing resources is solved and the efficiency of task processing is improved.

CN119645637APending Publication Date: 2025-03-18CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411719524.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

When different types of computing units work together, general technology only considers the performance of computing units, resulting in unreasonable allocation of computing resources, resulting in the inability to fully utilize the computing units, which in turn affects the efficiency of task processing.

Method used

By receiving tasks and obtaining task characteristics of tasks and equipment performance of multiple task processing devices, tasks are assigned to multiple task processing devices according to task characteristics and equipment performance, and when the first task processing device is overloaded, the task is migrated to the second task processing device to ensure that the load of the second task processing device is not overloaded.

Benefits of technology

The rational allocation of tasks and the reasonable allocation of task processing equipment are realized, so that multiple task processing equipment work together, improve the efficiency of processing tasks, and avoid affecting the speed of task processing due to load overload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119645637A_ABST
    Figure CN119645637A_ABST
Patent Text Reader

Abstract

The invention provides a task migration method and device, a medium and a product, relates to the technical field of communication, and aims to solve the problem of relatively low task processing efficiency caused by unreasonable task allocation of a general technology. The task migration method comprises the following steps: receiving a task, and obtaining task characteristics of the task and device performance of a plurality of task processing devices for processing the task; allocating tasks to the plurality of task processing devices according to the task characteristics and the device performance; under the condition that the load of the first task processing device in the multiple task processing devices is overloaded, tasks processed by the first task processing device are migrated to a second task processing device in the multiple task processing devices; the load of the second task processing equipment is not overloaded.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a task migration method, device, medium and product. Background Art

[0002] With the development of artificial intelligence (AI) technology, in order to meet the needs of AI technology for diversified computing, different types of computing units are usually used to work together to achieve efficient computing.

[0003] At present, when different types of computing units work together, the general technology only considers the performance of the computing units, resulting in unreasonable allocation of computing resources and inability to fully utilize the computing units. In this way, when different types of computing units work together, if one computing unit processes tasks inefficiently, it will affect the progress of other computing units in processing tasks, making the processing efficiency of tasks inefficient.

[0004] Therefore, the task allocation of general technologies is unreasonable, resulting in low efficiency in processing tasks. Summary of the invention

[0005] The embodiments of the present disclosure provide a task migration method, device, medium and product, aiming to solve the problem that the task allocation of common technologies is unreasonable, resulting in low efficiency in processing tasks.

[0006] In order to achieve the above objectives, this application adopts the following technical solutions:

[0007] In a first aspect, a task migration method is provided, comprising: receiving a task, and obtaining task characteristics of the task and device performance of multiple task processing devices that process the task; assigning the task to multiple task processing devices according to the task characteristics and the device performance; in the event that a first task processing device among the multiple task processing devices is overloaded, migrating the task processed by the first task processing device to a second task processing device among the multiple task processing devices; and the load of the second task processing device is not overloaded.

[0008] Optionally, tasks are assigned to multiple task processing devices based on task characteristics and device performance, including: determining the computing power of the task processing device based on the device performance; determining the target task processing device for processing the task based on the task characteristics, computing power and computing load of the task processing device; the target task processing device includes at least any two of the following: a central processing unit (CPU), a graphics processing unit (GPU), a field-programmable gate array (FPGA), and an application-specific integrated circuit (ASIC); multiple task processing devices include a target task processing device; and tasks are assigned to the target task processing device.

[0009] Optionally, the device performance includes: the number of cores of the task processing device, the operating frequency of the task processing device, and the operating cycle of the task processing device computing tasks; based on the device performance, the computing power of the task processing device is determined, including: determining the computing power as the ratio of the product of the number of cores and the operating frequency to the operating cycle.

[0010] Optionally, the task migration method also includes: when multiple task processing devices process tasks, obtaining the data transmission efficiency between the multiple task processing devices; when the data transmission efficiency is less than a preset data transmission efficiency, compressing the transmission quantity of the target data, and / or deleting duplicate target data; the target data is the data obtained by multiple task processing devices processing the task.

[0011] Optionally, the task migration method also includes: predicting data transmission requirements based on historical data transmission status, network status and task characteristics; historical data is data obtained by multiple task processing devices processing tasks within a historical time period; and increasing data transmission bandwidth and / or optimizing data transmission routes based on data transmission requirements.

[0012] Optionally, the task migration method also includes: obtaining the models required for multiple task processing devices to process tasks; determining the computing amount of the target sub-model based on the computing capabilities of the multiple task processing devices and the computing amount of the model; the model includes the target sub-model; and sending the target sub-model to the target task processing device.

[0013] Optionally, the computing power of the target sub-model is determined based on the computing power of multiple task processing devices and the computing power of the model, including: multiplying the computing power of the target processing device, the computing power of multiple task processing devices and the value by the product of the computing power of the model to determine the computing power of the target sub-model.

[0014] Optionally, the task migration method also includes: obtaining status data of tasks processed by multiple task processing devices; the status data includes at least one of the following: the task volume of multiple task processing devices, the computing power of multiple task processing devices, the computing status of multiple task processing devices, and the data transmission efficiency between multiple task processing devices; and outputting the status data in the form of an image.

[0015] In a second aspect, a task migration device is provided, which includes: a communication unit and a processing unit; the communication unit is used to receive tasks and obtain task characteristics of the tasks and device performance of multiple task processing devices that process the tasks; the processing unit is used to allocate tasks to multiple task processing devices according to the task characteristics and the device performance; the processing unit is also used to migrate the tasks processed by the first task processing device to a second task processing device among the multiple task processing devices when the load of the first task processing device among the multiple task processing devices is overloaded; the load of the second task processing device is not overloaded.

[0016] Optionally, the processing unit is specifically used to: determine the computing power of the task processing device based on the device performance; determine the target task processing device for processing the task based on the task characteristics, computing power and computing load of the task processing device; the target task processing device includes at least any two of the following: CPU, GPU, FPGA, ASIC; multiple task processing devices include the target task processing device; and assign tasks to the target task processing device.

[0017] Optionally, the device performance includes: the number of cores of the task processing device, the operating frequency of the task processing device, and the operating cycle of the task processing device computing tasks; the processing unit is specifically used to: determine the computing power as the ratio of the product of the number of cores and the operating frequency to the operating cycle.

[0018] Optionally, the communication unit is also used to obtain the data transmission efficiency between multiple task processing devices when multiple task processing devices process tasks; the processing unit is also used to compress the transmission quantity of target data and / or delete duplicate target data when the data transmission efficiency is less than a preset data transmission efficiency; the target data is the data obtained by multiple task processing devices processing tasks.

[0019] Optionally, the processing unit is also used to predict data transmission requirements based on historical data transmission status, network status and task characteristics; historical data is data obtained by multiple task processing devices processing tasks within a historical time period; the processing unit is also used to increase data transmission bandwidth and / or optimize data transmission routes according to data transmission requirements.

[0020] Optionally, the communication unit is also used to obtain the models required for multiple task processing devices to process tasks; the processing unit is also used to determine the computing amount of the target sub-model based on the computing capabilities of the multiple task processing devices and the computing amount of the model; the model includes the target sub-model; and the target sub-model is sent to the target task processing device.

[0021] Optionally, the processing unit is specifically used to: determine the computing power of the target processing device, the computing power of multiple task processing devices and the ratio of the value, and the computing power of the model as the computing power of the target sub-model.

[0022] Optionally, the communication unit is also used to obtain status data of tasks processed by multiple task processing devices; the status data includes at least one of the following: the task volume of multiple task processing devices, the computing power of multiple task processing devices, the computing status of multiple task processing devices, and the data transmission efficiency between multiple task processing devices; the processing unit is also used to output the status data in the form of an image.

[0023] In the third aspect, a task migration device is provided, comprising a memory and a processor; the memory is used to store computer execution instructions, and the processor and the memory are connected via a bus; when the task migration device is running, the processor executes the computer execution instructions stored in the memory, so that the task migration device executes the task migration method of the first aspect.

[0024] The task migration device may be an electronic device, or a part of an electronic device, such as a chip system in an electronic device. The chip system is used to support the electronic device to implement the functions involved in the first aspect and any possible implementation thereof, for example, to obtain and determine the data and / or information involved in the above-mentioned task migration method. The chip system includes a chip, and may also include other discrete devices or circuit structures.

[0025] In a fourth aspect, a computer-readable storage medium is provided, the computer-readable storage medium comprising computer execution instructions, and when the computer execution instructions are executed on a computer, the computer executes the task migration method described in the first aspect.

[0026] In a fifth aspect, a computer program product is also provided. The computer program product includes a computer program or instructions. When the computer instructions are executed on a task migration device, the task migration device executes the task migration method as described in the first aspect above.

[0027] It should be noted that the above computer instructions may be stored in whole or in part on a computer-readable storage medium, wherein the computer-readable storage medium may be packaged together with the processor of the task migration device, or may be packaged separately from the processor of the task migration device, which is not limited in the present embodiment.

[0028] The description of the second, third, fourth and fifth aspects of the present application can refer to the detailed description of the first aspect.

[0029] In the embodiments of the present application, the name of the task migration device does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear with other names. For example, the receiving unit may also be called a receiving module, a receiver, etc. As long as the functions of each device or functional module are similar to those of the present application, they fall within the scope of the claims of the present application and their equivalent technologies.

[0030] The technical solution provided by this application brings at least the following beneficial effects:

[0031] Based on any of the above aspects, an embodiment of the present application provides a task migration method, first, receiving a task, and obtaining the task characteristics of the task and the device performance of multiple task processing devices that process the task. Then, according to the task characteristics and the device performance, tasks are assigned to multiple task processing devices. Then, in the case where the load of a first task processing device among the multiple task processing devices is overloaded, the task processed by the first task processing device is migrated to a second task processing device among the multiple task processing devices, wherein the load of the second task processing device is not overloaded.

[0032] As can be seen from the above, the present application can receive tasks, and obtain the task characteristics of the tasks and the device performance of multiple task processing devices that process the tasks, so as to allocate tasks to multiple task processing devices according to the task characteristics and the device performance. In this way, it is possible to achieve reasonable allocation of tasks and reasonable allocation of task processing devices, so that multiple task processing devices can work together to improve the efficiency of processing tasks. In the event that the load of the first task processing device among the multiple task processing devices is overloaded, the task processed by the first task processing device is migrated to the second task processing device among the multiple task processing devices. In this way, tasks can be further reasonably allocated and the efficiency of processing tasks can be improved.

[0033] The beneficial effects of the first, second, third, fourth and fifth aspects of the present application can all be referred to the analysis of the above beneficial effects, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 A schematic diagram of the structure of a task migration system provided in an embodiment of the present application;

[0035] Figure 2 A schematic diagram of a hardware structure of a communication device provided in an embodiment of the present application;

[0036] Figure 3 A flowchart of a task migration method provided in an embodiment of the present application;

[0037] Figure 4 A flowchart of another task migration method provided in an embodiment of the present application;

[0038] Figure 5 A flowchart of another task migration method provided in an embodiment of the present application;

[0039] Figure 6 A flowchart of another task migration method provided in an embodiment of the present application;

[0040] Figure 7 A flowchart of another task migration method provided in an embodiment of the present application;

[0041] Figure 8 A flowchart of another task migration method provided in an embodiment of the present application;

[0042] Fig. 9 A flowchart of another task migration method provided in an embodiment of the present application;

[0043] Fig.10 A flowchart of another task migration method provided in an embodiment of the present application;

[0044] Fig.11 A schematic diagram of the structure of a task migration device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0045] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0046] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0047] In order to facilitate a clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and order of execution.

[0048] Before introducing the task migration method provided by this application in detail, a brief introduction to the application scenarios and implementation environment involved in this application is first given.

[0049] First, a brief introduction to the application scenarios involved in this application is given.

[0050] With the development of AI technology, in order to meet the needs of AI technology for diversified computing, different types of computing units are usually used to work together to achieve efficient computing.

[0051] At present, when different types of computing units work together, the general technology only considers the performance of the computing units, resulting in unreasonable allocation of computing resources, so that the computing units cannot be fully utilized (for example, the computing units are idle, the computing units are overloaded (also called overload)). In this way, when different types of computing units work together, if one computing unit processes tasks inefficiently, it will affect the progress of other computing units processing tasks, making the processing efficiency of tasks inefficient.

[0052] Therefore, the task allocation of general technologies is unreasonable, resulting in low efficiency in processing tasks.

[0053] In view of the above problems, an embodiment of the present application provides a task migration method, first, receiving a task, and obtaining the task characteristics of the task and the device performance of multiple task processing devices that process the task. Then, according to the task characteristics and the device performance, the task is assigned to the multiple task processing devices. Then, in the case where the load of the first task processing device among the multiple task processing devices is overloaded, the task processed by the first task processing device is migrated to the second task processing device among the multiple task processing devices, wherein the load of the second task processing device is not overloaded.

[0054] As can be seen from the above, the present application can receive tasks, and obtain the task characteristics of the tasks and the device performance of multiple task processing devices that process the tasks, so as to allocate tasks to multiple task processing devices according to the task characteristics and the device performance. In this way, it is possible to achieve reasonable allocation of tasks and reasonable allocation of task processing devices, so that multiple task processing devices can work together to improve the efficiency of processing tasks. In the event that the load of the first task processing device among the multiple task processing devices is overloaded, the task processed by the first task processing device is migrated to the second task processing device among the multiple task processing devices. In this way, tasks can be further reasonably allocated and the efficiency of processing tasks can be improved.

[0055] The implementation environment of the above-mentioned task migration method may be the task migration system provided in the embodiment of the present application.

[0056] Figure 1 FIG. 1 shows a schematic diagram of a task migration system provided by an embodiment of the present application. Figure 1As shown, the task migration system includes: a communication device 101 , a task migration device 102 and a plurality of task processing devices 103 .

[0057] The communication device 101 is in communication connection with the task migration device 102 .

[0058] The task migration device 102 is communicatively connected to the task processing device 103 .

[0059] The multiple task processing devices 103 are connected to each other in communication.

[0060] Optionally, the task processing device 103 includes: a CPU, a GPU, a FPGA and an ASIC.

[0061] In practical applications, the task migration device 102 can be connected to any number of communication devices 101. For ease of understanding, Figure 1 An example of a task migration device 102 connected to a communication device 101 is used for description.

[0062] In practical applications, the task migration device 102 can be connected to any number of task migration devices 103. Figure 1 An example in which one task migration device 102 is connected to three task processing devices 103 is used for description.

[0063] In an embodiment of the present application, the communication device 101 is used to provide data for task migration (e.g., tasks, task characteristics) to the task migration device 102, and the task processing device 103 is used to provide data for task migration (e.g., device performance, device load) to the task migration device 102, so that the task migration device 102 implements task migration according to the data sent by the communication device 101 and the task processing device 103.

[0064] Optionally, the physical device of the task migration device 102 may be a server, a terminal, or other types of electronic devices, which is not limited in the embodiment of the present application.

[0065] Optionally, the terminal may be a device that provides voice and / or data connectivity to a user, a handheld device with wireless connection function, or other processing device connected to a wireless modem. The wireless terminal may communicate with one or more core networks via a radio access network (RAN). The wireless terminal may be a mobile terminal, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal, or a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device that exchanges language and / or data with a radio access network, such as a mobile phone, tablet computer, laptop computer, netbook, personal digital assistant (PDA).

[0066] Optionally, the above-mentioned server can be a server in a server cluster (consisting of multiple servers), or a chip in the server, or a system on a chip in the server, or can be implemented by a virtual machine (VM) deployed on a physical machine, which is not limited in the embodiments of the present application.

[0067] Optionally, the task migration device 102 and the communication device 101 may be two devices independently set up, or may be integrated into the same device. When the task migration device 102 and the communication device 101 are integrated into the same device, the communication device 101 may be a communication module of the task migration device 102 .

[0068] It is easy to understand that when the task migration device 102 and the communication device 101 are integrated into the same device, the communication mode between the task migration device 102 and the communication device 101 is the communication between the internal modules of the device. In this case, the communication process between the two is the same as the communication process between the task migration device 102 and the communication device 101 when they are independent of each other.

[0069] For ease of understanding, the present application is described by taking the example that the task migration device 102 and the communication device 101 are independent of each other.

[0070] The task migration device in the task migration system includes: Figure 2 The following are the components included. Figure 2 Taking the communication device shown in the figure as an example, the hardware structure of the task migration device is introduced.

[0071] Figure 2 , which is a schematic diagram of a hardware structure of a communication device provided in an embodiment of the present application. The communication device includes a processor 21, a memory 22, a communication interface 23, and a bus 24. The processor 21, the memory 22, and the communication interface 23 can be connected via a bus 24.

[0072] The processor 21 is the control center of the communication device, which can be a processor or a general term for multiple processing elements. For example, the processor 21 can be a general-purpose central processing unit (CPU) or other general-purpose processors. Among them, the general-purpose processor can be a microprocessor or any conventional processor.

[0073] As an embodiment, the processor 21 may include one or more CPUs, for example Figure 2 CPU0 and CPU1 are shown in the figure.

[0074] The memory 22 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this.

[0075] In a possible implementation, the memory 22 may exist independently of the processor 21, and the memory 22 may be connected to the processor 21 via a bus 24 to store instructions or program codes. When the processor 21 calls and executes the instructions or program codes stored in the memory 22, the task migration method provided in the following embodiments of the present application can be implemented.

[0076] In the embodiment of the present application, for the communication device, the software programs stored in the memory 22 are different, so the functions implemented by the communication device are different. The functions performed by each device will be described in conjunction with the following flowchart.

[0077] In another possible implementation, the memory 22 may also be integrated with the processor 21 .

[0078] The communication interface 23 is used for the communication device to connect with other devices through a communication network, and the communication network may be Ethernet, wireless access network, wireless local area network (WLAN), etc. The communication interface 23 may include a receiving unit for receiving data and a sending unit for sending data.

[0079] The bus 24 may be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 2 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0080] It should be pointed out that Figure 2 The structure shown in the figure does not constitute a limitation on the communication device, except Figure 2 In addition to the components shown, the communication device may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0081] The task migration method provided in the embodiment of the present application is described in detail below with reference to the accompanying drawings.

[0082] The task migration method provided in the embodiment of the present application is applied to Figure 1 The task migration device 101 in the task migration system shown in FIG. Figure 3 As shown, the task migration method provided in the embodiment of the present application includes:

[0083] S301: Receive a task, and obtain task characteristics of the task and device performance of multiple task processing devices for processing the task.

[0084] In one possible implementation, the task migration device can receive the task and obtain the task characteristics and the device performance of multiple task devices that process the task. In this way, the task migration device can allocate tasks to multiple task devices according to the task characteristics and device performance to achieve reasonable resource allocation, so that multiple task processing devices can work together to quickly process tasks.

[0085] Tasks include: training of large-scale neural network models, reasoning results based on large-scale neural network models, big data analysis, calculation and prediction.

[0086] Task characteristics include: the computing requirements of the task, the model required to process the task, the computational workload of the model, the computational complexity, and the data required to process the task.

[0087] Device performance includes: number of cores, operating frequency, operating cycle of computing tasks, memory, network bandwidth, and latency performance.

[0088] Combination Figure 1,The task migration device can receive tasks from other systems through ,communication devices and obtain the task characteristics of the tasks.

[0089] Combination Figure 1 ,The task migration device can obtain the device performance of the task processing device from the task processing device.

[0090] S302: Allocate tasks to multiple task processing devices according to task characteristics and device performance.

[0091] In one possible implementation, the task migration device can allocate tasks to multiple task processing devices according to task characteristics and device performance. In this way, the task migration device can fully consider task characteristics and device performance, achieve reasonable resource allocation, and enable multiple task processing devices to work systematically and quickly process tasks.

[0092] The task migration device can allocate tasks to multiple task processing devices according to task characteristics and device performance.

[0093] Optionally, the task migration device may allocate tasks to multiple task processing devices according to device performance.

[0094] In the case where the device performance includes energy consumption data, the task migration device may allocate tasks to the multiple task processing devices according to the energy consumption of the multiple task processing devices.

[0095] Optionally, the task migration device can also predict the predicted energy consumption data of multiple task processing devices under different task allocation strategies based on the energy consumption prediction model. The task processing device determines the task allocation strategy based on the energy consumption prediction data of the multiple task processing devices and allocates tasks to the multiple task processing devices.

[0096] Combination Figure 1 ,The task migration device can assign tasks to multiple task processing devices.

[0097] S303: When a first task processing device among the multiple task processing devices is overloaded, migrate the tasks processed by the first task processing device to a second task processing device among the multiple task processing devices.

[0098] Among them, the load of the second task processing equipment is not overloaded.

[0099] In one practicable manner, when a first task processing device among multiple task processing devices is overloaded, the task migration device can migrate the task processed by the first task processing device to a second task processing device among the multiple task processing devices. In this way, the speed of task processing can be prevented from being affected by the overload of the first task processing device.

[0100] In the case that a first task processing device among the plurality of task processing devices is overloaded, the task migration device may migrate the tasks processed by the first task processing device to a second task processing device among the plurality of task processing devices.

[0101] Combination Figure 1 ,The task migration device can migrate the tasks in one task processing ,device to another task processing device.

[0102] From the above, it can be seen that the task migration device can adjust the task processing device that processes the task according to the load of the task processing device to achieve load balancing (also called load) of multiple task processing devices, thereby improving the utilization rate of the task processing device, that is, improving the utilization rate of computing resources.

[0103] In some embodiments, in combination Figure 3 ,like Figure 4 As shown, in S302, tasks are assigned to multiple task processing devices according to task characteristics and device performance, specifically including:

[0104] S401. Determine the computing capability of the task processing device according to the device performance.

[0105] In one possible implementation, the task migration device can determine the computing power of the task processing device based on the device performance. In this way, the task migration device determines the target task processing device for processing the task based on the task characteristics, computing power, and computing load of the task processing device. This enables reasonable resource allocation and efficient utilization, so that the target task processing devices work together to quickly process tasks.

[0106] The task migration device can determine the computing capacity of the task processing device based on the device performance.

[0107] S402: Determine a target task processing device for processing the task according to the task characteristics, computing capability, and computing load of the task processing device.

[0108] The target task processing device includes at least any two of the following: CPU, GPU, FPGA, and ASIC.

[0109] The plurality of task processing devices include a target task processing device.

[0110] In one achievable manner, the task migration device can determine the target task processing device for processing the task based on the task characteristics, computing power, and computing load of the task processing device, so as to achieve reasonable resource allocation, so that the target task processing devices can work together and process the task quickly.

[0111] S403: Allocate tasks to target task processing devices.

[0112] In one practicable manner, the task migration device may assign tasks to the target task processing device, so that the target task processing device can work together and quickly process the tasks.

[0113] Combination Figure 1 ,The task migration device can assign tasks to the task processing device.

[0114] In some embodiments, the device performance includes: the number of cores of the task processing device, the operating frequency of the task processing device, the operating cycle of the task processing device computing tasks, and the combination of Figure 4 ,like Figure 5 As shown, in S401, the computing capacity of the task processing device is determined according to the device performance, specifically including:

[0115] S501: Determine the computing capacity as the ratio of the product of the number of cores and the operating frequency to the operating cycle.

[0116] In one achievable manner, the task migration device can determine the computing power of the task processing device based on the device performance. In the case where the device performance includes: the number of cores, the operating frequency, and the operating cycle, the task migration device can determine the ratio of the product of the number of cores and the operating frequency to the operating cycle as the computing power. In this way, the task migration device can determine the target task processing device for processing the task based on the task characteristics, computing power, and the computing load of the task processing device, so as to achieve load balancing between the task processing devices, thereby ensuring the rapid completion of the task, and efficiently utilizing resources to avoid wasting resources.

[0117] The task migration device can determine the computing capacity as the product of the number of cores (also called the core number), the operating frequency and the ratio of the operating cycle. The computing capacity satisfies the following formula:

[0118]

[0119] Among them, f is used to represent the operating frequency, N is used to represent the number of cores, and T is used to represent the operating cycle.

[0120] In some embodiments, in combination Figure 3 ,like Figure 6 As shown, the task migration method also includes:

[0121] S601. When multiple task processing devices process tasks, obtain data transmission efficiency between the multiple task processing devices.

[0122] In one practicable manner, when multiple task processing devices process tasks, the task migration device can obtain the data transmission efficiency between the multiple task processing devices. In this way, the task migration device can monitor the data transmission efficiency, and when the data transmission efficiency is less than the preset data transmission efficiency, compress the transmission quantity of the target data and delete the duplicate target data. This improves the data transmission efficiency between the task processing devices and further accelerates the processing of the task.

[0123] Data transmission efficiency includes: data transmission speed, data transmission delay time and data transmission packet loss rate.

[0124] Combination Figure 1 ,The task migration device can obtain the data transmission efficiency between the task processing devices from the task processing devices.

[0125] Optionally, when multiple task processing devices process tasks, the task migration device may obtain the computing states (also referred to as key performance indicators) of the multiple task processing devices.

[0126] Optionally, the task migration device may acquire (also referred to as monitor) the computing status of multiple task processing devices in real time.

[0127] The computing status may include: the utilization rate of the task processing device, the occupied memory of the task processing device, and the usage of the bandwidth of the task processing device.

[0128] Optionally, the task migration device may determine a strategy for optimizing the task processing device's task processing according to the computing state and data transmission efficiency of the task processing device, so as to improve the efficiency of task processing.

[0129] S602: When the data transmission efficiency is lower than a preset data transmission efficiency, compress the transmission quantity of target data and / or delete duplicate target data.

[0130] The target data is the data obtained by processing tasks by multiple task processing devices.

[0131] In one practicable manner, when the data transmission efficiency is less than the preset data transmission efficiency, the task migration device can compress the transmission quantity of the target data and delete the duplicate target data, so as to optimize the data transmission path between the task processing devices, reduce network delay and congestion, improve the data transmission efficiency, and further accelerate the processing of tasks.

[0132] When the data transmission efficiency is lower than the preset data transmission efficiency, the task migration device may use data compression technology to compress the transmission amount of the target data.

[0133] When the data transmission efficiency is lower than the preset data transmission efficiency, the task migration device may use deduplication technology to reduce the amount of target data to be transmitted.

[0134] When the data transmission efficiency is lower than the preset data transmission efficiency, the task migration device may use data compression technology to compress the transmission quantity of the target data, and use deduplication technology to reduce the transmission quantity of the target data.

[0135] Optionally, the task migration device may also obtain the topological structure between the multiple task processing devices, and optimize the data transmission between the multiple task processing devices according to the topological structure of the multiple task processing devices, so as to reduce the data transmission time between the task processing devices.

[0136] Optionally, the task migration device can realize data synchronization between task processing devices.

[0137] Optionally, the task migration device may adopt a compatible communication protocol to achieve data transmission between multiple task processing devices.

[0138] In some embodiments, in combination Figure 6 ,like Figure 7 As shown, the task migration method also includes:

[0139] S701. Predict data transmission requirements based on historical data transmission status, network status, and task characteristics.

[0140] The historical data refers to data obtained when multiple task processing devices process tasks within a historical time period.

[0141] In one possible implementation, the task migration device can predict data transmission requirements based on historical data transmission status, network status, and task characteristics, so that the task migration device can adjust network resources in advance based on data transmission requirements to ensure efficient and timely data transmission.

[0142] The historical data includes: historical data transmission speed, historical data transmission delay time and historical data transmission packet loss rate.

[0143] The task migration device can predict the data transmission demand based on the data transmission prediction algorithm according to historical data, network status and task characteristics.

[0144] S702: Increase data transmission bandwidth and / or optimize data transmission routes according to data transmission requirements.

[0145] In one possible implementation, the task migration device can adjust network resources according to data transmission requirements, including increasing data transmission bandwidth and / or optimizing data transmission routes. In this way, the task migration device can achieve efficient bandwidth utilization and ensure efficient and timely data transmission.

[0146] The task migration device can increase the data transmission bandwidth according to the data transmission demand.

[0147] The task migration device can optimize the data transmission route according to the data transmission requirements.

[0148] The task migration device can increase the data transmission bandwidth and optimize the data transmission route according to the data transmission demand.

[0149] Optionally, the task migration device can optimize the linear acceleration ratio by optimizing the algorithm to reduce the time of processing tasks and improve the efficiency of processing tasks.

[0150] Specifically, the task migration device can adjust the algorithm to reduce data transmission (also called communication) between task processing devices, including: reducing unnecessary data transmission and merging data transmission to reduce the time cost of data transmission and improve the efficiency of processing tasks.

[0151] Optionally, the task migration device may adopt a parallel strategy to optimize the linear acceleration ratio to reduce the time for processing tasks and improve the efficiency of processing tasks.

[0152] Optionally, the task migration device may adopt a data parallel strategy.

[0153] Data parallelism is the process of dividing the data required for processing a task (also called a data set) into multiple parts for processing by task processing devices.

[0154] Optionally, the task migration device can adopt a model parallel strategy.

[0155] Model parallelism is to divide the different parts of the model required for processing tasks among multiple task processing devices, and to make full use of the computing resources of the task processing devices through parallel strategies to improve the efficiency of processing tasks.

[0156] Optionally, the task migration device may compress data transmitted between task processing devices to reduce communication time and improve task processing efficiency.

[0157] Optionally, the task migration device may perform gradient accumulation, that is, accumulate the data to be transmitted before transmitting the data, so as to reduce the number of data transmissions and improve the efficiency of processing tasks.

[0158] From the above, we can see that task migration devices can optimize algorithms and adopt parallel strategies to ensure that the time to process tasks can be reduced in the expected proportion when computing resources are increased, so as to improve the linear acceleration ratio and support the parallel training of large-scale neural network models.

[0159] In some embodiments, in combination Figure 5 ,like Figure 8 As shown, the task migration method also includes:

[0160] S801. Obtain models required for multiple task processing devices to process tasks.

[0161] In one possible implementation, the task migration device can obtain the models required by multiple task processing devices to process tasks. In this way, the task migration device can determine the computational amount of the target sub-model based on the computational capabilities of the multiple task processing devices and the computational amount of the model, and send the target sub-model to the target task processing device, so that the target task processing device processes the task based on the target sub-model.

[0162] Combination Figure 1 ,The task migration device can obtain the models required for multiple task processing devices to process tasks through the communication device.

[0163] S802: Determine the computational load of the target sub-model according to the computational capabilities of the multiple task processing devices and the computational load of the model.

[0164] Among them, the model includes a target sub-model.

[0165] In one possible implementation, the task migration device can determine the computational load of the target sub-model based on the computing capabilities of multiple task processing devices and the computational load of the model. In this way, the task migration device can reasonably divide the model based on the device performance and computing power requirements of the task processing devices, balance the computational load on different task processing devices, ensure the computational efficiency of the task, and maximize the use of computing resources.

[0166] Optionally, the task migration device can determine the important parts of the model (including: computing-intensive parts and resource-sensitive parts) according to the demand for computing resources at different layers of the model, so as to further determine the sub-models on different task processing devices.

[0167] Optionally, the task migration device may determine the sub-models in different task processing devices according to the device performance of the task processing devices to maximize the utilization of computing resources and ensure that multiple task processing devices process tasks efficiently and evenly.

[0168] S803: Send the target sub-model to the target task processing device.

[0169] In one achievable manner, the task migration device may send the target sub-model to the target task processing device, so that the target task processing device processes the task based on the target sub-model.

[0170] Combination Figure 1 ,The task migration device can send the target sub-model to the task processing device.

[0171] In some embodiments, in combination Figure 8 ,like Fig. 9 As shown, in S802, the computational load of the target sub-model is determined according to the computational capabilities of the multiple task processing devices and the computational load of the model, specifically including:

[0172] S901. Determine the computing capacity of the target sub-model as the computing capacity of the target processing device, the computing capacity of multiple task processing devices and the product of the computing capacity of the model.

[0173] In one possible implementation, the task migration device can determine the computational load of the target sub-model by multiplying the computing power of the target processing device, the computing power of multiple task processing devices and the value, and the computational load of the model. In this way, the task migration device can reasonably divide the model according to the device performance and computing power requirements of the task processing device, balance the computational load on different task processing devices, ensure the computational efficiency of the task, and maximize the use of computing resources.

[0174] The task migration device may determine the computing capacity of the target processing device, the computing capacity of multiple task processing devices and the value ratio, and the computing capacity of the model as the computing capacity of the target sub-model. The computing capacity of the target sub-model satisfies the following formula:

[0175]

[0176] Among them, W i It is used to represent the computational amount of the target sub-model, C i It is used to represent the computing power of the i-th task processing device, M is used to represent the computing amount of the model, and n is used to represent the number of target task migration devices.

[0177] In some embodiments, in combination Fig. 9 ,like Fig.10 As shown, the task migration method also includes:

[0178] S1001. Obtain status data of tasks processed by multiple task processing devices.

[0179] The status data includes at least one of the following: the task volume of multiple task processing devices, the computing capacity of multiple task processing devices, the computing status of multiple task processing devices, and the data transmission efficiency between multiple task processing devices.

[0180] In one possible implementation, the task migration device can obtain the status data of tasks processed by multiple task processing devices, obtain the status data of the task processing devices in real time, and output the status data in the form of images. In this way, the task migration device can provide a visual interface to meet the needs of users.

[0181] Combination Figure 1 The task migration device obtains status data of tasks processed by the task processing devices from the task processing devices.

[0182] S1002: Output status data in the form of an image.

[0183] In one possible implementation, the task migration device can output the status data in the form of an image, so that the task migration device can provide a visual interface to meet the needs of users.

[0184] The task migration device can provide a visualization interface (also called a visualization management and monitoring interface) to display the real-time status data of the task processing device, including: the task volume of multiple task processing devices (also called the task allocation situation), the computing power of the task processing device (also called the performance evaluation result of the task processing device), the computing status of multiple task processing devices, the data transmission efficiency between multiple task processing devices, and can also display the data transmission optimization results.

[0185] Optionally, the visualization interface of the task migration device includes a custom view function, and the user can customize the display information of the visualization interface of the task migration device according to needs to meet the needs of different users.

[0186] Optionally, the visual interface of the task migration device includes operation functions (eg, dragging and dropping icons, filtering data, sorting data), and the user can perform operations according to needs. The visual interface of the task migration device realizes the flexibility and convenience of the task migration system.

[0187] Optionally, the visualization interface of the task migration device can display the real-time data flow in the task migration system, providing a more intuitive and richer visualization interface for easier monitoring and management.

[0188] Optionally, users can submit tasks, monitor and manage tasks, and adjust and optimize the processing of tasks through the visual interface of the task migration device. The visual interface of the task migration device realizes the ease of use and operability of the task migration system.

[0189] Optionally, the task migration device can introduce security mechanisms such as data encryption, access control, and security auditing to reinforce the task processing device, prevent unauthorized access, and prevent potential network attacks. This ensures the security and integrity of the task processing device when processing tasks and transmitting data.

[0190] Optionally, the task migration device can introduce fault detection, task status snapshot, and fast recovery fault tolerance mechanisms. In the event of a task processing device failure, the task migration device can reallocate tasks, or migrate tasks from the failed task processing device to the unfaulted task processing device to ensure the continuity and stability of task processing.

[0191] Optionally, the task migration device includes a machine learning module. The task migration device can analyze historical data, device performance, and system performance based on the machine learning module, and adjust parameters according to the analysis results to optimize the distribution of tasks and the management strategy of the task processing device.

[0192] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0193] The embodiment of the present application can divide the functional modules of the task migration device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. Optionally, the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.

[0194] Fig.11 FIG. 1 shows a schematic diagram of the structure of a task migration device provided in an embodiment of the present application. Fig.11 As shown, the task migration device includes: a communication unit 1101 and a processing unit 1102;

[0195] The communication unit 1101 is used to receive tasks and obtain the task characteristics of the tasks and the device performance of multiple task processing devices that process the tasks; the processing unit 1102 is used to allocate tasks to multiple task processing devices according to the task characteristics and the device performance; the processing unit 1102 is also used to migrate the tasks processed by the first task processing device to the second task processing device among the multiple task processing devices when the load of the first task processing device among the multiple task processing devices is overloaded; the load of the second task processing device is not overloaded.

[0196] Optionally, the processing unit 1102 is specifically used to: determine the computing power of the task processing device based on the device performance; determine the target task processing device for processing the task based on the task characteristics, computing power and computing load of the task processing device; the target task processing device includes at least any two of the following: CPU, GPU, FPGA, ASIC; multiple task processing devices include the target task processing device; and assign tasks to the target task processing device.

[0197] Optionally, the device performance includes: the number of cores of the task processing device, the operating frequency of the task processing device, and the operating cycle of the task processing device computing tasks; the processing unit 1102 is specifically used to: determine the computing power as the ratio of the product of the number of cores and the operating frequency to the operating cycle.

[0198] Optionally, the communication unit 1101 is also used to obtain the data transmission efficiency between multiple task processing devices when multiple task processing devices process tasks; the processing unit 1102 is also used to compress the transmission quantity of target data and / or delete duplicate target data when the data transmission efficiency is less than a preset data transmission efficiency; the target data is the data obtained by multiple task processing devices processing tasks.

[0199] Optionally, processing unit 1102 is also used to predict data transmission requirements based on historical data transmission status, network status and task characteristics; historical data is data obtained by multiple task processing devices processing tasks within a historical time period; processing unit 1102 is also used to increase data transmission bandwidth and / or optimize data transmission routes based on data transmission requirements.

[0200] Optionally, the communication unit 1101 is also used to obtain the models required for multiple task processing devices to process tasks; the processing unit 1102 is also used to determine the computing amount of the target sub-model based on the computing capabilities of the multiple task processing devices and the computing amount of the model; the model includes the target sub-model; and the target sub-model is sent to the target task processing device.

[0201] Optionally, the processing unit 1102 is specifically used to: determine the computing power of the target processing device, the computing power of multiple task processing devices and the ratio of the value, and the computing power of the model as the computing power of the target sub-model.

[0202] Optionally, the communication unit 1101 is also used to obtain status data of multiple task processing devices processing tasks; the status data includes at least one of the following: the task volume of multiple task processing devices, the computing power of multiple task processing devices, the computing status of multiple task processing devices, and the data transmission efficiency between multiple task processing devices; the processing unit 1102 is also used to output the status data in the form of an image.

[0203] An embodiment of the present application further provides a computer-readable storage medium, which includes computer execution instructions. When the computer execution instructions are executed on a computer, the computer executes the task migration method provided in the above embodiment.

[0204] The embodiment of the present application also provides a computer program, which can be directly loaded into a memory and contains software code. After being loaded and executed by a computer, the computer program can implement the task migration method provided in the above embodiment.

[0205] Those skilled in the art should be aware that in one or more of the above examples, the functions described in this application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer-readable storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media can be any available media that can be accessed by general or special-purpose computers.

[0206] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0207] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the modules or units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The unit described as a separate component may or may not be physically separated, and the component displayed as a unit may be a physical unit or multiple physical units, that is, it may be located in one place, or it may be distributed in multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the scheme of this embodiment.

[0208] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the general technology or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a RAM, a disk, or an optical disk.

[0209] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A task migration method, characterized in that: The method comprises: receiving a task, and obtaining task characteristics of the task and device performance of a plurality of task processing devices for processing the task; Allocating the tasks to the plurality of task processing devices according to the task characteristics and the device performance; In the case that a first task processing device among the plurality of task processing devices is overloaded, tasks processed by the first task processing device are migrated to a second task processing device among the plurality of task processing devices; the second task processing device is not overloaded.

2. The method according to claim 1, characterized in that: The allocating the tasks to the plurality of task processing devices according to the task characteristics and the device performance comprises: Determining the computing capability of the task processing device according to the device performance; Determine a target task processing device for processing the task according to the task characteristics, the computing power and the computing load of the task processing device; the target task processing device includes at least any two of the following: a central processing unit CPU, a graphics processing unit GPU, a field programmable gate array FPGA, and an application-specific integrated circuit ASIC; the multiple task processing devices include the target task processing device; The task is assigned to the target task processing device.

3. The method according to claim 2, characterized in that The device performance includes: the number of cores of the task processing device, the operating frequency of the task processing device, and the operating cycle of the task processing device to calculate the task; and determining the computing capacity of the task processing device according to the device performance includes: The computing capacity is determined as a ratio of the product of the number of cores and the operating frequency to the operating cycle.

4. The method according to claim 1, characterized in that The method further comprises: In a case where the plurality of task processing devices process the tasks, obtaining data transmission efficiency between the plurality of task processing devices; When the data transmission efficiency is lower than the preset data transmission efficiency, the transmission quantity of the target data is compressed, and / or the duplicate target data is deleted; the target data is the data obtained by processing the task by a plurality of task processing devices.

5. The method according to claim 4, characterized in that The method further comprises: Predicting data transmission requirements based on historical data transmission status, network status and the task characteristics; the historical data is data obtained by the multiple task processing devices processing the task within a historical time period; According to the data transmission demand, the data transmission bandwidth is increased and / or the data transmission route is optimized.

6. The method according to claim 2, characterized in that The method further comprises: Acquire models required by the plurality of task processing devices to process the tasks; Determining the computational load of a target sub-model according to the computational capabilities of the plurality of task processing devices and the computational load of the model; the model including the target sub-model; The target sub-model is sent to the target task processing device.

7. The method according to claim 6, characterized in that The step of determining the computational amount of the target sub-model according to the computational capabilities of the plurality of task processing devices and the computational amount of the model comprises: The product of the computing capacity of the target processing device, the computing capacity of the plurality of task processing devices and the value, and the computing capacity of the model is determined as the computing capacity of the target sub-model.

8. The method according to claim 2, characterized in that: The method further comprises: Acquire status data of the tasks processed by the multiple task processing devices; the status data includes at least one of the following: the task amount of the multiple task processing devices, the computing capacity of the multiple task processing devices, the computing status of the multiple task processing devices, and the data transmission efficiency between the multiple task processing devices; The status data is output in the form of an image.

9. A task migration device, characterized in that: The device comprises: a communication unit and a processing unit; The communication unit is used to receive a task and obtain the task characteristics of the task and the device performance of multiple task processing devices that process the task; The processing unit is used to allocate the tasks to the plurality of task processing devices according to the task characteristics and the device performance; The processing unit is further configured to migrate tasks processed by a first task processing device among the multiple task processing devices to a second task processing device among the multiple task processing devices when the first task processing device among the multiple task processing devices is overloaded; the second task processing device is not overloaded.

10. A task migration device, characterized in that: include: A processor and a memory; wherein the memory is used to store one or more programs, and the one or more programs include computer-executable instructions. When the device is running, the processor executes the computer-executable instructions stored in the memory to enable the device to perform the method described in any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that: When the computer-executable instructions stored in the computer-readable storage medium are executed by a processor of a task migration device, the task migration device can perform the method according to any one of claims 1 to 8.

12. A computer program product, characterized in that The computer program product comprises: a computer program or instructions, and when the computer program or instructions are run on a computer, the computer is caused to perform the method according to any one of claims 1 to 8.