Storage I/O Path Selection via Core Affinity Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage apparatuses, cross calls between processors or processor cores can occur when a server selects a path for I/O requests, leading to decreased performance as the load is applied to both processors or cores, causing inefficiencies in data transfer.
Innovation Solution
The storage apparatus dynamically specifies a port responsible core and an LU responsible core for each port and LU, respectively, and the server acquires this information to select non-cross call paths where the LU responsible core and port responsible core are the same processor core, ensuring efficient data transfer by avoiding cross calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a server selects a path for I/O requests using a round-robin method among multiple paths, then path utilization is improved, but cross calls between processor cores occur causing performance degradation
Solution Approach 1:
The server acquires identification information about LU responsible cores in advance before transmitting I/O requests. This preliminary action enables the server to know which processor core is responsible for each LU beforehand, allowing it to select paths that avoid cross calls and prevent performance degradation before it occurs.
Solution Approach 2:
The server periodically acquires updated identification information about LU responsible cores from the storage apparatus. This feedback mechanism ensures the server has current information about core responsibilities, enabling it to adaptively select optimal paths that avoid cross calls while maintaining good path utilization.
2Productivity
If the LU responsible core is dynamically changed according to processor load, then load balancing is improved, but the server requires periodic updates to maintain accurate path selection
Solution Approach 1:
The server periodically acquires identification information about LU responsible cores from the storage apparatus at predetermined intervals. This periodic action allows the server to receive updates about dynamic core reassignments due to load changes while maintaining efficient operation without requiring continuous real-time communication.
3Adaptability or versatility
If multiple paths are prepared from server to LU, then path selection flexibility is improved, but the likelihood of cross call occurrence increases
Solution Approach 1:
The identification information about LU responsible cores acts as an intermediary that bridges the server's path selection process and the storage apparatus's processor core responsibilities. This information enables the server to select paths that align with core responsibilities, allowing multiple paths to be used flexibly while avoiding cross call harmful effects.
Data Source
AI summary
A storage apparatus includes multiple ports communicable with a server, multiple processor cores and multiple LUs (Logical Units). For each port, a port responsible core, which is a processor core to accept an I/O request received by the port, is specified. For each LU, an LU responsible core, which is a processor core responsible for I/O, is specified. The LU responsible core may be dynamically changed. The server periodically acquires identification information about the LU responsible cores from the storage apparatus. When transmitting an I/O request, the server selects a non-cross call path, which is such a path that the LU responsible core and the port responsible core are the same processor core, from among multiple paths to an I/O destination LU, which is an LU specified by the transmission target I/O request, and transmits the transmission target I/O request via the selected path.


