Virtualizing Guest Storage Buffers for Asynchronous Processes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Asynchronous processes in virtual processing environments face challenges in managing large guest storage buffers, as allocating entire buffers in host real storage is impractical and can lead to difficulties due to exceptions like dynamic address translation faults.
Innovation Solution
A computer-implemented method is provided to facilitate host real storage for guest storage buffers by storing data in a guest storage buffer backed by host real storage, using indicators to detect and commit additional storage units dynamically, ensuring efficient allocation and management of storage resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire guest storage buffer is allocated in host real storage, then the asynchronous process can operate without page faults, but the host real storage consumption increases significantly and allocation becomes impractical
Solution Approach 1:
The guest storage buffer is divided into multiple blocks, where only the currently active block is allocated in host real storage. Other blocks remain as virtual storage that is allocated on-demand when needed. This segmentation allows the system to maintain operation continuity for the active block while avoiding the impracticality of allocating the entire large buffer upfront.
Solution Approach 2:
The host pre-allocates only the necessary portion of real storage for the currently active buffer block before the asynchronous process needs it. This preliminary allocation ensures the process can operate without page faults during its execution, while avoiding the waste of pre-allocating the entire buffer size that may never be fully used.
2Quantity of substance
If the guest storage buffer is allocated in blocks of real host storage, then host real storage consumption is reduced, but management complexity increases due to dynamic address translation faults
Solution Approach 1:
The complexity of managing dynamic address translation and block allocation is extracted from the asynchronous process and centralized in the host system. The host maintains control over buffer block allocation, pinning, and unpinning operations, while the asynchronous process simply operates on the currently pinned block without needing to manage the complexity itself.
Solution Approach 2:
The patent introduces an intermediary mechanism where the host acts as a mediator between the asynchronous process and the guest storage buffer. The host intercepts storage access requests, manages the mapping between virtual buffer blocks and real storage blocks, and handles address translation, thereby simplifying the process's view of storage management.
3Productivity
If the guest storage buffer is made larger to accommodate asynchronous process needs, then the process can operate independently without waiting for other processes, but the allocation of host real storage becomes impossible or impractical
Solution Approach 1:
The buffer allocation is made dynamic rather than static. The host real storage allocation adapts to the actual needs of the asynchronous process by pinning only the required buffer blocks in real storage when needed and unpinning them when no longer needed. This dynamic approach enables large virtual buffer sizes while keeping actual real storage consumption manageable and feasible.
Data Source
AI summary
The amount of host real storage provided to a large guest storage buffer is controlled. This control is transparent to the guest that owns the buffer and is executing an asynchronous process to update the buffer. The control uses one or more indicators to determine when additional host real storage is to be provided.


