CN115269136A - Heterogeneous multi-core platform partition operating system safety scheduling method and system - Google Patents

Heterogeneous multi-core platform partition operating system safety scheduling method and system Download PDF

Info

Publication number
CN115269136A
CN115269136A CN202210692953.3A CN202210692953A CN115269136A CN 115269136 A CN115269136 A CN 115269136A CN 202210692953 A CN202210692953 A CN 202210692953A CN 115269136 A CN115269136 A CN 115269136A
Authority
CN
China
Prior art keywords
processor
partition
core
task
operating system
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.)
Pending
Application number
CN202210692953.3A
Other languages
Chinese (zh)
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.)
Beijing Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
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 Beijing Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN202210692953.3A priority Critical patent/CN115269136A/en
Publication of CN115269136A publication Critical patent/CN115269136A/en
Pending legal-status Critical Current

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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • 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

Abstract

The invention relates to a method and a system for scheduling a partition operating system of a heterogeneous multi-core platform. And managing the processor core by adopting a linked list structure with an index header. And establishing a mapping relation between the processor cores and the partitions. Important partitions running critical tasks use high-speed processor cores to ensure execution time. The tasks of the important partitions adopt a method of main and standby task sets, and when the main task set has errors, the tasks of the standby task set are operated to ensure that the key tasks are correctly executed. The invention solves the problem of serious consequences caused by the error of the key task when the heterogeneous multi-core processor is used for task processing in the prior art, and provides a reliable task scheduling method.

Description

Heterogeneous multi-core platform partition operating system safety scheduling method and system
Technical Field
The invention relates to the field of operating system scheduling, in particular to a method and a system for scheduling a partition operating system of a heterogeneous multi-core platform.
Background
Computer systems have been widely used in security critical fields such as aerospace, etc., and once an error occurs in such a system, it is very important to establish a highly trusted computer system in the security critical field. The operating system, the most basic underlying software in a computer system, is the key to building a high-confidence computer system. The property of error isolation of a partitioned operating system can improve system reliability and be successfully used in a variety of security-related systems.
As heterogeneous multi-core is being widely applied in the aerospace field, many of the related problems regarding the partition operating system on the heterogeneous multi-core platform are urgently needed to be researched. The scheduling problem of the partition operating system on the heterogeneous multi-core system platform is the most prominent critical problem. The existing method does not take the influence factor of the heterogeneous multi-core to partition operation system scheduling into consideration. Secondly, some methods in the prior art perform dynamic partition scheduling during system operation, which introduces scheduling uncertainty and easily causes system instability.
The following application problems need to be solved in the implementation process:
(1) Aiming at the maintenance of the safety state of a partition operating system, a large amount of system state switching is mainly focused on periodic integrity check, and the real-time performance of the operating system cannot be ensured;
(2) In the past, dynamic partition scheduling is carried out when a system operates, scheduling uncertainty is introduced, and stable operation of the system is not facilitated;
disclosure of Invention
The technical problem solved by the invention is as follows: the heterogeneous multi-core partition operating system scheduling method overcomes the defects in the prior art, provides a heterogeneous multi-core partition operating system scheduling technology, and solves the problem that the correct execution of key tasks cannot be ensured when the partition operating system is scheduled in the prior art.
The technical solution of the invention is as follows:
a method for scheduling a partition operating system of a heterogeneous multi-core platform comprises the following steps:
step 1, dividing a processor core into alpha processor core resource pools RP according to types in a heterogeneous multi-core platform partition operating systemkK is more than or equal to 1 and less than or equal to alpha; assume processor core resource pool
Figure BDA0003700986530000021
Containing beta processor cores
Figure BDA0003700986530000022
Wherein the content of the first and second substances,
Figure BDA0003700986530000023
denotes the processor core number, viRepresents the maximum processing performance achievable by the processor core;
step 2, managing the linked list with the index table, namely a heterogeneous processor core management table, used by the processor core;
step 3, dividing tasks in the heterogeneous multi-core platform partition operating system into critical tasks and non-critical tasks according to the importance degree of the tasks; defining a partition running a key task in a heterogeneous multi-core platform partition operating system as an important partition, and calling other partitions as non-important partitions;
step 4, setting a main version task set and a standby version task set;
step 5, setting partition sets Π in a partition operating system of the heterogeneous multi-core platform;
step 6, defining tasks
Figure BDA0003700986530000024
And task τjThe processor utilization of (a);
7, according to the task characteristics, slave processor resource pool RPkApplying for processor resources, establishing mapping between a processor and a partition, and determining whether the processor is an important partition or a non-important partition;
8, for the important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy;
step 9, for the non-important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to a non-important partition strategy;
and step 10, modifying the management table of the heterogeneous processor core after the tasks in the partition are run, so as to complete the scheduling of the partition operating system of the heterogeneous multi-core platform.
Further, managing the use of the heterogeneous processor core management table by the processor core includes:
(1) The index table head represents that processor cores with different processing speeds of alpha types exist in the heterogeneous multi-core platform from 1 to alpha, and the performance of the processor cores is sequentially reduced from 1 to alpha;
(2) The index table head points to a processor group index table, and records the performance of the processor of the type, the number of the processor cores of the type and the number of the available processor cores;
(3) The head pointer points to a bidirectional linked list structure composed of processor state tables, and each processor core is provided with a corresponding processor state table; wherein, the available processor cores are arranged at the front side of the linked list, and the completely occupied processor cores are arranged at the back side;
(4) Recording the identification number of the processor core, the available mark of the processor core, the number of the partitions running in the processor and a partition scheduling table pointer in a processor state table;
(5) And setting a partition scheduling table, wherein the partition scheduling table records the partition numbers, the starting time and the ending time of all partitions running on the processor core.
Further, the critical task is a task which has a serious influence on the system and brings a system security threat result when not completed before the time node, and the system security threat result is a system crash.
Furthermore, the main version task set is a task set scheduled by the system when the system in the important partition normally runs without errors; tasks in the backup version task set are the same as tasks in the main version task set; and when the operation of the main version task set has errors, executing the standby version task set.
Further, the setting of partition sets Π in the partition operating system of the heterogeneous multi-core platform specifically includes:
(1) Assuming that the partition operating system of the heterogeneous multi-core platform comprises n partitions, the partition set is pi = { Pa1,Pa2,…PanThe ith partition PaiIs defined as Pai=(χiiii);
(2)χiAnd representing the category of the partition, wherein the value range of the category is {0,1}, and the value range of the category is as follows: 0 is an important partition; 1. is a non-important partition;
(3) Primary version task set in partition
Figure BDA0003700986530000031
Indicating that the task set without the error is correctly executed in the ith partition;
(4) For standby version task set running in important partition
Figure BDA0003700986530000032
Representing a standby version task set executed under the condition that the main version task in the ith partition is in error; the backup version task set of the unimportant partition is empty;
(5) Partition execution time deltaiIndicating the time required for the ith partition to execute in each cycle.
Further, the task
Figure BDA0003700986530000041
Is defined as
Figure BDA0003700986530000042
Wherein:
task type identification attribute GjThe category of the task is represented, and the value range is {0,1}, wherein: 0 represents a main version task, and 1 represents a standby version task;
task priority Rj: determining the scheduling sequence of tasks in the system;
starting time Aj: indicating the time when the task enters the ready state;
Xjrepresenting the longest execution time of the task; w is a group ofjRepresents the latest completion time of the task;
defining a task τjIs determined by the processor utilization u tauj=Xj/Wj
Further, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy, specifically:
searching the processor core group with the highest processing performance, wherein the number of the available processor cores is not zero, from the high to the low in the processor group index table;
allocating a first processor core of a processor core linked list pointed by a processor group index table to the partition task;
the processor state table is used for recording the content corresponding to the partition in the pointed partition scheduling table;
calculating the utilization rate of the processor, changing the state of the processor core into unavailable if the utilization rate is more than 70%, and taking down the corresponding processor state table from the linked list and inserting the processor state table into the tail part of the linked list; while modifying the number of available processors in the processor set index table by one.
Further, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to a non-important partition strategy, and specifically includes:
searching the processor core group with the highest processing performance, wherein the number of the available processor cores is not zero, from low to high in the index table;
allocating a first processor core of a processor core linked list pointed by a processor group index table to the partition task;
the processor state table is used for recording the content corresponding to the partition in the directed partition scheduling table;
and calculating the utilization rate of the processor, changing the state of the processor core into unavailable if the utilization rate is more than 70%, taking down the corresponding processor state table from the linked list and inserting the processor state table into the tail part of the linked list, and simultaneously modifying the number of available processors in the index table of the processor group and reducing the number by one.
Further, after the task in the partition runs, modifying the heterogeneous processor core management table specifically includes:
removing the content corresponding to the recorded partitions in the partition scheduling table pointed by the processor state table from the linked list;
calculating the utilization rate of the processor, and if the utilization rate is less than 70%, modifying the corresponding position in the processor state table to be available; taking down the processor state table from the linked list and inserting the processor state table into the head of the linked list; the number of available processors in the corresponding processor set index table is incremented by one.
Further, the present invention further provides a heterogeneous multi-core platform partition operating system scheduling system, including:
a processor core resource pool dividing module: in a heterogeneous multi-core platform partition operating system, dividing a processor core into alpha processor core resource pools RP according to typeskK is more than or equal to 1 and less than or equal to alpha; assume processor core resource pool
Figure BDA0003700986530000051
Containing beta processor cores
Figure BDA0003700986530000052
Wherein the content of the first and second substances,
Figure BDA0003700986530000053
denotes the processor core number, viRepresents the maximum processing performance achievable by the processor core;
the heterogeneous processor core management table management module: managing the processor core by using a linked list with an index table, namely a heterogeneous processor core management table; the index table head represents that processor cores with different processing speeds of alpha types exist in the heterogeneous multi-core platform from 1 to alpha, and the performance of the processor cores is sequentially reduced from 1 to alpha; the index table head points to a processor group index table, and records the performance of the processor of the type, the number of the processor cores of the type and the number of the available processor cores; the head pointer points to a bidirectional linked list structure composed of processor state tables, and each processor core is provided with a corresponding processor state table; wherein, the available processor cores are arranged at the front side of the linked list, and the fully occupied processor cores are arranged at the back side; recording the identification number of the processor core, the available mark of the processor core, the number of the partitions running in the processor and a partition scheduling table pointer in a processor state table; setting a partition scheduling table, wherein the partition scheduling table records the partition numbers, the starting time and the ending time of all partitions running on the processor core;
a partition dividing module: dividing tasks in the heterogeneous multi-core platform partition operating system into key tasks and non-key tasks according to the importance degree of the tasks; defining a partition running a key task in a heterogeneous multi-core platform partition operating system as an important partition, and calling other partitions as non-important partitions; setting a main version task set and a standby version task set; setting partition sets Π in a partition operating system of the heterogeneous multi-core platform; defining a task τi jAnd task τjThe processor utilization of (a);
a mapping establishment module: from processor resource pool RP according to task characteristicskApplying for processor resources, establishing mapping between a processor and a partition, and determining whether the processor is an important partition or a non-important partition; for an important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy; for the non-important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to a non-important partition strategy;
an operating system scheduling module: and after the tasks in the partitions are run, modifying the heterogeneous processor core management table, thereby finishing the scheduling of the heterogeneous multi-core platform partition operating system.
Compared with the prior art, the invention has the advantages that:
(1) The invention provides a heterogeneous multi-core allocation scheme in a multi-core partition operating system, and the module performs allocation of a heterogeneous multi-core processor by using a processor management table, thereby realizing accelerated processing of important partition tasks and ensuring correct execution of key tasks. And a standby task set is set for the key task set, and when the main task set is in error, the standby version task set can be run to ensure the correct execution of the key task. The invention solves the problem of serious consequences caused by the error of the key task when the heterogeneous multi-core processor is used for task processing in the prior art, and provides a reliable task scheduling method.
(2) At present, most of the research on the safety of the partition operating system is based on a single-core or homogeneous multi-core platform, and related research on heterogeneous multi-core platforms is not searched. In the past, dynamic partition scheduling is carried out when a system operates, scheduling uncertainty is introduced, and stable operation of the system is not facilitated; some researches have carried out a large amount of system state switching on the periodic integrity check of the operating system, and the real-time performance of the operating system cannot be ensured. The invention researches the safety protection of the partition operating system on the heterogeneous multi-core platform, and has certain breakthrough.
(3) The invention divides the heterogeneous multi-core operating system into an important partition and a non-important partition. Starting a standby task set when the task operation of the important partition has an error; and modifying the priority of the task set through an algorithm to ensure that the tasks of the important partitions are correctly executed on time. Therefore, the real-time performance of the system is ensured while the fault tolerance of the key tasks is realized.
Drawings
FIG. 1 is a schematic diagram illustrating a method for scheduling a partition operating system of a heterogeneous multi-core platform according to the present invention;
FIG. 2 is a representation of heterogeneous processor core management according to the present invention;
fig. 3 is a partition diagram illustrating a method for scheduling a partition operating system of a heterogeneous multi-core platform according to the present invention.
Detailed Description
As shown in fig. 1, the method for scheduling a partition operating system of a heterogeneous multi-core platform according to the present invention is schematically illustrated in principle, and the method of the present invention provides a task load processor-based allocation module in a multi-core partition operating system, and the module performs allocation of heterogeneous multi-core processors by analyzing the load of each partition, thereby achieving accelerated processing of tasks of important partitions and ensuring correct execution of critical tasks. And a standby task set is set for the key task set, and when the main task set has an error in operation, the standby version task set can be operated to ensure the correct execution of the key task.
The process of the invention is described in detail below with reference to the accompanying drawing,
the method of the invention as shown in fig. 1 and 2 comprises the following steps:
step 1, in a heterogeneous multi-core platform partition operating system, dividing a processor core into alpha processor core resource pools RP according to typeskK is more than or equal to 1 and less than or equal to alpha; assume processor core resource pool
Figure BDA0003700986530000071
Containing beta processor cores
Figure BDA0003700986530000072
Wherein the content of the first and second substances,
Figure BDA0003700986530000073
denotes the processor core number, viRepresenting the maximum processing performance achievable by the processor core. And (6) switching to the step (2).
Step 2, as shown in fig. 2, the processor core uses a linked list with an index table, i.e., a heterogeneous processor core management table, to perform management, which specifically includes:
(1) The index table header indicates that the platform has cores with different processing speeds of alpha classes from 1 to alpha. From 1 to alpha, the performance of the processor cores is decreased gradually.
(2) The index table head points to a processor group index table, and records the performance of the processor of the type, the number of the processing cores of the type and the number of the available processor cores.
(3) The head pointer points to a doubly linked list structure composed of the processor state tables. Each processor core has a corresponding processor state table. Wherein the available processor cores are arranged at the front of the linked list and the fully occupied processor core state list is arranged at the back.
(4) The state table records the identification number of the processor core, the available mark of the processor core, the number of the partitions running in the processor and the pointer of the partition scheduling table.
(5) The partition scheduling table records the partition numbers, the start time and the end time of all partitions running on the processor core.
And 3, dividing tasks in the system into key tasks and non-key tasks according to the importance degree of the tasks. The critical task means that if the task is not completed before the (time node) Deadline, serious influence is caused to the system, and the system safety is threatened by the system crash and other consequences. The partition for running the key tasks in the system is called an important partition; the other partitions are referred to as non-essential partitions.
And 4, setting a main version task set and a standby version task set.
In order to realize fault-tolerant scheduling in an important partition operating system, the invention provides a main version task set concept and a standby version task set concept.
The main version task set is a task set scheduled by the system when the system in the partition has no error and runs normally; tasks in the standby version task set realize the same functions as the main version tasks; and when the operation of the main version task has errors, executing the standby version task.
And 5, setting a partition set Π in a partition operating system of the heterogeneous multi-core platform.
Assuming that the partition operating system includes n partitions, the set of partitions is Π = { Pa =1,Pa2,…Pan}. The ith sub-area PaiIs defined as Pai=(χiiii)。
(1)χiRepresenting the category of the subareas, wherein the value range of the category is {0,1}, and 0 is an important subarea; 1 is a non-significant partition.
(2) Primary version task set in partition
Figure BDA0003700986530000081
Indicating that the set of tasks in the ith partition that did not have an error was executed correctly.
(3) For standby version task set running in important partition
Figure BDA0003700986530000082
And representing the standby version task set executed under the condition that the main version task in the ith partition is in error. The backup version task set of the unimportant partition is empty.
(4) Partition execution time deltaiThe time required for the ith partition to be executed in each main time axis cycle is indicated.
Step 6, defining tasks
Figure BDA0003700986530000091
And task τjThe processor utilization of.
Task
Figure BDA0003700986530000092
Is defined as
Figure BDA0003700986530000093
The task characteristics are defined as follows:
(1) Task type identification attribute GjThe task type is represented, the value range is {0,1}, wherein 0 represents the main version task; 1 is expressed as a standby version task;
(2) Task priority Rj: determining the scheduling sequence of tasks in the system;
(3) Starting time Aj: indicating the time when the task enters the ready state;
(4)Xjrepresenting the longest execution time of the task; (ii) a
(5) Latest completion time of task WjI.e. the latest completion time of the task.
(6) Defining a task τjIs determined by the processor utilization u tauj=Xj/Wj
Step 7, as shown in FIG. 3, the system follows the task characteristics from the processor resource pool RPkThe method applies for the resource of the processor core, establishes mapping between the processor core and the partition, and determines whether the partition is an important partition or a non-important partition.
The method comprises the following steps of acquiring the use right of a processor core for an important partition system:
(1) Searching a core group with the highest processing performance, wherein the number of available cores is not zero, from high to low in the index table;
(2) Allocating a first processor core of a processor core linked list pointed by a processor group index table to the partition task;
(2) Recording the content corresponding to the partition in the partition scheduling table pointed by the processor state table;
(4) And calculating the utilization rate of the processor, and if the utilization rate is greater than 70%, changing the state of the processor core into an unavailable state, and taking down the corresponding processor state table from the linked list and inserting the processor state table into the tail part of the linked list. The number of available processors in the modified processor set index table is reduced by one.
And 8, acquiring the use right of the processor core for the non-important partition system by the following steps:
(1) Searching a core group with the highest processing performance, wherein the number of available cores is not zero, from low to high in the index table;
(2) Allocating a first processor core of a processor core linked list pointed by a processor group index table to the partition task;
(2) Recording the content corresponding to the partition in the partition scheduling table pointed by the processor state table;
(4) And calculating the utilization rate of the processor, and if the utilization rate is more than 70%, changing the state of the processor core into an unavailable state, and taking down the corresponding processor state table from the linked list and inserting the processor state table into the tail part of the linked list. The number of available processors in the modified processor set index table is reduced by one.
Step 9, after the task in the partition runs, the system modifies the heterogeneous processor core management table according to the following steps:
(1) Removing the content corresponding to the recorded partitions in the partition scheduling table pointed by the processor state table from the linked list;
(2) If the utilization rate of the processor is calculated to be less than 70%, the corresponding position in the processor state table is modified to be available; taking down the processor state table from the linked list and inserting the processor state table into the head of the linked list; the number of available processors in the corresponding processor group index table is incremented by one.
Further, the present invention provides a scheduling system for a partition operating system of a heterogeneous multi-core platform, including:
a processor core resource pool dividing module: in a heterogeneous multi-core platform partition operating system, dividing a processor core into alpha processor core resource pools RP according to typeskK is more than or equal to 1 and less than or equal to alpha; assume processor core resource pool
Figure BDA0003700986530000101
Including beta processor cores
Figure BDA0003700986530000102
Wherein, the first and the second end of the pipe are connected with each other,
Figure BDA0003700986530000103
denotes the processor core number, viRepresents the maximum processing performance achievable by the processor core;
the heterogeneous processor core management table management module: managing the processor core by using a linked list with an index table, namely a heterogeneous processor core management table; the index table head represents that processor cores with different processing speeds of alpha types exist in the heterogeneous multi-core platform from 1 to alpha, and the performance of the processor cores is sequentially reduced from 1 to alpha; the index table head points to a processor group index table, and records the performance of the processor of the type, the number of the processor cores of the type and the number of the available processor cores; the head pointer points to a bidirectional linked list structure composed of processor state tables, and each processor core is provided with a corresponding processor state table; wherein, the available processor cores are arranged at the front side of the linked list, and the fully occupied processor cores are arranged at the back side; recording the identification number of the processor core, the available mark of the processor core, the number of the partitions running in the processor and a partition scheduling table pointer in a processor state table; setting a partition scheduling table, wherein the partition scheduling table records the partition numbers, the starting time and the ending time of all partitions running on the processor core;
a partition dividing module: dividing tasks in the heterogeneous multi-core platform partition operating system into key tasks and non-key tasks according to the importance degree of the tasks; defining a partition running a key task in a heterogeneous multi-core platform partition operating system as an important partition, and calling other partitions as non-important partitions; setting a main version task set and a standby version task set; setting partition sets Π in a partition operating system of the heterogeneous multi-core platform; defining tasks
Figure BDA0003700986530000111
And task τjThe processor utilization of (a);
a mapping establishment module: from processor resource pool RP according to task characteristicskChinese application processorThe resource establishes mapping between the processor and the partitions and determines whether the processor is an important partition or a non-important partition; for an important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy; for the non-important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to a non-important partition strategy;
an operating system scheduling module: and after the tasks in the partitions are run, modifying the heterogeneous processor core management table, thereby finishing the scheduling of the heterogeneous multi-core platform partition operating system.
The invention solves the problem of serious consequences caused by the error of the key task when the heterogeneous multi-core processor is used for task processing in the prior art, and provides a reliable task scheduling method.
Those skilled in the art will appreciate that those matters not described in detail in the present specification are well known in the art.

Claims (10)

1. A safety scheduling method for a partition operating system of a heterogeneous multi-core platform is characterized by comprising the following steps:
in a heterogeneous multi-core platform partition operating system, dividing a processor core into alpha processor core resource pools RP according to typeskK is more than or equal to 1 and less than or equal to alpha; assume processor core resource pool
Figure RE-FDA0003864944500000011
Including beta processor cores
Figure RE-FDA0003864944500000012
Wherein, the first and the second end of the pipe are connected with each other,
Figure RE-FDA0003864944500000013
denotes the processor core number, viRepresents the maximum processing performance achievable by the processor core;
managing the processor core by using a linked list with an index table, namely a heterogeneous processor core management table;
dividing tasks in the heterogeneous multi-core platform partition operating system into key tasks and non-key tasks according to the importance degree of the tasks; defining a partition running a key task in a partition operating system of the heterogeneous multi-core platform as an important partition, and calling other partitions as non-important partitions;
setting a main version task set and a standby version task set;
setting partition sets Π in a partition operating system of the heterogeneous multi-core platform;
defining tasks
Figure RE-FDA0003864944500000014
And task τjThe processor utilization of (a);
from processor resource pool RP according to task characteristicskApplying for processor resources, establishing mapping between a processor and a partition, and determining whether the processor is an important partition or a non-important partition;
for an important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy;
for the non-important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to a non-important partition strategy;
and after the tasks in the partitions are operated, modifying the management table of the heterogeneous processor core, thereby completing the scheduling of the partition operating system of the heterogeneous multi-core platform.
2. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 1, wherein: managing the use of a heterogeneous processor core management table by a processor core, comprising:
the index table head represents that processor cores with different alpha processing speeds exist in the heterogeneous multi-core platform from 1 to alpha, and the performance of the processor cores is sequentially decreased from 1 to alpha;
the index table head points to a processor group index table, and records the performance of the processor of the type, the number of the processor cores of the type and the number of the available processor cores;
the head pointer points to a bidirectional linked list structure composed of processor state tables, and each processor core is provided with a corresponding processor state table; wherein, the available processor cores are arranged at the front side of the linked list, and the fully occupied processor cores are arranged at the back side;
recording the identification number of the processor core, the available mark of the processor core, the number of the partitions running in the processor and a partition scheduling table pointer in a processor state table;
and setting a partition scheduling table, wherein the partition scheduling table records the partition numbers, the starting time and the ending time of all partitions running on the processor core.
3. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 1, wherein: the key task is a task which can cause serious influence on the system and bring the consequence of threatening the safety of the system when the key task is not completed before the time node, and the consequence of threatening the safety of the system is system crash.
4. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 1, wherein: the main version task set is a task set scheduled by the system when the system in the important partition normally runs without errors; tasks in the standby version task set are the same as tasks in the main version task set; and when the operation of the main version task set is wrong, executing the standby version task set.
5. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 1, wherein: the setting of a partition set Π in the partition operating system of the heterogeneous multi-core platform specifically includes:
assuming that the partition operating system of the heterogeneous multi-core platform comprises n partitions, the partition set is pi = { Pa1,Pa2,…PanThe ith partition PaiIs defined as Pai=(χiiii);
χiAnd representing the category of the partition, wherein the value range is {0,1}, and the value range is as follows: 0 is an important partition; 1 is a non-significant partition;
partition inside master versionTask set
Figure RE-FDA0003864944500000021
Indicating that the task set without the error is correctly executed in the ith partition;
for standby version task set running in important partition
Figure RE-FDA0003864944500000031
Representing a standby version task set executed under the condition that the main version task in the ith partition is in error; the backup version task set of the unimportant partition is empty;
partition execution time deltaiIndicating the time that the ith partition needs to be executed in each cycle.
6. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 5, wherein: task
Figure RE-FDA0003864944500000032
Is defined as
Figure RE-FDA0003864944500000033
Wherein:
task type identification attribute GjThe category of the task is represented, and the value range is {0,1}, wherein: 0 represents a main version task, and 1 represents a standby version task;
task priority Rj: determining the scheduling sequence of tasks in the system;
starting time Aj: indicating the time when the task enters the ready state;
Xjrepresenting the longest execution time of the task; wjRepresents the latest completion time of the task;
defining a task τjIs determined by the processor utilization u tauj=Xj/Wj
7. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 6, wherein: the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy, and specifically comprises the following steps:
searching the processor core group with the highest processing performance, wherein the number of the available processor cores is not zero, from the high to the low in the processor group index table;
allocating a first processor core of a processor core linked list pointed by a processor group index table to the partition task;
the processor state table is used for recording the content corresponding to the partition in the pointed partition scheduling table;
calculating the utilization rate of the processor, changing the state of the processor core into unavailable if the utilization rate is more than 70%, and taking down the corresponding processor state table from the linked list and inserting the processor state table into the tail part of the linked list; while modifying the number of available processors in the processor set index table by one.
8. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 6, wherein: the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to the non-important partition strategy, and specifically comprises the following steps:
searching the processor core group with the highest processing performance, wherein the number of the available processor cores is not zero, from low to high in the index table;
allocating a first processor core of a processor core linked list pointed by a processor group index table to the partition task;
the processor state table is used for recording the content corresponding to the partition in the pointed partition scheduling table;
and calculating the utilization rate of the processor, changing the state of the processor core into unavailable if the utilization rate is more than 70%, taking down the corresponding processor state table from the linked list and inserting the processor state table into the tail part of the linked list, and simultaneously modifying the number of available processors in the index table of the processor group and reducing the number by one.
9. The method for safely scheduling the partition operating system of the heterogeneous multi-core platform according to claim 6, wherein: after the task in the partition is run, modifying a heterogeneous processor core management table, specifically:
removing the content corresponding to the recorded partitions in the partition scheduling table pointed by the processor state table from the linked list;
calculating the utilization rate of the processor, and if the utilization rate is less than 70%, modifying the corresponding position in the processor state table to be available; taking down the processor state table from the linked list and inserting the processor state table into the head of the linked list; the number of available processors in the corresponding processor group index table is incremented by one.
10. A heterogeneous multi-core platform partition operating system scheduling system, comprising:
a processor core resource pool dividing module: in a heterogeneous multi-core platform partition operating system, dividing a processor core into alpha processor core resource pools RP according to typeskK is more than or equal to 1 and less than or equal to alpha; assume processor core resource pool
Figure RE-FDA0003864944500000041
Including beta processor cores
Figure RE-FDA0003864944500000042
Wherein the content of the first and second substances,
Figure RE-FDA0003864944500000043
denotes the processor core number, viRepresents the maximum processing performance achievable by the processor core;
the heterogeneous processor core management table management module: managing the processor core by using a linked list with an index table, namely a heterogeneous processor core management table; the index table head represents that processor cores with different processing speeds of alpha types exist in the heterogeneous multi-core platform from 1 to alpha, and the performance of the processor cores is sequentially reduced from 1 to alpha; the index table head points to a processor group index table, and records the performance of the processor of the type, the number of the processor cores of the type and the number of the available processor cores; the head pointer points to a bidirectional linked list structure consisting of processor state lists, and each processor core is provided with a corresponding processor state list; wherein, the available processor cores are arranged at the front side of the linked list, and the fully occupied processor cores are arranged at the back side; recording the identification number of the processor core, the available mark of the processor core, the number of the partitions running in the processor and a partition scheduling table pointer in a processor state table; setting a partition scheduling table, wherein the partition scheduling table records the partition numbers, the starting time and the ending time of all partitions running on the processor core;
a partition dividing module: dividing tasks in the heterogeneous multi-core platform partition operating system into key tasks and non-key tasks according to the importance degree of the tasks; defining a partition running a key task in a heterogeneous multi-core platform partition operating system as an important partition, and calling other partitions as non-important partitions; setting a main version task set and a standby version task set; setting a partition set pi in a partition operating system of the heterogeneous multi-core platform; defining tasks
Figure RE-FDA0003864944500000051
And task τjThe processor utilization of (a);
a mapping establishment module: from processor resource pool RP according to task characteristicskApplying for processor resources, establishing mapping between a processor and a partition, and determining whether the processor is an important partition or a non-important partition; for an important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to an important partition strategy; for the non-important partition, the heterogeneous multi-core platform partition operating system obtains the use right of the processor core according to a non-important partition strategy;
an operating system scheduling module: and after the tasks in the partitions are run, modifying the heterogeneous processor core management table, thereby finishing the scheduling of the heterogeneous multi-core platform partition operating system.
CN202210692953.3A 2022-06-17 2022-06-17 Heterogeneous multi-core platform partition operating system safety scheduling method and system Pending CN115269136A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210692953.3A CN115269136A (en) 2022-06-17 2022-06-17 Heterogeneous multi-core platform partition operating system safety scheduling method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210692953.3A CN115269136A (en) 2022-06-17 2022-06-17 Heterogeneous multi-core platform partition operating system safety scheduling method and system

Publications (1)

Publication Number Publication Date
CN115269136A true CN115269136A (en) 2022-11-01

Family

ID=83761035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210692953.3A Pending CN115269136A (en) 2022-06-17 2022-06-17 Heterogeneous multi-core platform partition operating system safety scheduling method and system

Country Status (1)

Country Link
CN (1) CN115269136A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880978A (en) * 2023-07-07 2023-10-13 郑州轻工业大学 Real-time system partition scheduling method and scheduler based on model inspection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880978A (en) * 2023-07-07 2023-10-13 郑州轻工业大学 Real-time system partition scheduling method and scheduler based on model inspection
CN116880978B (en) * 2023-07-07 2024-04-09 郑州轻工业大学 Real-time system partition scheduling method and scheduler based on model inspection

Similar Documents

Publication Publication Date Title
US9319281B2 (en) Resource management method, resource management device, and program product
US7536582B1 (en) Fault-tolerant match-and-set locking mechanism for multiprocessor systems
JPS61233849A (en) Method for controlling exclusively data base
US20130268938A1 (en) Transparent user mode scheduling on traditional threading systems
US6928378B2 (en) Stress testing at low cost through parallel execution of unit tests
CN113886089A (en) Task processing method, device, system, equipment and medium
JPH1153202A (en) Parallel transaction processing system
JPH0812616B2 (en) Passive recovery method and system for operating system kernel
US5355488A (en) Method for adaptively building a library of program threads
CN115269136A (en) Heterogeneous multi-core platform partition operating system safety scheduling method and system
US8103905B2 (en) Detecting and recovering from process failures
CN106897345A (en) A kind of method and device of data storage
CN112988777B (en) Object processing method and device, computer equipment and storage medium
CN115964176B (en) Cloud computing cluster scheduling method, electronic equipment and storage medium
CN117149414A (en) Task processing method and device, electronic equipment and readable storage medium
CN112035255A (en) Thread pool resource management task processing method, device, equipment and storage medium
CN112068960A (en) CPU resource allocation method, device, storage medium and equipment
US6487580B1 (en) Method and system for managing concurrently executable computer processes
CN112527497B (en) Serialized multithreaded data processing system
CN113342511A (en) Distributed task management system and method
CN113703946A (en) Application recovery method and device, electronic equipment and computer readable storage medium
CN113961364A (en) Large-scale lock system implementation method and device, storage medium and server
KR101542605B1 (en) Parallel processing apparatus and processing apparatus for semantic heterogeneity of ontology matching
CN112817986B (en) Data structure repairing method and device suitable for Linux production environment
WO2021120841A1 (en) Method, apparatus, and device for creating virtual machine and allocating cpu resources

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