A method and apparatus for task orchestration
By dynamically optimizing the task orchestration method and combining the task DAG configuration file with the orchestration parameters selected by the user, the task scheduling problem of autonomous vehicles in complex environments is solved, and more efficient task orchestration and fault diagnosis are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHONGQING CHANGAN AUTOMOBILE CO LTD
- Filing Date
- 2026-05-06
- Publication Date
- 2026-06-19
AI Technical Summary
Existing autonomous vehicle task scheduling systems struggle to achieve efficient task orchestration in complex and dynamic environments, resulting in low fault diagnosis efficiency and fixed, singular scheduling strategies that are difficult to adapt to diverse driving scenarios.
By acquiring the task DAG configuration file, combining the user-selected first orchestration parameters and orchestration algorithm, the task orchestration results are dynamically optimized, and real-time adjustments are made using task performance data to generate updated orchestration results that are more adapted to the current environment and load. The orchestration process is then displayed through visualization.
It improves the adaptability of task scheduling and overall execution efficiency, avoids problems such as resource waste and low execution efficiency, and enhances the system's responsiveness and troubleshooting efficiency.
Smart Images

Figure CN122240276A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more particularly to a method and apparatus for task orchestration. Background Technology
[0002] With the rapid iteration of autonomous driving technology, intelligent driving vehicles need to perform real-time processing in extremely complex and dynamically changing road environments. This places extremely high demands on the task scheduling capabilities of the onboard system.
[0003] While related technologies have introduced real-time operating systems (RTOS) and priority scheduling mechanisms to optimize task processing performance, shortcomings still exist in practical applications. First, the system lacks monitoring of task execution status, making it difficult for maintenance personnel to quickly locate performance bottlenecks or identify abnormal tasks, resulting in low troubleshooting efficiency. Second, scheduling strategies are typically fixed and singular, making it difficult to maintain optimal system responsiveness across diverse driving scenarios. Therefore, a new approach is urgently needed to address these issues. Summary of the Invention
[0004] One objective of this disclosure is to provide a task orchestration method to solve the problem of poor task orchestration performance in related solutions; another objective is to provide a task orchestration apparatus; a third objective is to provide an electronic device; a fourth objective is to provide a computer-readable storage medium; and a fifth objective is to provide a computer program product.
[0005] To achieve the above objectives, the technical solution adopted in this disclosure is as follows: This disclosure proposes a task orchestration method, which includes: obtaining a task DAG configuration file; determining a task orchestration result based on a first orchestration parameter, a first orchestration algorithm, and the task DAG configuration file; the first orchestration parameter and the first orchestration algorithm are determined in response to a user's selection operation; obtaining task performance data of each task in the task orchestration result through a preset port; dynamically optimizing preset orchestration data according to the task performance data of each task to obtain an updated task orchestration result; the preset orchestration data includes at least one of the first orchestration parameter, the first orchestration algorithm, and the task DAG configuration file.
[0006] Based on the aforementioned technical means, the initial task orchestration result can be determined using the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file. Subsequently, the preset orchestration data can be dynamically optimized based on the task execution status (i.e., task performance data) of each task, thereby obtaining the updated task orchestration result. Adjusting the orchestration parameters, orchestration algorithm, and task DAG configuration file in the preset orchestration data essentially directly affects the core elements influencing the orchestration result. This results in an updated orchestration result that more accurately adapts to the current environment and load, exhibiting stronger adaptability. Furthermore, adjusting based on task execution status allows the updated task orchestration result to better reflect the actual execution state, avoiding resource waste or low execution efficiency issues caused by static orchestration, and improving the adaptability of task scheduling and overall execution efficiency.
[0007] Furthermore, based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file, the task orchestration result is determined, including: In response to the user's click operation on the orchestration control on the display interface, the first orchestration parameter, the first orchestration algorithm and the task DAG configuration file are input into the task orchestration module to perform task orchestration and obtain the task orchestration result.
[0008] Furthermore, after obtaining the task orchestration results, the method also includes: Visualize the task orchestration results to obtain the visualized task orchestration results; The visualized task arrangement results are displayed using preset display methods; the preset display methods include at least arrangement tables and / or Gantt charts.
[0009] Furthermore, after obtaining the task performance data of each task in the task orchestration results through a preset port, the method also includes: Visualize the task performance data for each task, displaying the visualized task performance data; the visualized task performance data is displayed in the form of monitoring tables and / or scatter plots.
[0010] Furthermore, the first orchestration parameters include at least the number of cores and the scheduling interval.
[0011] Furthermore, the preset orchestration data is dynamically optimized based on the task performance data of each task to obtain the updated task orchestration results, including: Determine whether the task performance data for each task exceeds a preset threshold; If the performance data of the first task exceeds a preset threshold, the preset orchestration data is dynamically optimized to obtain the updated task orchestration result. Each task in the task orchestration result includes the first task.
[0012] Furthermore, if the task performance data corresponding to the first task exceeds a preset threshold, the preset orchestration data is dynamically optimized to obtain an updated task orchestration result, including: If the actual execution time of the first task exceeds a preset threshold, multiple actual execution times for the first task are obtained; the task performance data for the first task includes the actual execution time of the first task. The maximum actual execution time among the multiple actual execution times corresponding to the first task is determined as the worst-case execution time of the target corresponding to the first task. Update the task DAG configuration file using the worst-case execution time of the target corresponding to the first task to obtain the updated task DAG configuration file; Based on the first orchestration parameters, the first orchestration algorithm, and the updated task DAG configuration file, the updated task orchestration result is obtained.
[0013] Furthermore, before determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file, the method also includes: In response to a user's click operation on a first arrangement algorithm control in at least one arrangement algorithm control within the display interface, a first arrangement algorithm is determined; In response to a user clicking on a first arrangement parameter control within at least one arrangement parameter control in the display interface, the first arrangement parameter is determined.
[0014] Furthermore, the method also includes: Based on the cycle of each task, the worst-case execution time of each task, and the task DAG configuration file, each task is scheduled to be assigned to at least one target core, and the execution data of each task on at least one target core in a supercycle is determined. The execution data includes the execution time and execution order.
[0015] This disclosure provides a task orchestration apparatus, which includes an acquisition module, a determination module, and an optimization module, wherein; The acquisition module is used to acquire the task DAG configuration file and to acquire the task performance data of each task in the task orchestration results through a preset port. The determination module is used to determine the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file; the first orchestration parameters and the first orchestration algorithm are determined in response to the user's selection operation; The optimization module is used to dynamically optimize the preset orchestration data based on the task performance data of each task to obtain the updated task orchestration results; the preset orchestration data includes at least one of the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file.
[0016] This disclosure provides an electronic device, which includes a processor and a memory configured to store a computer program capable of running on the processor, wherein the processor is configured to execute the steps of the aforementioned method when running the computer program.
[0017] This disclosure provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the aforementioned method.
[0018] This disclosure provides a computer program product, including a computer program or instructions, which, when executed by a processor, implement the steps of the aforementioned method.
[0019] The task orchestration method provided in this disclosure determines an initial task orchestration result through first orchestration parameters, a first orchestration algorithm, and a task DAG configuration file. Subsequently, the preset orchestration data is dynamically optimized based on the task execution status (i.e., task performance data) of each task to obtain an updated task orchestration result. Adjusting the orchestration parameters, orchestration algorithm, and task DAG configuration file in the preset orchestration data essentially directly affects the core elements influencing the orchestration result. This results in an updated orchestration result that more accurately adapts to the current environment and load, exhibiting stronger adaptability. Furthermore, adjusting based on task execution status allows the updated task orchestration result to better reflect the actual execution state, avoiding resource waste or low execution efficiency issues caused by static orchestration, and improving the adaptability of task scheduling and overall execution efficiency. Attached Figure Description
[0020] Figure 1 This is a flowchart illustrating a task orchestration method provided in an embodiment of this disclosure. Figure 1 ; Figure 2 This is a schematic diagram of the structure of a visual scheduling system provided in an embodiment of this disclosure; Figure 3 This is a flowchart illustrating a task orchestration method provided in an embodiment of this disclosure. Figure 2 ; Figure 4 This is a schematic diagram of the structure of a task orchestration system provided in an embodiment of this disclosure; Figure 5 This is a schematic diagram of the structure of a task orchestration apparatus provided in an embodiment of this disclosure; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure.
[0021] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of this disclosure clearer, the disclosure will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this disclosure. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0023] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the specific technical solutions of the application will be further described in detail below with reference to the accompanying drawings of the embodiments of this disclosure. The following embodiments are used to illustrate this disclosure, but are not intended to limit the scope of this disclosure.
[0024] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0025] In the following description, the terms "first," "second," and "third" are used only to distinguish different objects and do not represent a specific order of objects or have any chronological limitation. It is understood that "first," "second," and "third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this disclosure described herein can be implemented in an order other than that illustrated or described herein.
[0026] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used herein is for the purpose of describing embodiments of this disclosure only and is not intended to be limiting of this disclosure.
[0027] This disclosure provides methods, apparatus, systems, devices, storage media, and program products for task orchestration. In practical applications, the task orchestration method can be implemented by an in-vehicle terminal.
[0028] The task orchestration method provided in the embodiments of this disclosure will now be described using an electronic device as the executing entity.
[0029] Figure 1 A flowchart illustrating a task orchestration method provided in this embodiment of the disclosure is shown below. Figure 1 As shown, this task orchestration method can be implemented through steps 101-104: Step 101: Obtain the task DAG configuration file.
[0030] Here, a Directed Acyclic Graph (DAG) is an important data structure widely used in mathematics, biology, computer science, and other fields to define dependencies between tasks. A DAG has a specific direction (e.g., task A -> task B, meaning task B can only be executed after task A is completed), and the flow indicated by a DAG has a beginning and an end, preventing infinite loops.
[0031] A Directed Acyclic Graph (DAG) file, generally called a "task flow definition file" or "workflow task DAG configuration file," is used to define task flows, configure scheduling rules, and manage task dependencies. It is the core basis for the scheduling system to execute tasks. It not only describes the dependencies and execution order between tasks but also provides rich configuration options to meet complex scheduling needs. Through the DAG file, the scheduling system can efficiently manage task execution, resource allocation, and fault recovery, ensuring the smooth progress of tasks.
[0032] Step 102: Determine the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file.
[0033] Here, the first arrangement parameters and the first arrangement algorithm are determined in response to the user's selection operation.
[0034] For example, the first orchestration parameter includes the number of cores (core_num) and the scheduling period.
[0035] The number of cores refers to the number of independent physical processing units on a central processing unit (CPU) chip. For example, a CPU may have multiple cores, such as SOC_1, ..., SOC_N.
[0036] Each core is essentially a complete, independent processor, with its own independent Arithmetic Logic Unit (ALU), Control Unit (CU), and L1 and L2 caches. The number of cores directly determines the number of hardware threads that a CPU can execute simultaneously at any given time. For example, an 8-core CPU can physically execute eight different instruction streams concurrently.
[0037] The scheduling cycle refers to the time interval between two consecutive executions of the same task.
[0038] In some embodiments, the scheduling algorithm may be any one of the following: Rate-Monotonic Scheduling (RMS), Earliest Deadline First (EDF), or Fixed-Priority Preemptive Scheduling. Of course, other scheduling algorithms may also be used. This disclosure does not limit the scheduling algorithm, but the specific algorithm shall be determined according to the actual scenario.
[0039] Among them, the rate-monotonic scheduling algorithm means that the priority of a task is directly proportional to its execution frequency, with shorter periods resulting in higher priority; it is suitable for scheduling task sets with fixed periods. The earliest deadline-first algorithm dynamically selects the task closest to its deadline for priority execution. The fixed-priority preemptive scheduling algorithm involves developers statically assigning task priorities; higher-priority tasks can interrupt lower-priority tasks at any time. It is the default scheduling mechanism in commonly used kernels such as FreeRTOS and uC / OS.
[0040] In some embodiments, the electronic device displays the interface of a visual scheduling system, which includes selection controls for orchestration parameters and selection controls for orchestration algorithms. Users can select from these controls based on their needs. After receiving the user's selection of the first orchestration parameters and the first orchestration algorithm, the electronic device can then utilize these parameters and the first orchestration algorithm to perform task orchestration.
[0041] After determining the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file, the task orchestration result can be obtained based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file.
[0042] In some real-time examples, the task orchestration result is determined based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file. This includes: performing deterministic orchestration based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file to obtain the task orchestration result.
[0043] In some real-time examples, before determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file, the method further includes: configuring the first orchestration parameters and the first orchestration algorithm using the parameter configuration module in the visual scheduling system.
[0044] As described above, the visual scheduling system supports the integration of multiple scheduling algorithms through a plug-in mechanism for orchestration algorithms. Users can dynamically load or replace scheduling algorithm plug-ins according to their actual needs, without modifying the core architecture of the visual scheduling system. Simultaneously, it improves the system's scalability and maintenance efficiency, and reduces the complexity of feature iteration.
[0045] Step 103: Obtain the task performance data of each task in the task orchestration results through the preset port.
[0046] Here, a preset port refers to a network communication address pre-configured before system startup or task initialization, enabling different tasks or devices to find each other and exchange data. For example, a preset port could be a monitoring IP address / port. Task performance data for each task can be obtained through the preset port.
[0047] Task performance data refers to a series of quantitative indicators used to describe, measure, and analyze the time behavior of a task during execution. Task performance data can also be called task monitoring data.
[0048] For example, task performance data includes at least the worst-case execution time (WCET), the common execution time (CET), and the dispatch time (DT).
[0049] WCET refers to the maximum time required for a task to execute under the worst-case conditions in a given hardware environment.
[0050] CET refers to the actual execution time of a task under normal conditions and typical input data. Generally, CET ≤ WCET.
[0051] Of course, task performance data can also include other data, such as Best-Case Execution Time (BCET), Average-Case Execution Time (ACET), jitter, response time, release time, and period, which will not be shown here.
[0052] BCET refers to the minimum time required for a task to execute under ideal conditions. ACET refers to the average execution time of a task over a long period, based on a statistical distribution. Jitter refers to the degree of fluctuation or deviation in the task's completion time; it is an important indicator of task time determinism, especially critical for real-time tasks such as audio / video processing and control loops. Response time refers to the total time elapsed from task triggering (release) to task completion. Response time can include the task's waiting time in the ready queue, preemption latency, and actual execution time. Release time is the point in time when a task becomes ready and can be selected for execution by the scheduler.
[0053] In some embodiments, a first orchestration parameter is pre-selected in the user-visualized scheduling system's display interface. The number of cores in the first orchestration parameter can be used to indicate the number of cores on which a task runs. That is, for a process, multiple tasks within the process can run on multiple cores. For example, a process includes task A, task B, and task C. During execution, task A and task B are scheduled to run on core 1, and task C is scheduled to run on core 2.
[0054] Therefore, it is necessary to obtain the task performance data of each task from each core through a preset port. The orchestration process can then be further adjusted based on the task performance data to make the final task orchestration result better.
[0055] In some embodiments, after determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file, the method further includes: inputting the task orchestration result into the static scheduling generation module, and the static scheduling generation module outputting the task static scheduling table.
[0056] The autonomous driving domain controller can then control task execution based on the static task scheduling table. During task execution, task performance data can be retrieved through ZMQ and transmitted to a preset port. Here, ZMQ (ZeroMQ) is a high-performance asynchronous messaging library that encapsulates the underlying socket communication details, allowing developers to implement complex network communications through a simple API. In other words, ZMQ is a data channel that can be established at any time for efficient and reliable data transmission between different tasks or nodes.
[0057] Step 104: Dynamically optimize the preset orchestration data based on the task performance data of each task to obtain the updated task orchestration results.
[0058] Here, the preset orchestration data includes at least one of the following: first orchestration parameters, first orchestration algorithm, and task DAG configuration file.
[0059] After obtaining the task performance data for each task, the preset orchestration data can be adjusted in a timely manner based on the specific circumstances of the task performance data, thereby obtaining the updated task orchestration results. The updated task orchestration results can be used to ensure that the execution of autonomous driving tasks is more reliable and has stronger real-time performance.
[0060] In this embodiment, an initial task orchestration result can be determined using the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file. Subsequently, the preset orchestration data can be dynamically optimized based on the task execution status (i.e., task performance data) of each task, thereby obtaining an updated task orchestration result. Adjusting the orchestration parameters, orchestration algorithm, and task DAG configuration file in the preset orchestration data essentially directly affects the core elements influencing the orchestration result. This results in an updated orchestration result that more accurately adapts to the current environment and load, exhibiting stronger adaptability. Furthermore, adjusting based on task execution status allows the updated task orchestration result to better reflect the actual execution state, avoiding resource waste or low execution efficiency issues caused by static orchestration, and improving the adaptability of task scheduling and overall execution efficiency.
[0061] The following describes the process of determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file in step 102.
[0062] In one possible implementation, the process may include, but is not limited to, step 201 below.
[0063] Step 201: In response to the user's click operation on the arrangement control on the display interface, input the first arrangement parameter, the first arrangement algorithm and the task DAG configuration file into the task arrangement module to perform task arrangement and obtain the task arrangement result.
[0064] Here, the first orchestration parameters include at least the number of cores and the scheduling interval.
[0065] In some embodiments, the electronic device can display the display interface of the visual scheduling system. After the user determines the first orchestration parameters and the first orchestration algorithm, they can continue to perform click operations on the orchestration controls on the display interface of the visual scheduling system.
[0066] In response to the user's click on the orchestration control, the visual scheduling system inputs the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file into the task orchestration module, and the task orchestration module outputs the task orchestration result.
[0067] In some embodiments, such as Figure 2 As shown, a schematic diagram of a visual scheduling system is provided. The visual scheduling system includes a task orchestration module, a task monitoring module, a static schedule generation module, a visual control module, and a parameter configuration module.
[0068] The task orchestration module (i.e., the Scheduler orchestration module) is used to determine the task orchestration result based on the first orchestration algorithm, the first orchestration parameters, and the task DAG configuration file, and then send the task orchestration result to the visualization control module and the static schedule generation module. Specifically, the task orchestration module uses the first orchestration algorithm and the first orchestration parameters, based on the dependencies between tasks in the task DAG configuration file, as well as the WCET and scheduling cycle of each task, to orchestrate each task onto a specified core, and plans the execution time and order of tasks on each core within a supercycle (one complete task flow process).
[0069] The task monitoring module is used to configure preset ports and receive task performance data (i.e., performance parameters such as CET (Execution Time) and DT (Schedule Period)) in real time using ZMQ, and then sends the task performance data to the visualization control module in real time. It is also used to continuously monitor the task's CET value and determine the corresponding WCET value from multiple CET values. Subsequently, the WCET value can be used for re-orchestration, thereby achieving dynamic optimization.
[0070] The static scheduling generation module is used to generate a static task scheduling table based on the task orchestration results output by the task orchestration module. This static scheduling generation module allows users to modify the timeout value and supports generating the static task scheduling table in modules. Then, the scheduler (also known as the scheduling engine) in the autonomous driving domain controller can schedule tasks according to the static task scheduling table.
[0071] The visualization control module (also known as the visualization module) is used to dynamically display task orchestration results, task performance data, and updated task orchestration results, thereby enabling orchestration performance analysis.
[0072] The visualization control module includes at least a table arrangement control, a Gantt chart control, a scatter plot control, and a monitoring table control. Of course, the visualization control module may also include other similar visualization controls, which will not be shown here.
[0073] The parameter configuration module includes an orchestration algorithm configuration module, a core quantity configuration module, a scheduling interval configuration module, and a monitoring configuration module (also known as a monitoring configuration module).
[0074] The orchestration algorithm configuration module can integrate multiple orchestration algorithms, enabling plug-in management of orchestration algorithms. The core quantity configuration module is used to dynamically configure the number of cores. The scheduling interval configuration module is used to dynamically adjust the orchestration scheduling interval, enabling manual tuning. The monitoring configuration module is used to configure preset ports for each core and the visualization control module based on the core where each task resides.
[0075] In this embodiment of the disclosure, in response to a click operation on the orchestration control on the display interface, the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file are input into the task orchestration module to complete the orchestration. In this way, the visual interactive triggering of task orchestration can be realized, ensuring that the orchestration process is accurately executed based on the first orchestration parameters and the first orchestration algorithm, quickly generating task orchestration results that meet the configuration requirements, and improving the convenience and accuracy of task orchestration.
[0076] The process after obtaining the task arrangement results in step 102 is explained.
[0077] In one possible implementation, the process may include, but is not limited to, steps 301-302 described below.
[0078] Step 301: Visualize the task orchestration results to obtain the visualized task orchestration results.
[0079] In some embodiments, the process of visualizing the task orchestration results to obtain the visualized task orchestration results may include: sending the task orchestration results to the visualization control module in the visualization scheduling system; after receiving the task orchestration results, the visualization control module visualizes the task orchestration results and outputs the visualized task orchestration results.
[0080] For example, the process of visualizing the task orchestration results and outputting the visualized task orchestration results may include visualizing the task orchestration results using the orchestration table control and / or Gantt chart control in the visualization control module, and outputting the visualized task orchestration results.
[0081] Step 302: Display the visualized task arrangement results using the preset display method.
[0082] Here, the default display methods include at least table arrangement and / or Gantt chart.
[0083] After obtaining the visualized task orchestration results, they can be displayed using preset display methods. It is understood that the visualized task orchestration results can also be displayed using other methods, such as hierarchical lists and tree structures.
[0084] In this embodiment of the disclosure, by visualizing the task orchestration results, the abstract task dependencies, execution order and scheduling logic can be presented in an intuitive graphical form, which makes it easy for staff to quickly identify redundant nodes, dependency conflicts, unreasonable execution paths and other problems in the orchestration structure, optimize the task scheduling scheme in a timely manner, and improve the overall efficiency of task orchestration and system scheduling.
[0085] In some embodiments, as described above, task performance data includes CET and DT. After obtaining the task performance data, the fluctuation range of CET and DT during task execution can be analyzed to determine whether CET and DT have frequent and irregular jitters. This can be used to evaluate the stability and scheduling efficiency of the current task orchestration result. The smaller the jitter, the better the orchestration performance. The larger the jitter, the more the orchestration result needs to be adjusted. Specifically, there may be defects in the orchestration logic or resource scheduling.
[0086] In some embodiments, after obtaining the task orchestration result, the task orchestration result can be sent to the static schedule generation module; after receiving the task orchestration result, the static schedule generation module can generate a static task schedule table based on the task orchestration result for subsequent use by the scheduler.
[0087] In some embodiments, when the visualized task orchestration results are displayed in tabular form, if the WCET value provided in the task DAG configuration file is inaccurate, the user can directly modify the WCET value of a task in the tabular visualized task orchestration results. Then, the user can re-execute the task orchestration using the modified task DAG configuration file, the first orchestration parameters, and the first orchestration algorithm to obtain the updated task orchestration results and achieve dynamic optimization.
[0088] The process after step 103, which involves obtaining the task performance data of each task in the task orchestration result through a preset port, is explained.
[0089] In one possible implementation, the process may include, but is not limited to, step 401 below.
[0090] Step 401: Visualize the task performance data of each task and display the visualized task performance data.
[0091] In some embodiments, visualized task performance data can be displayed in the form of monitoring tables and / or scatter plots.
[0092] In some embodiments, in order to more clearly display the task performance data of each task, after obtaining the task performance data of each task through a preset port, the task performance data of each task can be visualized and displayed.
[0093] In some embodiments, the process of visualizing the task performance data of each task and displaying the visualized task performance data may include: after monitoring the task performance data of each task through the task monitoring module, sending the task performance data of each task to the visualization control module, and visualizing the task performance data of each task through the visualization control module to obtain the visualized task performance data and display the visualized task performance data.
[0094] For example, the process of visualizing the task performance data of each task through the visualization control module to obtain the visualized task performance data may include visualizing the task performance data of each task through the monitoring table control and / or scatter plot control in the visualization control module to obtain the visualized task performance data.
[0095] In this embodiment of the disclosure, by visualizing the task performance data, the performance indicators can be presented more intuitively, which makes it easier for staff to quickly locate tasks with poor performance and provides data support for subsequent scheduling and optimization.
[0096] The process of step 104, which dynamically optimizes the preset orchestration data based on the task performance data of each task to obtain the updated task orchestration results, is explained.
[0097] In one possible implementation, the process may include, but is not limited to, step 501 below.
[0098] Step 501: Determine whether the task performance data of each task exceeds the preset threshold.
[0099] In some embodiments, the process of determining whether the task performance data of each task exceeds a preset threshold may include: setting a preset threshold corresponding to the performance data of each task, and after obtaining the task performance data of each task, determining whether the task performance data of each task exceeds the preset threshold.
[0100] For example, a preset threshold for CET can be set to 10ms. This preset threshold can be adjusted to adapt to the real-time requirements of the task and the hardware processing capabilities. After obtaining the task performance data for each task, the task performance data can be displayed in a table format. When the CET of the first task exceeds 10ms, the CET corresponding to the first task will be highlighted, thus reminding the user that the CET of the first task is abnormal and needs further adjustment.
[0101] Step 502: If the task performance data corresponding to the first task exceeds the preset threshold, dynamically optimize the preset orchestration data to obtain the updated task orchestration result.
[0102] Here, each task in the task arrangement result includes the first task.
[0103] In some embodiments, the preset threshold may be derived from experience or from the driving requirements of the autonomous driving system, and this disclosure does not limit it.
[0104] In some embodiments, if the task performance data corresponding to the first task exceeds a preset threshold, it indicates that the current task orchestration result of the first task is unreasonable. Therefore, it is necessary to obtain an updated task orchestration result by dynamically optimizing the preset orchestration data, so as to obtain a more stable WCET value based on the updated task orchestration result.
[0105] In this embodiment, by determining whether the performance data of each task exceeds a preset threshold, the preset orchestration data is dynamically optimized for the first task that exceeds the threshold to generate an updated task orchestration result. This allows for accurate identification of tasks with substandard performance and targeted optimization of orchestration strategies, preventing performance bottlenecks from impacting overall scheduling efficiency and improving the adaptability of task orchestration and system execution efficiency.
[0106] The process of dynamically optimizing the preset orchestration data to obtain the updated task orchestration result when the task performance data corresponding to the first task exceeds the preset threshold in step 502 is explained.
[0107] In one possible implementation, the process may include, but is not limited to, steps 5021-5024 below.
[0108] Step 5021: If the actual execution time of the first task exceeds a preset threshold, obtain multiple actual execution times corresponding to the first task.
[0109] Here, the preset threshold includes the preset execution time.
[0110] In some embodiments, the task performance data corresponding to the first task includes the actual execution time of the first task.
[0111] In some embodiments, when the actual execution time corresponding to the first task exceeds a preset threshold, the process of obtaining multiple actual execution times corresponding to the first task may include: obtaining multiple actual execution times corresponding to the first task when the actual execution time corresponding to the first task exceeds a preset execution time. Here, the preset execution time may be a time determined based on the hardware device capabilities and the task itself.
[0112] After obtaining the task performance data for each task, tasks that exceed the limit can be identified based on preset thresholds. For example, if the actual execution time of the first task exceeds the preset threshold, the task monitoring module can continuously obtain multiple actual execution times corresponding to the first task.
[0113] Step 5022: Determine the maximum actual execution time among the multiple actual execution times corresponding to the first task as the worst-case execution time of the target corresponding to the first task.
[0114] In some embodiments, after obtaining multiple actual execution times corresponding to the first task, the maximum actual execution time among the multiple actual execution times corresponding to the first task can be determined as the worst-case execution time of the target corresponding to the first task.
[0115] For example, if the actual execution times for the first task are 10ms, 11ms, 10ms, 10ms and 9ms, then 11ms is determined as the worst-case execution time for the first task.
[0116] Step 5023: Update the task DAG configuration file using the worst-case execution time of the target corresponding to the first task to obtain the updated task DAG configuration file.
[0117] In some embodiments, since the worst-case execution time corresponding to the first task is a parameter set in the task DAG configuration file, after obtaining the worst-case execution time corresponding to the first task, the task DAG configuration file is updated using the worst-case execution time corresponding to the first task, thereby obtaining the updated task DAG configuration file.
[0118] In some embodiments, the updated task DAG configuration file may be stored on an electronic device.
[0119] Step 5024: Based on the first orchestration parameters, the first orchestration algorithm, and the updated task DAG configuration file, obtain the updated task orchestration result.
[0120] After obtaining the updated task DAG configuration file, the first orchestration parameters, the first orchestration algorithm, and the updated task DAG configuration file can be input into the task configuration module again to obtain the updated task orchestration result.
[0121] In some embodiments, the updated task orchestration results may also be stored on an electronic device.
[0122] Understandably, after obtaining the updated task orchestration results, it is possible to continue monitoring the task performance data corresponding to the updated task orchestration results. If the task performance data still does not meet the requirements, dynamic optimization of the preset orchestration data can continue until the final updated task orchestration results meet the requirements.
[0123] In addition, the above example of modifying the worst-case execution time of the target in the task DAG configuration file can be used as an example. When performing dynamic optimization, the number of cores, scheduling cycle or scheduling algorithm in the preset orchestration data can also be adjusted. The specific adjustment method is similar to the method of adjusting the worst-case execution time of the target, and will not be repeated here.
[0124] In this embodiment, for the first task whose actual execution time exceeds the limit, its maximum actual execution time is extracted as the target worst-case execution time. This is used to update the task DAG configuration file and regenerate the updated task orchestration result. This allows for the inclusion of extreme time-consuming scenarios in the task orchestration process, avoiding scheduling timeouts caused by mismatched worst-case execution times and improving the robustness and execution stability of the task orchestration scheme.
[0125] The process before determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file in step 102 is explained.
[0126] In one possible implementation, the process may include, but is not limited to, the following steps 601-602.
[0127] Step 601: In response to a user's click operation on the first arrangement algorithm control in at least one arrangement algorithm control within the display interface, determine the first arrangement algorithm.
[0128] Step 602: In response to a user clicking on the first arrangement parameter control in at least one arrangement parameter control within the display interface, determine the first arrangement parameter.
[0129] Here, multiple orchestration parameter controls include multiple core quantity controls and multiple scheduling interval controls.
[0130] Based on the foregoing, it can be seen that, as Figure 2 As shown, the visual scheduling system includes a parameter configuration module, which can be used to configure orchestration algorithms and parameters. The orchestration algorithm configuration module within the parameter configuration module integrates multiple orchestration algorithms. The core quantity configuration module and scheduling interval configuration module can be used to configure the core quantity and scheduling interval, respectively. Thus, the display interface can show multiple selectable orchestration algorithm controls, multiple selectable core quantity controls, and multiple selectable scheduling period controls. Users can select a suitable orchestration algorithm (i.e., the first orchestration algorithm) and orchestration parameters (i.e., the first orchestration parameters) from the multiple orchestration algorithm controls, multiple core quantity controls, and multiple scheduling interval controls according to their needs. In this way, users can improve orchestration performance and prevent performance overkill and excessive load by dynamically setting reasonable core quantities, scheduling intervals, and orchestration algorithms.
[0131] In some embodiments, in response to a user clicking on a first orchestration algorithm control among multiple orchestration algorithm controls in a display interface, a first orchestration algorithm is determined; and in response to a user clicking on a first orchestration parameter control among multiple orchestration parameter controls in a display interface, the process of determining a first orchestration parameter may include: calling the orchestration algorithm configuration module, the core quantity configuration module, and the scheduling interval configuration module in the parameter configuration module; the orchestration algorithm configuration module, in response to a user clicking on the first orchestration algorithm control among multiple orchestration algorithm controls in a display interface, determines that the first orchestration algorithm is an orchestration algorithm for executing task orchestration; the core quantity configuration module and the scheduling interval configuration module, in response to a user clicking on the first orchestration parameter control among multiple orchestration parameter controls in a display interface, determine that the first orchestration parameter is an orchestration parameter for executing task orchestration.
[0132] In this embodiment of the disclosure, the first orchestration algorithm and the first orchestration parameter are determined by clicking on the orchestration algorithm control and the orchestration parameter control in the display interface, respectively. In this way, the orchestration algorithm and parameter can be selected visually, the configuration process of parameters and algorithms can be simplified, the orchestration rules can be accurately matched with user needs, and the convenience and accuracy of task orchestration configuration can be improved.
[0133] In one possible implementation, the task orchestration method includes: Step 701: Based on the cycle of each task, the worst execution time of each task, and the task DAG configuration file, schedule each task to at least one target core, and determine the execution data of each task on at least one target core in a supercycle.
[0134] Here, the execution data includes at least the execution time and execution order.
[0135] In some embodiments, the process of scheduling tasks to at least one target core based on the cycle of each task, the worst-case execution time corresponding to each task, and the task DAG configuration file, and determining the execution data of each task on at least one target core in a supercycle may include: the task scheduling module scheduling tasks to at least one target core based on the cycle of each task, the worst-case execution time corresponding to each task, and the task DAG configuration file, and determining the execution data of each task on at least one target core in a supercycle.
[0136] Here, the cycle of each task refers to how often each task is executed. The worst-case execution time for each task refers to the maximum time required for each task to execute once under predetermined hardware and software conditions. The supercycle refers to the minimum time required for the system to complete a complete task flow process (in which all periodic tasks are triggered at least an integer number of times and collaboratively complete one round of system function).
[0137] Assigning tasks to at least one target core based on their cycle, worst-case execution time, and task DAG configuration file can mean: determining the execution order of tasks based on the task DAG configuration file; assigning tasks to at least one target core based on their cycle, worst-case execution time, and execution order; and determining the execution time of each task within a supercycle based on the tasks assigned to at least one target core, their cycle, and their worst-case execution time.
[0138] For example, each task includes Task A and Task B, and at least one target core includes Core 0 and Core 1. First, based on the task DAG configuration file, the execution order of Task A and Task B is determined. Then, based on the cycle times of Task A and Task B, the worst-case execution times for Task A and Task B respectively, and their execution order, Task A is scheduled to be assigned to Core 0, and Task B is scheduled to be assigned to Core 1. Finally, based on Task A on Core 0, Task B on Core 1, the cycle times of Task A and Task B respectively, and their worst-case execution times, the execution time of Task A within one supercycle and the execution time of Task B within one supercycle are determined.
[0139] In this embodiment, the task orchestration on the core is completed by combining the task cycle, worst-case execution time and task DAG configuration file, and the supercycle execution time and order of each task on the target core are determined simultaneously. This enables the reasonable allocation of computing resources based on task dependencies and operating overhead, avoiding task conflicts and resource waste.
[0140] In some embodiments, another method of task orchestration is provided, such as Figure 3 As shown, the task orchestration method includes the following steps: S11: Programming Parameter Presets Call the parameter configuration module to set the orchestration algorithm (i.e., the first orchestration algorithm), the number of cores, the scheduling interval (i.e., the first orchestration parameter), and the monitoring port.
[0141] S12: Input task DAG configuration file Input the task DAG configuration file into the task orchestration module.
[0142] S13: Execute orchestration algorithm The task orchestration is performed based on the first orchestration algorithm, the first orchestration parameters, and the task DAG configuration file. The task orchestration result is determined, and the visualization control module is notified to display the task orchestration result.
[0143] S14: Task orchestration result processing The task orchestration results are displayed in the form of tables and Gantt charts, and the scheduler generator module is called to output a static task schedule table for the scheduler to use.
[0144] S15: Orchestration module running The autonomous driving domain controller schedules each task according to the static task scheduling table and uses ZMQ to periodically send the performance data of each task to the designated monitoring port.
[0145] S16: Task Performance Monitoring Monitor and display task performance data (CET, DT, WCET, etc.).
[0146] S17: Task WCET Tuning The WCET of the first task is calculated based on real-time monitored task performance data. The WCET of the first task in the task DAG configuration file is then modified and rearranged to obtain the updated task orchestration result. Steps S13-S17 can then be repeated for dynamic optimization to improve the reliability of the orchestration result.
[0147] In some embodiments, such as Figure 4 As shown, a task orchestration system is provided, which includes an electronic device and an autonomous driving domain controller. The electronic device deploys a visual scheduling system. Exemplarily, the electronic device may be a computer (PC).
[0148] Here, the visual scheduling system is used to generate a static task scheduling table, send the static task scheduling table to the autonomous driving domain controller, and receive task performance data from the autonomous driving domain controller.
[0149] The autonomous driving domain controller comprises multiple cores, such as SOC_1, ..., SOC_N. The autonomous driving domain controller receives a static task scheduling table and, based on the task allocation data in the table, assigns tasks to each core. Simultaneously, when each core executes a task, it can retrieve the corresponding task performance data via ZMQ and send this data to the visual scheduling system.
[0150] In some embodiments, the visual scheduling system is also used to dynamically optimize the preset orchestration data based on the task performance data of each task, so as to obtain the updated task orchestration results.
[0151] The task orchestration method provided in this disclosure will be described in detail below through an embodiment, taking into account a specific application scenario.
[0152] In the field of intelligent driving, with the rapid development of autonomous driving technology, vehicles need to perceive, make decisions, and control in real time in complex and dynamic environments, placing extremely high demands on the task scheduling and performance monitoring of onboard computing systems. Traditional task scheduling systems mostly adopt static or semi-dynamic scheduling strategies, which are difficult to cope with the high-concurrency data streams generated by multi-source heterogeneous sensors (such as LiDAR, cameras, and millimeter-wave radar) in intelligent driving, as well as the complex dependencies between modules such as perception, fusion, localization, planning, and control. In actual operation, problems such as task execution delays, resource contention, and uneven computing load frequently occur, leading to system response lag or even functional failure, seriously affecting driving safety and reliability.
[0153] While some existing technologies incorporate real-time operating systems (RTOS) or priority-based scheduling mechanisms, they lack fine-grained visualization and dynamic optimization capabilities for task execution status. The system operation remains largely "black box," making it difficult for maintenance personnel to promptly identify performance bottlenecks or abnormal tasks. Furthermore, the computational load of intelligent driving systems varies significantly under different operating conditions (such as urban roads, highways, and traffic congestion), and fixed scheduling strategies cannot adaptively adjust, resulting in low utilization of computing resources.
[0154] To address the aforementioned issues, this disclosure proposes a task orchestration method. By providing configurable algorithm options in the interactive interface, it allows users to flexibly select orchestration algorithms as needed. It introduces ZMQ communication technology and integrates multi-dimensional visualization components such as tables, Gantt charts, and scatter plots to dynamically display task orchestration results and performance indicators in real time, achieving comprehensive visual monitoring of the scheduling process. Furthermore, this disclosure provides functions for dynamically modifying and re-orchestrending interface parameters and table data, thereby enabling dynamic optimization of the orchestration process.
[0155] The core mechanism of this disclosure includes the following steps or system modules: 1. Plug-in mechanism for orchestration algorithms The system interface provides an algorithm options module, which dynamically orchestrates module tasks by adaptively calling the algorithm interface based on the user's selection of the scheduling module.
[0156] 2. Multi-view fusion monitoring mechanism The system incorporates Gantt charts, dynamic tables, and scatter plots to provide a visual, real-time monitoring display of the module's task orchestration results and dynamic execution results. This facilitates the viewing of performance metrics and ensures the reliability of the orchestration process.
[0157] 3. Dynamic optimization mechanism It supports dynamic tuning of the orchestration process, allows re-orchestration based on the WCET (Worst Execution Time) results of real-time task monitoring, and allows users to adjust orchestration parameters such as WCET, number of cores, and scheduling interval in real time to further optimize the orchestration results.
[0158] refer to Figure 2 This disclosure provides a visual scheduling system for task orchestration and real-time performance monitoring, which includes the following modules.
[0159] 1. Task orchestration module The task orchestration module is used to orchestrate tasks onto designated cores based on the task's cycle time, WCET (Worst-Case Execution Time), and DAG relationship. It also plans the execution time and order of tasks on each core within a supercycle (one complete task flow process) and passes the data to the orchestration table and Gantt chart control for visualization.
[0160] 2. Task Monitoring Module The task monitoring module is used to configure IP addresses and ports. It uses ZMQ to receive performance parameters such as CET (Execution Time) and DT (Scheduling Period) during task execution in real time, and reports the monitoring data to the monitoring table control and scatter plot control for visualization. Based on the continuously monitored task CET value, the accurate WCET value of the task can be calculated and rearranged to achieve dynamic optimization.
[0161] 3. Static scheduling generation module The static scheduling generation module generates static scheduling tables based on the orchestration results output by the orchestration algorithm. This module allows users to modify the overcycle value and supports generating static scheduling tables in modules for use by the scheduler in the autonomous driving domain controller.
[0162] 4. Visual Control Module The visualization control module is used to dynamically display the task orchestration results and the real-time performance results of the orchestrated tasks, which can be used for orchestration performance analysis.
[0163] 5. Parameter Configuration Module The parameter configuration module includes an orchestration algorithm configuration module, a core quantity configuration module, a scheduling interval configuration module, and a monitoring configuration module.
[0164] The orchestration algorithm configuration module can integrate multiple orchestration algorithms, enabling plug-in management of orchestration algorithms. The core quantity configuration module and scheduling interval configuration module are used to dynamically adjust orchestration parameters, thereby enabling manual optimization. The monitoring configuration module is used to configure preset ports.
[0165] like Figure 4 As shown, an exemplary structural diagram of a task orchestration system is provided. This system includes electronic devices and an autonomous driving domain controller. The electronic devices deploy a visual scheduling system. The static task scheduling table generated by the visual scheduling system can be sent to the autonomous driving domain controller, or the autonomous driving domain controller can receive task performance data for each task.
[0166] like Figure 3 As shown, another method for task orchestration is provided, which includes the following steps: Step S11: Preset Programming Parameters Using the parameter configuration module, users can select appropriate orchestration algorithms and set the number of cores, scheduling intervals, and monitoring IP / ports for subsequent orchestration and monitoring. Dynamically setting appropriate core counts and scheduling intervals can improve orchestration performance and prevent performance overkill and excessive load. The task orchestration module will orchestrate tasks according to the user-preset parameters.
[0167] Step S12: Obtaining the DAG relationship of the task Users select and input the task DAG configuration file for the corresponding module to obtain the DAG relationship of the task for subsequent orchestration algorithms.
[0168] Step S13: Execute the orchestration algorithm Clicking the "Start Orchestration" button on the visualization interface will invoke the user-selected first orchestration algorithm and first orchestration parameters to perform deterministic orchestration of the task DAG configuration file and notify the visualization control module.
[0169] Step S14: Processing the arrangement results The visualization control module uses table controls and / or Gantt chart controls to draw the task orchestration results, and supports calling the static scheduling generation module to output a static task scheduling table for subsequent use by the scheduler. Specifically, for the generated visualized task orchestration results (e.g., shown in a visual table format), if the WCET values in the task DAG configuration file are inaccurate, the user can dynamically modify the WCET values of individual tasks in the table and repeat step S13 to achieve manual dynamic tuning.
[0170] Step S15: Orchestration module runs The autonomous driving domain controller runs tasks according to the static task scheduling table and uses ZMQ to periodically send task performance data of each task to a preset port.
[0171] Step S16: Task Performance Monitoring The task monitoring module monitors task performance data in real time based on preset ports and dynamically displays the task performance data (CET, DT, WCET, etc.) in the form of tables and scatter plots. Based on the above data, the jitter of the current CET and DT can be analyzed in real time to evaluate the quality of the orchestration performance.
[0172] Step S17: Task WCET Optimization The task monitoring module modifies the corresponding task WCET value in the task DAG configuration file based on the task WCET value calculated by real-time monitoring, and supports re-orchestration, that is, repeating steps S13-S15. It also supports saving the modified task DAG configuration file to the local machine. This dynamic optimization method can ensure the reliability of the orchestration results.
[0173] If the arrangement result obtained by following the above steps is inaccurate, steps S13-S17 can be repeated until the WCET value is stable.
[0174] The purpose of this disclosure is to address the problem that existing task orchestration visualization systems cannot simultaneously achieve visualization of orchestration results, dynamic optimization, pluggable orchestration algorithms, and real-time performance monitoring. It proposes a visualized scheduling system for task orchestration and real-time performance monitoring, enabling pluggable management of orchestration algorithms. Users can select appropriate orchestration algorithms through a visual interface. It also supports the visualization of task orchestration results, allowing users to initially analyze the rationality of the orchestration results. Furthermore, by dynamically adjusting task performance and key task data in real-time, it achieves dynamic optimization of task orchestration, thereby improving the real-time performance, reliability, and maintainability of the task orchestration system.
[0175] Based on the aforementioned technical means, this disclosure has the following beneficial effects: 1. Through the plug-in mechanism of orchestration algorithms, it supports the flexible integration of multiple scheduling algorithms. Users can dynamically load or replace algorithm plug-ins according to actual needs without modifying the core system architecture. This improves the system's scalability and maintenance efficiency, and reduces the complexity of functional iteration. 2. It integrates multiple visualization components, supporting real-time observation of task orchestration and execution status from different dimensions. This improves the comprehensiveness and analysis efficiency of monitoring data, helping users quickly locate performance bottlenecks and optimize scheduling strategies. 3. It introduces a dynamic tuning mechanism, supporting continuous optimization of orchestration parameters, resulting in better task orchestration performance and more reliable orchestration results.
[0176] Secondly, embodiments of this disclosure provide a task orchestration apparatus, with reference to Figure 5 The task orchestration apparatus shown may include an acquisition module 501, a determination module 502, and an optimization module 503, wherein; The acquisition module 501 is used to acquire the task DAG configuration file and to acquire the task performance data of each task in the task orchestration result through a preset port. The determination module 502 is used to determine the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file; the first orchestration parameters and the first orchestration algorithm are determined in response to the user's selection operation; The optimization module 503 is used to dynamically optimize the preset orchestration data based on the task performance data of each task to obtain the updated task orchestration results; the preset orchestration data includes at least one of the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file.
[0177] In some embodiments, the determining module 502 is further configured to, in response to a user's click operation on the arrangement control on the display interface, input the first arrangement parameters, the first arrangement algorithm, and the task DAG configuration file into the task arrangement module to perform task arrangement and obtain the task arrangement result.
[0178] In some embodiments, the determining module 502 is further configured to visualize the task arrangement results to obtain visualized task arrangement results; and to display the visualized task arrangement results through a preset display method; the preset display method includes at least an arrangement table and / or a Gantt chart.
[0179] In some embodiments, the determining module 502 is further configured to visualize the task performance data of each task and display the visualized task performance data; the visualized task performance data is displayed in the form of a monitoring table and / or scatter plot.
[0180] In some embodiments, the first orchestration parameters include at least the number of cores and the scheduling interval.
[0181] In some embodiments, the tuning module 503 is further configured to determine whether the task performance data of each task exceeds a preset threshold; and if the task performance data corresponding to the first task exceeds the preset threshold, to dynamically tune the preset orchestration data to obtain an updated task orchestration result, wherein each task in the task orchestration result includes the first task.
[0182] In some embodiments, the tuning module 503 is further configured to: obtain multiple actual execution times corresponding to the first task when the actual execution time of the first task exceeds a preset threshold; the task performance data corresponding to the first task includes the actual execution time of the first task; determine the maximum actual execution time among the multiple actual execution times corresponding to the first task as the target worst-case execution time of the first task; update the task DAG configuration file using the target worst-case execution time of the first task to obtain the updated task DAG configuration file; and obtain the updated task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the updated task DAG configuration file.
[0183] In some embodiments, the determining module 502 is further configured to determine a first arrangement algorithm in response to a user's click operation on a first arrangement algorithm control among multiple arrangement algorithm controls in the display interface; and to determine a first arrangement parameter in response to a user's click operation on a first arrangement parameter control among multiple arrangement parameter controls in the display interface.
[0184] In some embodiments, the determining module 502 is further configured to schedule each task to at least one target core according to the cycle of each task, the worst execution time corresponding to each task, and the task DAG configuration file, and determine the execution data of each task on the at least one target core in a supercycle, the execution data including the execution time and execution order.
[0185] It should be noted that the task orchestration apparatus provided in this disclosure includes all the units included, which can be implemented by a processor in an electronic device; of course, it can also be implemented by specific logic circuits; in the implementation process, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), or a field-programmable gate array (FPGA), etc.
[0186] The description of the above apparatus embodiments is similar to that of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the apparatus embodiments of this disclosure, please refer to the description of the method embodiments of this disclosure for understanding.
[0187] It should be noted that, in the embodiments of this disclosure, if the above-described vehicle driving control method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this disclosure, or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several voice commands to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory (ROM), magnetic disk, or optical disk. Thus, the embodiments of this disclosure are not limited to any specific hardware and software combination.
[0188] Thirdly, embodiments of this disclosure provide another electronic device that can implement the task orchestration method provided in the first aspect above.
[0189] In one example, reference Figure 6 The electronic device 60 shown includes: a processor 601, at least one communication bus 602, a user interface 603, at least one external communication interface 604, and a memory 605. The communication bus 602 is configured to enable communication between these components. The user interface 603 may include a display screen, a microphone, etc. The external communication interface 604 may include standard wired and wireless interfaces.
[0190] The memory 605 is configured to store voice commands and applications executable by the processor 601, and can also cache data to be processed or already processed by the processor 601 and various modules in the electronic device (e.g., image data, audio data, voice communication data and video communication data), which can be implemented by flash memory or random access memory (RAM).
[0191] In some embodiments, this disclosure provides a vehicle including a processor and a memory, the memory storing a computer program or voice instructions, wherein when the computer program is executed by the processor, it implements the method provided in the first aspect.
[0192] Fourthly, embodiments of this disclosure provide a storage medium, namely a computer-readable storage medium, on which a computer program or voice instruction is stored, wherein when the computer program or voice instruction is executed by a processor, the steps in any of the task orchestration methods provided in the first aspect of the above embodiments are implemented.
[0193] Fifthly, embodiments of this disclosure provide a computer program product, which includes a computer program or voice instructions. When the computer program or voice instructions are executed by a processor, they implement the steps in any of the task orchestration methods provided in the first aspect of the above embodiments.
[0194] It should be noted that the descriptions of the above embodiments of storage media, devices, apparatuses, and program products are similar to the descriptions of the above method embodiments and have similar beneficial effects. For technical details not disclosed in the embodiments of storage media, devices, apparatuses, and program products of this disclosure, please refer to the descriptions of the method embodiments of this disclosure for understanding.
[0195] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this disclosure. Therefore, "in one embodiment" or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this disclosure, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this disclosure. The sequence numbers of the above-described embodiments are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0196] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0197] In the several embodiments provided in this disclosure, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0198] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0199] In addition, each functional unit in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0200] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program voice commands. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.
[0201] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this disclosure, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several voice commands to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0202] The above are merely embodiments of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure.
[0203] It should be understood that if this disclosure references any user data and personal information (including but not limited to device information, behavioral data, location information, etc.) and before applying the technical solutions described in the embodiments of this disclosure, the relevant products or services should comply with the laws and regulations concerning the protection of user data and personal information, strictly process users' personal information and data in accordance with the provisions of applicable laws and regulations throughout the entire data processing lifecycle, follow the principles of legality, legitimacy, necessity, good faith, openness, and transparency, and adopt reasonable privacy design schemes and technical measures to ensure the security of user data and personal information, protect users' legitimate rights and interests, and prevent the risks of leakage, theft, or tampering of user data and personal information.
[0204] Specifically, the company must publish and display its privacy policy in a prominent position on the user interface, clearly informing users of the types, purposes, uses, and methods of processing personal information, as well as other matters that should be disclosed as required by laws and regulations; obtain users' prior informed consent or explicit authorization for data processing through user-initiated interaction (such as confirmation pop-ups); process or store user data securely within the legally required timeframe; adopt a series of security technologies and management measures, including but not limited to data encryption and access control; share and transfer user data within the scope permitted by law and in a legally required manner; and process user rights, including the rights to query, access, correct, delete, withdraw authorization and consent, cancel registration, and obtain copies of personal information, within the legally required timeframe.
Claims
1. A method for task orchestration, characterized in that, The method includes: Obtain the task DAG configuration file; The task orchestration result is determined based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file; the first orchestration parameters and the first orchestration algorithm are determined in response to the user's selection operation; The task performance data of each task in the task orchestration result is obtained through a preset port; The preset orchestration data is dynamically optimized based on the task performance data of each task to obtain the updated task orchestration result; the preset orchestration data includes at least one of the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file.
2. The method according to claim 1, characterized in that, The step of dynamically optimizing the preset orchestration data based on the task performance data of each task to obtain the updated task orchestration result includes: Determine whether the task performance data of each task exceeds a preset threshold; If the task performance data corresponding to the first task exceeds the preset threshold, the preset orchestration data is dynamically optimized to obtain the updated task orchestration result, wherein each task in the task orchestration result includes the first task.
3. The method according to claim 2, characterized in that, When the task performance data corresponding to the first task exceeds a preset threshold, the preset orchestration data is dynamically optimized to obtain the updated task orchestration result, including: If the actual execution time of the first task exceeds the preset threshold, multiple actual execution times of the first task are obtained; the task performance data of the first task includes the actual execution time of the first task. The maximum actual execution time among the multiple actual execution times corresponding to the first task is determined as the worst-case execution time of the target corresponding to the first task. The task DAG configuration file is updated using the worst-case execution time of the target corresponding to the first task to obtain the updated task DAG configuration file; Based on the first orchestration parameters, the first orchestration algorithm, and the updated task DAG configuration file, the updated task orchestration result is obtained.
4. The method according to claim 1, characterized in that, The process of determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file includes: In response to the user's click operation on the orchestration control on the display interface, the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file are input into the task orchestration module to perform task orchestration and obtain the task orchestration result. The first orchestration parameters include at least the number of cores and the scheduling interval.
5. The method according to claim 4, characterized in that, After obtaining the task orchestration result, the method further includes: The task orchestration results are visualized to obtain the visualized task orchestration results; The visualized task arrangement results are displayed using a preset display method; the preset display method includes at least an arrangement table and / or a Gantt chart.
6. The method according to any one of claims 1-5, characterized in that, After obtaining the task performance data of each task in the task orchestration result through a preset port, the method further includes: The task performance data of each task is visualized and displayed; the visualized task performance data is displayed in the form of a monitoring table and / or scatter plot.
7. The method according to any one of claims 1-6, characterized in that, Before determining the task orchestration result based on the first orchestration parameters, the first orchestration algorithm, and the task DAG configuration file, the method further includes: In response to a user's click operation on a first arrangement algorithm control in at least one arrangement algorithm control within the display interface, the first arrangement algorithm is determined; In response to a user clicking on a first arrangement parameter control in at least one arrangement parameter control within the display interface, the first arrangement parameter is determined.
8. The method according to any one of claims 1-7, characterized in that, The method further includes: Based on the cycle of each task, the worst-case execution time corresponding to each task, and the task DAG configuration file, each task is scheduled to be placed on at least one target core, and the execution data of each task on at least one target core in a supercycle is determined, the execution data including execution time and execution order.
9. An electronic device, characterized in that, The electronic device includes a processor and a memory storing processor-executable instructions; when the instructions are executed by the processor, the method as described in any one of claims 1 to 8 is implemented.
10. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the method as described in any one of claims 1 to 8.