The Virtual Machine Communication Interface (VMCI) is an infrastructure that provides fast and efficient communication between a virtual machine and the host operating system and between two or more virtual machines on the same host. The VMCI SDK facilitates development of applications that use the VMCI infrastructure.
The VMCI SDK has the following components:
- A datagram API to exchange small messages
- A shared memory API to share data
- An access control API to control what resources a virtual machine can access
- A discovery service for publishing and retrieving resources
Without VMCI, virtual machines communicate with the host using the network layer. Using the network layer adds overhead to the communication. With VMCI communication overhead is minimal and different tasks that require that communication can be optimized.