Task monitoring device, task monitoring method, electronic equipment and storage medium
By generating a visual task monitoring view, the problem of low task processing efficiency in heterogeneous computing systems is solved, resource optimization and rapid fault location are achieved, and system performance and operation and maintenance efficiency are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-13
- Publication Date
- 2026-04-07
AI Technical Summary
In heterogeneous computing systems, efficient task processing is affected by factors such as resource contention and unreasonable task call chain design, resulting in uneven processor load and low task efficiency, and there is a lack of effective task monitoring methods.
A task monitoring device and method are provided, which acquires task tracking data of each processing unit in a heterogeneous computing system, generates a visual task monitoring view based on user configuration information, helps users identify resource bottlenecks and idle resources, optimize task scheduling strategies, and improve hardware resource utilization efficiency.
It enables precise monitoring of tasks in heterogeneous computing systems, optimizes task scheduling, improves hardware resource utilization efficiency and task parallel execution performance, and shortens the operation and maintenance troubleshooting cycle.
Smart Images

Figure CN121807653A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to a task monitoring device, task monitoring method, electronic device, and storage medium. Background Technology
[0002] With the rapid development of technologies such as artificial intelligence and big data processing, the complexity and volume of tasks are growing exponentially. Single-processor systems can no longer meet the requirements of tasks for high computing power and low latency. Heterogeneous computing systems, through the collaborative operation of different types of processors, achieve optimized allocation and efficient utilization of computing resources, thereby meeting the requirements of tasks for high computing power and low latency.
[0003] In heterogeneous computing systems, tasks are processed collaboratively by multiple processors, forming complex task call chains across these processors. Furthermore, to fully utilize the computing resources of heterogeneous computing systems, multiple tasks are often processed in parallel. Due to the characteristics of multi-task concurrent processing and multi-processor cross-cooperation in heterogeneous computing systems, factors such as task contention for computing resources and unreasonable task call chain design can easily affect the efficient processing of tasks. Therefore, there is an urgent need for a method that can assist users in monitoring the tasks processed by each processor in a heterogeneous computing system. Summary of the Invention
[0004] To address the aforementioned technical issues, this disclosure provides a task monitoring device, a task monitoring method, an electronic device, and a storage medium, enabling users to intuitively monitor the tasks processed by each processing unit in a heterogeneous computing system through a visual task monitoring view corresponding to the task monitoring events.
[0005] A first aspect of this disclosure provides a task monitoring apparatus, including one or more processors, the one or more processors being configured to: Obtain task tracking data for each task processed by each processing unit in a heterogeneous computing system; Based on the configuration information of the task monitoring event input by the user, the view generation data corresponding to the task monitoring event is determined from the task tracking data; Based on the data generated from the view, a task monitoring view corresponding to the task monitoring event is generated.
[0006] A second aspect of this disclosure provides a task monitoring method, including: Obtain task tracking data for each task processed by each processing unit in a heterogeneous computing system; Based on the configuration information of the task monitoring event input by the user, the view generation data corresponding to the task monitoring event is determined from the task tracking data; Based on the data generated from the view, a task monitoring view corresponding to the task monitoring event is generated.
[0007] A third aspect of this disclosure provides an electronic device, the electronic device comprising: the task monitoring device provided in the first aspect embodiment described above.
[0008] A fourth aspect of this disclosure provides an electronic device, the electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the task monitoring method provided in the second aspect of the above disclosure.
[0009] A fifth aspect of this disclosure provides a computer-readable storage medium storing a computer program that is executed by a processor to perform the task monitoring method provided in the second aspect of the present disclosure.
[0010] A sixth aspect of this disclosure provides a computer program product that, when instructions in the computer program product are executed by a processor, performs the task monitoring method provided in a second aspect of this disclosure.
[0011] This disclosure provides a task monitoring device, a task monitoring method, an electronic device, and a storage medium. The task monitoring device includes one or more processors configured to: acquire task tracking data for each task processed by each processing unit in a heterogeneous computing system; determine view generation data corresponding to the task monitoring event from the task tracking data based on configuration information of the task monitoring event input by the user; and generate a task monitoring view corresponding to the task monitoring event based on the view generation data. Users can intuitively monitor the tasks processed by each processing unit in the heterogeneous computing system through the visualized task monitoring view corresponding to the task monitoring event. This allows users to accurately identify resource bottlenecks or idle resources in the heterogeneous computing system, thereby optimizing task scheduling strategies and improving hardware resource utilization efficiency and task parallel execution performance. Simultaneously, users can quickly locate faults and optimize performance, thereby shortening the maintenance and troubleshooting cycle. Attached Figure Description
[0012] Figure 1 This is a schematic diagram of the structure of a task monitoring device provided in an exemplary embodiment of the present disclosure.
[0013] Figure 2 This is a schematic diagram of a task monitoring view of occupancy monitoring events provided in an exemplary embodiment of this disclosure.
[0014] Figure 3This is a schematic diagram of a task monitoring view of task time monitoring events provided in an exemplary embodiment of this disclosure.
[0015] Figure 4 This is a schematic diagram of a task monitoring view of task lifecycle monitoring events provided in an exemplary embodiment of this disclosure.
[0016] Figure 5 This is a flowchart illustrating a task monitoring method provided in another exemplary embodiment of this disclosure.
[0017] Figure 6 This is a flowchart illustrating a task monitoring method provided in another exemplary embodiment of this disclosure.
[0018] Figure 7 This is a schematic diagram of the structure of a task monitoring device provided in an exemplary embodiment of the present disclosure.
[0019] Figure 8 This is a structural diagram of an electronic device provided in an exemplary embodiment of this disclosure. Detailed Implementation
[0020] To explain this disclosure, exemplary embodiments of the disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the disclosure, and not all of them. It should be understood that the disclosure is not limited to exemplary embodiments.
[0021] It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of this disclosure.
[0022] Application Overview With the rapid development of technologies such as artificial intelligence and big data processing, the complexity and volume of tasks are growing exponentially. Single-processor architectures are no longer sufficient to meet the demands for high computing power and low latency. Heterogeneous computing systems integrate general-purpose processors (such as Central Processing Units (CPUs) and Microcontroller Units (MCUs)) with various dedicated processors (such as Graphics Processing Units (GPUs) and Neural-network Processing Units (NPUs)). By leveraging the collaborative operation of different types of processors, they achieve optimized allocation and efficient utilization of computing resources, thereby meeting the requirements for high computing power and low latency.
[0023] In heterogeneous computing systems, on the one hand, tasks are processed collaboratively by multiple processors, forming complex task call chains among them. For example, for deep learning model inference tasks, a general-purpose processor first handles task creation, submission, scheduling, and distribution; then a dedicated processor handles task acquisition, execution, and result feedback; and finally, a general-purpose processor handles result aggregation and post-processing. On the other hand, to fully utilize the computing resources of heterogeneous computing systems, multiple tasks are often processed in parallel. Therefore, heterogeneous computing systems are characterized by multi-task concurrent processing and multi-processor cross-cooperation. These characteristics of heterogeneous computing systems can easily affect the efficient processing of tasks. For example, resource competition among different tasks in a heterogeneous computing system can cause uneven processor loads, with some processors running at high loads while others run at low loads, resulting in lower processing efficiency for tasks processed by processors under high loads. Furthermore, instruction synchronization and data transmission delays between task nodes in the task call chain can cause task blocking, leading to lower processing efficiency. Therefore, there is an urgent need for a method to assist users in monitoring tasks processed by different processors in heterogeneous computing systems.
[0024] This disclosure provides a task monitoring device. The device includes one or more processors configured to: acquire task tracking data for each task processed by each processing unit in a heterogeneous computing system; determine view generation data corresponding to the task monitoring event from the task tracking data based on configuration information of the task monitoring event input by the user; and generate a task monitoring view corresponding to the task monitoring event based on the view generation data. Users can intuitively monitor the tasks processed by each processing unit in the heterogeneous computing system through the visualized task monitoring view corresponding to the task monitoring event. This allows users to accurately identify resource bottlenecks or idle resources in the heterogeneous computing system, thereby optimizing task scheduling strategies and improving hardware resource utilization efficiency and task parallel execution performance. Simultaneously, users can quickly locate faults and optimize performance, thereby shortening the maintenance and troubleshooting cycle.
[0025] Exemplary System Figure 1 This is a schematic diagram of the structure of a task monitoring device provided in an exemplary embodiment of this disclosure. Figure 1 As shown, the task monitoring device 100 includes one or more processors 110. The one or more processors 110 are configured to: Processor 110 acquires task tracking data of each task processed by each processing unit in the heterogeneous computing system.
[0026] For example, in a heterogeneous computing system, multiple tasks are typically processed in parallel. Each task is usually processed collaboratively by multiple processing units within the heterogeneous computing system, with different processing units executing the processing flow corresponding to different task nodes of the task. These processing units can include general-purpose processors (such as CPUs and MCUs) and various dedicated processors (such as GPUs and NPUs) within the heterogeneous computing system. The processing units can communicate with each other through shared memory; that is, they can transfer data through shared content. Task nodes represent different stages of task processing within the task's processing flow. Task nodes can include task creation, task submission, task scheduling, task distribution, task acquisition, task parsing, task execution start, task execution end, task result feedback, task result summarization, and task post-processing, etc., which are not limited in the embodiments disclosed herein.
[0027] For each processing unit in a heterogeneous computing system, the processor 110 can record task tracking data as the task processing flow reaches each task node during the processing of each task within that processing unit. The task tracking data may include one or more of the following: task identifier, execution node identifier, task node identifier, timestamp, and task description information. The execution node identifier may further include one or more of the following: processing unit identifier, process identifier, and thread identifier. Specifically, the task identifier uniquely identifies each task, the processing unit identifier uniquely identifies the processing unit processing each task, the process identifier uniquely identifies the process processing each task within each processing unit, the thread identifier uniquely identifies the thread processing each task within each processing unit, the task node identifier uniquely identifies the task node of each task, the timestamp records the time when the task node of each task occurs, and the task description information records information such as task attributes and task functions. For the same task, each processing unit in the heterogeneous computing system only records a portion of the task tracking data for that task. To obtain the complete task tracking data for each task, the processor 110 can query the task tracking data with the same task identifier from the task tracking data recorded by each processing unit. Then, process 110 can further merge the queried task tracking data of the task to obtain the complete task tracking data of the task.
[0028] Based on the configuration information of the task monitoring event input by the user, the processor 110 determines the view generation data corresponding to the task monitoring event from the task tracking data.
[0029] For example, a user can configure a task monitoring event configuration file based on task monitoring requirements. This configuration file can include configuration information for one or more task monitoring events. The configuration information for different task monitoring events can be the same or different; this embodiment does not limit this. The processor 110 receives the user's configuration operation on the task monitoring event configuration file based on task monitoring requirements and obtains the configuration information of the task monitoring events input by the user. Then, for each task monitoring event, the processor 110 can determine the view generation data corresponding to that task monitoring event from the task tracking data based on the configuration information of that task monitoring event. The view generation data corresponding to that task monitoring event includes part or all of the task tracking data of the tasks processed by each processing unit in the heterogeneous computing system. The view generation data corresponding to that task monitoring event is used to generate the task monitoring view corresponding to that task monitoring event. The process by which the processor 110 determines the view generation data corresponding to the task monitoring event from the task tracking data based on the configuration information of the task monitoring event input by the user will be described in detail later and will not be repeated here.
[0030] Processor 110 generates task monitoring views corresponding to task monitoring events based on view-based data generation.
[0031] For example, for each task monitoring event, after obtaining the view generation data corresponding to that task monitoring event, the processor 110 can further generate a visual task monitoring view corresponding to the task monitoring event based on the view generation data. The generation of the task monitoring view corresponding to the task monitoring event by the processor 110 based on the view generation data will be described in detail later and will not be repeated here. Based on the task monitoring view corresponding to the task monitoring event, users can monitor the task processing flow of each task in the heterogeneous computing system in real time, thereby accurately identifying resource bottlenecks or idle resources in the heterogeneous computing system, optimizing task scheduling strategies, and improving hardware resource utilization efficiency and task parallel execution performance. Simultaneously, when certain tasks in the heterogeneous computing system experience processing anomalies or failures, users can quickly locate the fault and optimize performance, thereby shortening the maintenance and troubleshooting cycle.
[0032] It should be noted that the task monitoring device 100 can be connected to one or more display devices. After generating a task monitoring view corresponding to a task monitoring event, the task monitoring device 100 can send the task monitoring view corresponding to the task monitoring event to one or more display devices for display. Multiple task monitoring views corresponding to the task monitoring event can be displayed by one display device or by multiple display devices; this embodiment does not impose any limitation on this.
[0033] In this embodiment, the task monitoring device includes one or more processors configured to: acquire task tracking data of each task processed by each processing unit in a heterogeneous computing system; determine view generation data corresponding to the task monitoring event from the task tracking data based on configuration information of the task monitoring event input by the user; and generate a task monitoring view corresponding to the task monitoring event based on the view generation data. Users can intuitively monitor the tasks processed by each processing unit in the heterogeneous computing system through the visualized task monitoring view corresponding to the task monitoring event. This allows users to accurately identify resource bottlenecks or idle resources in the heterogeneous computing system, thereby optimizing task scheduling strategies and improving hardware resource utilization efficiency and task parallel execution performance. Simultaneously, users can quickly locate faults and optimize performance, thereby shortening the maintenance and troubleshooting cycle.
[0034] In one embodiment, the processor 110 acquires task tracking data for each task processed by each processing unit in the heterogeneous computing system, specifically configured as follows: The processor 110 records task tracking data corresponding to preset task nodes for each task processed by each processing unit in the heterogeneous computing system.
[0035] For example, in a heterogeneous computing system, multiple tasks are typically processed in parallel. For each task, it is usually processed collaboratively by multiple processing units in the heterogeneous computing system, with different processing units executing the processing flow corresponding to different task nodes of the task. Here, task nodes represent different stages of task processing within the task's processing flow. Task nodes may include task creation, task submission, task scheduling, task distribution, task acquisition, task parsing, task execution start, task execution end, task result feedback, task result summarization, task post-processing, etc., and are not limited in this embodiment. For example, in a heterogeneous computing system, image encoding tasks and deep learning model inference tasks are processed in parallel. For the image encoding task, it is processed collaboratively by a CPU in a general-purpose processor and multiple GPUs in a dedicated processor. First, the CPU executes the processing flow of task nodes such as task creation, task submission, task scheduling, and task distribution for the image encoding task. Then, multiple GPUs execute the processing flow of task nodes such as task acquisition, task execution, and task result feedback for the image encoding task. Finally, the CPU executes the processing flow of task nodes such as task result summarization and task post-processing for the image encoding task.
[0036] For each processing unit in a heterogeneous computing system, the processor 110 can record task tracking data as each task's processing flow reaches its respective task node during the processing of each task within that processing unit. The task tracking data may include one or more of the following: task identifier, execution node identifier, task node identifier, timestamp, and task description information. The execution node identifier may further include one or more of the following: processing unit identifier, process identifier, and thread identifier. The timestamp includes year, month, day, hour, minute, second, and millisecond. For example, taking a CPU in a heterogeneous computing system as an example, during the process of the CPU processing each task, the task tracking data recorded for each task is as follows: [Task ID: task_1, Processing Unit ID: cpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: taskcreate, Timestamp: 20251001080122300]; [Task ID: task_2, Processing Unit ID: cpu_1, Process ID: process_1, Thread ID: thread_2, Task Node ID: taskcreate, Timestamp: 20251001080228300]; [Task ID: task_1, Processing Unit ID: cpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: tasksubmit, Timestamp: 20251001080356500]..., and so on. The embodiments disclosed herein do not list them all. For example, taking a GPU in a heterogeneous computing system as an example, during the process of the GPU processing each task, the task tracking data of each task recorded is as follows: [Task ID: task_1, Processing Unit ID: gpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: taskexecbegin, Timestamp: 20251001081044600]; [Task ID: task_1, Processing Unit ID: gpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: taskexecend, Timestamp: 20251001081537200]..., which are not listed one by one in the embodiments of this disclosure.
[0037] The processor 110 merges the task tracking data recorded by each processing unit based on the task identifier of each task to obtain the task tracking data of each task.
[0038] For example, for each task, each processing unit in the heterogeneous computing system executes only a portion of the processing flow corresponding to the task nodes. For instance, a general-purpose processor in the heterogeneous computing system executes the processing flow of task nodes such as task creation, task submission, task scheduling, task distribution, task result aggregation, and task post-processing. Conversely, a dedicated processor in the heterogeneous computing system executes the processing flow of task nodes such as task acquisition, task execution, and task result feedback. In other words, for the same task, each processing unit in the heterogeneous computing system records only a portion of the task tracking data. To obtain the complete task tracking data for each task, the processor 110 can query the task tracking data with the task identifier of that task from the task tracking data recorded by each processing unit. Then, the processor 110 can further merge the queried task tracking data to obtain the complete task tracking data for that task. In one embodiment, the processor 110 can merge the queried task tracking data for that task in ascending order of timestamp to obtain the complete task tracking data for that task. For example, taking task ID 'task_1' as an example, the corresponding task tracking data is: [Task ID: task_1, Processing Unit ID: cpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: taskcreate, Timestamp: 20251001080136300]; [Task ID: task_1, Processing Unit ID: cpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: tasksubmit, Timestamp: 20251001080] [325600]; [Task ID: task_1, Processing Unit ID: gpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: taskexecbegin, Timestamp: 20251001081051500]; [Task ID: task_1, Processing Unit ID: gpu_1, Process ID: process_1, Thread ID: thread_1, Task Node ID: taskexecend, Timestamp: 20251001081537400]..., the embodiments disclosed herein are not listed one by one.
[0039] In this embodiment, the processor 110 records task tracking data corresponding to preset task nodes for each task processed by each processing unit in the heterogeneous computing system. Then, based on the task identifier of each task, the processor 110 merges the task tracking data recorded by each processing unit to obtain the task tracking data for each task. In this way, the processor 110 can obtain complete task tracking data for each task processed by the heterogeneous computing system.
[0040] In one embodiment, the processor 110 determines the view generation data corresponding to the task monitoring event from the task tracking data based on the configuration information of the task monitoring event input by the user, specifically configured as follows: For each task monitoring event type, the processor 110 determines the view generation data of the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type. The task monitoring event types include one or more of the following: utilization monitoring events, task duration monitoring events, or task lifecycle monitoring events.
[0041] For example, users can configure task monitoring event configuration files based on task monitoring needs. These configuration files can be in INI file format or other file formats, which are not limited in this embodiment. The configuration file can include configuration information for one or more task monitoring events. Task monitoring events can be categorized into one or more task monitoring event types according to the task monitoring objective. Specifically, according to the task monitoring objective, task monitoring events can be categorized into occupancy monitoring events, task time monitoring events, task delay monitoring events, task lifecycle monitoring events, etc., which are not limited in this embodiment. This embodiment uses one or more of the following task monitoring event types—occupancy monitoring events, task time monitoring events, or task lifecycle monitoring events—as an example for illustration; other task monitoring event types are similar and will not be described in detail here. Configuration information corresponding to task monitoring events of different types can be merged. For example, taking the task monitoring event type as the occupancy monitoring event Ratio, the configuration information corresponding to the occupancy monitoring event is as follows: [Ratio] window=1s; start=CPU_1:TaskExecBegin, GPU_2:TaskExecBegin; end= CPU_1:TaskExecEnd, GPU_2:TaskExecEnd.
[0042] Wherein, window=1 indicates that the utilization rate statistics period is 1 second; start= CPU_1:TaskExecBegin indicates that the starting node of the utilization rate monitoring event 1 is the task execution start node of the task processed by CPU_1, end= CPU_1:TaskExecEnd indicates that the starting node of the utilization rate monitoring event 1 is the task execution end node of the task processed by CPU_1; start= GPU_2:TaskExecBegin indicates that the starting node of the utilization rate monitoring event 2 is the task execution start node of the task processed by GPU_2, end= GPU_2:TaskExecEnd indicates that the ending node of the utilization rate monitoring event 2 is the task execution end node of the task processed by GPU_2.
[0043] It should be noted that in the configuration information corresponding to the occupancy monitoring events, the start nodes of different occupancy monitoring events in the `start` section are separated by commas. Similarly, the end nodes of different occupancy monitoring events in the `end` section are also separated by commas. Start and end nodes with the same order in both `start` and `end` belong to the same occupancy monitoring event.
[0044] For example, taking the task monitoring event type Event1 as an example, the configuration information corresponding to the task time monitoring event is as follows: [Event 1] name=image_encoding:Create, model_inference:Schedule, image_encoding:Exec; start= CPU_1:TaskCreate, CPU_2:TaskSched, GPU_2:TaskGet; end= CPU_1:TaskSubmit, CPU_2:TaskDispath, GPU_2:TaskAck; count = 10, 5, 5.
[0045] Among them, name=image_encoding:Create indicates the image encoding task creation time monitoring event, start= CPU_1:TaskCreate indicates that the starting node of the image encoding task creation time monitoring event is the task creation node of the image encoding task processed by CPU_1, end= CPU_1:TaskSubmit indicates that the ending node of the image encoding task creation time monitoring event is the task submission node of the image encoding task processed by CPU_1, count=10 indicates that the number of tasks monitored is 10; name=model_inference:Schedule indicates the model inference task scheduling time monitoring event, start= CPU_2:TaskSched indicates that the starting node of the model inference task scheduling time monitoring event is the task scheduling node of the model inference task processed by CPU_2, end= CPU_2:TaskDispath indicates that the ending node of the model inference task scheduling time monitoring event is the task allocation node of the model inference task processed by CPU_2, count=5 indicates that the number of tasks monitored is 5; name=image_encoding:Exec indicates the image encoding task execution time monitoring event, start= GPU_2:TaskGet indicates that the starting node of the image encoding task execution time monitoring event is the task acquisition node of the image encoding task processed by GPU_2, end= GPU_2:TaskAck indicates that the ending node of the image encoding task execution time monitoring event is the task result feedback node of the image encoding task processed by GPU_2, count=5 indicates that the number of tasks monitored is 5.
[0046] For example, taking the task monitoring event type Event2 as an example, the configuration information corresponding to the task lifecycle monitoring event is as follows: [Event 2] task = Task_1, Task_2.
[0047] Where task=Task_1 represents the task lifecycle monitoring event for task_1; task=Task_2 indicates the task lifecycle monitoring events for task_2.
[0048] Furthermore, the processor 110 receives configuration operations from the user on the task monitoring event configuration file based on task monitoring requirements, and obtains the configuration information of the task monitoring event type input by the user. Then, for each task monitoring event type, the processor 110 can determine the view generation data for that task monitoring event type from the task tracking data based on the configuration information of that task monitoring event type. The view generation data for that task monitoring event type is used to generate the task monitoring view corresponding to that task monitoring event type. For example, the view generation data for the occupancy monitoring event is used to generate the occupancy monitoring view corresponding to the occupancy monitoring event; the view generation data for the task timeout monitoring event is used to generate the task timeout monitoring view corresponding to the task timeout monitoring event; and the view generation data for the task lifecycle monitoring event is used to generate the task lifecycle monitoring view corresponding to the task lifecycle monitoring event.
[0049] In this embodiment of the disclosure, for each task monitoring event type, the processor 110 determines the view generation data of the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type. This allows users to configure the configuration information corresponding to different task monitoring event types in the task monitoring event configuration file according to their task monitoring needs, thereby improving the flexibility of task monitoring.
[0050] In one embodiment, the processor 110 determines view generation data of the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type, specifically configured as follows: In response to a task monitoring event of type occupancy monitoring, the processor 110 determines the timestamps of the start and end nodes of each task from the task tracking data based on the occupancy statistics period, target processing unit, and start and end nodes of each task in the configuration information corresponding to the occupancy monitoring event, and uses the timestamps of the start and end nodes of each task as view generation data.
[0051] For example, as described above regarding the configuration information corresponding to the occupancy monitoring event, the configuration information includes the occupancy statistics period (i.e., window=1s), the target processing unit (i.e., CPU_1 in start=CPU_1:TaskExecBegin), and the start and end nodes of each task (i.e., TaskExecBegin in start=CPU_1:TaskExecBegin and TaskExecEnd in end=CPU_1:TaskExecEnd). In response to a task monitoring event type of occupancy monitoring event, the processor 110 can determine the timestamps of the start and end nodes of each task processed by the target processing unit from the task tracking data according to the occupancy statistics period, based on the occupancy statistics period, the target processing unit, and the start and end nodes of each task in the configuration information corresponding to the occupancy monitoring event, and use the timestamps of the start and end nodes of each task as view generation data. The view generation data includes the timestamps of the start and end nodes of each task corresponding to each occupancy statistics period. That is, one occupancy statistics period can correspond to the timestamps of the start and end nodes of one or more tasks. For example, the timestamps of the start and end nodes of a task corresponding to occupancy statistics period 1 are {20251001080101200, 20251001080101400}. For example, the timestamps of the start and end nodes of multiple tasks corresponding to occupancy statistics period 2 are {20251001080101200, 20251001080101400; 20251001080101500, 20251001080101800}.
[0052] Accordingly, processor 110 generates task monitoring views corresponding to task monitoring events based on view-generated data, specifically configured as follows: The processor 110 determines the utilization rate of each task processed by the target processing unit based on the utilization rate statistics period and the timestamps of the start and end nodes of each task.
[0053] The processor 110 generates a task monitoring view of the target processing unit within a preset duration based on the utilization rate of each task processed by the target processing unit. The preset duration is greater than or equal to the utilization rate statistical period.
[0054] For example, for each occupancy monitoring event, after the processor 110 obtains the view generation data corresponding to the occupancy monitoring event, for each occupancy statistics period, the processor 110 can determine the occupancy rate of the target processing unit within the occupancy statistics period based on the timestamps of the start and end nodes of each task corresponding to the occupancy statistics period in the view generation data.
[0055] For a single occupancy statistics period corresponding to the start and end timestamps of a task, the processor 110 can calculate the difference between the end timestamp and the start timestamp of the task, and then calculate the ratio of this difference to the occupancy statistics period to obtain the occupancy rate of the target processing unit within that occupancy statistics period. For example, occupancy statistics period 1 corresponds to the start and end timestamps of one task: {20251001080101200, 20251001080101400}. Accordingly, the occupancy rate of the target processing unit within occupancy statistics period 1 is (400-200) / 1000 = 20%. For a single occupancy statistics period corresponding to the start and end timestamps of multiple tasks, the processor 110 can calculate the difference between the end timestamp and the start timestamp of each task, and then calculate the ratio of the sum of these differences to the occupancy statistics period to obtain the occupancy rate of the target processing unit within that occupancy statistics period. For example, the occupancy rate statistics period 2 corresponds to the start and end timestamps of two tasks: {20251001080101200, 20251001080101400; 20251001080101500, 20251001080101800}. Accordingly, the occupancy rate of the target processing unit within the occupancy rate statistics period 1 is ((400-200) + (800-500)) / 1000 = 50%.
[0056] After obtaining the utilization rate of the target processing unit within each utilization rate statistical period, the processor 110 can generate a task monitoring view of the target processing unit within a preset duration based on the utilization rate of the target processing unit within each utilization rate statistical period. The preset duration is greater than or equal to the utilization rate statistical period. For example, ... Figure 2 As shown, the task monitoring view for occupancy monitoring events is plotted with time on the horizontal axis and occupancy rate on the vertical axis. The preset duration can be set according to the actual monitoring duration, such as a preset duration of 5 minutes. This disclosure does not impose specific limitations.
[0057] In this embodiment of the disclosure, in response to a task monitoring event of type occupancy monitoring, the processor 110, based on the occupancy statistics period, the target processing unit, and the start and end nodes of each task in the configuration information corresponding to the occupancy monitoring event, determines the timestamps of the start and end nodes of each task processed by the target processing unit from the task tracking data, and uses the timestamps of the start and end nodes of each task as view generation data. Then, based on the occupancy statistics period and the timestamps of the start and end nodes of each task, the processor 110 determines the occupancy rate of each task processed by the target processing unit. Subsequently, based on the occupancy rate of each task processed by the target processing unit, the processor 110 generates a task monitoring view of the target processing unit within a preset time period. In this way, the user can monitor the occupancy rate of the target processing unit in real time based on the task monitoring view corresponding to the occupancy monitoring event, promptly detect and handle the problem of unbalanced load of the processing unit caused by resource competition of tasks on the heterogeneous computing system, thereby improving the processing efficiency of the tasks processed by the target processing unit.
[0058] In one embodiment, the processor 110 determines view generation data of the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type, specifically configured as follows: In response to a task monitoring event of type "task duration monitoring event", the processor 110 determines the timestamps of the start and end nodes of each task of the target processing unit in processing each task of the target task type from the task tracking data based on the target task type, target processing unit and start and end nodes of each task in the configuration information corresponding to the task duration monitoring event, and uses the timestamps of the start and end nodes of each task of the target task type as view generation data.
[0059] For example, as described above regarding the configuration information corresponding to task time-consuming monitoring events, the configuration information includes the target task type (i.e., image_encoding:Create), the target processing unit (i.e., CPU_1 in start=CPU_1:TaskCreate), and the start and end nodes of each task (i.e., TaskCreate in start=CPU_1:TaskCreate and TaskSubmit in end=CPU_1:TaskSubmit). In response to a task monitoring event type being a task time-consuming monitoring event, the processor 110 can determine the timestamps of the start and end nodes of each task corresponding to the target task type from the task tracking data based on the target task type, target processing unit, and start and end nodes of each task in the configuration information corresponding to the task time-consuming monitoring event. The processor 110 then uses these timestamps as view generation data corresponding to the task time-consuming monitoring event. The view generation data corresponding to the task time-consuming monitoring event includes the timestamps of the start and end nodes of one or more tasks corresponding to each target task type. For example, the timestamps of the start and end nodes of two tasks in the image coding task type are {20251001080501200, 20251001080501600; 20251001080106400, 20251001080106700}.
[0060] Correspondingly, the configuration information also includes the number of task monitoring events; the processor 110 generates task monitoring views corresponding to task monitoring events based on view generation data, specifically configured as follows: For each target task type, in response to a situation where the number of tasks in each target task type exceeds the number of tasks to be monitored, the processor 110 determines a first task (the number of tasks to be monitored) from among the tasks of the target task type according to a preset task selection strategy. The first task represents a task belonging to the target task type that requires monitoring.
[0061] The processor 110 determines the task duration of each first task based on the timestamps of the start and end nodes of each first task, and generates a task monitoring view of each first task of the target task type based on the task duration of each first task.
[0062] For example, as described above regarding the configuration information corresponding to the task time monitoring event, the configuration information also includes the number of tasks monitored (i.e., count=10). For each target task type, the processor 110 can determine whether the number of tasks corresponding to that target task type is greater than the number of tasks monitored. If the number of tasks corresponding to that target task type is greater than the number of tasks monitored, the processor 110 can determine a number of first tasks to be monitored from the tasks of the target task type according to a preset task selection strategy. The preset task selection strategy can be a random selection strategy, a selection strategy based on task time from high to low, or a selection strategy based on task time from small to large; this embodiment does not limit the specific strategy. If the number of tasks corresponding to that target task type is less than or equal to the number of tasks monitored, the processor 110 does not need to determine a number of first tasks to be monitored from the tasks of the target task type. Then, for each first task, the processor 110 can calculate the difference between the timestamp of the end node and the timestamp of the start node of the first task to obtain the task time of the first task. For example, the start and end timestamps of the two first tasks in an image encoding task type are {20251001080501200, 20251001080501600; 20251001080106400, 20251001080106700}. The corresponding task time for first task 1 is (600-200) = 400ms, and the task time for first task 2 is (700-400) = 300ms. Then, the processor 110 can generate a task time monitoring view corresponding to the task time monitoring event based on the task time of each first task in each target task type. The task time monitoring view includes the task time of each first task in each target task type. For example, as shown... Figure 3 As shown, the task monitoring view for task time monitoring events is a task monitoring view with task type as the horizontal axis and task time as the vertical axis.
[0063] In this embodiment of the disclosure, in response to a task monitoring event type of task duration monitoring event, the processor 110, based on the target task type, target processing unit, and start and end nodes of each task in the configuration information corresponding to the task duration monitoring event, determines the timestamps of the start and end nodes of each task of the target task type processed by the target processing unit from the task tracking data, and uses the timestamps of the start and end nodes of each task of the target task type as view generation data. Then, for each target task type, in response to the number of tasks of each target task type being greater than the number of task monitoring, the processor 110 determines the number of first tasks to be monitored from the tasks of the target task type according to a preset task selection strategy. Afterwards, the processor 110 determines the task duration of each first task based on the timestamps of the start and end nodes of each first task, and generates a task monitoring view for each first task of the target task type based on the task monitoring view of each first task. In this way, the user can monitor the task duration of each task of the target task type in real time based on the task monitoring view of the task duration monitoring event, promptly identify and process tasks with long task durations, thereby improving the processing efficiency of the target task type.
[0064] In one embodiment, the processor 110 determines view generation data of the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type, specifically configured as follows: The processor 110 responds to a task monitoring event of type task lifecycle monitoring event, determines the timestamp of the target task in each processing unit based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and uses the timestamp of the target task in each processing unit as view generation data.
[0065] For example, as described above regarding the configuration information corresponding to task lifecycle monitoring events, the configuration information for task lifecycle monitoring events includes the target task (i.e., task=Task_1). In response to the task monitoring event type being a task lifecycle monitoring event, the processor 110 can determine the timestamp of the target task processed in each processing unit based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and use the timestamp of the target task processed in each processing unit as view generation data. Specifically, for cases where the target task is processed by processes and threads in each processing unit, the processor 110 can determine the timestamp of the target task processed by the process and / or thread in each processing unit based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and use the timestamp of the target task processed by the process and / or thread in each processing unit as view generation data. That is, the view generation data can include the processing unit identifier, process identifier, thread identifier, task node identifier, and timestamp.
[0066] Accordingly, processor 110 generates task monitoring views corresponding to task monitoring events based on view-generated data, specifically configured as follows: The processor 110 generates a task monitoring view of the target task in each processing unit based on the timestamp of the target task being processed in each processing unit.
[0067] For example, for each target task, after the processor 110 obtains the view generation data corresponding to the task lifecycle monitoring event of the target task, it can generate a task monitoring view corresponding to the task call chain of the target task processed in each processing unit based on the timestamp of the target task being processed in each processing unit. For cases where the target task is processed through processes and threads in each processing unit, the processor 110 can generate a task monitoring view corresponding to the task call chain of the target task processed by processes and / or threads in each processing unit based on the timestamp of the target task being processed in each processing unit. For example, as... Figure 4 As shown in this embodiment, the task monitoring view corresponding to the task lifecycle monitoring event is a task monitoring view with time as the horizontal axis and execution node as the vertical axis. The execution node includes thread 1 and thread 2 in the first processing unit that process the task, and thread 3 in the second processing unit that processes the task.
[0068] In this embodiment of the disclosure, in response to a task monitoring event of type task lifecycle monitoring event, the processor 110 determines the timestamp of the target task being processed in each processing unit based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and uses the timestamp of the target task being processed in each processing unit as view generation data. Then, the processor 110 generates a task monitoring view of the target task being processed in each processing unit based on the timestamp of the target task being processed in each processing unit. In this way, the user can monitor the task call chain of the target task in real time based on the task monitoring view corresponding to the task lifecycle monitoring event, promptly discover and handle problems caused by unreasonable task call chain design, thereby improving the processing efficiency of the tasks processed by the target processing unit.
[0069] Exemplary methods Figure 5 This is a flowchart illustrating a task monitoring method provided in an exemplary embodiment of this disclosure. This embodiment can be applied to electronic devices, such as... Figure 5 As shown, the task monitoring method may include the following steps: Step 501: Obtain task tracking data for each task processed by each processing unit in the heterogeneous computing system.
[0070] Step 502: Based on the configuration information of the task monitoring event input by the user, determine the view generation data corresponding to the task monitoring event from the task tracking data.
[0071] Step 503: Generate data based on the view and generate the task monitoring view corresponding to the task monitoring event.
[0072] In one embodiment, such as Figure 6 As shown above, in the above Figure 5 Based on the illustrated embodiment, step 501 may include the following steps: Step 601: Record the task tracking data of each task processed by each processing unit in the heterogeneous computing system at the preset task node.
[0073] Step 602: Based on the task identifier of each task, merge the task tracking data recorded by each processing unit to obtain the task tracking data for each task.
[0074] In one embodiment, in the above Figure 5 Based on the illustrated embodiment, the task tracking data includes one or more of the following: task identifier, execution node identifier, task node identifier, timestamp, and task description information.
[0075] In one embodiment, in the above Figure 5 Based on the illustrated embodiment, step 502 may include the following steps: For each task monitoring event type, view data is generated from the task tracking data based on the configuration information of the task monitoring event type. The task monitoring event types include one or more of the following: occupancy monitoring events, task duration monitoring events, or task lifecycle monitoring events.
[0076] In one embodiment, in the above Figure 5 Based on the illustrated embodiment, the step of generating view data by determining the type of task monitoring event from task tracking data based on the configuration information of the task monitoring event type may include the following steps: In response to a task monitoring event of type occupancy monitoring, based on the occupancy statistics period, target processing unit, and start and end nodes of each task in the configuration information corresponding to the occupancy monitoring event, the timestamps of the start and end nodes of each task processed by the target processing unit are determined from the task tracking data, and the timestamps of the start and end nodes of each task are used as view generation data. Alternatively, In response to a task monitoring event of type "task duration monitoring event," based on the target task type, target processing unit, and start and end nodes of each task in the configuration information corresponding to the task duration monitoring event, the timestamps of the start and end nodes of each task of the target task type processed by the target processing unit are determined from the task tracking data. These timestamps are then used as view generation data. Alternatively, In response to a task monitoring event of type "task lifecycle monitoring event", the timestamp of the target task in each processing unit is determined based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and the timestamp of the target task in each processing unit is used as view generation data.
[0077] In one embodiment, in the above Figure 5 Based on the illustrated embodiment, step 503 may include the following steps: Based on the occupancy rate statistics period and the timestamps of the start and end nodes of each task, the occupancy rate of each task processed by the target processing unit is determined; based on the occupancy rate of each task processed by the target processing unit, a task monitoring view of the target processing unit within a preset duration is generated; wherein, the preset duration is greater than or equal to the occupancy rate statistics period. Alternatively, For each target task type, if the number of tasks in each target task type exceeds the number of tasks to be monitored, a set of first tasks to be monitored is determined from all tasks in the target task type according to a preset task selection strategy. Based on the timestamps of the start and end nodes of each first task, the task duration of each first task is determined, and a task monitoring view for each first task of the target task type is generated based on the task duration of each first task. Alternatively, Based on the timestamps of the target task being processed in each processing unit, a task monitoring view of the target task being processed in each processing unit is generated.
[0078] Regarding the task monitoring method in the above embodiments, the specific execution methods of each step and the corresponding beneficial effects have been described in detail in the corresponding embodiment section of the task monitoring device section above. Please refer to the corresponding execution methods and beneficial technical effects of the exemplary system section above, which will not be repeated here.
[0079] Exemplary device Figure 7 This is a schematic diagram of the structure of a task monitoring device provided in an exemplary embodiment of this disclosure. Figure 7 As shown, the task monitoring device 700 includes a task tracking data acquisition module 710, a view generation data determination module 720, and a task monitoring view generation module 730.
[0080] The task tracking data acquisition module 710 is configured to acquire task tracking data of each task processed by each processing unit in the heterogeneous computing system. The view generation data determination module 720 is configured to: determine the view generation data corresponding to the task monitoring event from the task tracking data based on the configuration information of the task monitoring event input by the user; The task monitoring view generation module 730 is configured to generate a task monitoring view corresponding to the task monitoring event based on the view generation data.
[0081] In one embodiment, the task tracking data acquisition module 710 includes: The task tracking data recording unit is configured to record task tracking data corresponding to preset task nodes for each task processed by each processing unit in the heterogeneous computing system. The task tracking data determination unit is configured to: merge the task tracking data recorded by each processing unit based on the task identifier of each task to obtain the task tracking data of each task.
[0082] In one embodiment, the task tracking data includes one or more of the following: task identifier, execution node identifier, task node identifier, timestamp, and task description information.
[0083] In one embodiment, the view generation data determination module 720 includes: The view generation data determination unit is configured to: for each task monitoring event type, determine the view generation data of that task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type; wherein, the task monitoring event type includes one or more of the following: occupancy monitoring event, task time consumption monitoring event, or task lifecycle monitoring event.
[0084] In one embodiment, the view generation data determination unit is specifically configured as follows: In response to the task monitoring event type being a occupancy monitoring event, based on the occupancy statistics period, target processing unit, and start and end nodes of each task in the configuration information corresponding to the occupancy monitoring event, the timestamps of the start and end nodes of each task processed by the target processing unit are determined from the task tracking data, and the timestamps of the start and end nodes of each task are used as the view generation data; or, In response to the task monitoring event type being a task time consumption monitoring event, based on the target task type, target processing unit, and start and end nodes of each task in the configuration information corresponding to the task time consumption monitoring event, the timestamps of the start and end nodes of each task of the target task type processed by the target processing unit are determined from the task tracking data, and the timestamps of the start and end nodes of each task of the target task type are used as the view generation data; or, In response to the task monitoring event type being a task lifecycle monitoring event, the timestamp of the target task being processed in each of the processing units is determined based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and the timestamp of the target task being processed in each of the processing units is used as the view generation data.
[0085] In one embodiment, the task monitoring view generation module 730 includes: The task monitoring view generation unit is configured to: determine the occupancy rate of each task processed by the target processing unit based on the occupancy rate statistical period and the timestamps of the start and end nodes of each task; and generate a task monitoring view of the target processing unit within a preset duration based on the occupancy rate of each task processed by the target processing unit; wherein the preset duration is greater than or equal to the occupancy rate statistical period; or... The task monitoring view generation unit is configured to: for each target task type, in response to a situation where the number of tasks in each task of the target task type is greater than the number of task monitoring units, determine the number of first tasks to be monitored from each task of the target task type according to a preset task selection strategy; determine the task duration of each first task based on the timestamps of the start and end nodes of each first task, and generate a task monitoring view for each of the first tasks of the target task type based on the task duration of each first task; or... The task monitoring view generation unit is configured to generate a task monitoring view of the target task processed in each of the processing units based on the timestamp of the target task being processed in each of the processing units.
[0086] The beneficial technical effects corresponding to the exemplary embodiments of this device can be found in the corresponding beneficial technical effects of the exemplary method section above, and will not be repeated here.
[0087] Exemplary electronic devices Figure 8 A structural diagram of an electronic device provided in an embodiment of this disclosure includes at least one processor 11 and a memory 12.
[0088] The processor 11 may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 10 to perform desired functions.
[0089] The memory 12 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 11 may execute one or more computer program instructions to implement the task monitoring methods and / or other desired functions of the various embodiments of this disclosure described above.
[0090] In one example, the electronic device 10 may also include an input device 13 and an output device 14, which are interconnected via a bus system and / or other forms of connection mechanism (not shown).
[0091] The input device 13 may also include, for example, a keyboard, a mouse, etc.
[0092] The output device 14 can output various information to the outside, including, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices. The display is used to show the task monitoring view corresponding to the task monitoring events generated by the processor 11.
[0093] Of course, for the sake of simplicity, Figure 8 Only some of the components of the electronic device 10 relevant to this disclosure are shown, omitting components such as buses, input / output interfaces, etc. In addition, the electronic device 10 may include any other suitable components depending on the specific application.
[0094] This disclosure also provides an electronic device comprising: a task monitoring device according to the various embodiments of this disclosure described in the "Exemplary Systems" section above.
[0095] Exemplary computer program products and computer-readable storage media In addition to the methods and apparatus described above, embodiments of this disclosure may also provide a computer program product, including computer program instructions that, when executed by a processor, cause the processor to perform the steps of the task monitoring methods of the various embodiments of this disclosure described in the "Exemplary Methods" section above.
[0096] Computer program products can be written in any combination of one or more programming languages to perform the operations of embodiments of this disclosure. These programming languages include object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0097] Furthermore, embodiments of this disclosure may also be computer-readable storage media storing computer program instructions thereon, which, when executed by a processor, cause the processor to perform the steps of the task monitoring methods of the various embodiments of this disclosure described in the "Exemplary Methods" section above.
[0098] Computer-readable storage media may take the form of any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may include, but is not limited to, systems, apparatuses, or devices that are electrical, magnetic, optical, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0099] The basic principles of this disclosure have been described above with reference to specific embodiments. However, the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.
[0100] Users in the art can make various modifications and variations to this disclosure without departing from its spirit and scope. Thus, this disclosure is also intended to include such modifications and variations if they fall within the scope of the claims of this disclosure and their equivalents.
Claims
1. A task monitoring device, comprising one or more processors, said one or more processors being configured to: Obtain task tracking data for each task processed by each processing unit in a heterogeneous computing system; Based on the configuration information of the task monitoring event input by the user, the view generation data corresponding to the task monitoring event is determined from the task tracking data; Based on the data generated from the view, a task monitoring view corresponding to the task monitoring event is generated.
2. The apparatus according to claim 1, wherein, The acquisition of task tracking data for each task processed by each processing unit in a heterogeneous computing system includes: Record the task tracking data of each task processed by each processing unit in the heterogeneous computing system at the preset task node; Based on the task identifier of each task, the task tracking data recorded by each processing unit is merged to obtain the task tracking data of each task.
3. The apparatus according to claim 1, wherein, The task tracking data includes one or more of the following: task identifier, execution node identifier, task node identifier, timestamp, and task description information.
4. The apparatus according to claim 1, wherein, The configuration information of the task monitoring event based on user input, and the view generation data corresponding to the task monitoring event determined from the task tracking data, include: For each task monitoring event type, based on the configuration information of the task monitoring event type, view generation data of the task monitoring event type is determined from the task tracking data; wherein, the task monitoring event type includes one or more of the following: utilization rate monitoring event, task time consumption monitoring event, or task lifecycle monitoring event.
5. The apparatus according to claim 4, wherein, The step of determining the view generation data for the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type includes: In response to the task monitoring event type being a utilization rate monitoring event, based on the utilization rate statistical period, target processing unit, and start and end nodes of each task in the configuration information corresponding to the utilization rate monitoring event, the timestamps of the start and end nodes of each task processed by the target processing unit in the task tracking data are determined, and the timestamps of the start and end nodes of each task are used as the view generation data. The step of generating a task monitoring view corresponding to the task monitoring event based on the view data includes: Based on the occupancy rate statistical period and the timestamps of the start and end nodes of each task, the occupancy rate of each task processed by the target processing unit is determined; Based on the occupancy rate of each task processed by the target processing unit, a task monitoring view of the target processing unit within a preset duration is generated; wherein the preset duration is greater than or equal to the occupancy rate statistical period.
6. The apparatus according to claim 4, wherein, The step of determining the view generation data for the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type includes: In response to the task monitoring event type being a task time consumption monitoring event, based on the target task type, target processing unit, and start and end nodes of each task in the configuration information corresponding to the task time consumption monitoring event, the timestamps of the start and end nodes of each task of the target task type processed by the target processing unit in the task tracking data are determined, and the timestamps of the start and end nodes of each task of the target task type are used as the view generation data. The configuration information also includes the number of task monitoring tasks; the step of generating a task monitoring view corresponding to the task monitoring event based on the view generation data includes: For each target task type, in response to the number of tasks in each of the target task types being greater than the number of tasks to be monitored, the number of first tasks to be monitored is determined from each of the tasks in the target task type according to a preset task selection strategy; Based on the timestamps of the start and end nodes of each first task, the task duration of each first task is determined, and based on the task duration of each first task, a task monitoring view of each first task of the target task type is generated.
7. The apparatus according to claim 4, wherein, The step of determining the view generation data for the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type includes: In response to the task monitoring event type being a task lifecycle monitoring event, the timestamp of the target task being processed in each of the processing units is determined based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and the timestamp of the target task being processed in each of the processing units is used as the view generation data. The step of generating a task monitoring view corresponding to the task monitoring event based on the view data includes: Based on the timestamps of the target task being processed in each of the processing units, a task monitoring view of the target task being processed in each of the processing units is generated.
8. A task monitoring method, comprising: Obtain task tracking data for each task processed by each processing unit in a heterogeneous computing system; Based on the configuration information of the task monitoring event input by the user, the view generation data corresponding to the task monitoring event is determined from the task tracking data; Based on the data generated from the view, a task monitoring view corresponding to the task monitoring event is generated.
9. The method according to claim 8, wherein, The acquisition of task tracking data for each task processed by each processing unit in a heterogeneous computing system includes: Record the task tracking data of each task processed by each processing unit in the heterogeneous computing system at the preset task node; Based on the task identifier of each task, the task tracking data recorded by each processing unit is merged to obtain the task tracking data of each task.
10. The method according to claim 8, wherein, The task tracking data includes one or more of the following: task identifier, execution node identifier, task node identifier, timestamp, and task description information.
11. The method according to claim 8, wherein, The configuration information of the task monitoring event based on user input, and the view generation data corresponding to the task monitoring event determined from the task tracking data, include: For each task monitoring event type, based on the configuration information of the task monitoring event type, view generation data of the task monitoring event type is determined from the task tracking data; wherein, the task monitoring event type includes one or more of the following: utilization rate monitoring event, task time consumption monitoring event, or task lifecycle monitoring event.
12. The method according to claim 11, wherein, The step of determining the view generation data for the task monitoring event type from the task tracking data based on the configuration information of the task monitoring event type includes: In response to the task monitoring event type being a occupancy monitoring event, based on the occupancy statistics period, target processing unit, and start and end nodes of each task in the configuration information corresponding to the occupancy monitoring event, the timestamps of the start and end nodes of each task processed by the target processing unit are determined from the task tracking data, and the timestamps of the start and end nodes of each task are used as the view generation data; or, In response to the task monitoring event type being a task time consumption monitoring event, based on the target task type, target processing unit, and start and end nodes of each task in the configuration information corresponding to the task time consumption monitoring event, the timestamps of the start and end nodes of each task of the target task type processed by the target processing unit are determined from the task tracking data, and the timestamps of the start and end nodes of each task of the target task type are used as the view generation data; or, In response to the task monitoring event type being a task lifecycle monitoring event, the timestamp of the target task being processed in each of the processing units is determined based on the target task in the configuration information corresponding to the task lifecycle monitoring event, and the timestamp of the target task being processed in each of the processing units is used as the view generation data.
13. The method according to claim 12, wherein, The step of generating a task monitoring view corresponding to the task monitoring event based on the view data includes: Based on the occupancy rate statistical period and the timestamps of the start and end nodes of each task, the occupancy rate of each task processed by the target processing unit is determined; based on the occupancy rate of each task processed by the target processing unit, a task monitoring view of the target processing unit within a preset duration is generated; wherein, the preset duration is greater than or equal to the occupancy rate statistical period; or... For each target task type, in response to a situation where the number of tasks in each of the target task types exceeds the number of tasks to be monitored, a preset task selection strategy is used to determine the number of first tasks to be monitored from each of the tasks in the target task type; based on the timestamps of the start and end nodes of each first task, the task duration of each first task is determined, and based on the task duration of each first task, a task monitoring view for each of the first tasks in the target task type is generated; or, Based on the timestamps of the target task being processed in each of the processing units, a task monitoring view of the target task being processed in each of the processing units is generated.
14. An electronic device, the electronic device comprising: The task monitoring device according to any one of claims 1 to 7.
15. An electronic device, the electronic device comprising: processor; Memory used to store the processor's executable instructions; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the task monitoring method according to any one of claims 8 to 13.
16. A computer-readable storage medium storing a computer program that is executed by a processor to perform the task monitoring method according to any one of claims 8 to 13.