2020-05-20T09:02:00Z

What is IOMMU?

Rony_Sklar - PeerSpot reviewer
  • 7
  • 27562
PeerSpot user
7

7 Answers

SA
User
2020-07-26T19:08:54Z
Jul 26, 2020

IOMMU stands for Input-Output Memory Management Unit. It connects i/o devices to the DMA bus the same way processor is connected to the memory via the DMA bus - https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit. To me although I am not an expert the advantages are speed and security.

Search for a product comparison in Server Virtualization Software
JA
User
2020-05-27T02:49:08Z
May 27, 2020

The only way IOMMU will help is if you start assigning HW resources directly to the VM. Just having it available doesn't make things faster.

It would help to know exactly what Motherboard/CPU is advertising this feature. IOMMU is a system specific IO mapping mechanism and can be used with most devices.

IOMMU sounds like a generic name for Intel VT-d and AMD IOV. In which case I don't think you can multiplex devices, it's a lot like PCI passthrough before all these fancy virtualization instructions existed :). SR-IOV is different, the peripheral itself must carry the support. The HW knows it's being virtualized and can delegate a HW slice of itself to the VM. Many VMs can talk to an SR-IOV device concurrently with very low overhead.

The only thing faster than SR-IOV is PCI passthrough though in that case only one VM can make use of that device, not even the host operating system can use it. PCI passthrough would be useful for say a VM that runs an intense database that would benefit from being attached to a FiberChannel SAN.

Getting closer to the HW does have limitations however, it makes your VMs less portable for deployments that require live migration for example. This applies to both SR-IOV and PCI passthrough.

Default virtualized Linux deployments usually use VirtIO which is pretty fast to begin with

SA
Real User
Top 5
2021-07-28T07:16:27Z
Jul 28, 2021

IOMMU is a component in a memory controller that translates device virtual addresses into physical addresses. 


The IOMMU’s DMA re-mapping functionality is necessary in order for VMDirectPath I/O to work. DMA transactions sent by the passthrough PCI function carry guest OS physical addresses which must be translated into
host physical addresses by the IOMMU.


Hardware-assisted I/O MMU virtualization called Intel Virtualization Technology for Directed I/O (VT-d) in
Intel processors and AMD I/O Virtualization (AMD-Vi or IOMMU) in AMD processors, is an I/O memory
management feature that remaps I/O DMA transfers and device interrupts. This feature (strictly speaking, is a
function of the chipset, rather than the CPU) can allow virtual machines to have direct access to hardware I/O
devices, such as network cards, storage controllers (HBAs), and GPUs.

AT
Consultant
2020-05-27T00:44:25Z
May 27, 2020

DEEPEN DHULLA did explain well IOMMU. IOMMU has to be activated at the bios level. It exists on Intel and AMD platforms. It is used a lot inside virtualization platforms like VMware VSphere. It provides direct access to the underlayer hardware for a VM.


https://docs.vmware.com/en/VMw...

DD
Real User
2020-05-26T10:08:49Z
May 26, 2020

In virtualization, guest operating systems can use hardware that is not specifically made for virtualization. Higher performance hardware such as graphics cards use DMA to access memory directly; in a virtual environment, all memory addresses are re-mapped by the virtual machine software, which causes DMA devices to fail. The IOMMU handles this re-mapping, allowing the native device drivers to be used in a guest operating system.


Read more technical :


https://en.wikipedia.org/wiki/... and also


https://wiki.archlinux.org/ind...


https://www.linux-kvm.org/page...


In plain language, it helps in using hardware resources in VM, as good as it had direct hardware full access., thus you use the original driver and code in VM too and are able to get the best performance.

Luis Apodaca - PeerSpot reviewer
User
Top 5
2021-08-11T20:07:26Z
Aug 11, 2021

The easy way to understand is: whatever device you plug into the host hardware it's going to be able for the VM. 


The idea is to share resources and minimize the hardware cost.

Find out what your peers are saying about Proxmox, VMware, Microsoft and others in Server Virtualization Software. Updated: March 2024.
765,386 professionals have used our research since 2012.
AT
Real User
2021-07-30T00:48:15Z
Jul 30, 2021

input–output memory management unit (IOMMU) is a memory management unit(MMU) that connects a direct-memory-access–capable (DMA-capable) I/O bus to the main memory. Like a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU maps device-visible virtual addresses (also called device addresses or I/O addresses in this context) to physical addresses. 


The advantages of having an IOMMU, compared to direct physical addressing of the memory (DMA), include:



  • Large regions of memory can be allocated without the need to be contiguous in physical memory – the IOMMU maps contiguous virtual addresses to the underlying fragmented physical addresses. Thus, the use of vectored I/O (scatter-gather lists) can sometimes be avoided.

  • Devices that do not support memory addresses long enough to address the entire physical memory can still address the entire memory through the IOMMU, avoiding overheads associated with copying buffers to and from the peripheral's addressable memory space.

  • It also helps a guest Virtualized operating System to Remap memory and Share a memory. 

Server Virtualization Software
What is sever virtualization software? Server virtualization software, sometimes also called platform virtualization software, is a staple of the modern data center. Virtualization involves emulating a complete physical computer in virtual form. Server virtualization is the process of using a software application to divide a single physical server into separate unique virtual servers. Each of the servers is capable of having its own operating system and working independently....
Download Server Virtualization Software ReportRead more

Server Virtualization Software experts

Olajide Olusegun - PeerSpot reviewer
AANKITGUPTAA - PeerSpot reviewer
Chris Childerhose - PeerSpot reviewer
SigfridCecillon - PeerSpot reviewer
Siddhesh Sawant - PeerSpot reviewer
Atif Najam - PeerSpot reviewer
Kevin Honde - PeerSpot reviewer
Muljo Witono - PeerSpot reviewer