Runtime Memory Configuration for Executable Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer execution systems lack a flexible and optimized memory allocation and management approach, often using a single allocation scheme for all applications, which can lead to inefficiencies as they fail to account for the unique requirements of individual processes and environments.
Innovation Solution
A configurable memory allocation and management system that generates a configuration file with optimized settings, allowing for tailored memory allocation and garbage collection parameters for each application or process, using offline analysis and data collection from diverse systems to determine valid settings based on static and dynamic state information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a single allocation scheme is applied to all executable code, then the system design is simple and general-purpose, but memory allocation efficiency deteriorates due to inability to account for unique process requirements
Solution Approach 1:
The patent segments memory allocation management by creating separate allocation schemes for different executable codes. The system divides the general memory management function into code-specific allocation policies, allowing each executable to have its own optimized memory allocation strategy while maintaining overall system structure.
Solution Approach 2:
The patent implements dynamic memory allocation schemes that can adapt to different executable codes and their unique requirements. The system allows memory allocation parameters to be dynamically adjusted based on the specific characteristics of each executing code, transitioning from static general-purpose allocation to dynamic code-specific allocation.
2Productivity
If optimized memory settings are applied to individual applications, then memory management efficiency improves, but system complexity increases due to multiple configuration schemes
Solution Approach 1:
The patent implements self-service mechanisms where the system automatically selects and applies appropriate memory allocation schemes based on the executing code identification. The memory management system serves itself by autonomously determining which allocation policy to apply without requiring manual configuration for each application, reducing the perceived complexity while maintaining optimization.
Solution Approach 2:
The patent manages complexity by systematically organizing memory allocation parameters into configurable schemes that can be selectively applied. Instead of hardcoding complex logic throughout the system, the invention uses parameter-based configuration where memory allocation behavior is controlled by selectable schemes with defined parameters, making the system more manageable despite multiple optimization strategies.
3Reliability
If default settings are used when optimized settings are unavailable, then system reliability is maintained, but memory allocation performance deteriorates
Solution Approach 1:
The patent implements feedback mechanisms where the system continuously monitors memory allocation performance and the availability of optimized settings for different executable codes. When optimized settings become available through learning or configuration, the system transitions from using default settings to applying the optimized scheme, thereby improving performance while maintaining reliability during the transition period.
Data Source
AI summary
A configurable memory allocation and management system may generate a configuration file with memory settings that may be deployed at runtime. An execution environment may capture a memory allocation boundary, look up the boundary in a configuration file, and apply the settings when the settings are available. When the settings are not available, a default set of settings may be used. The execution environment may deploy the optimized settings without modifying the executing code.


