With reference to FIG. 3, in illustrative embodiments, interface logic 114 is disclosed which comprises functionality for interfacing kernel-based applications such as, e.g., application 212, and filesystems such as, e.g., filesystem 222, with user space-based IO load balancing and submission functionality 216 via the kernel space 220. For example, interface logic 114 may determine which logical volumes are exposed to the IO load balancing and submission functionality 216 and also determine the available paths for one or more of the logical volumes. The paths for each logical volume may be grouped together by multipath devices, for example, using their respective unique identifiers. For the logical volumes that are exposed to the IO load balancing and submission functionality 216, interface logic 114 generates user space block devices 218 in the user space 210 and corresponding kernel space block devices 228 in the kernel space 220 which may be used by the application 212 or filesystem 222 to interface with the IO load balancing and submission functionality 216. For example, the kernel space block device 228, which resides in the kernel space 220, transfers IO operations received from the application 212 or filesystem 222 to the IO load balancing and submission functionality 216 in the user space 210. For example, the IO operations may be transferred to the IO load balancing and submission functionality 216 using inter-process communication (IPC) network sockets or any interface which is configured to copy data from the kernel space 220 to user space 210. The IO load balancing and submission functionality 216 may then perform load balancing and distribute the IO operations via the HBA 232 along one or more paths to the storage array 105.