I/O Adapter Segments Large Requests to Manage Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server computers with I/O adapter devices face congestion and delays due to limited physical resources, especially when handling large I/O requests from multiple virtual machines, as these devices often run out of memory, leading to intermittent and excessive delays.
Innovation Solution
The I/O adapter device segments large I/O requests into smaller transactions, processes each transaction individually, and returns a response once complete, thereby reducing the memory requirements and allowing other transactions to be handled concurrently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the I/O adapter device processes large I/O requests from multiple virtual machines, then the service coverage is improved, but the memory resource is exhausted causing congestion and delays
Solution Approach 1:
The patent segments large I/O requests into smaller transactions that can be processed individually within available memory constraints. By dividing a large I/O request into multiple smaller transactions, the system can process each segment sequentially or in parallel without requiring the entire large request to be held in memory simultaneously, thus resolving the contradiction between handling large requests and limited memory resources.
2Productivity
If multiple virtual machines use the I/O adapter device concurrently, then the productivity is improved, but the delay increases due to resource contention
Solution Approach 1:
By segmenting I/O requests into smaller transactions, multiple virtual machines can have their requests broken down into manageable units that can be interleaved and processed concurrently. This allows the I/O adapter to switch between different virtual machine requests at transaction boundaries, reducing the waiting time for each virtual machine while maintaining high overall productivity.
Solution Approach 2:
The patent enables continuous processing by allowing the I/O adapter to interleave transactions from multiple virtual machines. Instead of completing one entire I/O request before starting another, the system can process transactions from different virtual machines in an interleaved manner, ensuring that the I/O adapter remains continuously utilized and reducing idle time while maintaining fair resource distribution.
3Manufacturing precision
If the I/O adapter device stores large I/O transactions in memory, then the manufacturing precision is improved for data integrity, but the congestion increases due to limited memory space
Solution Approach 1:
By dividing large I/O requests into smaller transactions, each segment can be stored and processed with appropriate error checking and data integrity measures. This segmentation reduces the memory footprint of each transaction while maintaining data integrity through proper transaction management, reducing congestion without sacrificing precision.
Solution Approach 2:
The patent implements a mechanism where completed transactions are discarded from memory and resources are recovered for use by subsequent transactions. This allows the I/O adapter to maintain data integrity for active transactions while efficiently managing limited memory resources by freeing space as transactions complete, reducing congestion without compromising data accuracy.
Data Source
AI summary
Server computers may include one or more input/output (I/O) adapter devices for communicating with a network and/or direct-attached device. The I/O adapter device may have limited physical resources, such as memory. Large I/O transactions may occupy all available memory on the I/O adapter device, thus causing other I/O transactions to experience intermittent and excessive delays. The I/O adapter device can be configured to issue one or more transactions for a large I/O request. Each transaction transfers a portion of the data requested by the large I/O request. When all the transactions have completed, the client that requested the large I/O request is informed that the I/O request has completed.


