Method to balance I/O transactions in a multipath environment based on application, process or thread information.
Original Publication Date: 2008-Jun-10
Included in the Prior Art Database: 2008-Jun-10
Multipath I/O is a method of having multiple paths available to deliver I/O from an initiator to a target. Algorithms are used to determine which path each I/O should take. Current MPIO algorithms are limited to Round Robin, Fail over and load balancing. The problem is none of the current algorithms account for the type or content of I/O transactions to determine which path the I/O should use.
Method to balance I/O transactions in a multipath environment based on application , process or thread information.
The solution is an algorithm that takes into account input from the system administrator on application, process or thread priorities and path designation. This gives the system administrator the ability to improve Quality of Service by tailoring path usage for his environment.
The solution is to allow the system administrator to provide input on path selection based on specific applications, processes or threads. This input will include the application identifier, process id or thread id as well as which paths should be used for I/O transactions matching these identifiers. One or more paths can be bound to the application, process or thread. Multi-pathing software using this algorithm will use this information to select the path that the I/O transaction will be sent down. This provides a mechanism for the system administrator to tune his system and path usage that is best suited for his particular MPIO environment and applications.
This idea can be used in a unique solution with Workload partitions. I/O transactions for each workload partition (the application) can be assigned to specific paths or have priorities set to increase the use of certain paths. This can improve the Quality of Service for Workload partitions.