Automatic Native Image Generation Service
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current managed platforms face difficulties in utilizing Native Generation (NGen) for creating and managing native images, as it requires complex custom actions and manual commands, and NGen images often become invalidated, necessitating frequent regeneration.
Innovation Solution
An automatic native generation service that monitors application libraries, determines when native generation is appropriate based on usage frequency or opt-in identifiers, and automatically regenerates native images when they become invalid, using load counters and heuristics to optimize the process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If manual NGen commands are used through custom installer actions, then native images can be generated, but the complexity of the system increases and ease of operation deteriorates
Solution Approach 1:
The system automatically monitors application libraries and generates native images without requiring manual intervention through custom installer actions. The native generation service self-manages the entire process, eliminating the need for complex custom actions while maintaining ease of operation.
Solution Approach 2:
The system performs preliminary monitoring and detection of when native generation is needed before actually generating the native images. By using load counters and usage frequency tracking, the system prepares and schedules native generation actions in advance, reducing operational complexity.
2Reliability
If NGen images are regenerated manually each time they become invalid, then valid images are maintained, but time consumption increases and productivity decreases
Solution Approach 1:
The system continuously monitors the validity of native images through load counters and usage frequency tracking. When a native image becomes invalid or is rarely used, the feedback mechanism automatically triggers regeneration, ensuring reliable image validity while improving productivity through automated response.
Solution Approach 2:
The native generation service operates continuously in the background, monitoring library usage and automatically regenerating native images as needed. This continuous operation eliminates interruptions and manual interventions, maintaining image validity while maximizing system productivity.
3Adaptability or versatility
If all application libraries are monitored for native generation, then appropriate images are generated, but the complexity of detection and measurement increases
Solution Approach 1:
Instead of uniformly monitoring all application libraries, the system applies local quality by selectively monitoring based on usage frequency and specific criteria. Libraries with higher usage frequency or marked with opt-in identifiers are prioritized for monitoring and native generation, reducing detection complexity while maintaining adaptability.
Solution Approach 2:
The system uses parameter changes such as load counters and usage frequency thresholds to determine which libraries warrant native generation. By dynamically adjusting monitoring parameters based on actual usage patterns, the system achieves adaptability without excessive detection complexity.
Data Source
AI summary
Various technologies and techniques are disclosed for automatically generating native images for a virtual machine environment. A virtual machine environment is provided where application libraries are distributed in an intermediate language format and then compiled at a later point in time. An automatic native generation service is provided that monitors the application libraries and generates a native image for a particular one or more of the application libraries when the service determines that native generation is appropriate. Invalid native images are automatically detected and re-generated. If a load attempt for a particular native image is unsuccessful, then the native image is determined to be invalid. The particular native image is then re-generated automatically.


