VMware introduced a new driver architecture in ESXi 5.5 (in 2013) called the “Native Device Driver” model along with several reference device driver implementations. We are very excited about this new architecture which we believe will enable our I/O ecosystem partners to provide better value and to differentiate their device driver solutions.
Native device driver architecture is the foundation for building new extensible features inside the VMware ESXi hypervisor. It increases the robustness of the device driver while providing the best possible performance for the underlying infrastructure. This framework also improves overall supportability, manageability, and debugging capabilities for device drivers.
The new native driver model, as depicted in Figure 1, enables third party drivers to interface directly with the vmkernel device layer via native vmkernel APIs called “VMK API”.
Top 10 Reasons to move to the Native Model
- Eliminates one level of indirection and translation, enabling partners to develop against the native vmkernel APIs.
- Reduces time spent at interrupt level to an absolute minimum; reduces processing when accessing shared resources.
- The scheduler is our friend: Move as many cycles as possible into scheduler’s realm e.g. task completion handling is moved to a high priority kernel under scheduler’s control.
- The native driver model has been designed to be compatible with kernel preemption.
- Better supportability: Enables longer term binary compatibility.
- Better manageability: A single point device manager manages the hierarchical device objects inside kernel for a given physical device.
- Better debugging capabilities: The native driver API enables the flexibility to develop debugging tools for ESXi more naturally and effectively.
- Significant performance boost in CPU savings.
- Partners will have better integration of their management module with ESXi management infrastructure
- All new I/O features going forward will only be developed for the native model.
We realize that our hardware ecosystem will not be able to migrate to the native driver model in one release. Therefore, we are ensuring that both native and legacy device drivers can coexist in harmony in vSphere 5.5 and subsequent release. However, VMware strongly encourages partners to direct future driver development effort to the new native driver model to take advantage of all the benefits offered by the new architecture.
For more information, please visit VMware Developer Center. Device driver development kit is called “VMK API Device Driver Development” kit and it is available here (you must be a member of the IOVP program to have access).
Also, please don’t forget to attend the Advanced Technical session on “Boot Camp for Building Native Drivers on vSphere” (TEX3174) at VMware Partner Exchange 2014. The session is scheduled for Feb 11, 2014 at 1PM in Moscone West, Room 2011. You can pre-register for this interesting session at the PEX site.