Multi-Core Processor Partitioning for Deterministic Resource Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core processor platforms, especially in critical fields like avionics, the simultaneous execution of software applications leads to contention issues due to shared resources, resulting in uncontrolled process execution times and loss of determinism, which hinders platform qualification and certification.
Innovation Solution
A method is introduced where a specific partition, called the IO device access partition, centralizes exchanges with IO devices, and the processor cores are selectively assigned to execute partitions based on a sequential list of assignments, ensuring each core is dedicated to a partition for a predetermined time, thereby minimizing contention and maintaining deterministic processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple software applications are executed simultaneously on a multi-core processor, then productivity is improved, but contention occurs due to shared resources resulting in uncontrolled process execution times and loss of determinism
Solution Approach 1:
The system segments the multi-core processor into dedicated time slots for different application partitions, with each core selectively assigned to execute specific partitions during predetermined time intervals. This temporal segmentation eliminates resource contention by ensuring that only one partition accesses shared resources at any given moment, thereby maintaining determinism while enabling multi-application execution across the processor system.
2Reliability
If a sequential list of assignments is used to organize core usage by application partitions, then contention is reduced and processing times are controlled, but the complexity of resource management increases
Solution Approach 1:
The system implements periodic time-triggered execution where each core cycles through a predetermined sequence of application partitions in fixed time intervals. This periodic structure simplifies resource management by using hardware-based timers and automatic context switching mechanisms that eliminate the need for complex software scheduling algorithms, while ensuring deterministic processing times through regular, predictable execution patterns.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for accessing shared resources of a computer platform (10) comprising a multi-core processor (21), shared resource(s) (18) between first partitions, whereby requests for access to shared resources issued by the first partitions are addressed to a second partition which, when executed on the processor, performs said accesses; - multiple cores (22) are reserved synchronously for the execution of the second access partition for a predetermined time; - accesses to distinct shared resources (18) performed by the second partition must be executed by distinct reserved cores; and - all accesses to a shared resource performed by the second access partition must be executed, during said predetermined time, by a single core among the reserved cores.