As multipathing technologies have improved, the IO load balancing and submission functionality has, in some cases, completely moved to the user space 210 for some applications. This means that IO operations that are submitted by applications for delivery to the storage array 105 no longer utilize the IO load balancing and submission functionality 224 residing in the kernel space 220. These applications instead rely on IO load balancing and submission functionality 216 residing in the user space 210 which utilizes function calls and libraries in the user space to form and establish connections with the storage array 105 from the user space 210. The IO load balancing and submission functionality 216 does not require the use of the IO stack, interrupts or other functionality in the kernel space 220. After the establishment of a connection by the IO load balancing and submission functionality 216, IO operations for the applications are submitted to the storage array 105 by the IO load balancing and submission functionality 216 via the HBAs in the hardware space 230 from the user space 210 without requiring use of the IO load balancing and submission functionality 224 found in the kernel space 220.