Two-stage scheduling model and scheduling method based on heterogeneous multi-core processor
By adopting a two-level scheduling model on a heterogeneous multi-core processor, the tasks are analyzed and associated subtasks are generated, and they are assigned to the task container. Static priority configuration is carried out according to the dependencies, the container scheduling structure and the task execution window are created, and the cross-container dependencies are managed, which solves the problems of low task scheduling efficiency and unstable execution in the existing technology, and efficient and stable task execution is achieved.
Patent Information
- Application Number
- CN202411716466.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-11-27
AI Technical Summary
The prior art is inefficient and unstable in handling complex task scheduling in heterogeneous multi-core processors, making it difficult to deal with multi-level dependencies and cross-core tasks.
A two-level scheduling model based on heterogeneous multi-core processors is adopted. The module analyzes the target task and generates the associated sub-tasks through the associated sub-tasks. The container allocation analysis module performs the first-level scheduling and allocates the sub-tasks to the task container. The static priority configuration module performs the second-level scheduling based on the dependency relationship to generate a processing priority sequence. The container scheduling structure generation module creates the container scheduling structure, and the window allocation execution module allocates the task execution window to form a loop scheduling sub-sequence. The task cross-container dependency processing module manages the cross-container dependency relationship.
It improves task scheduling efficiency and task execution stability, ensures the improvement of resource utilization and real-time and priority of task processing.
Smart Images

Figure CN119645597A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer science and technology, and in particular to a two-level scheduling model and a scheduling method based on a heterogeneous multi-core processor. Background Art
[0002] As computing demands grow, multi-core and heterogeneous multi-core processors are widely used in computing-intensive tasks to improve system performance and computing efficiency. However, this complex processor architecture also brings challenges in task scheduling and resource management. Traditional scheduling methods in the prior art often have difficulty in dealing with complex task dependencies, resource allocation, and task priorities, resulting in low resource utilization and reduced task processing efficiency. Since different cores of heterogeneous multi-core processors have different computing capabilities, scheduling tasks is more complicated, requiring the scheduling system to be able to parse task dependencies, reasonably allocate resources, and schedule while ensuring real-time and priority. Conventional methods lack systematicity and accuracy when faced with multi-level dependencies and cross-core tasks, and are difficult to meet the needs of modern high concurrency and high-performance computing.
[0003] At present, related technologies still have technical problems such as low efficiency in scheduling complex tasks and unstable task execution in heterogeneous multi-core processors. Summary of the invention
[0004] The present application provides a two-level scheduling model and scheduling method based on a heterogeneous multi-core processor, adopts an associated subtask acquisition module to parse the target task and generate multiple associated subtasks; the container allocation analysis module performs the first-level scheduling and allocates the subtasks to K task containers; the static priority configuration module performs the second-level scheduling of these subtasks according to the dependency relationship and generates a processing priority sequence; the container scheduling structure generation module creates a container scheduling structure through the main time frame setting and time window scheduling algorithm; the window allocation execution module allocates the task execution window according to the priority sequence to form a cyclic scheduling subsequence; the task cross-container dependency processing module performs cross-container dependency management during the task execution process to ensure the scheduling consistency and the execution of the dependency relationship, thereby achieving the technical effect of improving the task scheduling efficiency and the task execution stability.
[0005] The present application provides a two-level scheduling model and a scheduling model based on a heterogeneous multi-core processor, including:
[0006] An associated subtask acquisition module, wherein the associated subtask acquisition module is used to obtain a plurality of associated subtasks by performing dependency analysis on the target task after receiving the target task, wherein the plurality of associated subtasks have a plurality of dependency identifiers; a container allocation analysis module, wherein the container allocation analysis module is used to perform a first-level scheduling container allocation analysis on the plurality of associated subtasks to obtain K groups of associated subtasks corresponding to K task containers; a static priority configuration module, wherein the static priority configuration module is used to perform a second-level scheduling static priority configuration on the K groups of associated subtasks according to the plurality of dependency identifiers to obtain K processing priority sequences; and a container scheduling structure generation module, wherein the container scheduling structure generation module is used to perform a second-level scheduling static priority configuration on the K groups of associated subtasks according to the plurality of dependency identifiers to obtain K processing priority sequences. A module is used to set the main time frame for the K task containers, and then use a time window-based cyclic scheduling algorithm to construct a time window sequence of the K task containers to form a container scheduling structure of the container cyclic sequence; a window allocation execution module, the window allocation execution module is used to allocate task execution windows based on the K processing priority sequences as constraints to obtain K cyclic scheduling subsequences; a task cross-container dependency processing module, the task cross-container dependency processing module is used to perform first-level scheduling time window sequence management based on the container cyclic sequence, and perform second-level scheduling task cross-container dependency processing based on the K cyclic scheduling subsequences during the execution of the target task through the container cyclic sequence.
[0007] The present application also provides a two-level scheduling model and scheduling method based on a heterogeneous multi-core processor, including:
[0008] After receiving the target task, a plurality of associated subtasks are obtained by performing dependency parsing on the target task, wherein the plurality of associated subtasks have a plurality of dependency identifiers; a first-level scheduling container allocation analysis is performed on the plurality of associated subtasks to obtain K groups of associated subtasks corresponding to K task containers; a second-level scheduling static priority configuration is performed on the K groups of associated subtasks according to the plurality of dependency identifiers to obtain K processing priority sequences; after setting the main time frame for the K task containers, a time window sequence of the K task containers is constructed using a time window-based cyclic scheduling algorithm to form a container scheduling structure of a container cyclic sequence; task execution windows are allocated with the K processing priority sequences as constraints to obtain K cyclic scheduling subsequences; in the process of executing the target task through the container cyclic sequence, first-level scheduling time window sequence management is performed based on the container cyclic sequence, and second-level scheduling task cross-container dependency processing is performed based on the K cyclic scheduling subsequences.
[0009] A two-level scheduling model and scheduling method based on a heterogeneous multi-core processor proposed in this application are proposed. First, an associated subtask acquisition module is used to parse the target task and generate multiple associated subtasks; the container allocation analysis module performs the first-level scheduling and allocates the subtasks to K task containers; the static priority configuration module performs the second-level scheduling of these subtasks according to the dependencies and generates a processing priority sequence; the container scheduling structure generation module creates a container scheduling structure through the main time frame setting and time window scheduling algorithm; the window allocation execution module allocates task execution windows according to the priority sequence to form a cyclic scheduling subsequence; the task cross-container dependency processing module performs cross-container dependency management during the task execution process to ensure the scheduling consistency and the execution of dependencies, thereby achieving the technical effect of improving task scheduling efficiency and task execution stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the technical solution of the embodiment of the present invention, the accompanying drawings of the embodiment of the present invention will be briefly introduced below. A flow chart is used in the present application to illustrate the operations performed by the model according to the embodiment of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, various steps can be processed in reverse order or simultaneously as needed. At the same time, other operations can also be added to these processes, or a certain step or several steps of operations can be removed from these processes.
[0011] Figure 1 A schematic diagram of the structure of a two-level scheduling model based on a heterogeneous multi-core processor provided in an embodiment of the present application;
[0012] Figure 2 A flowchart of a two-level scheduling method based on a heterogeneous multi-core processor provided in an embodiment of the present application.
[0013] Description of reference numerals: associated subtask acquisition module 10 , container allocation analysis module 20 , static priority configuration module 30 , container scheduling structure generation module 40 , window allocation execution module 50 , task cross-container dependency processing module 60 . DETAILED DESCRIPTION
[0014] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below.
[0015] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0016] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but 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, and the terms "first\second" involved are merely to distinguish similar objects and do not represent a specific ordering of objects. The terms "including" and "having" and any variations are intended to cover non-exclusive inclusions, for example, a process, method, model, product, or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products, or devices. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those generally understood by technicians in the technical field of this application. The terms used herein are for the purpose of describing the embodiments of the present application only.
[0017] The embodiment of the present application provides a two-level scheduling model based on a heterogeneous multi-core processor, such as Figure 1 As shown, the model includes:
[0018] The associated subtask acquisition module 10 is used to obtain multiple associated subtasks by performing dependency analysis on the target task after receiving the target task, wherein the multiple associated subtasks have multiple dependency identifiers. Specifically, the associated subtask acquisition module 10 first waits to receive target tasks from different application scenarios (such as scientific computing, multimedia processing, enterprise resource management system, etc.), and performs preliminary preprocessing on them after receiving, including data format checking and task integrity verification. Then, the dependency analysis of the target task is started, its internal structure and logical flow are deeply analyzed, and a task relationship diagram is constructed, with nodes representing task steps or functional modules, and lines representing dependencies and flow directions. Subsequently, multiple associated subtasks are identified and extracted according to the task relationship diagram. These subtasks have relatively independent functions and are interdependent in their respective scenarios, such as grid division and flow field calculation in scientific computing tasks, video clip editing and special effects addition in multimedia processing tasks, and order review and delivery in enterprise resource management system tasks. Finally, a dependency identifier is assigned to each associated subtask to accurately record and indicate the dependencies between them, providing a basis for reasonable resource allocation and task scheduling in subsequent modules.
[0019] In one possible implementation, the associated subtask acquisition module 10 includes: a target requirement feature acquisition unit, which is used to perform task requirement analysis on the target task and obtain target requirement features. Specifically, when the target task enters the system, the target requirement feature acquisition unit first performs a comprehensive task requirement analysis on it, which involves analysis of various aspects of the target task, including the goal of the task, the characteristics of the input data, the expected output results, the requirements for computing resources (such as CPU, memory, storage, etc.), and the time limit required to execute the task. For example, if the target task is a high-definition video rendering task, its input data is high-resolution video material, and the output result is a rendered video with specific visual effects. During the analysis process, it will be determined that the task has high requirements for CPU computing power because a large number of image processing operations are required; the memory requirements are also large for storing video. video data and intermediate calculation results; and there may be certain time constraints, such as the need to complete rendering within a specified time to meet real-time playback or delivery requirements. According to the results of the task requirement analysis, key feature information is extracted to form target requirement features. For high-definition video rendering tasks, these features may include video resolution (such as 4K, 8K, etc.), frame rate (such as 24fps, 60fps, etc.), color depth (such as 8bit, 10bit, etc.), required special effects type (such as light and shadow effects, particle effects, etc.) and computing resource requirements (such as the number of CPU cores, memory size), etc. The features will serve as an important basis for subsequent processing and accurately reflect the essential requirements of the target task.
[0020] The feature matching unit is used to perform feature matching using target demand features to obtain N similar historical tasks and N historical subtask topologies. Specifically, after the feature matching unit obtains the target requirement feature, it matches it with the task feature in the historical task library. The historical task library stores detailed feature information of various tasks that have been executed in the past. For the target requirement feature of the high-definition video rendering task, the historical task library is searched for tasks with similar video resolution, frame rate, special effect type and computing resource requirements. For example, if there is a video task in the historical task library that has been rendered before with the same 4K resolution, 60fps frame rate and similar light and shadow effects, then this historical task may be regarded as a similar task. N similar historical tasks are found. For each similar historical task found, the feature matching unit simultaneously obtains its corresponding historical subtask topology. The historical subtask topology describes the subtasks into which the historical task is decomposed during the execution process and the relationship structure between these subtasks. For example, for a similar video rendering historical task, its historical subtask topology may include video decoding subtasks, image processing subtasks, special effect adding subtasks, audio processing subtasks, and the sequence and data dependency between them. For example, after the video decoding subtask is completed, the data is passed to the image processing subtask, and the result of the image processing subtask is used as the input of the special effect adding subtask.
[0021] The associated task topology acquisition unit is used to merge the N historical subtask topologies based on the consistency of topological nodes to obtain the associated task topology. Specifically, after the associated task topology acquisition unit receives N historical subtask topologies, it prepares to perform a merging operation. Before the merging, it is necessary to ensure that these topologies have a certain consistency basis, that is, topological node consistency. Nodes of the same type or function in different historical subtask topologies can be accurately identified and corresponded. For example, in different video rendering historical subtask topologies, video decoding nodes, image processing nodes, etc. have the same functions and meanings. Although they may differ in specific implementation details, they can be judged for consistency based on their functions. Based on the topological node consistency, the N historical subtask topologies are merged. During the merging process, nodes with the same functions are integrated, the connection relationship between them is retained, and repeated or redundant parts are removed. For multiple video rendering historical subtask topologies, their respective video decoding nodes are merged into a unified video decoding node (if they are completely consistent in function and data interaction). Image processing nodes, special effects adding nodes, etc. are also subjected to similar merging operations to obtain an associated task topology that contains the commonalities of all similar historical tasks. This topology can more comprehensively reflect the task execution structure similar to the target task.
[0022] A node dependency acquisition unit is used to decompose the associated task topology based on out-degree connections as constraints to obtain multiple node dependencies of multiple topological nodes. Specifically, the node dependency acquisition unit disassembles the associated task topology with out-degree connections as constraints. The out-degree connection represents the connection relationship from one node to other nodes, which reflects the output direction of the data or task flow. In the associated task topology, each node has a certain out-degree connection. For example, in the associated task topology of video rendering, the out-degree connection of the video decoding node points to the image processing node, which means that the output data after the video decoding is completed will flow to the image processing node. The data transmission path in the task flow and the dependency between tasks are understood. According to the out-degree connection, the associated task topology is gradually disassembled to obtain multiple node dependencies of multiple topological nodes. Starting from the starting node (such as the input data node in the video rendering task), the output of each node depends on which subsequent nodes, as well as the specific requirements of the subsequent nodes on the output of the node are analyzed in turn along the out-degree connection. For example, the special effect adding node depends on the processed image data output by the image processing node, and the audio processing node may depend on the audio data output by the video decoding node (if the audio and video are processed separately). The dependency of each topological node in the entire task flow is accurately determined to provide key information for subsequent task decomposition and scheduling.
[0023] A topology node task extraction unit is used to extract tasks from the multiple topology nodes to obtain the multiple associated subtasks. Specifically, the node task extraction unit analyzes multiple topological nodes and identifies the actual task content represented by each node. In the associated task topology of video rendering, it is identified that the actual task corresponding to the video decoding node is to decode the input video file into a sequence of image and audio data that can be processed; the task of the image processing node is to perform various processing on the decoded image data, such as color correction, image enhancement, etc.; the task of the special effect adding node is to add specific visual effects to the image according to preset special effect rules; the task of the audio processing node is to process the audio data, such as volume adjustment, mixing, etc. Once the task content of each topological node is identified, it is extracted to obtain multiple associated subtasks. The associated subtasks constitute the decomposition form of the target task. Each subtask has a clear function and position in the entire task process. For example, video decoding subtasks, image processing subtasks, special effect adding subtasks, audio processing subtasks, etc. are extracted from the associated task topology of video rendering. These subtasks will serve as the basic units for subsequent task scheduling and resource allocation, and the dependencies between them have been clearly defined through the previous steps.
[0024] An identification processing unit, the identification processing unit is used to use the multiple node dependencies as the multiple dependency identifiers to perform identification processing on the multiple associated subtasks. Specifically, after the identification processing unit obtains the multiple node dependencies, it prepares to convert these relationships into dependency identifiers that can be used to identify associated subtasks. The identifiers will be used to clearly represent the dependency order and data interaction relationship between subtasks in the subsequent task processing process, so that the system can accurately perform task scheduling and resource allocation. The multiple node dependencies are used as multiple dependency identifiers and are assigned one by one to the corresponding associated subtasks. For example, for the image processing subtask in the video rendering task, its dependency identifier may indicate that it depends on the output data of the video decoding subtask, and its output data will be used as the input of the special effect adding subtask. Each associated subtask is given a clear dependency identifier, so that the system can clearly understand the status and mutual relationship of each subtask in the entire task process, thereby achieving efficient task management and execution.
[0025] The container allocation analysis module 20 is used to perform a container allocation analysis of the first-level scheduling of the multiple associated subtasks, and obtain K groups of associated subtasks corresponding to K task containers. Specifically, the container allocation analysis module 20 first receives multiple associated subtasks from the associated subtask acquisition module 10, and then acquires task requirement characteristics for these associated subtasks, comprehensively considering factors such as computing resource requirements (such as CPU computing capacity, GPU acceleration requirements, etc.), memory usage, and data transmission requirements (including frequency, data volume, and transmission direction, etc.), and generates task requirement characteristics for each associated subtask. Afterwards, a clustering algorithm (such as a K-means clustering algorithm or a hierarchical clustering algorithm, etc.) is used, based on K (the number of target task containers) initial cluster centers, to calculate the similarity between the associated subtask and the cluster center (based on the multi-dimensionality of task requirement characteristics), and the associated subtask is assigned to the cluster to which the nearest cluster center belongs, and the cluster center is iteratively updated until the stop condition is met, and the associated subtask is divided into K groups. Finally, with multiple dependency identifiers as constraints, associated subtasks with close dependencies are assigned to the same task container as much as possible, and those with strong independence or weak dependencies are assigned to different containers, so that K groups of associated subtasks are reasonably allocated to K task containers and the corresponding K groups of associated subtasks are obtained.
[0026] In a possible implementation, the container allocation analysis module 20 further includes: a task demand feature acquisition unit, which is used to perform resource demand analysis on the multiple associated subtasks to obtain multiple task demand features. Specifically, after receiving multiple associated subtasks, the task demand feature acquisition unit conducts a comprehensive resource demand analysis. For computing resources, the number of CPU clock cycles, the number of instruction executions, etc. required for each subtask, and the GPU computing core occupancy time required when it involves scenes such as graphics processing or deep learning, are accurately calculated. In terms of storage resources, the size of the memory space occupied by the subtask during operation is carefully evaluated, including the memory required for program code, data structure, and temporary data generated during operation, while considering the frequency and amount of data read and write operations on external storage devices such as hard disks. In terms of data transmission requirements, the frequency of data exchange between subtasks and other tasks, the size of each data block transmitted, and the direction of data transmission (whether receiving data or sending data is the main purpose) are analyzed. Through analysis, each associated subtask accurately obtains its unique task demand characteristics, and clearly presents the specific situation of each subtask in terms of resource requirements.
[0027] An associated subtask division unit, the associated subtask division unit is used to divide the multiple associated subtasks into K groups of associated subtasks according to the multiple task requirement features. Specifically, the associated subtask division unit is based on the multiple task requirement features obtained by the task requirement feature acquisition unit, and uses a suitable clustering algorithm, such as the K-means clustering algorithm. First, K cluster centers are randomly initialized, each cluster center represents a set of potential associated subtasks, and the distance between each associated subtask and the K cluster centers is calculated. The distance is calculated based on various indicators in the task requirement features, such as the computing resource requirement gap, the storage resource requirement difference, and the similarity of data transmission requirements. Each associated subtask is assigned to the cluster to which the nearest cluster center belongs, and the center position of each cluster is recalculated according to the new clustering situation. This process is repeated until the cluster center no longer changes significantly or reaches the preset upper limit of the number of iterations. Finally, the multiple associated subtasks are successfully and clearly divided into K groups of associated subtasks, so that the subtasks in each group have high similarity in resource requirement characteristics, and there are large differences between different groups.
[0028] A container allocation constraint unit, wherein the container allocation constraint unit is used to allocate the K groups of associated subtasks to K task containers using the multiple dependency identifiers as container allocation constraints. Specifically, the container allocation constraint unit uses multiple dependency identifiers as key basis to perform container allocation tasks. The dependency identifiers record in detail the order and data dependencies between associated subtasks. In the allocation process, the associated subtask groups with close data dependencies are preferentially allocated to the same task container. For example, if the output data of a subtask is the direct input of another subtask, and this dependency is close and frequent, then they are allocated together, which can effectively reduce the data transmission overhead between containers and improve data processing efficiency, because the data transmission speed in the same container is faster and no complex cross-container communication mechanism is required. For those associated subtask groups with relatively weak data dependencies or strong independence, they are allocated to different task containers, thereby making full use of the parallel processing capabilities between different containers and improving the operating efficiency of the entire task system. In this way, K groups of associated subtasks are reasonably and efficiently allocated to K task containers, laying a solid foundation for the smooth execution and efficient scheduling of subsequent tasks.
[0029] In a possible implementation, the task requirement feature acquisition unit further includes: an associated basic information acquisition subunit, which is used to collect information on the multiple associated subtasks and obtain multiple associated basic information. Specifically, the associated basic information acquisition subunit carries out information collection work for multiple associated subtasks, and the collected information covers multiple aspects, including the name of the subtask, functional description, format and source of input data, format and destination of output data, etc. For example, an associated subtask in an image processing process may be named "image filtering", and the functional description is to perform a specific filtering operation on the input image to remove noise. The input data is the original image data from the image acquisition device, and the output data is the image data after filtering. Through comprehensive information collection, detailed associated basic information is obtained for each associated subtask, and the information forms the basis for subsequent analysis.
[0030] A historical data calling subunit, the historical data calling subunit is used to call historical data with the task types of the multiple associated subtasks as constraints, and obtain multiple groups of sample task feature indicators. Specifically, the historical data calling subunit calls historical data with the task types of the multiple associated subtasks as key constraints. First, the task type to which each associated subtask belongs is clarified. For example, the "image filtering" subtask in the above-mentioned image processing flow belongs to the image processing type. Past data records of the same or similar task types are searched in the historical database. For the "image filtering" task type, previously executed image filtering task cases are found from the historical data, and feature data from these cases are extracted, such as the type of filtering algorithm, the resolution of the processed image, the processing time and other information. These data are combined to form multiple groups of sample task feature indicators to provide a reference basis for subsequent task feature extraction.
[0031] The task feature array acquisition subunit is used to extract the task features of the multiple associated subtasks based on the multiple groups of sample task feature indicators as constraints, and obtain multiple task feature arrays. Specifically, the task feature array acquisition subunit extracts the task features of multiple associated subtasks based on the multiple groups of sample task feature indicators, and for each associated subtask, compares its own situation with the sample task feature indicators. For example, for the "image filtering" subtask, according to the filtering algorithm type indicator in the historical data, determine the characteristic performance of the filtering algorithm used in the current task in past cases, such as the computational complexity and memory occupancy of the algorithm when processing images with a specific resolution; then, combined with the resolution indicator of the processed image, analyze the impact of the difference between the image resolution of the current task and the sample task on the task characteristics. These feature values extracted from different aspects are combined into a task feature array, and each associated subtask has its corresponding task feature array, thereby comprehensively characterizing the characteristics of each subtask.
[0032] An intra-group aggregation subunit, the intra-group aggregation subunit is used to perform intra-group aggregation on the multiple task feature arrays to obtain the multiple task requirement features. Specifically, the intra-group aggregation subunit performs intra-group aggregation operations on the multiple task feature arrays, and conducts a comprehensive analysis of the task feature arrays of associated subtasks belonging to the same task type or having similar features. For example, for the task feature arrays of multiple "image filtering" associated subtasks, their average values, maximum values, minimum values and other statistics on features such as computational complexity and memory usage are calculated, and the correlation between these features is analyzed. Through this intra-group aggregation method, the information in multiple task feature arrays is integrated to obtain multiple task requirement features that can accurately reflect the resource requirements, performance characteristics, etc. of each associated subtask, providing strong support for subsequent task scheduling and resource allocation.
[0033] In a possible implementation, the associated subtask division unit further includes: a binary group arrangement subunit, and the binary group arrangement subunit is used to arrange the multiple task requirement features in binary groups to obtain H groups of task requirement features. Specifically, after the binary group arrangement subunit obtains multiple task requirement features, it arranges these features in pairs. For example, if there are task requirement features A, B, and C, then binary groups such as AB, AC, and BC will be formed. In this way, H groups of task requirement features are obtained, providing a data basis for the subsequent calculation of task similarity coefficients. This binary group arrangement method helps to comprehensively compare the relationships between different task requirement features and explore the potential similarities and differences between them.
[0034] The Euclidean distance calculation subunit is used to perform Euclidean distance calculation on the H groups of task requirement features to obtain H task similarity coefficients. Specifically, the Euclidean distance calculation subunit performs Euclidean distance calculation on the H groups of task requirement features obtained by binary group arrangement. For each group of task requirement features, their Euclidean distance in multidimensional space is calculated. H Euclidean distance values are obtained by calculation and used as task similarity coefficients. The smaller the Euclidean distance, the more similar the two groups of task requirement features are, and the higher the corresponding task similarity coefficient is.
[0035] A topological connection subunit, wherein the topological connection subunit is used to treat the multiple associated subtasks as multiple task nodes, and to perform topological connection based on the H task similarity coefficients as constraints to obtain a task association topology. Specifically, the topological connection subunit treats the multiple associated subtasks as multiple task nodes, and performs topological connection based on the H task similarity coefficients. If the task similarity coefficient between two task nodes (associated subtasks) is high, it means that they are similar in terms of resource requirements, task nature, etc., and a connection is established in the topological structure. For example, if the task similarity coefficient of task node A and task node B reaches a certain threshold, they are connected with a line in the topology. In this way, all associated subtasks are constructed into a task association topology, which clearly presents the similarity relationship network between each associated subtask, providing a structural basis for subsequent splitting and task allocation.
[0036] A topology first-level splitting subunit, the topology first-level splitting subunit is used to predefine a task similarity scale, and use the task similarity scale to perform a first-level splitting of the task-related topology to obtain multiple first-level associated sub-topologies. Specifically, the topology first-level splitting subunit predefines the task similarity scale, which is the basis for judging whether the task nodes should be divided into different sub-topologies. Then, the task-related topology is split at the first level according to this task similarity scale. For example, if the task similarity scale is set to split when the Euclidean distance is greater than a certain value, then for the task nodes and their connected parts that are farther away in the task-related topology (Euclidean distance is greater than the set value), they are separated from the overall topology to form multiple first-level associated sub-topologies. In this way, the task-related topologies can be preliminarily grouped according to the degree of similarity, and the parts with larger differences can be distinguished.
[0037] A secondary association subtopology acquisition subunit, the secondary association subtopology acquisition subunit is used to use the multiple dependency identifiers to perform secondary splitting of the multiple first-level association subtopologies to obtain K second-level association subtopologies. Specifically, the secondary association subtopology acquisition subunit uses multiple dependency identifiers to perform secondary splitting of multiple first-level association subtopologies. The dependency identifiers clarify the sequence and data dependencies between the associated subtasks. For each first-level association subtopology, a more detailed split is performed based on the dependencies between the task nodes therein. For example, if some task nodes in a first-level association subtopology have strong dependencies, but weak dependencies with other task nodes, it is split into different second-level association subtopologies. In this way, K second-level association subtopologies are finally obtained, so that the task nodes in each second-level association subtopology are closer in dependencies and similarities.
[0038] A sub-topology extraction sub-unit, the sub-topology extraction sub-unit is used to extract and obtain the K groups of associated sub-tasks based on the K secondary associated sub-topologies. Specifically, the sub-topology extraction sub-unit extracts and obtains the K groups of associated sub-tasks based on the K secondary associated sub-topologies. For each secondary associated sub-topology, the associated sub-tasks corresponding to the task nodes contained therein are extracted to form a group of associated sub-tasks. Since the task nodes within the secondary associated sub-topology are closely related in terms of dependency and similarity, each group of associated sub-tasks extracted has good connectivity and similarity, and can be executed in sequence in a task container according to the connectivity relationship as the processing priority, thereby providing reasonable task grouping for efficient task scheduling and execution.
[0039] Static priority configuration module 30, the static priority configuration module 30 is used to perform static priority configuration of the second-level scheduling of the K groups of associated subtasks according to the multiple dependency identifiers, and obtain K processing priority sequences. Specifically, the static priority configuration module 30 first deeply analyzes multiple dependency identifiers, thereby clarifying the sequence and data dependency status between the K groups of associated subtasks, accurately grasping the dependency relationship between the data cleaning and analysis subtask groups in the data analysis process, and the complex dependency relationship between the subtask groups in the software development project. Then determine the critical path of the task process based on the analysis results, such as finding the critical path composed of raw material procurement in the product manufacturing process. Then formulate the priority allocation principle, the subtask groups on the critical path, the subtask groups that are dependent on multiple groups, and the subtask groups with real-time requirements or great impact on system performance will be given priority, such as the order processing subtask group in the e-commerce system. Finally, according to the principle, the K groups of associated subtasks are statically prioritized, and priority values or levels are assigned to form K processing priority sequences, such as the video decoding subtask group in the multimedia processing system is prioritized, and the audio processing subtask group is assigned a lower priority according to the situation to ensure efficient and reliable execution of the task.
[0040] The container scheduling structure generation module 40 is used to set the main time frame for the K task containers, and then use a time window-based cyclic scheduling algorithm to construct a time window sequence of the K task containers to form a container scheduling structure of the container cyclic sequence. Specifically, the container scheduling structure generation module 40 first comprehensively considers the task deadline requirements and the estimated total execution time of the associated subtasks in the K task containers (covering calculation, transmission, waiting, etc.) and other factors, and sets the main time frame for the K task containers. For example, in the video processing task of the online video live broadcast system with high real-time requirements, the appropriate duration is determined based on the overall situation. Then, the time window allocation principle is determined, based on the importance of the associated subtasks in the task container, the computing resource requirements and the data dependency, etc., such as in the video processing system, a longer time window is allocated to the important and complex image processing task container, and a shorter time window is allocated to the auxiliary logging task container, and the task containers with close data dependencies are ensured to be reasonably connected. Finally, a time window-based cyclic scheduling algorithm is used to divide the main time frame into several time windows and allocate them to K task containers according to principles to form a cyclic scheduling sequence. Each task container is executed within its time window, and the allocation order and size are adjusted according to real-time requirements and priorities. An efficient container scheduling structure of the container cyclic sequence is constructed to improve the system task processing efficiency and resource utilization.
[0041] In a possible implementation, the container scheduling structure generation module 40 further includes: a task execution time extraction unit, which is used to extract multiple task execution times from the multiple task requirement features. Specifically, after obtaining multiple task requirement features, the task execution time extraction unit deeply analyzes these features to extract the task execution time. Factors such as the computational complexity of the task, the amount of data, and the efficiency of the algorithm used will be considered. For example, for a task involving large-scale matrix operations, its computational complexity is high and the execution time is relatively long; while tasks with small data volumes and simple algorithms have shorter execution times. Through this comprehensive evaluation, the corresponding task execution time is accurately extracted for each associated subtask, thereby clarifying the approximate time resources required for each subtask during operation.
[0042] A data grouping and summing unit, the data grouping and summing unit is used to perform data grouping and summing of the execution times of the multiple tasks according to the K groups of associated subtasks, to obtain K task requirement times. Specifically, the data grouping and summing unit operates on the execution times of the multiple tasks according to the K groups of associated subtasks. Since each group of associated subtasks has connected and similar characteristics, the execution times of the tasks belonging to the same group are added and summed. For example, a group of associated subtasks contains three subtasks, and their execution times are 2 seconds, 3 seconds and 1 second respectively, then the task requirement time of this group is 6 seconds. Through such data grouping and summing processing, the total task requirement time is calculated for each task container, and the total amount of time required to execute all associated subtasks in each task container is clearly presented.
[0043] A main time frame generation unit, the main time frame generation unit is used to globally add up the execution time of the multiple tasks as the main time frame. Specifically, the main time frame generation unit performs a global addition operation on all task execution times. It accumulates the execution time of each associated subtask to obtain a total time value, which is used as the main time frame. This main time frame represents the longest time required to complete the entire task (including all associated subtasks) under ideal circumstances. For example, if the sum of the execution time of all associated subtasks is 50 seconds, then the main time frame is set to 50 seconds, providing a total time range limit for subsequent time window allocation.
[0044] A container cycle sequence acquisition unit, the container cycle sequence acquisition unit is used to allocate the main time frame according to the K task requirement times to construct a time window sequence of the K task containers and obtain the container cycle sequence. Specifically, the container cycle sequence acquisition unit processes the main time frame allocation work according to the K task requirement times. First, the main time frame is allocated to the K task containers according to certain rules and strategies to construct a time window sequence for each task container. During the allocation process, the task requirement time of the task container will be considered, and containers with longer requirement times and higher task importance will be given priority to obtain relatively longer time windows. For example, a task container with a task requirement time of 15 seconds may be allocated to an 18-second time window (including a certain buffer time) in the main time frame. Through such an allocation method, the execution time period of each task container in the main time frame is determined, thereby obtaining a container cycle sequence, so that each task container can be executed in sequence according to the set order and time window, ensuring the orderly advancement of the task.
[0045] The window allocation execution module 50 is used to allocate task execution windows based on the K processing priority sequences as constraints, and obtain K cyclic scheduling subsequences. Specifically, the window allocation execution module 50 first divides the execution time of multiple tasks into K groups of task execution time based on K groups of associated subtasks, and ensures that the task execution time is closely connected with the corresponding processing priority sequence in the process, such as dividing the execution time of image decoding, processing, encoding and other groups according to priority in image processing tasks. Then, based on the K processing priority sequences as constraints, the K groups of task execution time are sorted and spliced to construct K task window sequences, which are strictly arranged according to priority, and the order of the same priority is determined according to other rules. Finally, the constructed K task window sequences and K processing priority sequences are associated and stored to generate K cyclic scheduling subsequences, so that the system can arrange the tasks according to priority and time window in turn when executing the tasks, and cyclically select the subtasks in the task container for execution, so as to ensure the timely processing of key tasks, improve the efficiency of task scheduling and resource utilization, and ensure the orderly execution of tasks.
[0046] In a possible implementation, the window allocation execution module 50 further includes: a task execution time division unit, which is used to divide the multiple task execution times into K groups of task execution times according to the K groups of associated subtasks. Specifically, the task execution time division unit works according to the K groups of associated subtasks. In view of the fact that each group of associated subtasks has connected and similar characteristics, they can be executed in sequence in a task container according to the connection relationship as a processing priority. The unit divides the multiple task execution times in detail and determines the corresponding task execution time grouping for each group of associated subtasks. For example, in a task system including data collection, data analysis, and data visualization (assuming K=3), the task execution time of the data collection group may be relatively stable, the execution time of the data analysis group depends on the amount of data and the complexity of the algorithm, and the execution time of the data visualization group is related to the complexity of the generated chart. Through accurate division, basic time data is provided for subsequent task scheduling.
[0047] The task window sequence acquisition unit is used to take the K processing priority sequences as constraints, and to splice the sorting of the K groups of task execution times to obtain K task window sequences. Specifically, the task window sequence acquisition unit takes the K processing priority sequences as key constraints. Since scheduling is performed in the container according to the static priority of the subtasks, high-priority tasks must be executed first in the time window to ensure that key tasks are processed on time. The unit sorts and splices the K groups of task execution times according to the processing priority sequence. For example, if the data analysis group has a higher priority, the data collection group is second, and the data visualization group is third, then when splicing the task window sequence, the task execution time of the data analysis group will be arranged first, followed by the data collection group, and finally the data visualization group. In this way, K task window sequences are obtained, and the execution order of subtasks in each task container in the time window is clarified.
[0048] An associated storage unit, wherein the associated storage unit is used to associate and store the K task window sequences with the K processing priority sequences to generate the K cyclically scheduled subsequences. Specifically, the associated storage unit is responsible for associating and storing the K task window sequences with the K processing priority sequences. It establishes an effective mapping relationship so that each task window sequence can accurately correspond to the processing priority sequence to which it belongs. For example, in the database storage structure, an associated field is set for each task window sequence, pointing to its corresponding processing priority sequence identifier. Through this associated storage operation, K cyclically scheduled subsequences are generated. In the actual task execution process, the system can select subtasks from the task container in an orderly manner based on these cyclically scheduled subsequences to ensure that the tasks are efficiently arranged according to the priority and time window, and realize the optimized scheduling and reasonable allocation of resources of the entire task system.
[0049] The task cross-container dependency processing module 60 is used to perform time window sequence management of first-level scheduling based on the container cycle sequence and perform task cross-container dependency processing of second-level scheduling based on the K cycle scheduling subsequences during the process of executing the target task through the container cycle sequence. Specifically, during the execution of the target task through the container loop sequence, the task cross-container dependency processing module 60 coordinates and schedules the task containers based on the time window sequence management of the first-level scheduling, and strictly controls each task container to run within its specified time window. For example, in a system composed of data processing, model training, and result evaluation task containers, they are executed in sequence according to their respective time windows to avoid resource competition chaos and ensure orderly collaboration between task containers; on the other hand, based on K loop scheduling subsequences, task cross-container dependency processing is performed, and sub-tasks are scheduled according to priority within the task container. For example, high-priority data loading subtasks are executed first in the model training container, and cross-container dependencies are considered at the same time. If the result evaluation container depends on the output of the model training container, it will be executed only after the dependency conditions are met, thereby ensuring that the associated subtasks are executed smoothly within and between containers according to priority and dependency, and promoting the successful completion of the entire target task.
[0050] The embodiment of the present application adopts an associated subtask acquisition module to parse the target task and generate multiple associated subtasks; the container allocation analysis module performs the first-level scheduling and allocates the subtasks to K task containers; the static priority configuration module performs the second-level scheduling of these subtasks according to the dependency relationship and generates a processing priority sequence; the container scheduling structure generation module creates a container scheduling structure through the main time frame setting and the time window scheduling algorithm; the window allocation execution module allocates the task execution window according to the priority sequence to form a cyclic scheduling subsequence; the task cross-container dependency processing module performs cross-container dependency management during the task execution process to ensure the scheduling consistency and the execution of the dependency relationship, thereby achieving the technical effect of improving the task scheduling efficiency and the task execution stability.
[0051] In the above, refer to Figure 1 A two-level scheduling model based on a heterogeneous multi-core processor according to an embodiment of the present invention is described in detail. Figure 2 A two-level scheduling method based on a heterogeneous multi-core processor according to an embodiment of the present invention is described.
[0052] A two-level scheduling method based on heterogeneous multi-core processors, such as Figure 2 As shown, the method includes:
[0053] After receiving the target task, a plurality of associated subtasks are obtained by performing dependency parsing on the target task, wherein the plurality of associated subtasks have a plurality of dependency identifiers; a first-level scheduling container allocation analysis is performed on the plurality of associated subtasks to obtain K groups of associated subtasks corresponding to K task containers; a second-level scheduling static priority configuration is performed on the K groups of associated subtasks according to the plurality of dependency identifiers to obtain K processing priority sequences; after setting the main time frame for the K task containers, a time window sequence of the K task containers is constructed using a time window-based cyclic scheduling algorithm to form a container scheduling structure of a container cyclic sequence; task execution windows are allocated with the K processing priority sequences as constraints to obtain K cyclic scheduling subsequences; in the process of executing the target task through the container cyclic sequence, first-level scheduling time window sequence management is performed based on the container cyclic sequence, and second-level scheduling task cross-container dependency processing is performed based on the K cyclic scheduling subsequences.
[0054] In a possible implementation, the image processing-based elevator guide rail installation monitoring method also includes: performing resource requirement analysis on the multiple related subtasks to obtain multiple task requirement characteristics; dividing the multiple related subtasks into K groups of related subtasks according to the multiple task requirement characteristics; and allocating the K groups of related subtasks to K task containers using the multiple dependency identifiers as container allocation constraints.
[0055] In a possible implementation, the elevator guide rail installation monitoring method based on image processing also includes: extracting multiple task execution times from the multiple task requirement features; performing data grouping and summing of the multiple task execution times according to the K groups of associated subtasks to obtain K task requirement times; globally summing the multiple task execution times as the main time frame; and constructing a time window sequence of the K task containers by allocating the main time frame according to the K task requirement times to obtain the container cycle sequence.
[0056] In a possible implementation, the image processing-based elevator guide rail installation monitoring method also includes: dividing the multiple task execution times into K groups of task execution times according to the K groups of associated subtasks; taking the K processing priority sequences as constraints, sorting and splicing the K groups of task execution times to obtain K task window sequences; and associating and storing the K task window sequences with the K processing priority sequences to generate the K cyclic scheduling subsequences.
[0057] In a possible implementation, the elevator guide rail installation monitoring method based on image processing also includes: collecting information on the multiple related subtasks to obtain multiple related basic information; calling historical data with the task types of the multiple related subtasks as constraints to obtain multiple groups of sample task feature indicators; extracting task features of the multiple related subtasks with the multiple groups of sample task feature indicators as constraints to obtain multiple task feature arrays; and aggregating the multiple task feature arrays within a group to obtain the multiple task requirement features.
[0058] In a possible implementation, the elevator guide rail installation monitoring method based on image processing also includes: arranging the multiple task requirement features into binary groups to obtain H groups of task requirement features; performing Euclidean distance calculation on the H groups of task requirement features to obtain H task similarity coefficients; taking the multiple associated subtasks as multiple task nodes, topologically connecting them with the H task similarity coefficients as constraints to obtain task association topology; predefining a task similarity scale, and using the task similarity scale to perform a first-level splitting of the task association topology to obtain multiple first-level associated sub-topologies; using the multiple dependency identifiers to perform a second-level splitting of the multiple first-level associated sub-topologies to obtain K second-level associated sub-topologies; extracting the K groups of associated subtasks based on the K second-level associated sub-topologies.
[0059] In a possible implementation, the elevator guide rail installation monitoring method based on image processing also includes: performing task requirement analysis on the target task to obtain target requirement characteristics; using the target requirement characteristics to perform feature matching to obtain N similar historical tasks and N historical subtask topologies; merging the N historical subtask topologies based on topological node consistency to obtain an associated task topology; decomposing the associated task topology with out-degree connections as constraints to obtain multiple node dependencies of multiple topological nodes; performing task extraction on the multiple topological nodes to obtain the multiple associated subtasks; and using the multiple node dependencies as the multiple dependency identifiers to perform identification processing on the multiple associated subtasks.
[0060] A two-level scheduling model based on a heterogeneous multi-core processor provided in an embodiment of the present invention can execute a two-level scheduling method based on a heterogeneous multi-core processor provided in any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method.
[0061] Although the present application makes various references to certain modules in the model according to the embodiments of the present application, any number of different modules may be used and run on the user terminal and / or server, and the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.
[0062] The above specific implementation manner does not constitute a limitation to the protection scope of the present application. It should be understood by those skilled in the art that various modifications, combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the protection scope of the present application. In some cases, the actions or steps recorded in the present application can be performed in an order different from that in the embodiment and can still achieve the desired results. In addition, the process depicted in the accompanying drawings does not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
Claims
1. A two-level scheduling model based on heterogeneous multi-core processors, characterized in that: The model includes: An associated subtask acquisition module, wherein the associated subtask acquisition module is used to obtain a plurality of associated subtasks by performing dependency analysis on the target task after receiving the target task, wherein the plurality of associated subtasks have a plurality of dependency identifiers; A container allocation analysis module, the container allocation analysis module is used to perform a first-level scheduling container allocation analysis on the multiple associated subtasks to obtain K groups of associated subtasks corresponding to the K task containers; A static priority configuration module, the static priority configuration module is used to perform static priority configuration of the second-level scheduling of the K groups of associated subtasks according to the multiple dependency identifiers to obtain K processing priority sequences; A container scheduling structure generation module, wherein the container scheduling structure generation module is used to construct a time window sequence of the K task containers by using a time window-based cyclic scheduling algorithm after setting a main time frame for the K task containers, so as to form a container scheduling structure of a container cyclic sequence; A window allocation execution module, the window allocation execution module is used to allocate task execution windows based on the K processing priority sequences as constraints to obtain K cyclic scheduling subsequences; A task cross-container dependency processing module is used to perform time window sequence management of first-level scheduling based on the container cycle sequence and perform task cross-container dependency processing of second-level scheduling based on the K cycle scheduling subsequences during the process of executing the target task through the container cycle sequence.
2. A two-level scheduling model based on a heterogeneous multi-core processor as claimed in claim 1, characterized in that: The container allocation analysis module comprises: A task requirement feature acquisition unit, the task requirement feature acquisition unit is used to perform resource requirement analysis on the multiple associated subtasks to obtain multiple task requirement features; An associated subtask division unit, the associated subtask division unit is used to divide the multiple associated subtasks into K groups of associated subtasks according to the multiple task requirement characteristics; A container allocation constraint unit is used to allocate the K groups of associated subtasks to K task containers by using the multiple dependency identifiers as container allocation constraints.
3. A two-level scheduling model based on heterogeneous multi-core processors as claimed in claim 2, characterized in that: The container scheduling structure generation module includes: A task execution time extraction unit, the task execution time extraction unit is used to extract and obtain multiple task execution times from the multiple task requirement features; A data grouping and summing unit, the data grouping and summing unit is used to perform data grouping and summing of the execution times of the multiple tasks according to the K groups of associated subtasks to obtain the required times of the K tasks; A main time frame generating unit, the main time frame generating unit is used to globally add up the execution time of the plurality of tasks as the main time frame; A container cycle sequence acquisition unit is used to allocate the main time frame according to the K task requirement times to construct a time window sequence of the K task containers to obtain the container cycle sequence.
4. A two-level scheduling model based on heterogeneous multi-core processors as claimed in claim 3, characterized in that: The window allocation execution module includes: A task execution time division unit, configured to divide the plurality of task execution times into K groups of task execution times according to the K groups of associated subtasks; A task window sequence acquisition unit, the task window sequence acquisition unit is used to obtain K task window sequences by splicing the order of the K groups of task execution times based on the K processing priority sequences as constraints; An associative storage unit is used to associate and store the K task window sequences with the K processing priority sequences to generate the K cyclic scheduling subsequences.
5. A two-level scheduling model based on heterogeneous multi-core processors as claimed in claim 2, characterized in that: The task requirement feature acquisition unit includes: A related basic information acquisition subunit, the related basic information acquisition subunit is used to collect information on the multiple related subtasks to obtain multiple related basic information; A historical data calling subunit, the historical data calling subunit is used to call historical data based on the task types of the multiple associated subtasks as constraints to obtain multiple groups of sample task feature indicators; A task feature array acquisition subunit, the task feature array acquisition subunit is used to extract task features of the multiple associated subtasks based on the multiple groups of sample task feature indicators as constraints, and obtain multiple task feature arrays; The intra-group aggregation subunit is used to perform intra-group aggregation on the multiple task feature arrays to obtain the multiple task requirement features.
6. A two-level scheduling model based on heterogeneous multi-core processors as claimed in claim 5, characterized in that: The associated subtask division unit comprises: A binary grouping subunit, the binary grouping subunit is used to perform binary grouping on the multiple task requirement features to obtain H groups of task requirement features; A Euclidean distance calculation subunit, wherein the Euclidean distance calculation subunit is used to perform Euclidean distance calculation on the H groups of task requirement features to obtain H task similarity coefficients; A topological connection subunit, wherein the topological connection subunit is used to take the multiple associated subtasks as multiple task nodes, perform topological connection based on the H task similarity coefficients as constraints, and obtain a task association topology; A topology first-level splitting subunit, wherein the topology first-level splitting subunit is used to predefine a task similarity scale and use the task similarity scale to perform a first-level splitting of the task association topology to obtain a plurality of first-level association sub-topologies; A secondary associated sub-topology acquisition sub-unit, the secondary associated sub-topology acquisition sub-unit is used to use the multiple dependency identifiers to perform secondary splitting of the multiple primary associated sub-topologies to obtain K secondary associated sub-topologies; A sub-topology extraction sub-unit is used to extract and obtain the K groups of associated sub-tasks based on the K secondary associated sub-topologies.
7. A two-level scheduling model based on heterogeneous multi-core processors as claimed in claim 1, characterized in that: The associated subtask acquisition module includes: A target requirement feature acquisition unit, wherein the target requirement feature acquisition unit is used to perform task requirement analysis on the target task to obtain target requirement features; A feature matching unit, wherein the feature matching unit is used to perform feature matching using target demand features to obtain N similar historical tasks and N historical subtask topologies; An associated task topology acquisition unit, the associated task topology acquisition unit is used to merge the N historical subtask topologies based on topology node consistency to obtain an associated task topology; A node dependency acquisition unit, the node dependency acquisition unit is used to disassemble the associated task topology with out-degree connections as constraints to obtain multiple node dependencies of multiple topological nodes; A topological node task extraction unit, the topological node task extraction unit is used to extract tasks from the multiple topological nodes to obtain the multiple associated subtasks; An identification processing unit is used to perform identification processing on the multiple associated subtasks by using the multiple node dependencies as the multiple dependency identifiers.
8. A two-level scheduling method based on heterogeneous multi-core processors, characterized in that: The method is applied to a two-level scheduling model based on a heterogeneous multi-core processor according to any one of claims 1 to 7, and the method comprises: After receiving the target task, a plurality of associated subtasks are obtained by performing dependency analysis on the target task, wherein the plurality of associated subtasks have a plurality of dependency identifiers; Performing a first-level scheduling container allocation analysis on the multiple associated subtasks to obtain K groups of associated subtasks corresponding to the K task containers; Performing static priority configuration of second-level scheduling on the K groups of associated subtasks according to the multiple dependency identifiers to obtain K processing priority sequences; After setting the main time frame for the K task containers, a time window sequence of the K task containers is constructed using a time window-based cyclic scheduling algorithm to form a container scheduling structure of a container cyclic sequence; Allocating task execution windows based on the K processing priority sequences as constraints to obtain K cyclic scheduling subsequences; In the process of executing the target task through the container cyclic sequence, the time window sequence management of the first level scheduling is performed based on the container cyclic sequence, and the task cross-container dependency processing of the second level scheduling is performed based on the K cyclic scheduling subsequences.
Citation Information
Patent Citations
Two-stage self-adaptive scheduling method suitable for large-scale parallel data processing tasks
CN108920261A
Task scheduling method for priority-based real-time operating system in multicore environment
US20150106819A1
Distributed system workload management via node autonomy
US20230072962A1
Task scheduling method and cloud platform
WO2024140955A1
Cited By
Logistics work order management method and system based on big data adaptation analysis, and medium
CN120494654A
Information system security protection method and system based on dynamic feedback
CN120934885A
Method and system for securing information systems based on dynamic feedback
CN120934885B
Image enhancement optimization method and system under heterogeneous platform
CN122434791A
An image enhancement optimization method and system under a heterogeneous platform
CN122434791B