VMQ (Virtual Machine Queue) — различия между версиями

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:41, 10 января 2019.
 
(не показаны 4 промежуточные версии 2 участников)
Строка 7: Строка 7:
 
| developer              = [[VMware, Inc.|VMware, Inc.]]
 
| developer              = [[VMware, Inc.|VMware, Inc.]]
 
| latest release version = 8.1.1
 
| latest release version = 8.1.1
| latest release date    = {{start date|2015|12|08}}<ref>{{cite web|title=VMware Fusion 8.1 Release Notes|url=http://pubs.vmware.com/Release_Notes/en/fusion/8/fusion-81-release-notes.html |publisher=VMware, Inc.}}</ref>
+
| latest release date    = 8.1.1 / 8 декабря 2015 г.
 
| latest preview version = <!-- Removed: no source -->
 
| latest preview version = <!-- Removed: no source -->
 
| latest preview date    = <!-- Removed: no source -->
 
| latest preview date    = <!-- Removed: no source -->
| operating_system      = [https://ru.wikipedia.org/wiki/OS_X OS X]
+
| operating_system      = [[OS X]]
| platform              = [https://ru.wikipedia.org/wiki/Macintosh#.D0.9F.D0.B5.D1.80.D0.B5.D1.85.D0.BE.D0.B4_.D0.BD.D0.B0_.D0.B0.D1.80.D1.85.D0.B8.D1.82.D0.B5.D0.BA.D1.82.D1.83.D1.80.D1.83_Intel Apple-Intel architecture]
+
| platform              = Архитектура Apple-Intel
 
| language              = <!-- Removed because did not have source -->
 
| language              = <!-- Removed because did not have source -->
| genre                  = [https://ru.wikipedia.org/wiki/Гипервизор Hypervisor]
+
| genre                  = [[Гипервизор]]
| license                = [https://ru.wikipedia.org/wiki/Коммерческое_программное_обеспечение Commercial] [https://ru.wikipedia.org/wiki/Проприетарное_программное_обеспечение proprietary software]
+
| license                = [[Проприетарное программное обеспечение|Проприетарное ПО]]
| website                =  <!-- Removed: no source -->
+
| website                =  <!-- Removed because did not have source -->
 
}}
 
}}
  
'''VMQ''' ({{lang-en|Virtual Machine Queue}}) - это аппаратная технология виртуализации для эффективного переноса сетевого трафика (используя протоколы [[TCP/IP (Transmission Control Protocol/Internet Protocol)|TCP/IP]], iSCSI или FCoE) для виртуализированной ОС. Технология VMQ  была запатентована в 2010 году Даниэлем Баумбергером из компании Intel. Совместимый с VMQ сетевой контроллер может использовать DMA для транспортировки всех полученных фреймов, которые должны быть обработаны для получения очереди для буферов приема, на которые выделена память для очереди<ref group="Источник" name="multiple1"> VMQ // En.Wikipedia. Дата обновления: 08.05.2018 г. // URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>
+
'''VMQ''' ({{lang-en|Virtual Machine Queue}}) - это аппаратная технология виртуализации для эффективного переноса сетевого трафика (используя протоколы [[TCP/IP (Transmission Control Protocol/Internet Protocol)|TCP/IP]], iSCSI или FCoE) для виртуализированной ОС. Технология VMQ  была запатентована в 2010 году Даниэлем Баумбергером из компании Intel. Совместимый с VMQ сетевой контроллер может использовать DMA для транспортировки всех полученных фреймов, которые должны быть обработаны для получения очереди для буферов приема, на которые выделена память для очереди <ref group="Источник" name="multiple1"> VMQ // Wikipedia. Дата обновления: 08.05.2018. URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>.
  
VMQ - это тип аппаратной фильтрации пакетов, который доставляет данные пакетов из внешней сети виртуальных машин непосредственно в операционную систему виртуализированного узла. VMQ позволяет контроллеру сетевого интерфейса (NIC) передавать входящие данные непосредственно в буфер приема сетевого адаптера с помощью прямого доступа к памяти (DMA). Это упрощает процесс, связанный с маршрутизацией пакетов, и снижает необходимость их копирования из операционной системы управления (ОС) на виртуальную машину (VM). Вместо одного процессора, обрабатывающего все сетевые обмены данными, различные процессоры могут обрабатывать пакеты для разных виртуальных машин с VMQ. Это устраняет зависимость от обмена трафиком на основе драйверов и улучшает передачу сетевого трафика.<ref group="Источник" name="multiple2" > Hyper-V: Virtual Machine Queues (VMQ) FAQs // portal.nutanix.com. Дата обновления: 13.07.2018 г. // URL: https://portal.nutanix.com/#page/kbs/details?targetId=kA0600000008eNTCAY (Дата обращения: 28.12.2018).</ref>
+
VMQ - это тип аппаратной фильтрации пакетов, который доставляет данные пакетов из внешней сети виртуальных машин непосредственно в операционную систему виртуализированного узла. VMQ позволяет контроллеру сетевого интерфейса (NIC) передавать входящие данные непосредственно в буфер приема сетевого адаптера с помощью прямого доступа к памяти (DMA). Это упрощает процесс, связанный с маршрутизацией пакетов, и снижает необходимость их копирования из операционной системы управления (ОС) на виртуальную машину (VM). Вместо одного процессора, обрабатывающего все сетевые обмены данными, различные процессоры могут обрабатывать пакеты для разных виртуальных машин с VMQ. Это устраняет зависимость от обмена трафиком на основе драйверов и улучшает передачу сетевого трафика<ref group="Источник" name="multiple2" > Hyper-V: Virtual Machine Queues (VMQ) FAQs // portal.nutanix.com. Дата обновления: 13.07.2018. URL: https://portal.nutanix.com/#page/kbs/details?targetId=kA0600000008eNTCAY (Дата обращения: 28.12.2018).</ref>.
  
  
Строка 26: Строка 26:
 
*Классификацию полученных пакетов в NIC с помощью направления [[MAC (Message Authentication Code)|MAC]]-адреса для маршрутизации пакетов в различные очереди приема.
 
*Классификацию полученных пакетов в NIC с помощью направления [[MAC (Message Authentication Code)|MAC]]-адреса для маршрутизации пакетов в различные очереди приема.
 
*Возможность NIC использовать DMA для непосредственной передачи пакетов в общую память виртуальной машины.
 
*Возможность NIC использовать DMA для непосредственной передачи пакетов в общую память виртуальной машины.
*Масштабирование на несколько процессоров путем обработки пакетов для разных виртуальных машин на разных процессорах<ref group="Источник" name="multiple1"> VMQ // En.Wikipedia. Дата обновления: 08.05.2018 г. // URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>
+
*Масштабирование на несколько процессоров путем обработки пакетов для разных виртуальных машин на разных процессорах <ref group="Источник" name="multiple1"> VMQ // Wikipedia. Дата обновления: 08.05.2018. URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>.
  
  
Строка 40: Строка 40:
  
 
Сетевой адаптер, поддерживающий VMQ, способен самостоятельно осуществлять необходимую обработку сетевых пакетов, а затем записать данные непосредственно в область памяти соответствующей виртуальной машины.
 
Сетевой адаптер, поддерживающий VMQ, способен самостоятельно осуществлять необходимую обработку сетевых пакетов, а затем записать данные непосредственно в область памяти соответствующей виртуальной машины.
Передача же данных, что с VMQ, что без оной – идет как и обычно: Виртуальный сетевой адаптер – VMBus – Виртуальный коммутатор – Физический сетевой адаптер<ref group="Источник" > Hyper-V и сети // habr.com. Дата обновления: 22.07.2010 г. // URL: https://habr.com/post/97085/. (Дата обращения: 28.12.2018).</ref>
+
Передача же данных, что с VMQ, что без оной – идет как и обычно: Виртуальный сетевой адаптер – VMBus – Виртуальный коммутатор – Физический сетевой адаптер <ref group="Источник" > Hyper-V и сети // habr.com. Дата обновления: 22.07.2010. URL: https://habr.com/post/97085/. (Дата обращения: 28.12.2018).</ref>.
  
 
==Архитектура очереди виртуальной машины==
 
==Архитектура очереди виртуальной машины==
Строка 46: Строка 46:
 
*Виртуализация влияет на производительность, и VMQ помогает улучшить ее.
 
*Виртуализация влияет на производительность, и VMQ помогает улучшить ее.
 
*VMQ sМатериал поддерживает динамическую миграцию.
 
*VMQ sМатериал поддерживает динамическую миграцию.
*VMQ сосуществует с разгрузками задач NDIS и другими оптимизациями. <ref group="Источник" name="multiple1"> VMQ // En.Wikipedia. Дата обновления: 08.05.2018 г. // URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>
+
*VMQ сосуществует с разгрузками задач NDIS и другими оптимизациями<ref group="Источник" name="multiple1"> VMQ // Wikipedia. Дата обновления: 08.05.2018. URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>.
  
 
==Как использовать VMQ==
 
==Как использовать VMQ==
Строка 52: Строка 52:
 
*Выберите виртуальную машину.
 
*Выберите виртуальную машину.
 
*Перейдите в настройки (Settings ) > Программное обеспечение (Hardware) > Сетевые адаптеры (Network Adapter )> Аппаратное ускорение (Hardware Acceleration).
 
*Перейдите в настройки (Settings ) > Программное обеспечение (Hardware) > Сетевые адаптеры (Network Adapter )> Аппаратное ускорение (Hardware Acceleration).
*Выберите пункт "Включить VMQ (Enable virtual machine queue)" в диалоговом окне "Параметры аппаратного ускорения (Hardware Acceleration )".  <ref group="Источник" name="multiple2" > Hyper-V: Virtual Machine Queues (VMQ) FAQs // portal.nutanix.com. Дата обновления: 13.07.2018 г. // URL: https://portal.nutanix.com/#page/kbs/details?targetId=kA0600000008eNTCAY (Дата обращения: 28.12.2018).</ref>
+
*Выберите пункт "Включить VMQ (Enable virtual machine queue)" в диалоговом окне "Параметры аппаратного ускорения (Hardware Acceleration )" <ref group="Источник" name="multiple2" > Hyper-V: Virtual Machine Queues (VMQ) FAQs // portal.nutanix.com. Дата обновления: 13.07.2018. URL: https://portal.nutanix.com/#page/kbs/details?targetId=kA0600000008eNTCAY (Дата обращения: 28.12.2018).</ref>.
  
[[Файл:Снимок_экрана_2018-12-29_в_9.34.14.png|200x200px|обрамить|центр|{{center|Рисунок 3 – Включение VMQ с помощью SCVMM}}]]
+
[[Файл:Снимок_экрана_2018-12-29_в_9.34.14.png|thumb|800px|центр|{{center|Рисунок 3 – Включение VMQ с помощью SCVMM}}]]
  
 
+
==Источники ==
==Список источников ==
+
 
{{reflist|group=Источник}}
 
{{reflist|group=Источник}}

Текущая версия на 14:41, 10 января 2019

Virtual Machine Queue
Rightsizing-your-sql-server-virtual-machine-12-638.jpg
Пример организации VMQ
Разработчики: VMware, Inc.
Постоянный выпуск: 8.1.1 / 8.1.1 / 8 декабря 2015 г.
Операционная система: OS X
Платформа: Архитектура Apple-Intel
Тип ПО: Гипервизор
Лицензия: Проприетарное ПО
Веб-сайт {{#property:P856}}

VMQ (англ. Virtual Machine Queue) - это аппаратная технология виртуализации для эффективного переноса сетевого трафика (используя протоколы TCP/IP, iSCSI или FCoE) для виртуализированной ОС. Технология VMQ была запатентована в 2010 году Даниэлем Баумбергером из компании Intel. Совместимый с VMQ сетевой контроллер может использовать DMA для транспортировки всех полученных фреймов, которые должны быть обработаны для получения очереди для буферов приема, на которые выделена память для очереди [Источник 1].

VMQ - это тип аппаратной фильтрации пакетов, который доставляет данные пакетов из внешней сети виртуальных машин непосредственно в операционную систему виртуализированного узла. VMQ позволяет контроллеру сетевого интерфейса (NIC) передавать входящие данные непосредственно в буфер приема сетевого адаптера с помощью прямого доступа к памяти (DMA). Это упрощает процесс, связанный с маршрутизацией пакетов, и снижает необходимость их копирования из операционной системы управления (ОС) на виртуальную машину (VM). Вместо одного процессора, обрабатывающего все сетевые обмены данными, различные процессоры могут обрабатывать пакеты для разных виртуальных машин с VMQ. Это устраняет зависимость от обмена трафиком на основе драйверов и улучшает передачу сетевого трафика[Источник 2].


Интерфейс VMQ поддерживает:

  • Классификацию полученных пакетов в NIC с помощью направления MAC-адреса для маршрутизации пакетов в различные очереди приема.
  • Возможность NIC использовать DMA для непосредственной передачи пакетов в общую память виртуальной машины.
  • Масштабирование на несколько процессоров путем обработки пакетов для разных виртуальных машин на разных процессорах [Источник 1].


Общие сведения о VMQ

Поддержка VMQ позволяет перенести большую часть затрат на обработку сетевых пакетов, адресованных виртуальным машинам с хостовой ОС на плечи процессора сетевого адаптера. Разумеется, при условии, что сетевой адаптер это поддерживает, и в гостевых ОС установлены компоненты интеграции. Если не используется VMQ, то обработка сетевых пакетов происходит следующим образом:

Рисунок 1 – Обработка сетевых пакетов без использования VMQ

Распределением трафика по виртуальным машинам и фильтрацией по тегам VLAN при этом занимается виртуальный коммутатор, действующий в пространстве родительской ОС. При большом количестве виртуальных машин и при больших объемах трафика это может привести к некоторому снижению производительности, так как у процессора сервера есть и другие задачи, помимо обработки сетевых пакетов. Использование VMQ позволяет переложить обработку пакетов на плечи процессора сетевого адаптера:

Рисунок 2 – Обработка пакетов процессором сетевого адаптера

Сетевой адаптер, поддерживающий VMQ, способен самостоятельно осуществлять необходимую обработку сетевых пакетов, а затем записать данные непосредственно в область памяти соответствующей виртуальной машины. Передача же данных, что с VMQ, что без оной – идет как и обычно: Виртуальный сетевой адаптер – VMBus – Виртуальный коммутатор – Физический сетевой адаптер [Источник 3].

Архитектура очереди виртуальной машины

Архитектура очереди виртуальных машин NDIS (VMQ) предоставляет такие преимущества виртуализации, как:

  • Виртуализация влияет на производительность, и VMQ помогает улучшить ее.
  • VMQ sМатериал поддерживает динамическую миграцию.
  • VMQ сосуществует с разгрузками задач NDIS и другими оптимизациями[Источник 1].

Как использовать VMQ

Процедура включения VMQ с помощью SCVMM:

  • Выберите виртуальную машину.
  • Перейдите в настройки (Settings ) > Программное обеспечение (Hardware) > Сетевые адаптеры (Network Adapter )> Аппаратное ускорение (Hardware Acceleration).
  • Выберите пункт "Включить VMQ (Enable virtual machine queue)" в диалоговом окне "Параметры аппаратного ускорения (Hardware Acceleration )" [Источник 2].
Рисунок 3 – Включение VMQ с помощью SCVMM

Источники

  1. 1,0 1,1 1,2 VMQ // Wikipedia. Дата обновления: 08.05.2018. URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).
  2. 2,0 2,1 Hyper-V: Virtual Machine Queues (VMQ) FAQs // portal.nutanix.com. Дата обновления: 13.07.2018. URL: https://portal.nutanix.com/#page/kbs/details?targetId=kA0600000008eNTCAY (Дата обращения: 28.12.2018).
  3. Hyper-V и сети // habr.com. Дата обновления: 22.07.2010. URL: https://habr.com/post/97085/. (Дата обращения: 28.12.2018).