Multiprocessor Application Swapping for Deterministic Real-Time Operation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing embedded systems face challenges in dynamically reconfiguring software applications at runtime without causing performance penalties or non-deterministic delays, particularly in FPGA-based and processor-based systems, which are inefficient in aligning logical and physical design mappings.
Innovation Solution
A multiprocessor system with interspersed processors and memories allows for swapping applications without stopping the system, using buffer memories to manage communication and resource decoupling during the swapping process, enabling seamless transitions between applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional processor-based systems use multitasking to share processing power among different applications, then applications can run simultaneously on the same processor, but this incurs performance penalties and introduces non-deterministic time delays
Solution Approach 1:
The system divides the processing resources into multiple separate processor cores, with each core dedicated to executing a specific application. This segmentation eliminates the need for multitasking on a single processor, allowing each application to run deterministically on its own dedicated core while still enabling multiple applications to execute simultaneously across the multi-core architecture.
2Adaptability or versatility
If FPGA devices are reconfigured at run-time to perform different applications, then the system can adapt to different functions, but it is difficult to dynamically re-program the FPGA and alignment of logical and physical mapping is inefficient
Solution Approach 1:
The system uses multiple identical processor cores that are already configured and ready to execute different applications. Instead of dynamically reconfiguring a single FPGA, the system copies the functionality across multiple fixed processor cores, allowing application switching by simply changing which core executes which application. This eliminates the complexity of run-time FPGA reconfiguration while maintaining adaptability.
3Adaptability or versatility
If applications are swapped on a multi-processor system, then dynamic reconfiguration is enabled, but communication between processors and memory access during swapping may cause delays
Solution Approach 1:
The system pre-loads application code into memory before it is needed for execution. When an application swap is required, the new application is already prepared in memory and can be quickly transferred to the processor core without requiring time-consuming loading or compilation during the swap operation. This preliminary preparation significantly reduces the time penalty associated with application swapping.
Data Source
AI summary
A multiprocessor system and method for swapping applications executing on the multiprocessor system are disclosed. The plurality of applications may include a first application and a plurality of other applications. The first application may be dynamically swapped with a second application. The swapping may be performed without stopping the plurality of other applications. The plurality of other applications may continue to execute during the swapping to perform a real-time operation and process real-time data. After the swapping, the plurality of other applications may continue to execute with the second application, and at least a subset of the plurality of other applications may communicate with the second application to perform the real time operation and process the real time data.


