Virtualization Tips and Tricks (VMware/Hypervisor)
We understand the following information is specific to usage of HyperVisor and not all virtualization software will behave the same. However, the information below should suffice to help you step through virtualization of most any platform keeping the following key aspects in mind. As always if something doesn't quite fit, or you need further support, please reach out to our team at support.wheatstone.com
Optimizing
a Virtual Machine (VM) environment for Audio over IP (AoIP)
requires careful attention to networking and system
configurations to ensure low latency, high reliability, and
minimal jitter. Here are the recommended settings and
considerations:
Network
Interface Configuration
- Dedicated
NICs:
Avoid sharing network interfaces (NICs) between VMs or
other services. Use dedicated NICs for AoIP traffic.
- If
possible, use high-performance NICs (e.g., Intel or
Mellanox) with support for low-latency features.
- Enable
jumbo frames if your AoIP system supports it.
- SR-IOV
or Passthrough:
- Enable SR-IOV
(Single Root I/O Virtualization) or PCI
Passthrough to allocate NICs directly to the VM,
bypassing the hypervisor's network stack.
- This
reduces latency and processing overhead.
- Disable
Offloading Features:
- Turn
off TCP offloading features like checksum offloading, large
send offload (LSO), and receive side scaling
(RSS) if they interfere with AoIP traffic.
Firewall
and Security Settings
- Firewall
Rules:
- Allow
the specific UDP/TCP ports used by your AoIP protocols
(e.g., AES67, Livewire, Ravenna, Dante).
- Minimize
the number of active rules to reduce latency.
- Disable
Intrusion Detection/Prevention Systems:
- If
you have IDS/IPS on the VM or host, exclude AoIP traffic
from inspection to reduce packet delays.
- QoS
Configuration:
- Use
Quality of Service (QoS) tagging to prioritize AoIP
traffic on your network. Assign it a high priority class
(e.g., DSCP 46 for EF - Expedited Forwarding).
VM
Hypervisor Configuration
- vCPU
Pinning:
- Pin
VM vCPUs to specific physical cores to reduce CPU
contention.
- Reserve
some cores exclusively for the hypervisor.
- Real-Time
Kernel:
- Use
a VM guest OS with real-time kernel support for precise
timing (e.g., Linux with PREEMPT_RT or Windows
configured for real-time performance).
- RAM
Allocation:
- Allocate
dedicated, non-shared memory to the VM to prevent
swapping and reduce latency.
- Interrupt
Moderation:
- Disable
or adjust interrupt moderation on the NIC to allow for
faster packet processing.
Synchronization
- NTP/PTP:
- Use
Precision Time Protocol (PTP, IEEE 1588v2) for clock
synchronization if supported by your AoIP system.
- Ensure
the VM clock sync is disabled with the hypervisor and
relies on NTP/PTP directly.
Host
System Considerations
- CPU
Performance Mode:
- Set
the host system's CPU governor to performance mode
to prevent dynamic frequency scaling.
- Isolate
Host Services:
- Minimize
other workloads on the host machine to prevent resource
contention.
- Avoid
Overcommitment:
- Ensure
CPU and memory resources are not overcommitted. Reserve
adequate capacity for AoIP VMs.
- Storage
Optimization:
- Use
high-speed SSDs for VM storage to minimize I/O latency,
especially if the AoIP system involves media files.
Testing
and Validation
- Latency
Measurement:
- Use
network monitoring tools (e.g., Wireshark, PRTG) to
measure packet delay, jitter, and loss.
- Stress
Testing:
- Simulate
high traffic loads to ensure the configuration holds up
under stress.
- AoIP-Specific
Tools:
- If
using specific AoIP systems like WheatNet-IP, Dante, or
Ravenna, consult their documentation for recommended
settings and tools.
Related Articles
USB Devices FAQ
My Win 10 PC is only getting the left channel over USB. What's the issue? You must use Windows 10, release 1803 or later for the USB audio to work properly. At this point in the Windows 10 lifecycle, all PCs should be on a build that supports stereo ...