Methods for performing data processing tasks

A machine learning model predicts and prevents 'ping pong' behavior in data processing systems by analyzing system conditions and resource requirements, enhancing efficiency and stability.

DE102023209595A1Pending Publication Date: 2025-04-03ROBERT BOSCH GMBH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
DE102023209595
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-29
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Distributed data processing systems experience inefficiencies due to 'ping pong' behavior, where tasks are frequently outsourced and then quickly reversed, leading to resource waste and system instability.

Method used

A machine learning model predicts potential 'ping pong' behavior in data processing systems by analyzing system conditions and resource requirements, enabling proactive decision-making to avoid unnecessary task relocations.

Benefits of technology

This approach ensures consistent system behavior by reducing 'ping pong' effects, optimizing resource utilization, and maintaining system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

According to various embodiments, a method for performing data processing tasks using a data processing system is described, comprising supplying information about a state of the data processing system and about resources required to perform the data processing task to a machine learning model that is trained to output, in response to the information supplied to it, information about whether the data processing task should be offloaded from a first data processing device of the data processing system to a second data processing device of the data processing system (i.e., from which it can be derived, for example, whether offloading is to be carried out), and offloading the data processing task depending on an output of the machine learning model.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present disclosure relates to methods for performing data processing tasks and data processing systems.

[0002] Since data processing tasks, e.g., controlling a robot, are often too complex for individual locally provided data processing devices, data processing tasks can be distributed across multiple data processing devices of a data processing system, in particular, moved from a local data processing device (e.g., in a factory) to an edge cloud or a cloud, i.e., outsourced. However, this can lead to data processing tasks being outsourced and then being reversed shortly thereafter (so-called ping-pong behavior), for example due to changing requirements or fluctuations in the performance of the data processing devices and their interconnections. This significantly impairs the efficiency of the data processing system because it results in a large overhead.Approaches are therefore desirable to avoid such ping-pong behavior in data processing systems where data processing tasks can be distributed (and especially outsourced).

[0003] According to various embodiments, a method for performing data processing tasks by means of a data processing system is provided, comprising supplying information about a state of the data processing system and about resources required to perform the data processing task to a machine learning model which is trained, in response to the information supplied to it, to output information about whether the data processing task should be offloaded from a first data processing device of the data processing system to a second data processing device of the data processing system (ie from which it can be derived, for example, whether offloading is to be carried out), and offloading the data processing task depending on an output of the machine learning model.

[0004] The above method proactively addresses potential ping-pong behavior by using a machine learning (ML) model to predict whether ping-pong behavior will occur upon outsourcing (i.e., the outsourcing will be reversed) or whether (in view of potential ping-pong behavior) a respective data processing task should be outsourced.

[0005] The method described above thus makes it possible to prevent or at least mitigate irregular behavior regarding the distribution of data processing (sub)tasks across data processing devices (especially ping-pong behavior), e.g., in scenarios with dynamic resource utilization. This is particularly important when consistent system behavior is expected.

[0006] This allows consistent system behavior to be achieved when using a mechanism for offloading data processing tasks (e.g., calculations), without having to wait to observe the environment (in particular, the state of the data processing system) until a correct decision about offloading can be made.

[0007] The method described above can be applied to any data processing system that supports outsourcing of data processing tasks to improve outsourcing decision making with a view to avoiding (or at least reducing) ping-pong behavior.

[0008] Various examples of implementation are given below.

[0009] Embodiment 1 is a method for performing data processing tasks by means of a data processing system (ie, on a data processing system) as described above.

[0010] Embodiment 2 is the method according to embodiment 1, wherein the information is an estimate of the probability that the outsourcing of the data processing task will be reversed (or must be reversed, e.g., before it is completed, e.g., because otherwise requirements of the data processing task such as latency or total processing time cannot be met).

[0011] A recipient of the information (e.g., an offloading agent of an offloading controller) can then decide whether to perform offloading, e.g., by comparing the probability with a user-defined threshold (e.g., based on a tradeoff between the risk of ping-pong behavior and reducing the load on the first computing device). If the probability is above the threshold, for example, the data processing task is offloaded from the first computing device to the second computing device.

[0012] The ML model can also output an indication of the second computing device, i.e., select the second computing device to which the offload is to be performed. It will then, if necessary, offload to the selected computing device.

[0013] Embodiment 3 is the method according to embodiment 1, wherein the information indicates whether the data processing task is to be outsourced from the first data processing device of the data processing system to the second data processing device of the data processing system.

[0014] This means the outsourcing agent no longer needs to make decisions itself, but can act directly according to the output of the ML model. This can be advantageous for online training, for example, as the ML model always receives feedback on its decisions. It should be noted that this statement can also be viewed as an extreme case of a probability that is zero or one.

[0015] Embodiment 4 is the method according to one of embodiments 1 to 3, wherein the information about the state of the data processing system and about resources required to perform the data processing task comprises information about resource usage (CPU, GPU, memory, etc.) of the first data processing device for (or during) execution of the data processing task, information about resource usage of the second data processing device for (or during) execution of the data processing task and / or about available resources of the second data processing device.

[0016] This enables the ML model to make a good prediction and to take into account that the first data processing device and the second data processing device may be differently optimized for performing the data processing task and therefore have different resource requirements.

[0017] Embodiment 5 is the method according to one of the embodiments 1 to 4, wherein the ML model is further supplied with information about requirements for the execution of the data processing task.

[0018] This allows the ML model to consider whether requirements for the execution of the data processing task can be expected to be met if the data processing task is outsourced and, for example, to output that the data processing task should not be outsourced (or that the outsourcing is expected to have to be reversed) if the requirements for the execution of the data processing task cannot be expected to be met.

[0019] Embodiment 6 is the method according to one of embodiments 1 to 5, wherein the information about the state of the data processing system contains information about an available bandwidth for the communication between the first data processing device and the second data processing device.

[0020] This allows the ML model to consider whether the requirements for performing the data processing task, e.g. regarding latency, can be met when outsourcing.

[0021] Embodiment 7 is the method according to one of the embodiments 1 to 6, comprising training the machine learning model using training data elements, each of which contains a training input with respective information about a respective state of a data processing system and about resources required to perform a respective data processing task, as well as information about whether the outsourcing of the data processing task has been reversed (ie, a ping-pong behavior has occurred).

[0022] The training data elements can be generated through simulation, during offline training and / or during online training.

[0023] Embodiment 8 is the method according to any one of embodiments 1 to 7, wherein the machine learning model is a neural network.

[0024] A neural network is well suited to predicting required resources and thus also to predicting ping-pong behavior if it has information about available and required resources.

[0025] Embodiment 9 is the method according to any one of embodiments 1 to 8, wherein the data processing task is the processing of sensor data into control commands for a robot device.

[0026] Especially in such a context, the described approach enables a distribution and in particular outsourcing of processing tasks, here for a control, to different data processing devices and thus enables reliable control, since latencies due to ping-pong behavior are avoided.

[0027] Embodiment 10 is a data processing system (in particular swap control device) which is configured to carry out a method according to one of the embodiments 1 to 9.

[0028] Embodiment 11 is a computer program including instructions that, when executed by a processor, cause the processor to perform a method according to any one of embodiments 1 to 9.

[0029] Embodiment 12 is a computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method according to any one of embodiments 1 to 9.

[0030] In the drawings, like reference characters generally refer to the same parts throughout the several views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various aspects are described with reference to the following drawings. Fig. 1 shows a data processing system. Fig. 2 illustrates offloading of data processing tasks according to one embodiment. Fig. 3 illustrates the interaction between a ping-pong avoidance module and an offloading agent according to one embodiment. Fig. 4 shows a flowchart illustrating a method for performing data processing tasks using a data processing system according to one embodiment.

[0031] The following detailed description refers to the accompanying drawings, which, by way of illustration, show specific details and aspects of this disclosure in which the invention may be practiced. Other aspects may be utilized, and structural, logical, and electrical changes may be made without departing from the scope of the invention. The various aspects of this disclosure are not necessarily mutually exclusive, as some aspects of this disclosure may be combined with one or more other aspects of this disclosure to form new aspects.

[0032] Various examples are described in more detail below.

[0033] Fig. 1 shows a data processing system 100.

[0034] By means of the data processing system 100, various data processing tasks can be carried out, for example the control of a robot device such as a (e.g. autonomous) vehicle 101 or a robot arm 102, but also a calculation task, the result of which is output on a terminal device 103 (e.g. a personal computer or a smartphone).

[0035] To carry out the data processing tasks, the data processing system has a plurality of data processing devices 104, which provide data processing resources (in particular processors, hardware logic circuits, etc.), and data transmission devices 105 such as transmitters / receivers and, if applicable, lines of wireless and wired networks (e.g., 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 (e.g., communication channels). The data processing devices 104 can include data processing devices that are located locally at a device to be controlled (e.g., in a control device of a robot), in the controlling device itself (e.g., in a vehicle, e.g.,in an ECU (Electronic Control Unit)), in an edge cloud (in the sense of edge computing) 108, or in a cloud 109. The data processing system 100 can therefore be regarded as a distributed data processing system.

[0036] The data processing system 100 is, for example, a cyber-physical system (CPS) and includes, for example, a networking of machines and processes in industry with the help of information and communication technology in the sense of Industry 4.0 (I4.0), e.g. the control of I4.0 production processes, the control of vehicles and / or combines networking (e.g. in the sense of the Internet of Things) with artificial intelligence (e.g., one or more data processing devices can implement a machine learning model).

[0037] Currently, the complexity of CPS computing devices used in I4.0 production processes, the automotive industry, or AloT is increasing exponentially. Furthermore, the computing systems that employ such computing devices (the environments in which such products are deployed) are continuously changing (e.g., evolving). Cloud-based CPS computing devices are increasingly being replaced by dynamically distributed CPS computing devices, where time- and security-critical parts of the functionality of a complex computing task (i.e., the application of the computing system) can be offloaded via the device-edge-cloud stack. This means that the implementation of the functionality can be provided by computing devices in a local device, by an edge cloud, or by a cloud.

[0038] According to various embodiments, it is accordingly provided that data processing tasks 107 (e.g. subtasks of a larger data processing 106) are distributed to the data processing devices 104 for their execution depending on the type and requirements of a respective data processing task 107.

[0039] Such a distribution may in particular be an outsourcing of a data processing task 107 from a local data processing device (eg in a factory where a robot device 102 is also located which is to be controlled by means of the data processing task 107) to a remote data processing device (eg in the edge cloud 108 or cloud 109) (ie offloading).

[0040] A corresponding offloading process comprises the search for one or more suitable computing nodes (provided by one or more data processing devices) that have sufficient resources for the data processing task 107, and the transfer of the required calculations to this computing node (i.e., the respective data processing device). As soon as a data processing task 107 is offloaded from a data processing device to such a computing node, the load on this data processing device (e.g., a client device) decreases and the load on the computing node increases, i.e., the state of the data processing system changes. If multiple applications are offloaded to the computing node, this can, in turn, lead to the offloading being withdrawn (e.g., because the resources of the computing node are no longer sufficient) or the application and, if applicable,other applications running on the same computing node are offloaded to another computing node. In particular, it may occur that after an offloading, a recovery process is performed after a more or less short period of time, i.e., a reversal of the offloading process, in which one or more data processing tasks 107 are relocated from a remote data processing device (e.g., in the edge cloud or cloud) back to a local data processing device.

[0041] Such offloading and recovery can be repeated at short intervals (and in principle endlessly) if the measured values ​​and thresholds of target metrics that affect the offloading decision or recovery decision are very close to each other. This can result in ping-pong behavior (or generally a "choppy" behavior in which redistribution occurs at rapid intervals), which wastes resources and can lead to instability of the data processing system 100, at least partially negating the benefits of offloading.

[0042] Ping-pong behavior can be detected through reactive detection, in which the data processing system 100 is monitored for a period of time before the detection is completed. In this reactive detection method, the respective algorithm (for detecting and stopping the ping-pong behavior) observes the context and environment for a period of time and only reacts once the agitated behavior has begun. However, during the observation phase, the agitated behavior continues, which typically does not correspond to the desired system behavior.

[0043] According to various embodiments, a proactive approach is therefore chosen in which it is estimated without waiting whether ping-pong behavior will occur. According to various embodiments, an approach is provided in which turbulent (ping-pong) behavior is prevented in advance (by prediction) without requiring an observation phase.

[0044] According to various embodiments, undesirable ping-pong events are predicted by estimating and predicting future noisy behavior based on past and current data using an AI (artificial intelligence) model that analyzes the offloading scenario.

[0045] The AI ​​model (i.e., machine learning model (ML model), e.g., a neural network) is trained, for example, by collecting a sufficient amount of data for the convergence of the learning process from one or more data processing systems containing various groups of compute nodes (e.g., data processing devices) in one or more versatile operating environments. This data is then used to train the AI ​​model. The trained model is then used in a data processing system that supports offloading to decide whether a specific data processing task is offloaded or not. The input for the AI ​​model is various parameters of the data processing system. The output is, for example, the probability of offloading without ping-pong behavior, optionally a target node (i.e.,a computing device (or a compute node, if a computing device implements multiple compute nodes) to which offloading should occur) or an indication of whether offloading should occur (possibly also in the form of a probability, i.e., a soft value, or also as a "hard" value 0 or 1) and, again optionally, the target node in the current situation. Based on the output of the AI ​​model, offloading is performed or not, thus avoiding unnecessary ping-pong behavior (offloading followed by undoing the offloading).

[0046] Training is carried out, for example, using supervised learning, where the training data items each contain a set of the parameters that the AI ​​model expects as input as training input and a respective target output as a label. The label for a training data item is, for example, in the case that the AI ​​model outputs a probability for a successful swap (i.e., swapping without ping-pong behavior, i.e., quick reversal of the swap), an indication (e.g., zero or one) whether ping-pong behavior occurred in a situation describing the respective training input. The AI ​​model can then be trained, for example, using cross-entropy loss. Other outputs of the AI ​​model can be trained in a similar way (including in the case that it outputs a target node, which can be treated, for example, similarly to training for a classification into one of several classes).

[0047] Fig. 2 illustrates offloading of data processing tasks according to one embodiment.

[0048] This example assumes that user devices ("UD") 201, 202 can be outsourced to a computing system (or computing subsystem) 205 (e.g., a cloud) with computing nodes 203, 204. For example, the computing nodes ("CN") 203, 204 are data processing devices of the cloud 109, and the user devices 201, 202 are ("local") data processing devices 104, e.g., control devices or user terminals.

[0049] To offload data processing tasks from the user devices 201, 202 to the computer subsystem 205, a mechanism for offloading is provided, in particular a corresponding control device 206, referred to here as a calculation manager (e.g., implemented on one of the data processing devices 104, which is configured for corresponding control of the data processing system 100 and has the appropriate authorizations for this purpose). The data processing tasks that are (possibly) offloaded correspond, for example, to applications 207, 208 that are executed on the user devices.

[0050] The calculation manager 206 contains a ping-pong avoidance module 209 (or a ping-pong avoidance function) that implements a (proactive) function for avoiding ping-pong effects by means of a Kl model 210.

[0051] In this embodiment, requests for calculating the probability of successful application offloading are fed to the ping-pong avoidance module 209 (e.g., from an offloading decision-making agent 211, also referred to as an optimized function allocation agent).

[0052] As a result, the ping-pong avoidance module 209 (using the Kl model 210) estimates the probability of a successful application offload without ping-pong behavior P offThe offloading agent 211 uses this estimate to decide whether to offload (and, if applicable, to which target node, i.e., which computation node 203, 204). As mentioned above, the ping-pong avoidance module 209 (or the CI model 210) can also directly output whether offloading should occur. In this case, the offloading agent 211 does not make the decision itself but follows the instruction of the ping-pong avoidance module 209. If it receives a probability from the ping-pong avoidance module 209, it can decide, for example, by comparing the probability with a (e.g., user-defined) bound, whether a respective data processing task should be offloaded. For example, offloading only occurs if the probability of successful offloading is above 60%.

[0053] This approach to avoiding ping-pong effects can be considered proactive because information about the system state and behavior is proactively collected (e.g., by the ping-pong avoidance module 209 or also by the agent) by monitoring 212 (e.g., by means of a monitoring subsystem) of the data processing system, which is used as input for prediction by the AI ​​model 210 for a prediction (instead of an evaluation after the fact).

[0054] For training the AI ​​model 210, the information from the monitoring 212 can be used to train the AI ​​model 210 (e.g., an (artificial) neural network (ANN)) by using it as training inputs and providing it with target outputs (e.g., labels or "ground truth"). The target outputs, e.g., information about the success of the outsourcing (e.g., whether ping-pong behavior occurred), are of great importance for the learning process.

[0055] According to various embodiments, the ping-pong avoidance module 209 collects the following information, for example, through monitoring 212 for each device, application, or function involved in the (potential) offloading process: • State of the user device 201, 202 from which the swapping is to take place. ◯ Available CPU power Dcpu, GPU power Dgpu and available memory Dmem ◯ Available network bandwidth Dband of the network (e.g., provided by the data transmission devices 105) between the user device 201, 202 and the computer subsystem 205 (assuming, e.g., that the connection network within the computer subsystem 205 is oversized and cannot become a bottleneck) ◯ (optional) Mobility indicator of the user device Dmobile, which indicates how quickly the network bandwidth can change between this user device 201, 202 and computer subsystem 205 • State of the data processing task (e.g. application 207, 208) to be outsourced ◯ Local use of CPU Acpu-I, GPU Agpu-I and memory A-mem-I if the data processing task is not offloaded (i.e., use of the resources of the user device 201, 202 from which offloading is to take place) ◯ Use of CPU Acpu-r, GPU Agpu-r and memory Amem-r of the computer subsystem 205 when the data processing task is outsourced (this may differ from the local use in the case of different architectures, such as RISC instead of CISC) ◯ Use of the Anet network between the user device 201, 202 and the computer subsystem 205 ◯ (optional, e.g. depending on the optimization strategy or requirements of the data processing task), e.g. the current total processing time (end-to-end) and its comparison with the maximum allowed processing time in order to detect violations due to incorrect outsourcing decisions or ping-pong effects • State of the possible target node of the computer subsystem 205 ◯ Remaining CPU Ccpu, GPU Cgpu and remaining memory Cmem

[0056] Fig. 3 illustrates the interaction between ping-pong avoidance module 301 and offloading agent 302 in greater detail.

[0057] The ping-pong avoidance module 301 contains, as described above, an AI model 303 that receives the above-described inputs 307 to answer a request 305 for a prediction from the offloading agent 302. The output 304 of the AI ​​model in this example is the probability P offfor a successful relocation (without ping-pong behavior). The ping-pong avoidance module 301 answers the request 305 with a response 306, which contains an indication of the probability P off contains.

[0058] Once a decision has been made to perform a relocation, the value of a relocation / ping-pong counter (which indicates whether ping-pong behavior has occurred or how many times a relocation has been undone) can be determined through observation. This counter can be used to generate training data items (specifically, corresponding labels) during online operation.

[0059] According to various embodiments, additional input parameters than those above may be used for inference (and correspondingly also for training the AI ​​model (e.g., ANNs) 210). The size of the ANN in a particular implementation may also depend on the system complexity. In the first layer, the number of neurons corresponds to the number of input parameters. The last layer, for example, consists of only a single neuron, whose output corresponds to the probability of a successful offloading decision without a ping-pong effect. The number and size of the middle layers depend on the number of users, applications, and compute nodes involved in the offloading process. For complex scenarios, a deep ANN (DNN) can be used.

[0060] For the training process, the following options can be used individually or in combination (any combination is possible): • Simulation-based training: The training data can be artificially generated using a simulation technique. This requires an accurate model of the data processing system under consideration. Such a model should include user devices, a network architecture, and a computing subsystem that represent the real system. Using this model, a simulation can be configured to observe a very wide range of system states in which ping-pong behavior occurs. The more ping-pong events that occur during the training process, the better the prediction by the trained AI model 210 to avoid such ping-pong behavior. • Offline training: The required parameters are collected from a running data processing system that does not utilize the ping-pong avoidance described above. The collected data is used to train the AI ​​model 210. After training is complete, the ping-pong avoidance function 209 is added to the data processing system, which uses the trained AI model as described above to avoid ping-pong (or unnecessary swapping). • Online training: A data processing system uses the ping-pong avoidance described above (including AI model 210 in an initial or pre-trained state) and is in operation. During operation, data is collected as described above for various data processing tasks that are outsourced and continuously used to (further) train AI model 210 and update AI model 210. Depending on the size of AI model 210, the output of the ping-pong avoidance function 209 may only be considered after a certain number of training steps by the agent for outsourcing decision making 211.

[0061] Artificial neural networks (ANNs) can model complex and nonlinear relationships between input and output data. ANNs are highly adaptable to changing data and have the ability to improve their prediction accuracy over time. For example, factors such as the type of ANN, propagation, and effective hyperparameter tuning can significantly influence a model's accuracy. An architecture for an ANN model for predicting computational resources can be determined, for example, through training and benchmarking, and deployed (at least as part of) the Cl model 210.

[0062] In summary, according to various embodiments, a method is provided as described in Fig. 4 shown.

[0063] Fig. 4 shows a flowchart 400 illustrating a method for performing data processing tasks using a data processing system according to one embodiment.

[0064] In 401, information about a state of the data processing system and about resources required to perform the data processing task is fed to a machine learning model which is trained to output, in response to the information fed to it, information about whether the data processing task is to be outsourced from a first data processing device of the data processing system to a second data processing device of the data processing system (ie from which it can be deduced, for example, whether outsourcing is to be carried out).

[0065] In 402, the data processing task is outsourced depending on an output of the machine learning model.

[0066] The procedure of Fig.4 may be performed by one or more computers having one or more data processing units. The term “data processing unit” may be understood as any type of entity that enables the processing of data or signals. The data or signals may, for example, be handled according to at least one (i.e., one or more than one) specific function performed by the data processing unit. A data processing unit may include or be formed from 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 (FPGA) integrated circuit, or any combination thereof.Any other way of implementing the respective functions described in more detail herein may also be understood as a data processing unit or logic circuit arrangement. One or more of the method steps described in detail herein may be performed (e.g., implemented) by a data processing unit through one or more specific functions performed by the data processing unit.

[0067] According to various embodiments, the method is therefore particularly computer-implemented.

[0068] The data processing task can be used to generate a control signal for a robotic device. The term "robotic device" can be understood as referring to any technical system (with a mechanical part 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. A control rule for the technical system is learned, and the technical system is then controlled accordingly.

[0069] The data processing task may involve processing sensor data. This may involve processing sensor signals from various sensors such as video, radar, LiDAR, ultrasound, motion, thermal imaging, etc. The processing may include, for example, classifying the sensor data or performing semantic segmentation on the sensor data, e.g., to detect the presence of objects (in the environment in which the sensor data was obtained). Embodiments may be used for training a machine learning system and controlling a robotic device, e.g., autonomously by robot manipulators, to achieve various manipulation tasks under different scenarios. In particular, embodiments are applicable to controlling and monitoring the execution of manipulation tasks, e.g., in assembly lines.

Claims

[1] Method for performing data processing tasks (107, 207, 208) by means of a data processing system (100), comprising: Supplying information (307) about a state of the data processing system (100) and about resources required to perform the data processing task (107, 207, 208) to a machine learning model (210, 303) that is trained to output, in response to the information (307) supplied to it, information (304) about whether the data processing task (107, 207, 208) should be outsourced from a first data processing device (104, 201, 202) of the data processing system (100) to a second data processing device (104, 203, 204) of the data processing system (100); and Outsourcing the data processing task (107, 207, 208) depending on an output of the machine learning model (210, 303). [2] The method of claim 1, wherein the information (304) is an estimate of the probability that the outsourcing of the data processing task (107, 207, 208) will be reversed. [3] The method according to claim 1, wherein the information (304) indicates whether the data processing task (107, 207, 208) is to be outsourced from the first data processing device (104, 201, 202) of the data processing system (100) to the second data processing device (104, 203, 204) of the data processing system (100). [4] Method according to one of claims 1 to 3, wherein the information (307) about the state of the data processing system (100) and about resources required to carry out the data processing task (107, 207, 208) comprises information (307) about resource usage of the first data processing device (104, 201, 202) for executing the data processing task (107, 207, 208), information (307) about resource usage of the second data processing device (104, 203, 204) for executing the data processing task (107, 207, 208) and / or about available resources of the second data processing device (104, 203, 204). [5] Method according to one of claims 1 to 4, wherein the machine learning model (210, 303) is further supplied with information (307) about requirements for the execution of the data processing task (107, 207, 208). [6] Method according to one of claims 1 to 5, wherein the information (307) about the state of the data processing system (100) contains information about an available bandwidth for the communication between the first data processing device (104, 201, 202) and the second data processing device (104, 203, 204). [7] Method according to one of claims 1 to 6, comprising training the machine learning model (210, 303) using training data elements, each of which contains a training input with respective information (307) about a respective state of a data processing system (100) and about required resources for performing a respective data processing task (107, 207, 208) as well as information about whether the outsourcing of the data processing task (107, 207, 208) has been reversed. [8] Method according to one of claims 1 to 7, wherein the machine learning model (210, 303) is a neural network. [9] Method according to one of claims 1 to 8, wherein the data processing task (107, 207, 208) is the processing of sensor data into control commands for a robot device. [10] Data processing system (100) configured to carry out a method according to any one of claims 1 to 9. [11] A computer program comprising instructions which, when executed by a processor, cause the processor to perform a method according to any one of claims 1 to 9. [12] A computer-readable medium storing instructions which, when executed by a processor, cause the processor to perform a method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Methods for performing data processing tasks

    DE102022205834A1

  • JP002007004403A

  • Two-Part Job Scheduling with Capacity Constraints and Preferences

    US20190012210A1

  • Workload management using reinforcement learning

    US20210311786A1

  • Control tower and enterprise management platform with robotic process automation systems managing product outcomes and activities

    US20220035342A1