A spaceborne deterministic partition scheduling method supporting a multi-core processor

By dividing tasks into multiple partitions through a partitioned scheduling method and managing them through a partition configuration table, the deterministic and real-time issues in the onboard computer system are resolved, achieving deterministic and real-time task execution and improving the system's reliability and scalability.

CN115437759BActive Publication Date: 2026-04-14BEIJING INST OF SPACECRAFT SYST ENG
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-18
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing multi-core scheduling technology cannot effectively solve the deterministic and real-time problems in onboard computer systems, resulting in uncertain task execution order and timing, resource contention leading to software errors, and the inability to dynamically manage partitions, affecting the reliability and scalability of onboard missions.

Method used

The partition scheduling method is adopted to divide tasks into multiple partitions and manage them through a partition configuration table. The processor cores are bound to ensure the determinism of task execution order and time. It supports dynamic detection and removal of abnormal partitions, realizing dynamic management and scalability of partitions.

Benefits of technology

It achieves deterministic and real-time task execution, improves the scheduling efficiency of multi-core processors, reduces the idle rate of processor cores, enhances the reliability and scalability of the system, and supports dynamic loading and unloading of applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115437759B_ABST
    Figure CN115437759B_ABST
Patent Text Reader

Abstract

The application discloses a kind of support multi-core processor's spaceborne deterministic partition scheduling method, through partition division, two-level scheduling, multiple complex disordered tasks of spaceborne computer are arranged into determined execution sequence, according to time window planning partition, the execution time of each partition is determined, support user according to priority configuration task's processor core, for high time sequence and real-time requirement task, can be bound to specified processor core and run, for time sequence and real-time requirement not high task, can be allocated idle processor core by system and run, on the one hand, can ensure the time sequence determinacy and determinacy of execution time of task, solve the problem of uncertain scheduling sequence caused by multi-core competition execution multitask, on the other hand, can reduce the idle rate of processor core, improve the scheduling efficiency of multi-core. While having partition exception state detection and dynamic management function, improve the reliability and expansibility of system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a spaceborne deterministic partitioning scheduling method that supports multi-core processors, and belongs to the field of aerospace computer technology. Background Technology

[0002] The increasingly complex requirements of onboard missions have driven the development of onboard computers from single-core processors to multi-core processors. Multi-core processors have brought challenges to the determinism and real-time performance of multi-tasking onboard computer systems. Therefore, it is necessary to optimize onboard computer task allocation and multi-core task scheduling to ensure the determinism and real-time performance of the entire system.

[0003] Existing multi-core scheduling methods for ground-based computers and single-core scheduling methods for spaceborne computers have the following main problems and cannot be directly applied to multi-core processor scheduling in spaceborne computers:

[0004] (1) Deterministic problems. Existing multi-core scheduling technology can achieve better performance, but it also brings uncertainty to the scheduling and running status of onboard software. Multiple concurrent tasks run on multiple processor cores, compete for shared resources, and the access status of global data and the execution time of read and write operations are uncertain. This causes uncertainty in the execution order and execution time of onboard events, and also makes it easy for software to run incorrectly.

[0005] (2) Real-time issues. The onboard computer system is a typical real-time system, such as time calibration, satellite-rocket separation signals, and contact point signals. If the mission execution sequence is uncertain due to multi-core scheduling, and specific events cannot be completed within a certain time, the execution of the entire satellite mission will be greatly affected.

[0006] (3) The onboard tasks were not reasonably divided and allocated for multi-core processors. On the one hand, the uneven proportion of task runtime resulted in some processor cores being idle most of the time, and the performance of multi-core processors could not be fully utilized. On the other hand, the task allocation was too fragmented, the information interaction between tasks was complex, and the execution sequence of each task was different from the previous one, resulting in an uncertain execution sequence of onboard events and making it difficult to reproduce the execution sequence and time of onboard tasks.

[0007] (4) The onboard computer system is required to operate safely and reliably. Existing scheduling methods cannot detect abnormal states of partition operation. When an abnormality occurs, the abnormal partition cannot be removed, which can easily spread and affect the normal operation of other software functions.

[0008] (5) It does not support dynamic partition management, making it difficult to dynamically load new applications into the system and to dynamically uninstall applications from the system, resulting in insufficient scalability of onboard applications. Summary of the Invention

[0009] In view of this, the present invention provides a spaceborne deterministic partition scheduling method that supports multi-core processors, which solves the problem of uncertain execution order and execution time caused by disordered competition of multiple tasks on multiple cores, and also supports the functions of partition running status detection, removal of faulty partitions, and dynamic partition management.

[0010] A deterministic partitioning scheduling method for onboard systems supporting multi-core processors.

[0011] Step 1: Divide the task into sections based on its characteristics;

[0012] Step 2: Define a partition configuration table to view the partition ID, time window, task, and consecutive anomaly count for each partition.

[0013] Step 3: Bind tasks with timing and real-time requirements in the partition configuration table to the specified processor cores;

[0014] Step 4: After the satellite launch is complete, construct a linked list of partitions from the first to the last partition in the partition configuration table, arranged in reverse order. Then, perform the following operations:

[0015] The partition is allocated according to the time window in the partition configuration table, and then the tasks in the partition are executed. If the task is already bound to a specified processor core, it will be executed by the bound processor core. For tasks not bound to a processor core, the processor core will be automatically allocated according to the principle of prioritizing the allocation of processor cores with fewer tasks in the task chain, and the task will be executed. At the same time, the partition running status is monitored in real time. If the partition running status is abnormal, the consecutive abnormal count of the current partition is incremented by 1. Once the threshold is exceeded, the partition is deleted from the partition chain and the faulty partition is removed.

[0016] After the time window for the current partition is completed, the operation is performed on the next partition in the partition list according to the method described.

[0017] Preferably, when a new partition needs to be added, after the last partition in the current partition list has been processed, the new partition is inserted at the end of the partition list and the beginning and end are connected. Then, the operation is performed according to the method in step four.

[0018] Preferably, when a partition needs to be deleted, the partition ID corresponding to the partition to be deleted is found. If the partition is not running, it is deleted from the partition list. If the partition is running, it is deleted from the partition list after it finishes running, and the previous and next partitions of the partition are linked together. If the partition is not found, no operation is performed.

[0019] Preferably, the partition configuration table includes the following attributes: partition ID, number of time windows, number of remaining time windows, number of tasks, task list, currently executing tasks, partition running status, partition consecutive anomaly count, and next partition.

[0020] Preferably, the partition operation status includes partition operation normally, partition operation timeout, and partition abnormal exit;

[0021] When the partition is running normally and the task is executed normally, the partition's continuous error count is set to 0; when the partition times out, a timeout message is displayed, and the time window is reallocated; when the partition exits abnormally, the partition's continuous error count is incremented by 1.

[0022] Preferably, each processor core executes tasks in the order they appear in its task list.

[0023] Beneficial effects

[0024] 1. This invention designs a deterministic partitioned scheduling method for spaceborne computers that supports multi-core processors. Through partitioning and two-level scheduling, multiple complex and disordered tasks of the spaceborne computer are organized into a deterministic execution sequence. Partitions are planned according to time windows, and the execution time of each partition is deterministic. Users can configure the processor cores of tasks according to priority. For tasks with high timing and real-time requirements, they can be bound to designated processor cores for execution. For tasks with low timing and real-time requirements, the system can allocate idle processor cores for execution. On the one hand, this can ensure the determinism of task timing and execution time, solving the problem of uncertain scheduling sequence caused by multi-core competition for multiple tasks. On the other hand, it can reduce the idle rate of processor cores and improve the scheduling efficiency of multi-core computers.

[0025] 2. This invention optimizes the partition management function, supports the dynamic addition of partitions, and enables flexible loading of new applications, greatly improving the scalability and flexibility of onboard applications.

[0026] 3. This invention optimizes the partition management function, supports dynamic deletion of partitions, and enables dynamic uninstallation of applications, which greatly improves the scalability and flexibility of onboard applications.

[0027] 4. By configuring the partition configuration table, partitions can be quickly located by partition ID; by setting time windows, task quantity, task list, etc., the current task status can be understood and analyzed, providing support for subsequent addition and deletion of partitions. By configuring the partition running status, abnormal states can be quickly identified and handled, solving the problem that existing technologies cannot remove abnormal partitions.

[0028] 5. This invention optimizes the anomaly detection function, dynamically detects the operating status of partitions, and when a partition becomes abnormal and the number of anomalies reaches a threshold, the partition with the anomaly is cut off to prevent the fault from spreading and improve the reliability of the system.

[0029] 6. Each processor core executes tasks in the order they appear in the task list, ensuring fairness and preventing prolonged periods without response. Attached Figure Description

[0030] Figure 1 This is a flowchart of the method of the present invention.

[0031] Figure 2 A diagram illustrating the configuration of processor cores for each partition task.

[0032] Figure 3 A diagram illustrating the configuration of time windows for each partition.

[0033] Figure 4 This represents the partition chain after deleting partitions in abnormal states. Detailed Implementation

[0034] The implementation of the method of the present invention will be described below with reference to the accompanying drawings and embodiments.

[0035] This invention provides a deterministic partitioning scheduling method for spaceborne computers supporting multi-core processors. By rationally dividing and grouping the tasks of the spaceborne computer into multiple partitions, tasks within each partition can be bound to processor cores or executed by the system using idle processor cores, based on timing and real-time requirements. Processor resources are divided according to time windows, resolving the problem of uncertain execution order and time caused by disordered competition among multiple tasks on multiple cores. It also supports partition running status detection, faulty partition removal, and dynamic partition management. Figure 1 As shown, the specific method is as follows:

[0036] Step 1: Design the tasks in the onboard computer and divide it into partitions. Group related or frequently interacting tasks together to form a partition; multiple partitions can be created.

[0037] Based on the characteristics of onboard computer missions, in this specific implementation example, the following partitions are defined, and the tasks within each partition are set up:

[0038] Partition 1, Remote Control and Command Function Partition: Remote control command receiving and processing task, command distribution task, delayed command task;

[0039] Partition 2, Telemetry Functional Partition: Telemetry Acquisition Tasks, Telemetry Organization and Management Tasks;

[0040] Partition 3, Bus and Housekeeping Functions: Bus Management Tasks, Housekeeping Management Tasks, Flight Status Management Tasks, On-orbit Maintenance Tasks, Self-Testing Tasks;

[0041] Zone 4, Health Function Zone: Health Management Tasks, Thermal Control Management Tasks, Energy Management Tasks;

[0042] Partition 5, Task Management Function Partition: Task Planning and Management.

[0043] Step 2: Define the partition configuration table, set the execution time and order for each partition, and organize the partitions and their tasks into a defined execution sequence. Each partition is assigned a certain number of time windows, and each time window serves as the smallest unit of time for partition execution. The partition configuration table includes attributes such as partition ID, number of time windows, number of remaining time windows, number of tasks, task list, currently executing tasks, partition running status, partition consecutive exception count, and next partition.

[0044] In a specific implementation example, a time window is set to 5ms, and the partition configuration table containing the above 5 partitions is as follows:

[0045]

[0046] The partition running status characterizes the partition's operational status, with values ​​including partition running normally (0x00), partition running timeout (0x11), and partition exiting abnormally (0x22). Normally, partition running normally means tasks execute correctly. A partition running timeout indicates that there are too many tasks within the partition, exceeding the allocated time; the tasks within the partition need to be redesigned, or the number of time windows for the partition needs to be increased. A partition exiting abnormally indicates an error in the execution of tasks within the partition, classifying it as a partition abnormality. When the partition running status value is "partition running normally," the partition consecutive abnormality count is set to 0; otherwise, the partition consecutive abnormality count is incremented by 1.

[0047] Step 3: Configure the processor core for each task within the partition. For tasks with high timing and real-time requirements, bind them to a designated processor core. For tasks with lower timing and real-time requirements, they can be configured to run on randomly assigned processor cores. In the specific implementation example, the processor cores configured for the tasks in the 5 partitions are as follows: Figure 2 As shown.

[0048] Step four: Construct the partition configuration table into a linked list of partitions, with each part connected to the previous one, in reverse order. Execute the scheduler, traverse the linked list, and perform the following steps in sequence:

[0049] S41. For the first partition in the partition list, execute the first-level scheduler, allocate time windows to the partition according to the number of time windows set in step two, and then trigger the second-level task scheduler to execute S42.

[0050] In specific implementation examples, such as Figure 3 As shown, the first-level scheduler sequentially traverses partition 1, partition 2, partition 3, partition 4, and partition 5, and allocates a configured time window for each partition.

[0051] S42. The onboard computer executes the secondary task scheduler. For tasks bound to processor cores, they are executed in descending order of priority according to the processor (4 cores in total): Core 0, Core 1, Core 2, and Core 3. If a processor core does not have any tasks currently being executed, the task is executed; otherwise, the task is inserted at the end of the processor core's task list and executed according to the order of tasks in that processor core's task list. For tasks not bound to processor cores, the secondary task scheduler assigns a processor core to it, prioritizing processor cores with fewer tasks in their task lists, inserting them at the end of the processor core's task list, and executing them according to the order of tasks in that processor core's task list.

[0052] In a specific implementation example, task1-1 in partition 1 is executed first by core 0, task1-2 is executed by core 1, and the secondary scheduler assigns task1-3 to core 2 for execution.

[0053] S43. Real-time monitoring of partition operation status. When a partition is running normally, the partition operation status is set to "Partition Running Normal" and the partition continuous error count is 0. When a task within a partition times out, the partition operation status is set to "Partition Timeout". When a task within a partition encounters an error, the partition operation status is set to "Partition Abnormal Exit", and the partition continuous error count is incremented by 1. Each partition corresponds to a partition continuous error count. When the partition continuous error count exceeds a set threshold, the partition is removed from the partition list, and the erroneous partition is terminated.

[0054] In a specific implementation example, the first-level scheduler detects an anomaly in the thermal management task 4-2 of partition 4 (thermal management command not issued), sets the partition running status of partition 4 to "partition abnormal exit", increments the partition's continuous anomaly count by 1, and when anomalies are continuously detected and the partition's continuous anomaly count exceeds the set threshold (10), the partition is deleted from the partition list. The partition list after deletion is as follows: Figure 4 As shown.

[0055] S44. After the current partition's time window is completed, proceed to S41. The first-level scheduler is awakened again, obtains the next partition of the partition list. If all partitions in the partition list have been executed, the next partition of the partition list is the first partition of the partition list, and the process is repeated.

[0056] When you need to add a partition:

[0057] The primary scheduler dynamically adds partitions. When a new application is added on the ground, the primary scheduler allocates a new partition for it. After the last partition in the current partition list has finished executing, the new partition is inserted at the end of the partition list, and the head and tail are connected. At this point, the next partition after the new partition becomes the first partition in the current partition list. On the next traversal, the partition list is traversed from the first partition, and the process is repeated in a loop.

[0058] When you need to delete a partition:

[0059] The primary scheduler dynamically deletes partitions. When a ground-based command is sent to delete a partition (based on its partition ID), the primary scheduler locates the partition corresponding to that ID in the partition list. If the partition is not currently running, it is removed from the list. If the partition is running, it is removed from the list after completion, and its preceding and following partitions are linked. If the partition is not found, no operation is performed.

[0060] In summary, the above are merely preferred embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A spaceborne deterministic partitioning scheduling method supporting multi-core processors, characterized in that: Step 1: Divide the task into sections based on its characteristics; Step 2: Define a partition configuration table to view the partition ID, time window, task, and consecutive anomaly count for each partition. Step 3: Bind tasks with timing and real-time requirements in the partition configuration table to the specified processor cores; Step 4: After the satellite launch is complete, construct a linked list of partitions from the first to the last partition in the partition configuration table, arranged in reverse order. Then, perform the following operations: The partition is allocated according to the time window in the partition configuration table, and then the tasks in the partition are executed. If the task is already bound to a specified processor core, it will be executed by the bound processor core. For tasks not bound to a processor core, the processor core will be automatically allocated according to the principle of prioritizing the allocation of processor cores with fewer tasks in the task chain, and the task will be executed. At the same time, the partition running status is monitored in real time. If the partition running status is abnormal, the consecutive abnormal count of the current partition is incremented by 1. Once the threshold is exceeded, the partition is deleted from the partition chain and the faulty partition is removed. After the time window for the current partition is completed, the operation is performed on the next partition in the partition list according to the method described above; The partition configuration table includes the following attributes: partition ID, number of time windows, number of remaining time windows, number of tasks, task list, currently executing tasks, partition running status, partition consecutive exception count, and next partition.

2. The partition scheduling method as described in claim 1, characterized in that: When a new partition needs to be added, after the last partition in the current partition list has been processed, the new partition is inserted at the end of the partition list and the beginning and end are connected. Then, the operation is performed according to the method in step four.

3. The partition scheduling method as described in claim 1, characterized in that: When a partition needs to be deleted, the system searches for the partition ID corresponding to the partition to be deleted. If the partition is not running, it is deleted from the partition list. If the partition is running, it is deleted from the partition list after it finishes running, and the previous and next partitions of the partition are linked together. If the partition is not found, no operation is performed.

4. The partition scheduling method as described in claim 1, characterized in that: The partition operation status includes partition operation is normal, partition operation timeout, and partition abnormal exit; When the partition is running normally and the task is executing normally, set the partition's consecutive abnormal count to 0. When a partition runs out of time, a timeout message is displayed, and the time window is reallocated. When a partition exits abnormally, increment the partition's consecutive abnormality count by 1.

5. The partition scheduling method as described in claim 1, characterized in that: Each processor core executes tasks in the order they appear in its task list.

Citation Information

Patent Citations

  • Real-time task scheduling implementation method of multi-core embedded system

    CN103885826A

  • Parallel scheduling method for satellite-borne multi-core SoC (System on a Chip) task-level load balance

    CN107463442A