IOMMU คืออะไรและจะปรับปรุงประสิทธิภาพ VM ของฉันอย่างไร


28

ชิปเซ็ตของมาเธอร์บอร์ดรองรับฟีเจอร์นี้IOMMU ที่ฉันได้อ่าน (แต่ไม่เข้าใจจริง ๆ ) ว่ามันช่วยปรับปรุงประสิทธิภาพ VM โดยให้ VM ใช้ประโยชน์จากฮาร์ดแวร์จริงแทนฮาร์ดแวร์เสมือน

สิ่งนี้นำมาปรับปรุงประสิทธิภาพใน VM หรือไม่? และถ้าเป็นเช่นนั้นฉันจะทำให้ Virtualbox ได้รับประโยชน์อย่างไร

คำตอบ:


21

เรื่องสั้นที่ยาวนานวิธีเดียวที่ IOMMU จะช่วยคุณคือถ้าคุณเริ่มมอบหมายทรัพยากร HW ให้กับ VM โดยตรง แค่มีมันไม่ได้ทำให้เร็วขึ้น

มันจะช่วยให้ทราบได้อย่างชัดเจนว่าเมนบอร์ด / ซีพียูใดที่โฆษณาคุณสมบัตินี้ IOMMU เป็นกลไกการแมป IO เฉพาะระบบและสามารถใช้กับอุปกรณ์ส่วนใหญ่

IOMMU ดูเหมือนชื่อทั่วไปสำหรับIntel VT-dและ AMD IOV ในกรณีนี้ฉันไม่คิดว่าคุณจะสามารถใช้อุปกรณ์มัลติเพล็กซ์ได้มันเหมือนกับ PCI passthrough ก่อนที่จะมีคำแนะนำ virtualization virtualization ทั้งหมด :) SR-IOVนั้นแตกต่างกันอุปกรณ์ต่อพ่วงต้องรองรับ HW รู้ว่ากำลังทำเวอร์ชวลไลเซชันและสามารถมอบหมาย HW ชิ้นส่วนของตัวเองให้กับ VM VMs จำนวนมากสามารถพูดคุยกับอุปกรณ์ SR-IOV พร้อมกันด้วยค่าใช้จ่ายที่ต่ำมาก

สิ่งเดียวที่เร็วกว่า SR-IOV ก็คือ PCI passthrough แม้ว่าในกรณีนั้นมีเพียง VM เดียวเท่านั้นที่สามารถใช้อุปกรณ์นั้นได้แม้แต่ระบบปฏิบัติการโฮสต์ก็ไม่สามารถใช้งานได้ PCI passthrough จะมีประโยชน์สำหรับการพูดถึง VM ที่รันฐานข้อมูลที่เข้มข้นซึ่งจะได้รับประโยชน์จากการเชื่อมต่อกับ FibreChannel SAN

การเข้าใกล้ HW จะมีข้อ จำกัด อย่างไรก็ตามมันทำให้ VM ของคุณพกพาได้น้อยลงสำหรับการปรับใช้ที่ต้องการการย้ายข้อมูลสด สิ่งนี้ใช้ได้กับทั้ง SR-IOV และ PCI passthrough

การปรับใช้ Linux แบบเสมือนจริงที่เป็นค่าเริ่มต้นมักจะใช้VirtIOซึ่งค่อนข้างเร็วในการเริ่มต้น


ฉันอ่านสิ่งนั้นจากคู่มือผู้ใช้มาเธอร์บอร์ดของฉันโดยบอกว่าหากชิปเซ็ตรองรับมันสามารถให้การเข้าถึงทางกายภาพกับฮาร์ดแวร์โฮสต์ได้
Uri Herrera

ฉันเพิ่งอ่าน Xen Wiki, IOMMU ดูเหมือนว่าจะทำในสิ่งที่ SR-IOV ทำเช่นกัน แต่ฉันไม่ได้ใช้ Xen และ Virtualbox ดูเหมือนจะไม่ใช้ประโยชน์จากสิ่งนี้
Uri Herrera

ไม่คอมพิวเตอร์ส่วนใหญ่ไม่มี IOMMU บางทีคุณอาจคิดว่า IO-APIC?
psusi

1
ที่จริงบทความวิกิพีเดียนี้จะอธิบายถึงนี้สวยดี: en.wikipedia.org/wiki/X86_virtualization ชัยชนะที่ยิ่งใหญ่สำหรับการสนับสนุน IOMMU คือเราสามารถเปลี่ยนอุปกรณ์ที่เราใช้ในขณะดำเนินการ ก่อนที่เราจะต้องระบุช่วงของอุปกรณ์ในรายการเคอร์เนล ARG และอุปกรณ์ต่อพ่วงเหล่านั้นเท่านั้นที่มีสิทธิ์ได้รับการส่งผ่าน IOMMU ช่วยให้คุณทำการแมปอุปกรณ์ตามที่เห็นสมควร อีกครั้งนี่เป็นการเข้าถึงแบบเอกสิทธิ์เฉพาะบุคคลไม่ว่าโฮสต์ของคุณจะใช้งานหรือหนึ่งใน VMs ก็คือ นี่เป็นคุณลักษณะที่เป็นศูนย์กลางของเซิร์ฟเวอร์
ppetraki

1
@UriHerrera ฉันขอแนะนำให้คุณใช้ KVM ซึ่งรองรับทั้ง virtualization ของ Intel และ AMD มีความยืดหยุ่นและมีคุณสมบัติเพิ่มเติมรวมถึงคุณสมบัติที่พบใน VirtualBox
Oxwivi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.