Method for executing data processing task
By monitoring the target index values and migrating data processing tasks, the problem of unstable allocation of data processing tasks in dynamic resource usage scenarios is solved, and the stable operation of the data processing system and the reliability of the production line is achieved.
Patent Information
- Application Number
- CN202380045639.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-08
- Filing Date
- 2023-05-22
- Publication Date
- 2025-01-17
AI Technical Summary
In dynamic resource usage scenarios, there are unstable behaviors (such as ping-pong behavior) in the allocation of data processing tasks, resulting in inconsistent system behavior and affecting the normal operation of the production line.
By monitoring the value of the target indicator, if it is out of the preset range, the subtasks of the data processing task are migrated or withdrawn to another set of data processing devices, and the target indicator range is adjusted according to the migration rate to prevent or reduce unstable behavior.
It realizes stable allocation of data processing tasks under dynamic resource changes, ensures reliable operation of production lines, and avoids resource waste and system instability.
Smart Images

Figure CN119325599A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method and a data processing system for performing data processing tasks. Background Art
[0002] Since data processing tasks are often too complex for a single, locally provided data processing device (e.g. for controlling a robot), it is possible to distribute data processing tasks to multiple data processing devices, in particular moving from a local data processing device (e.g. in a factory) to an edge cloud or the cloud. However, data processing tasks such as robot control have requirements that must be met. For example, a robot must perform a certain activity within a certain time in order not to delay a production line or cause failures in production. Since such requirements may also change or the performance of the data processing devices and their connection to each other may also fluctuate, solutions are needed that can efficiently handle such changes. Summary of the invention
[0003] According to various embodiments, a method for executing a data processing task with the aid of a data processing system is provided, comprising: executing the data processing task with the aid of a first group of data processing devices of the data processing system, wherein the first group includes at least one data processing device of the data processing system; monitoring the value of a target indicator for executing the data processing task when executing the data processing task, and if the value of the target indicator deviates from a first range assigned to the target indicator, migrating the execution of at least one subtask of the data processing task to a second group of data processing devices; and if the value of the target indicator enters a second range assigned to the target indicator after the migration, withdrawing the migration of the execution of at least one subtask; wherein, if the rate of migration and its withdrawal violates a preset allowable standard, increasing the first range assigned to the target indicator and / or reducing the second range assigned to the target indicator.
[0004] The above-described method enables preventing or at least reducing unstable behavior (especially ping-pong behavior) in the allocation of data processing (sub)tasks on data processing devices in scenarios with dynamic resource usage. This is particularly important when a consistent system behavior is desired.
[0005] For example, the first range assigned to the target indicator is increased and / or the second range assigned to the target indicator is reduced until the rate no longer violates the preset allowable standard. For example, the rate is monitored or periodically acquired. It is possible to decide which of the two ranges to change (and the degree of the corresponding change) in the case of considering the execution requirements of the data processing task. For example, if the first range represents an allowed processing speed, it cannot be increased arbitrarily, for example.
[0006] The withdrawal of a migration does not necessarily mean that the data processing tasks are subsequently performed using exactly the same data processing means as before the migration, but rather that after the withdrawal they are again performed only by the first group of data processing means (not necessarily all, not necessarily the same as before the migration).
[0007] The first group of data processing devices are, for example, local data processing devices, and the second group of data processing devices are, for example, data processing devices in the edge cloud or in the cloud. For example, the data processing task is to control a robotic device. In this case, the first group has, for example, one or more data processing devices provided at the robotic device (for example in the same building or in the same local network) or in the robotic device, and the second group has one or more remote data processing devices (outside the building, local network or robotic device).
[0008] Various embodiments are given below.
[0009] Embodiment 1 is a method for performing a data processing task as described above.
[0010] Embodiment 2 is a method according to embodiment 1, wherein the admission criterion is related to the number of the first group and / or the second group of data processing devices executing the data processing task.
[0011] In other words, the permissibility criterion is related to the number of data processing devices involved in the reallocation. For example, if few data processing devices are involved in the reallocation, the rate is permissible, because the reallocation has a lower impact on the data processing system (i.e. generates less overhead). If devices with high mobility are involved in the data processing tasks, a ping-pong behavior (with a specific ping-pong pattern) can also be acceptable, because then, for example, the data processing device must be changed in order to follow the device (i.e. in order to provide the data processing device locally at the device).
[0012] Embodiment 3 is a method according to embodiment 1 or 2, wherein the benefit of the migration is obtained and the permission criterion is preset according to the obtained migration benefit.
[0013] In other words, if the frequent migrations included in the ping-pong behavior have high benefits, such as significantly (e.g., by a certain percentage) improving the value of the target indicator, the ping-pong behavior can be acceptable. For example, a rule can be provided to weigh the benefits and rate of migration against each other (e.g., by corresponding weights in a formula) to determine whether the rate is acceptable.
[0014] Embodiment 4 is a method according to one of embodiments 1 to 3, wherein, when a data processing task is executed with the aid of a first group of data processing devices, the data processing task is allocated as subtasks on the first group of data processing devices according to a first division, and, when the data processing task is migrated, the data processing task is allocated as subtasks on the first group and the second group of data processing devices according to a second division.
[0015] The division of the data processing tasks can therefore be changed, which increases the flexibility of the migration and, in particular, increases the selection of the second group of data processing devices.
[0016] Embodiment 5 is a method according to any one of embodiments 1 to 4, wherein if the rate of migration and its withdrawal meets the preset permission standard and meets the loose standard, the first range assigned to the target indicator is reduced and / or the second range assigned to the target indicator is increased.
[0017] In other words, if the rate not only meets the permissive criterion but also meets the (weaker) relaxation criterion, a higher rate of migration and its withdrawal can be allowed again. Migrations can thus be implemented and benefited from, for example, if more frequent migrations in the data processing system are currently acceptable. Like the permissive criterion, the relaxation criterion can be preset depending on various factors, such as the efficiency and number of data processing devices involved.
[0018] Embodiment 6 is a method according to any one of embodiments 1 to 5, wherein the data processing task is to process the sensor data into control instructions for the robotic device.
[0019] In particular in such a context, the described approach enables distribution and in particular migration of processing tasks (here for control) to different data processing devices and thus enables reliable control even if, for example, only few resources are available locally.
[0020] Embodiment 7 is a control device, which is configured to perform monitoring and increase a first range assigned to a target indicator and / or reduce a second range assigned to the target indicator in accordance with a method according to any one of embodiments 1 to 6, and to request a data processing system to perform a data processing task based on the first range assigned to the target indicator and the second range assigned to the target indicator.
[0021] Embodiment 8 is a data processing system configured to execute the method according to any one of embodiments 1 to 6.
[0022] Embodiment 9 is a computer program having instructions, which, when executed by a processor, causes the processor to perform the method according to any one of embodiments 1 to 6.
[0023] Embodiment 10 is a computer-readable medium storing instructions, which, when executed by a processor, causes the processor to perform a method according to any one of embodiments 1 to 6.
[0024] In the drawings, like reference numerals generally refer to the same components throughout the different views. The drawings are not necessarily drawn to scale, with emphasis instead generally being placed on illustrating the principles of the invention. In the following description, various aspects will be described with reference to the drawings.
[0025] Figure 1 A data processing system 100 is shown.
[0026] The following detailed description refers to the accompanying drawings, which illustrate specific details and aspects of the present disclosure in which the present invention can be implemented for the purpose of illustration. Other aspects can be used and structural, logical and electrical changes can be made without departing from the scope of protection of the present invention. Various aspects of the present disclosure are not necessarily mutually exclusive, as some aspects of the present disclosure can be combined with one or more other aspects of the present disclosure to form new aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Various examples are described in detail below.
[0028] Figure 1 A data processing system is shown;
[0029] Figure 2 A mechanism for detecting and preventing unstable task allocation behavior is shown;
[0030] Figure 3 A flow chart is shown which represents a method for performing a data processing task by means of a data processing system according to an embodiment. DETAILED DESCRIPTION
[0031] With the aid of the data processing system 100 , various data processing tasks can be performed, such as controlling a robotic device such as a (e.g. autonomous driving) vehicle 101 or a robotic arm 102 , as well as computing tasks, the results of which are output on a terminal device 103 (e.g. a personal computer or a smartphone).
[0032] In order to perform data processing tasks, the data processing system has: a plurality of data processing devices 104, which provide data processing resources (especially processors, hardware logic circuits, etc.); and data transmission devices 105, such as transmitters / receivers and, if necessary, lines of wireless and wired networks (such as base stations of mobile radio networks, access points or network cards for wireless or wired local area networks, (computer) buses, memories, etc.), which provide data transmission resources (such as communication channels). The data processing device 104 can include a data processing device that is locally arranged at the device to be controlled (for example, in the control device of a robot), arranged in the control device itself (for example, in a vehicle, such as an ECU (electronic control unit)), arranged in an edge cloud 108 (i.e. in the sense of edge computing), or arranged in a cloud 109. Therefore, the data processing system 100 can be regarded as a distributed data processing system.
[0033] The data processing system 100 is, for example, a cyber-physical system (CPS) and comprises, for example, the networking of machines and processes in industry with the aid of information and communication technologies in the sense of Industry 4.0 (I4.0), i.e., for example, the control of I4.0 production processes, the control of vehicles and / or networking in combination with artificial intelligence (e.g. in the sense of the Internet of Things) (e.g. one or more data processing devices are capable of implementing machine learning models).
[0034] Currently, the complexity of CPS data processing devices used in I4.0 production processes, in the automotive industry or in AIoT is growing exponentially. In addition, the data processing systems using such data processing devices (the environment in which such products are used) are constantly changing (e.g. evolving), where dynamically distributed CPS data processing devices are also increasingly used to replace cloud-based CPS data processing devices, where the time- and safety-critical parts of the functions of complex data processing tasks (i.e. the application of the data processing system) can be migrated through the device edge cloud stack, i.e. the implementation of the functions can be provided by the data processing device in the local device, by the edge cloud or by the cloud.
[0035] According to various embodiments, it is accordingly provided that the data processing task 106 is divided into subtasks (or partial tasks) 107. The subtasks 107 (at least partially) implement interactive functional units (i.e., components of the data processing task 106). To execute the subtasks 107, they are allocated to the data processing devices 104 according to the type and requirements of the respective subtasks. It is also provided that the performance of the resources provided by the data processing devices and the performance of the data transmission between the data processing devices are monitored and redeployed (i.e., reallocated, and even optionally divided again into subtasks 107) if necessary, for example because the performance and / or the data transmission performance of the resources provided by the data processing devices has decreased and thus hinders or endangers the fulfillment of at least one requirement for the execution of at least one data processing task, or because it is determined that another division better meets the optimization criteria (e.g., because the computing power in the cloud has increased and migration (Auslagerung) is now advantageous).
[0036] The reallocation can be, in particular, the migration of subtask 107 from a local data processing device (e.g. in a factory, where there is also a robotic device 102 that is to be controlled with the aid of subtask 107) to a remote data processing device (e.g. in an edge cloud 108 or cloud 109) (i.e. offloading, migration).
[0037] The corresponding migration process includes searching for one or more suitable computing nodes (provided by one or more data processing devices) with sufficient resources to process the application 107 and transferring the required calculations to these computing nodes (i.e. the corresponding data processing devices). Once the application is migrated from the data processing device to such a computing node, the load on the data processing device (e.g. the client device) is reduced and the load on these computing nodes is increased, i.e. the state of the data processing system changes. If multiple applications are migrated to a computing node, this can therefore lead to the migration being withdrawn (e.g. because the resources of the computing node are no longer sufficient) or the application running on the same computing node and possibly other applications being migrated to another computing node. That is to say, it is particularly likely that after the migration, a recovery process is performed after a more or less short period of time, i.e. a reversal of the migration process, in which one or more subtasks 107 are moved back from a remote data processing device (e.g. in an edge cloud or cloud) to a local data processing device.
[0038] If the measured values and thresholds of the target indicators that influence the migration decision or recovery decision are very close to each other, such migration and such recovery (offloading-recovery) can be repeated in short time intervals (and in principle continuously). Ping-pong behavior (or generally "unstable" behavior, in which reallocation occurs at rapid intervals) can thus occur, thereby wasting resources and leading to instability of the data processing system 100, which at least partially negates the advantages of the migration.
[0039] According to various embodiments, a mechanism is provided which makes it possible to prevent (or at least reduce) such unstable behavior, taking into account the characteristics and requirements of the corresponding data processing task 106 or subtask 107 and also taking into account the expenditure (and / or cost) for migration. It is provided that unstable behavior (i.e., the reallocation of subtasks 107 (including the reallocation of applications 106 to subtasks 107, if necessary)) is detected, for example by monitoring the frequency of occurrence of migration and recovery (or reallocation in general). The unstable behavior is then prevented or reduced by determining the corresponding threshold value for reallocation (e.g., migration or recovery) plus or minus an adaptive offset (O) (or more generally increasing or reducing the corresponding range). By increasing the offset, the distance between the threshold value and the (measured) current situation value can be increased, so that, for example, the threshold value is not reached in the case of small fluctuations in the value (e.g., network bandwidth). For the threshold vector (i.e., the threshold value for a plurality of target parameters such as bandwidth, delay, security, etc.), the offset vector (wherein the components can be individually set) can be set accordingly.
[0040] Figure 2 A mechanism for detecting 201 and preventing 202 unstable task allocation behavior is shown, in particular ping-pong behavior (ie, rapidly alternating migration and recovery) in this example.
[0041] The mechanism is implemented by a control device (which itself can be implemented in a distributed manner as control software in a data processing system).
[0042] The detection 201 comprises detecting the ping-pong behavior and analyzing whether this behavior is acceptable. To this end, the migration and recovery rates (F), the number of data processing devices involved (N) or the number of computing nodes if the data processing device provides a plurality of computing nodes, and the values of target indicators (C) for the migration state and for the recovery state (e.g., performance characteristics achieved in these states, such as execution time, energy consumption, etc.) are measured in 203.
[0043] Then, in 204, a ping-pong pattern is obtained based on the measured rate (F). Such a pattern can, for example, include rapid migration and recovery occurring for up to 5 minutes per hour, and infrequent migration and recovery for, for example, the remaining 55 minutes. The ping-pong pattern can be detected in different ways, in particular by statistical detection of obtaining probability distributions, machine learning models such as neural networks (particularly Bayesian networks), etc.
[0044] Then, in 205, it is obtained whether the ping-pong mode is acceptable (ie, it is evaluated). If it is acceptable, no change is made and the process returns to 203 (eg, 203 to 205 are repeatedly, eg, periodically executed).
[0045] Whether the ping-pong mode is acceptable is determined by taking into account the number of data processing devices involved (N) and the value of the target indicator (C). For example, if the value of the target indicator is higher by a certain percentage than if migration is not allowed due to this behavior, it can be acceptable. For example, if a large number of data processing devices are involved in migration and recovery, it can be unacceptable. If the ping-pong mode contains unnecessary migrations (for example, it only causes a small increase in the value of the target indicator), the ping-pong behavior can be regarded as an erroneous behavior.
[0046] If the rate of migration and recovery (ie, withdrawal of migration) violates the allowed criteria (which can depend on factors such as N and C or how often particularly high rates occur), then the ping-pong mode is unacceptable.
[0047] The ping pong pattern can be evaluated by comparing it to an undesired ping pong pattern.
[0048] If the ping-pong mode is evaluated as unacceptable, the ping-pong behavior is prevented 202 .
[0049] For this purpose, it is considered that when the value of the target indicator reaches or passes (falls below or exceeds) the threshold value C 迁移 Migrate when the target indicator value reaches or exceeds the threshold C 恢复 Restore when the threshold is reached. A threshold close to the threshold can be regarded as reaching the threshold (if it is reached from below, it is regarded as below the threshold, and if it is reached from above, it is regarded as above the threshold). Since the threshold also defines the (valid) range (if reallocation is triggered when exceeding the threshold, it refers to the range below the threshold, and if reallocation is triggered when it is below the threshold, it refers to the range above the threshold), it is also referred to below that reallocation is triggered or executed (i.e., performed) when leaving the corresponding range (allocated to the corresponding target indicator).
[0050] For simplicity, it is assumed that there is only one target indicator. However, it is also possible to set multiple and corresponding threshold vectors (correspondingly for migration and recovery). For example, once the target indicator has passed (towards the upper direction, i.e. exceeded it, or towards the lower direction, i.e. fallen below it, depending on the type of threshold) the corresponding threshold (i.e., the corresponding component of the threshold vector), migration is performed.
[0051] To prevent ping-pong behavior, in 206, the offset O 迁移 Threshold C 迁移 The base value of C 迁移_基础 Adjust, and / or offset threshold O 恢复 The basic value of the threshold C 恢复_基础 Adjust the threshold C 迁移 or threshold C 恢复 .
[0052] If the C 迁移 To prevent ping-pong behavior, the base value C 迁移_基础 Add a positive offset O 迁移 :C 迁移 =C 迁移_基础 +O 迁移 , thereby delaying (or even preventing) migration. Conversely, in the case of migration below , a positive offset is subtracted from the base value in order to prevent ping-pong behavior. 迁移 .
[0053] Similarly for recovery: if below C 恢复 To prevent the ping-pong behavior from recovering from the base value C 恢复_基础 Subtract the positive offset O from 恢复 :C 恢复 =C 恢复_基础 -O 恢复 , thereby delaying (or even preventing) recovery. Conversely, in the case of recovery when exceeded, a positive offset is added to the base value to prevent ping-pong behavior. 恢复 .
[0054] The offsets can be obtained, for example, based on the obtained ping-pong pattern. They increase when the ping-pong behavior deteriorates, or they decrease when the ping-pong behavior decreases. For this purpose, the ping-pong pattern and the corresponding offsets are continuously updated. Figure 2 This is indicated by returning from 207 to 203. Thus, detection 201 and prevention 202 continue (repeatedly) so that the data processing system 200 remains in a stable mode (except for acceptable ping-pong behavior).
[0055] In summary, according to various embodiments, there is provided Figure 3 The method shown.
[0056] Figure 3 A flow chart 300 is shown which represents a method according to an embodiment for performing a data processing task by means of a data processing system.
[0057] In 301 , a data processing task is performed (or starts to be performed) by means of a first group of data processing means of a data processing system, wherein the first group comprises at least one data processing means of the data processing system.
[0058] In 302 , when executing a data processing task, a value of a target indicator for executing the data processing task is monitored.
[0059] In 303, if the value of the target indicator is out of the first range assigned to the target indicator, at least one subtask of the data processing task (i.e., the execution of the subtask) is migrated to a second group of data processing devices (wherein the second group is different from the first group, i.e., includes at least one data processing device that is not included in the first group and is used to execute the subtask). In other words, the data processing task continues to be executed, but at least one subtask is executed by means of another data processing device.
[0060] (After Migration) In 304 , if the value of the target indicator enters the second range assigned to the target indicator after the migration, the migration of at least one subtask (that is, the migration of the execution of at least one subtask) is withdrawn.
[0061] If the rate of migration and its withdrawal violates a predefined permissible criterion, the first range assigned to the target indicator is expanded and / or the second range assigned to the target indicator is reduced.
[0062] Figure 3 The method can be performed by one or more computers having one or more data processing units. The term "data processing unit" can be understood as any type of entity that can realize processing data or signals. For example, data or signals can be processed according to at least one (i.e., one or more than one) specific function performed by the data processing unit. The data processing unit can include an analog circuit, a digital circuit, a logic circuit, a microprocessor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a programmable gate array integrated circuit (FPGA) or any combination formed by them, or composed of them. Any other means for implementing the corresponding functions described in more detail herein can also be understood as a data processing unit or a logic circuit device. One or more of the method steps described in detail here can be performed (e.g., implemented) by a data processing unit through one or more specific functions performed by the data processing unit.
[0063] The data processing tasks can be used to generate control signals for a robotic device. The term "robotic device" can be understood as referring to any technical system (having mechanical parts whose movement is controlled), such as a computer-controlled machine, a vehicle, a household appliance, a power tool, a manufacturing machine, a personal assistant or an access control system. The control rules for the technical system are learned and then the technical system is controlled accordingly.
[0064] Data processing tasks can include processing sensor data. This can include processing sensor signals from various sensors, including, for example, video, radar, lidar, ultrasound, motion, thermal imaging, etc. The processing can, for example, include classifying the sensor data or performing semantic segmentation on the sensor data, for example, in order to detect the presence of an object (in the environment in which the sensor data has been obtained). Implementations can be used to train machine learning systems and control robotic devices, such as autonomously controlling robotic manipulators, in order to achieve various manipulation tasks in different scenarios. In particular, implementations can be applied to control and monitor the execution of manipulation tasks, such as the execution of manipulation tasks on an assembly line.
[0065] Although specific embodiments have been shown and described herein, it will be appreciated by those skilled in the art that the specific embodiments shown and described can be replaced with a variety of alternative and / or equivalent embodiments without departing from the scope of the invention. The present application shall cover any adjustments or variations of the specific embodiments discussed herein. Therefore, the present invention is limited only by the claims and their equivalents.
Claims
1. A method for performing a data processing task by means of a data processing system, comprising: performing data processing tasks by means of a first group of data processing means of the data processing system, wherein the first group comprises at least one data processing means of the data processing system; monitoring the value of a target indicator for executing the data processing task while executing the data processing task, and If the value of the target indicator is out of the first range assigned to the target indicator, migrating the execution of at least one subtask of the data processing task to the second group of data processing devices; and If, after the migration, the value of the target indicator enters into a second range assigned to the target indicator, revoking the migration of the execution of at least one subtask; If the rate of migration and its withdrawal violates a preset permission standard, the first range assigned to the target indicator is increased and / or the second range assigned to the target indicator is reduced. 2 . The method according to claim 1 , wherein the admission criterion is related to the number of the first group and / or the second group of data processing devices executing the data processing task.
3. The method according to claim 1 or 2, wherein: The benefit of the migration is obtained and the permission standard is preset according to the obtained migration benefit.
4. The method according to any one of claims 1 to 3, wherein: When a data processing task is executed with the aid of the first group of data processing devices, the data processing task is allocated as subtasks on the first group of data processing devices according to the first division, and, when the data processing task is migrated, the data processing task is allocated as subtasks on the first group and the second group of data processing devices according to the second division.
5. The method according to any one of claims 1 to 4, wherein: If the rate of migration and withdrawal thereof meets the predefined permissible criteria and the relaxation criteria, the first range assigned to the target indicator is reduced and / or the second range assigned to the target indicator is increased.
6. The method according to any one of claims 1 to 5, wherein: The data processing task is to process the sensor data into control instructions for the robotic device.
7. A control device, which is configured to perform monitoring and increase a first range assigned to a target indicator and / or reduce a second range assigned to the target indicator in accordance with a method according to any one of claims 1 to 6, and to request a data processing system to perform a data processing task based on the first range assigned to the target indicator and the second range assigned to the target indicator. 8 . A data processing system configured to carry out the method according to claim 1 .
9. A computer program having instructions which, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 6.
10. A computer-readable medium storing instructions which, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 6.