DSP Fast Run Command Bypasses Kernel Memory Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management techniques for microprocessors, especially in digital signal processors (DSPs), are inefficient due to the need for kernel checks to ensure sub-process bins are resident in internal memory before execution, leading to resource waste and performance degradation, particularly when sub-processes are called repeatedly.
Innovation Solution
A method and system that allow a sub-process to be executed without first checking if its bins are in internal memory, provided certain conditions are met, such as the sub-process having been previously loaded and executed, and no other sub-processes having been called since, thereby streamlining the execution process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the kernel checks memory residency before executing a sub-process, then execution reliability is ensured, but system performance and runtime efficiency deteriorate due to unnecessary checks and potential swapping operations
Solution Approach 1:
The parent process proactively ensures that the child process bins are loaded into internal memory before executing the fast run command, eliminating the need for kernel checks. This preliminary action guarantees execution reliability while avoiding performance degradation from runtime checks and potential swapping operations.
Solution Approach 2:
The invention extracts the memory residency verification responsibility from the kernel to the parent process. The parent process tracks and manages its own child process memory state, allowing the kernel to execute the fast run command without performing residency checks, thus improving system performance while maintaining reliability through parent process oversight.
2Reliability
If the kernel swaps non-resident bins into internal memory, then execution correctness is maintained, but memory bus bandwidth is constrained and power consumption increases
Solution Approach 1:
The parent process proactively loads child process bins into internal memory before the fast run command is executed, ensuring execution correctness is maintained while avoiding the power-consuming swapping operation that would otherwise be performed by the kernel at runtime.
Solution Approach 2:
By using the fast run command with pre-loaded bins, the system skips the memory swapping operation entirely, rushing through the execution process directly without the energy-intensive kernel-mediated swap operation, thus reducing power consumption while maintaining correctness.
3Reliability
If the kernel checks and swaps bins before execution, then proper memory management is ensured, but latency in software execution increases
Solution Approach 1:
The parent process performs the memory loading action preliminarily before the fast run command, ensuring memory management correctness is maintained while eliminating the runtime latency that would otherwise be incurred by kernel checks and potential swapping operations.
Solution Approach 2:
The invention extracts the timing-critical verification function from the kernel path to the parent process, allowing the kernel to execute the fast run command immediately without latency-inducing checks, while the parent process maintains correctness through its own tracking and management of child process memory state.
4Ease of operation
If whole memory regions are moved for memory management, then memory allocation is simplified, but memory bus bandwidth is constrained and resource overhead increases
Solution Approach 1:
The invention segments the memory management approach by allowing individual child process bins to be loaded independently into internal memory rather than moving whole memory regions. This maintains ease of operation for the parent process while significantly improving resource efficiency by loading only the necessary segments on demand.
Solution Approach 2:
The parent process performs partial loading of only the specific child process bins needed for execution rather than moving entire memory regions. This partial action maintains operational simplicity for the parent process while dramatically improving resource efficiency and reducing memory bus bandwidth consumption compared to moving complete memory spaces.
Data Source
AI summary
A fast sub-process is provided in an operating system for a digital signal processor (DSP). The fast sub-process executes a sub-process without a kernel first determining whether the sub-process resides in an internal memory, as long as certain conditions have been satisfied. One of the conditions is that a programmer determines that the sub-process has been previously loaded into internal memory and executed. Another condition is that the programmer has ensured that a process calling the sub-process has not called any other sub-process between the last execution and the current execution request. Yet another condition is that the programmer ensures that the system has not called another overlapping sub-process between the last execution and the current execution request.


