Multi-Core Virtualization Systems with Inter-System Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems with multiple cores face challenges in balancing functionality, performance, and real-time behavior, often requiring different systems to address these conflicting development targets, and struggle to provide flexibility and adaptability across various use cases.
Innovation Solution
A system comprising a processor with multiple cores of the same instruction set architecture, each running a virtualization system with unique characteristics, and a communication module enabling inter-virtualization system communication, including shared memory and message queues, to manage guest systems and memory domains effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single virtualization system is used to manage multiple cores, then device complexity is reduced, but adaptability to different use cases deteriorates
Solution Approach 1:
The system divides the virtualization management into multiple independent virtualization systems, each running on a separate core. Each virtualization system can be configured with specific characteristics (e.g., real-time capabilities, memory size, architecture type) tailored to its intended use case, while the overall system complexity is managed through standardized inter-core communication protocols.
2Adaptability or versatility
If different virtualization characteristics are implemented to meet specific use cases, then adaptability improves, but device complexity increases
Solution Approach 1:
Each core is equipped with a virtualization system having locally optimized characteristics suited to its specific function. For example, safety-critical cores may have virtualization systems with real-time guarantees and validated memory management, while non-critical cores use simpler configurations. This allows each part of the system to have the appropriate complexity level for its requirements.
Solution Approach 2:
Despite having different characteristics, all virtualization systems implement a universal communication interface and standardized protocols for inter-core communication. This allows the system to maintain adaptability through configuration differences while managing complexity through interface standardization, enabling one virtualization system to perform multiple functions across different cores.
3Adaptability or versatility
If communication between virtualization systems is enabled, then versatility improves, but system reliability may deteriorate due to increased interaction points
Solution Approach 1:
The system introduces a message queue mechanism as an intermediary layer between virtualization systems. Messages are queued and processed asynchronously, providing isolation between communicating virtualization systems. This allows versatile communication while maintaining reliability through buffered, controlled interaction rather than direct coupling.
Solution Approach 2:
Inter-virtualization communication is segmented into discrete, standardized message types with defined protocols. Each communication interaction is atomic and self-contained, allowing failures to be isolated to specific message exchanges rather than propagating system-wide. This segmentation maintains reliability while enabling versatile communication patterns.
Data Source
Figure 1~2
Figure 3
AI summary
The present invention concerns a system (20) comprising a processor (3) with a plurality of cores (7a, 7b, 7c, 7d) having the same instruction set architecture, at least one memory (5) connected to the processor, a plurality of virtualization systems (22a, 22b, 22c) adapted to run respectively on one core (7a, 7b, 7c, 7d), the plurality of virtualization systems including a first virtualization system (22a) adapted to run on a first core (7a) and a second virtualization system (22c) adapted to run on a second core (7c), wherein the first virtualization system has a first characteristic with a first parameter and the second virtualization system has a second characteristic with a second parameter, wherein the parameter of the first characteristic and the parameter of the second characteristic are incompatible when implemented in a single virtualization system; and communication module (36) for enabling the plurality of virtualization systems (22a, 22b, 22c) to communicate with each other.