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 PDFInfo
- 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
Links
- 238000005192 partition Methods 0.000 title claims abstract description 278
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000011160 research Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
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
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 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;
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=(χi,τi,τi,δi);
(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 partitionIndicating that the task set without the error is correctly executed in the ith partition;
(4) For standby version task set running in important partitionRepresenting 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.
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 poolContaining beta processor coresWherein,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:
(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=(χi,τi,τi,δi)。
(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 partitionIndicating 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 partitionAnd 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.
(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 poolIncluding beta processor coresWherein,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 tasksAnd 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 poolIncluding beta processor coresWherein,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;
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=(χi,τi,τi,δi);
χ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 setIndicating that the task set without the error is correctly executed in the ith partition;
for standby version task set running in important partitionRepresenting 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: taskIs defined asWherein:
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 poolIncluding beta processor coresWherein,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 tasksAnd 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.
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)
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 |
-
2022
- 2022-06-17 CN CN202210692953.3A patent/CN115269136A/en active Pending
Cited By (2)
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 |
---|---|---|
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
US6101524A (en) | Deterministic replay of multithreaded applications | |
CN112527489B (en) | Task scheduling method, device, equipment and computer readable storage medium | |
US9319281B2 (en) | Resource management method, resource management device, and program product | |
US7536582B1 (en) | Fault-tolerant match-and-set locking mechanism for multiprocessor systems | |
JPH0465414B2 (en) | ||
JPS60128537A (en) | Resouce access control | |
JP3113841B2 (en) | Parallel transaction processing system | |
CN113886089A (en) | Task processing method, device, system, equipment and medium | |
CN112035255A (en) | Thread pool resource management task processing method, device, equipment and storage medium | |
CN111857951A (en) | Containerized deployment platform and deployment method | |
CN115269136A (en) | Heterogeneous multi-core platform partition operating system safety scheduling method and system | |
US5355488A (en) | Method for adaptively building a library of program threads | |
CN117149414A (en) | Task processing method and device, electronic equipment and readable storage medium | |
US20120096303A1 (en) | Detecting and recovering from process failures | |
CN113703946A (en) | Application recovery method and device, electronic equipment and computer readable storage medium | |
CN115964176B (en) | Cloud computing cluster scheduling method, electronic equipment and storage medium | |
CN112596953A (en) | Database log replay method, device, equipment and storage medium | |
CN112527497B (en) | Serialized multithreaded data processing system | |
CN113342511A (en) | Distributed task management system and method | |
CN113961364A (en) | Large-scale lock system implementation method and device, storage medium and server | |
CN112162964A (en) | Self-adaptive data synchronization method and device, computer equipment and storage medium | |
CN112256443A (en) | Dynamic cluster lock system based on redis | |
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 |
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 |