As mentioned above, MPIO drivers often group information about all of the paths between a host device and a storage array 105 for a given logical volume into a logical device, also known as a multipath device. Multipath devices are utilized by the MPIO drivers of the host device to distribute IO operations across all of the available paths to a given logical volume. An application 212 and kernel space filesystem 222 typically utilize kernel space-based IO load balancing and submission functionality 224 to distribute the IO operations across the paths associated with the given logical volume in the corresponding the multipath device. For example, the application 212 and filesystem 222 typically rely on the use of IO stacks, interrupts, lock contentions and other kernel space-based functionality residing in the kernel space for implementing the IO load balancing and submission functionality 224.
For example, as seen on the left side of