CN112363816A - Deterministic scheduling method, system and medium for embedded multi-core operating system - Google Patents

Deterministic scheduling method, system and medium for embedded multi-core operating system Download PDF

Info

Publication number
CN112363816A
CN112363816A CN202011347260.8A CN202011347260A CN112363816A CN 112363816 A CN112363816 A CN 112363816A CN 202011347260 A CN202011347260 A CN 202011347260A CN 112363816 A CN112363816 A CN 112363816A
Authority
CN
China
Prior art keywords
scheduling
current
event
processor core
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011347260.8A
Other languages
Chinese (zh)
Other versions
CN112363816B (en
Inventor
包晟临
韦开仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 32 Research Institute
Original Assignee
CETC 32 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 32 Research Institute filed Critical CETC 32 Research Institute
Priority to CN202011347260.8A priority Critical patent/CN112363816B/en
Publication of CN112363816A publication Critical patent/CN112363816A/en
Application granted granted Critical
Publication of CN112363816B publication Critical patent/CN112363816B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The invention provides a deterministic scheduling method, a system and a medium for an embedded multi-core operating system, comprising the following steps: step M1: releasing all the processor cores and synchronizing the processor cores by using a global clock; step M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeatedly executing the step M2 until the preset requirement is met, and ending the operation. The invention isolates the interference between the cores through the space partition during the multi-core scheduling.

Description

Deterministic scheduling method, system and medium for embedded multi-core operating system
Technical Field
The invention relates to the technical field of multi-core processors, in particular to a deterministic scheduling method and a system of an embedded multi-core operating system, and more particularly to a safe, predictable and deterministic task scheduling scheme supporting SMP, AMP and BMP scheduling modes based on a partition architecture.
Background
The multi-core processor improves the processing performance of the equipment, brings a series of uncertain problems, directly influences the real-time performance and the reliability of the equipment, and compared with a single-core system, the multi-core parallel system has the advantages that the resources of a bus, a memory and other cores are synchronous, tasks are highly concurrent on different cores, and the multi-core parallel system has higher challenges in the technology of guaranteeing the certainty.
The operating system realizes the time-space domain isolation among the applications through the concept of partition, and achieves the purposes of fault tolerance and simplified verification; the method provides basic support of safety and reliability for the system, prevents an access control mechanism in an operating system from being tampered and bypassed, enables each safety key task to run independently, and effectively ensures independent safety of each application and each part of data through interaction of a controlled message mechanism.
From the software perspective, the multi-core processor has three operating modes, including: (1) asymmetric Multiprocessing (AMP), where each core runs one completely independent application; (2) symmetric Multiprocessing (SMP), where an application may continue to use multiple cores simultaneously; (3) bundled Multiprocessing (BMP), like SMP, differs in that a developer may specify that a task is to be performed only on a specified core.
During multi-core scheduling initialization, a typical implementation is to associate a processor group formed by one or more processor cores with one or more applications based on a nucleophilic scheduling manner, the processor cores in such applications are not shared among the processor groups, and the new applications cannot use the processor core resources outside the current processor group. Other implementations may not associate a kernel with an application, such as defining a scheduling domain where there is no association of a processor core, and in such implementations, reservation of processor core resources (including resources reserved for future use, resources needed for application errors) is not mandatory.
Patent document CN111090506A (application number: 201911132567.3) discloses a heterogeneous multi-core scheduling method based on soft error correlation, the method at least comprising: predicting a local AVF value and running time of an application program according to a local sampling rule, and quickly obtaining the reliability characteristics of each program expressed on different core structures, wherein the program arrives at the same time and comprises a plurality of subtasks, and the number of the programs is more than or equal to the number of cores of a system; according to a relevance perception scheduling rule, calculating and comparing local relevance of programs simultaneously running on different core structures, and thus obtaining a combination with high relevance, wherein the higher the relevance among the programs is, the lower the global AVF value is; and evaluating the global reliability of the combination running on the heterogeneous multi-core processor based on the program combination obtained by the correlation perception scheduling according to a predefined global reliability evaluation index cAVF, so as to quickly obtain a soft error optimization method with high reliability and less performance loss.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a deterministic scheduling method, a system and a medium for an embedded multi-core operating system.
The deterministic scheduling method of the embedded multi-core operating system provided by the invention comprises the following steps:
step M1: releasing all the processor cores and synchronizing the processor cores by using a global clock;
step M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeatedly executing the step M2 until the preset requirement is met, and ending the operation.
Preferably, the step M2 includes:
step M2.1: triggering preset partition scheduling, scheduling a scheduling event in the partition scheduling according to a preset scheduling table, judging whether a current processor core is used in the current partition scheduling event, and waiting for the partition scheduling event starting at the next time synchronization point after the current partition scheduling event is ended when the current processor core is not used; when used, determining whether the processor core scheduling event is associated with one or more affinity groups;
step M2.2: when the processor core scheduling event is associated with one or more affinity groups, the task performs priority scheduling in a scheduling domain specified by the affinity groups; when the processor core scheduling event is not associated with one or more affinity groups, the current processor core is associated to a scheduling domain which can be used by all the processor cores and is not used by the affinity groups;
step M2.3: when the processor core schedules the event to be associated with one or more affinity groups, after the preset time is operated, the association with the current affinity group is removed, and the steps from M2.1 to M2.3 are repeatedly executed; and when the processor core scheduling event is not associated with one or more affinity groups, after running for a preset time, repeatedly executing the steps M2.1 to M2.3.
Preferably, said step M2.2 comprises: when the processor core scheduling event is associated with one or more affinity groups, the current processor core is associated with one or more affinity groups, and the processor cores in the affinity groups associated with the current processor core are synchronized; and the task carries out task priority scheduling in the scheduling domain allocated by the current affinity group by using the related processor cores in the current affinity group, and continuously schedules until the current affinity group is scheduled completely.
Preferably, the schedule includes SMP, AMP, and SMP hybrid AMP scheduling configurations.
The invention provides an embedded multi-core operating system deterministic scheduling system, which comprises:
module M1: releasing all the processor cores and synchronizing the processor cores by using a global clock;
module M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeating the execution of the triggering module M2 until the preset requirement is met, and ending the operation.
Preferably, said module M2 comprises:
module M2.1: triggering preset partition scheduling, scheduling a scheduling event in the partition scheduling according to a preset scheduling table, judging whether a current processor core is used in the current partition scheduling event, and waiting for the partition scheduling event starting at the next time synchronization point after the current partition scheduling event is ended when the current processor core is not used; when used, determining whether the processor core scheduling event is associated with one or more affinity groups;
module M2.2: when the processor core scheduling event is associated with one or more affinity groups, the task performs priority scheduling in a scheduling domain specified by the affinity groups; when the processor core scheduling event is not associated with one or more affinity groups, the current processor core is associated to a scheduling domain which can be used by all the processor cores and is not used by the affinity groups;
module M2.3: when the processor core schedules events to be associated with one or more affinity groups, after running for a preset time, the association with the current affinity group is removed, and the modules M2.1 to M2.3 are repeatedly triggered to execute; when the processor core scheduling event is not associated with one or more affinity groups, the execution of the modules M2.1 to M2.3 is repeatedly triggered after running for a preset time.
Preferably, said module M2.2 comprises: when the processor core scheduling event is associated with one or more affinity groups, the current processor core is associated with one or more affinity groups, and the processor cores in the affinity groups associated with the current processor core are synchronized; and the task carries out task priority scheduling in the scheduling domain allocated by the current affinity group by using the related processor cores in the current affinity group, and continuously schedules until the current affinity group is scheduled completely.
Preferably, the schedule includes SMP, AMP, and SMP hybrid AMP scheduling configurations.
According to the present invention, a computer-readable storage medium is provided, in which a computer program is stored, which, when being executed by a processor, carries out the steps of the method as described above.
Compared with the prior art, the invention has the following beneficial effects:
1. the method isolates the interference among the cores through the space partition during the multi-core scheduling;
2. the invention enhances the certainty and the predictability of the system through the synchronization of the time partition and the time partition;
3. the invention uses the mode of combining the affinity group and the scheduling domain, simultaneously supports the scheduling modes of SMP, AMP and BMP, and flexibly uses various scheduling modes to fully utilize the resources of the processor core.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
FIG. 1 is a flow chart of a deterministic scheduling method of an embedded multi-core operating system;
FIG. 2 is a sample affinity group configuration;
FIG. 3 is a data structure and configuration of a schedule control affinity group;
FIG. 4 is an overall schedule preview diagram;
FIG. 5 is a diagram of task allocation scheduling;
FIG. 6 is a diagram of the main data structure and its dependencies.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the invention, but are not intended to limit the invention in any way. It should be noted that it would be obvious to those skilled in the art that various changes and modifications can be made without departing from the spirit of the invention. All falling within the scope of the present invention.
Example 1
The deterministic scheduling method of the embedded multi-core operating system provided by the invention comprises the following steps:
step M1: releasing all the processor cores and synchronizing the processor cores by using a global clock;
step M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeatedly executing the step M2 until the preset requirement is met, and ending the operation.
Specifically, the step M2 includes:
step M2.1: triggering preset partition scheduling, scheduling a scheduling event in the partition scheduling according to a preset scheduling table, judging whether a current processor core is used in the current partition scheduling event, and waiting for the partition scheduling event starting at the next time synchronization point after the current partition scheduling event is ended when the current processor core is not used; when used, determining whether the processor core scheduling event is associated with one or more affinity groups;
step M2.2: when the processor core scheduling event is associated with one or more affinity groups, the task performs priority scheduling in a scheduling domain specified by the affinity groups; when the processor core scheduling event is not associated with one or more affinity groups, the current processor core is associated to a scheduling domain which can be used by all the processor cores and is not used by the affinity groups;
step M2.3: when the processor core schedules the event to be associated with one or more affinity groups, after the preset time is operated, the association with the current affinity group is removed, and the steps from M2.1 to M2.3 are repeatedly executed; and when the processor core scheduling event is not associated with one or more affinity groups, after running for a preset time, repeatedly executing the steps M2.1 to M2.3.
In particular, said step M2.2 comprises: when the processor core scheduling event is associated with one or more affinity groups, the current processor core is associated with one or more affinity groups, and the processor cores in the affinity groups associated with the current processor core are synchronized; and the task carries out task priority scheduling in the scheduling domain allocated by the current affinity group by using the related processor cores in the current affinity group, and continuously schedules until the current affinity group is scheduled completely.
Specifically, the schedule includes SMP, AMP, and SMP hybrid AMP scheduling configurations.
The deterministic scheduling system of an embedded multi-core operating system provided by the present invention, as shown in fig. 1 to 6, includes:
module M1: releasing all the processor cores and synchronizing the processor cores by using a global clock;
module M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeating the execution of the triggering module M2 until the preset requirement is met, and ending the operation.
Specifically, the module M2 includes:
module M2.1: triggering preset partition scheduling, scheduling a scheduling event in the partition scheduling according to a preset scheduling table, judging whether a current processor core is used in the current partition scheduling event, and waiting for the partition scheduling event starting at the next time synchronization point after the current partition scheduling event is ended when the current processor core is not used; when used, determining whether the processor core scheduling event is associated with one or more affinity groups;
module M2.2: when the processor core scheduling event is associated with one or more affinity groups, the task performs priority scheduling in a scheduling domain specified by the affinity groups; when the processor core scheduling event is not associated with one or more affinity groups, the current processor core is associated to a scheduling domain which can be used by all the processor cores and is not used by the affinity groups;
module M2.3: when the processor core schedules events to be associated with one or more affinity groups, after running for a preset time, the association with the current affinity group is removed, and the modules M2.1 to M2.3 are repeatedly triggered to execute; when the processor core scheduling event is not associated with one or more affinity groups, the execution of the modules M2.1 to M2.3 is repeatedly triggered after running for a preset time.
In particular, said module M2.2 comprises: when the processor core scheduling event is associated with one or more affinity groups, the current processor core is associated with one or more affinity groups, and the processor cores in the affinity groups associated with the current processor core are synchronized; and the task carries out task priority scheduling in the scheduling domain allocated by the current affinity group by using the related processor cores in the current affinity group, and continuously schedules until the current affinity group is scheduled completely.
Specifically, the schedule includes SMP, AMP, and SMP hybrid AMP scheduling configurations.
According to the present invention, a computer-readable storage medium is provided, in which a computer program is stored, which, when being executed by a processor, carries out the steps of the method as described above.
Example 2
Example 2 is a modification of example 1
The invention belongs to multi-core processors, and particularly relates to a safe, predictable and determined task scheduling scheme supporting SMP (symmetric multi-processor), AMP (AMP) and BMP (BMP) scheduling modes based on a partition architecture. The method comprises the following steps:
step 1: initializing, predefining each data structure to be used and its dependency relationship, as shown in fig. 6, releasing all processor cores, and synchronizing each processor core by using a global clock.
Step 2: the processor core waits for the next time synchronization point partition scheduling event to complete.
And step 3: if the core is used in the current partition scheduling event, step 4 is entered, otherwise step 2 is returned.
And 4, step 4: step 5 is entered if the processor core is associated with one or more affinity groups in the next scheduled event, otherwise step 2 is returned.
And 5: a processor core is associated to an affinity group of a core, synchronizing the core with other cores in the core's associated affinity group.
Step 6: and the task utilizes the related cores in the current affinity group to carry out task priority scheduling in the scheduling domain allocated by the current affinity group, and the scheduling is continuously carried out until the scheduling of the current affinity group is completed.
And 7: the core is synchronized with other cores in the same affinity group before the next scheduled event for the core is processed.
And 8: and releasing the association with the last affinity group and returning to the step 2.
And (4) obtaining a global partition scheduling preview graph as shown in FIG. 4 by integrating the scheduling.
Three ways of scheduling tasks among cores are shown in fig. 5.
Wherein, the step 2 comprises the following steps:
step 2.1: according to the system scheduling configuration table (such as scheduling configuration of SMP, AMP, SMP mixed AMP, etc.), such as the affinity group configuration of fig. 2, the scheduling configuration control of fig. 3 determines whether the current processor core is used in the scheduling event, and if not, it is ended to wait for the next time synchronization point partition scheduling event to occur.
Step 2.2: is there a predefined affinity group for a processor core to schedule? If so, a predefined next affinity group is selected.
Step 2.3: if the core does not have a predefined affinity group for scheduling, then it is associated with the core that all cores are available and that the scheduling domain of the core is not currently used by another affinity group.
Those skilled in the art will appreciate that, in addition to implementing the systems, apparatus, and various modules thereof provided by the present invention in purely computer readable program code, the same procedures can be implemented entirely by logically programming method steps such that the systems, apparatus, and various modules thereof are provided in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Therefore, the system, the device and the modules thereof provided by the present invention can be considered as a hardware component, and the modules included in the system, the device and the modules thereof for implementing various programs can also be considered as structures in the hardware component; modules for performing various functions may also be considered to be both software programs for performing the methods and structures within hardware components.
The foregoing description of specific embodiments of the present invention has been presented. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.

Claims (9)

1. A deterministic scheduling method of an embedded multi-core operating system is characterized by comprising the following steps:
step M1: releasing all the processor cores and synchronizing the processor cores by using a global clock;
step M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeatedly executing the step M2 until the preset requirement is met, and ending the operation.
2. The embedded multi-core operating system deterministic scheduling method according to claim 1, wherein said step M2 comprises:
step M2.1: triggering preset partition scheduling, scheduling a scheduling event in the partition scheduling according to a preset scheduling table, judging whether a current processor core is used in the current partition scheduling event, and waiting for the partition scheduling event starting at the next time synchronization point after the current partition scheduling event is ended when the current processor core is not used; when used, determining whether the processor core scheduling event is associated with one or more affinity groups;
step M2.2: when the processor core scheduling event is associated with one or more affinity groups, the task performs priority scheduling in a scheduling domain specified by the affinity groups; when the processor core scheduling event is not associated with one or more affinity groups, the current processor core is associated to a scheduling domain which can be used by all the processor cores and is not used by the affinity groups;
step M2.3: when the processor core schedules the event to be associated with one or more affinity groups, after the preset time is operated, the association with the current affinity group is removed, and the steps from M2.1 to M2.3 are repeatedly executed; and when the processor core scheduling event is not associated with one or more affinity groups, after running for a preset time, repeatedly executing the steps M2.1 to M2.3.
3. The embedded multi-core operating system deterministic scheduling method according to claim 1, characterized in that said step M2.2 comprises: when the processor core scheduling event is associated with one or more affinity groups, the current processor core is associated with one or more affinity groups, and the processor cores in the affinity groups associated with the current processor core are synchronized; and the task carries out task priority scheduling in the scheduling domain allocated by the current affinity group by using the related processor cores in the current affinity group, and continuously schedules until the current affinity group is scheduled completely.
4. The embedded multi-core operating system deterministic scheduling method of claim 1 wherein the scheduling table comprises SMP, AMP and SMP hybrid AMP scheduling configurations.
5. An embedded multi-core operating system deterministic scheduling system, comprising:
module M1: releasing all the processor cores and synchronizing the processor cores by using a global clock;
module M2: triggering preset partition scheduling, and scheduling a scheduling event in the partition scheduling according to a preset scheduling table; and after the preset time is operated, ending the current partition scheduling event, re-triggering the preset partition scheduling, and repeating the execution of the triggering module M2 until the preset requirement is met, and ending the operation.
6. The embedded multi-core operating system deterministic scheduling system of claim 5 wherein the module M2 comprises:
module M2.1: triggering preset partition scheduling, scheduling a scheduling event in the partition scheduling according to a preset scheduling table, judging whether a current processor core is used in the current partition scheduling event, and waiting for the partition scheduling event starting at the next time synchronization point after the current partition scheduling event is ended when the current processor core is not used; when used, determining whether the processor core scheduling event is associated with one or more affinity groups;
module M2.2: when the processor core scheduling event is associated with one or more affinity groups, the task performs priority scheduling in a scheduling domain specified by the affinity groups; when the processor core scheduling event is not associated with one or more affinity groups, the current processor core is associated to a scheduling domain which can be used by all the processor cores and is not used by the affinity groups;
module M2.3: when the processor core schedules events to be associated with one or more affinity groups, after running for a preset time, the association with the current affinity group is removed, and the modules M2.1 to M2.3 are repeatedly triggered to execute; when the processor core scheduling event is not associated with one or more affinity groups, the execution of the modules M2.1 to M2.3 is repeatedly triggered after running for a preset time.
7. The embedded multi-core operating system deterministic scheduling system according to claim 5, characterized in that said module M2.2 comprises: when the processor core scheduling event is associated with one or more affinity groups, the current processor core is associated with one or more affinity groups, and the processor cores in the affinity groups associated with the current processor core are synchronized; and the task carries out task priority scheduling in the scheduling domain allocated by the current affinity group by using the related processor cores in the current affinity group, and continuously schedules until the current affinity group is scheduled completely.
8. The embedded multi-core operating system deterministic scheduling system of claim 5 wherein the scheduling table comprises SMP, AMP and SMP hybrid AMP scheduling configurations.
9. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 4.
CN202011347260.8A 2020-11-26 2020-11-26 Deterministic scheduling method, system and medium for embedded multi-core operating system Active CN112363816B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011347260.8A CN112363816B (en) 2020-11-26 2020-11-26 Deterministic scheduling method, system and medium for embedded multi-core operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011347260.8A CN112363816B (en) 2020-11-26 2020-11-26 Deterministic scheduling method, system and medium for embedded multi-core operating system

Publications (2)

Publication Number Publication Date
CN112363816A true CN112363816A (en) 2021-02-12
CN112363816B CN112363816B (en) 2022-08-16

Family

ID=74532949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011347260.8A Active CN112363816B (en) 2020-11-26 2020-11-26 Deterministic scheduling method, system and medium for embedded multi-core operating system

Country Status (1)

Country Link
CN (1) CN112363816B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706742A (en) * 2009-11-20 2010-05-12 北京航空航天大学 Method for dispatching I/O of asymmetry virtual machine based on multi-core dynamic partitioning
CN104090826A (en) * 2014-06-30 2014-10-08 中国电子科技集团公司第三十二研究所 Task optimization deployment method based on correlation
CN110825506A (en) * 2019-10-31 2020-02-21 湖南智领通信科技有限公司 Task scheduling method and device of embedded operating system and storage medium
CN111625338A (en) * 2020-05-28 2020-09-04 广东浪潮大数据研究有限公司 Affinity rule scheduling method, device and related equipment
CN111796921A (en) * 2020-06-30 2020-10-20 西安微电子技术研究所 Embedded multi-core operating system scheduling method, scheduling device, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706742A (en) * 2009-11-20 2010-05-12 北京航空航天大学 Method for dispatching I/O of asymmetry virtual machine based on multi-core dynamic partitioning
CN104090826A (en) * 2014-06-30 2014-10-08 中国电子科技集团公司第三十二研究所 Task optimization deployment method based on correlation
CN110825506A (en) * 2019-10-31 2020-02-21 湖南智领通信科技有限公司 Task scheduling method and device of embedded operating system and storage medium
CN111625338A (en) * 2020-05-28 2020-09-04 广东浪潮大数据研究有限公司 Affinity rule scheduling method, device and related equipment
CN111796921A (en) * 2020-06-30 2020-10-20 西安微电子技术研究所 Embedded multi-core operating system scheduling method, scheduling device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN112363816B (en) 2022-08-16

Similar Documents

Publication Publication Date Title
Axer et al. Response-time analysis of parallel fork-join workloads with real-time constraints
Cerqueira et al. PROSA: A case for readable mechanized schedulability analysis
US20190196881A1 (en) Deterministic parallelization through atomic task computation
Maia et al. Schedulability analysis for global fixed-priority scheduling of the 3-phase task model
Davis A review of fixed priority and EDF scheduling for hard real-time uniprocessor systems
US10642658B2 (en) Vehicle control apparatus
CN103729480A (en) Method for rapidly finding and scheduling multiple ready tasks of multi-kernel real-time operating system
Ekberg et al. Schedulability analysis of a graph-based task model for mixed-criticality systems
Thekkilakattil et al. The global limited preemptive earliest deadline first feasibility of sporadic real-time tasks
Negrean et al. Response-time analysis for non-preemptive scheduling in multi-core systems with shared resources
Thilakasiri et al. An exact schedulability analysis for global fixed-priority scheduling of the aer task model
CN112363816B (en) Deterministic scheduling method, system and medium for embedded multi-core operating system
Osborne et al. Simultaneous multithreading applied to real time
Hasanagić et al. Optimizing inter-core data-propagation delays in industrial embedded systems under partitioned scheduling
Biondi et al. Moving from single-core to multicore: Initial findings on a fuel injection case study
Behnam et al. Bounding the number of self-blocking occurrences of SIRAP
Chang et al. From Java to real-time Java: A model-driven methodology with automated toolchain
Ittershagen et al. Hierarchical real-time scheduling in the multi-core era—An overview
Baufreton et al. Efficient fine-grain parallelism in shared memory for real-time avionics
JP6617511B2 (en) Parallelization method, parallelization tool, in-vehicle device
Nhat-Hoa et al. Sspinja: Facilitating schedulers in model checking
Ficek et al. Schedule design to guarantee freedom of interference in mixed criticality systems
Cai et al. An improved formalization analysis approach to determine schedulability of global multiprocessor scheduling based on symbolic safety analysis and statistical model checking in smartphone systems
Li et al. Reducing worst case reaction time of synchronous programs on chip-multiprocessors with application-specific TDMA scheduling
Goossens et al. Partitioned scheduling of multimode multiprocessor real-time systems with temporal isolation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant