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

Материал из Национальной библиотеки им. Н. Э. Баумана
Строка 5: Строка 5:
 
| screenshot            = Rightsizing-your-sql-server-virtual-machine-12-638.jpg
 
| screenshot            = Rightsizing-your-sql-server-virtual-machine-12-638.jpg
 
| caption                = Пример организации VMQ
 
| caption                = Пример организации VMQ
| developer              = [http://www.vmware.com/ 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    = {{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>
Строка 15: Строка 15:
 
| genre                  = [https://ru.wikipedia.org/wiki/Гипервизор Hypervisor]
 
| genre                  = [https://ru.wikipedia.org/wiki/Гипервизор Hypervisor]
 
| license                = [https://ru.wikipedia.org/wiki/Коммерческое_программное_обеспечение Commercial] [https://ru.wikipedia.org/wiki/Проприетарное_программное_обеспечение proprietary software]
 
| license                = [https://ru.wikipedia.org/wiki/Коммерческое_программное_обеспечение Commercial] [https://ru.wikipedia.org/wiki/Проприетарное_программное_обеспечение proprietary software]
| website                = {{Official website|http://www.vmware.com/products/fusion/}}
+
| website                = <!-- Removed: no 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 // En.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 // En.Wikipedia. Дата обновления: 08.05.2018 г.  // URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>
  
  
Строка 41: Строка 41:
  
 
Сетевой адаптер, поддерживающий 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>
  
 
==Архитектура очереди виртуальной машины==
 
==Архитектура очереди виртуальной машины==
Строка 47: Строка 47:
 
*Виртуализация влияет на производительность, и 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 // En.Wikipedia. Дата обновления: 08.05.2018 г.  // URL: https://en.wikipedia.org/wiki/VMQ. (Дата обращения: 28.12.2018).</ref>
  
 
==Как использовать VMQ==
 
==Как использовать VMQ==
Строка 53: Строка 53:
 
*Выберите виртуальную машину.
 
*Выберите виртуальную машину.
 
*Перейдите в настройки (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|600x600px|центр]]
 
[[Файл:Снимок_экрана_2018-12-29_в_9.34.14.png|600x600px|центр]]
  
==Ссылки ==
+
==Список источников ==
 
{{reflist|group=Источник}}
 
{{reflist|group=Источник}}

Версия 18:43, 9 января 2019

Virtual Machine Queue
Rightsizing-your-sql-server-virtual-machine-12-638.jpg
Пример организации VMQ
Разработчики: VMware, Inc.
Постоянный выпуск: 8.1.1 / December 8, 2015 (2015-12-08)[1]
Операционная система: OS X
Платформа: Apple-Intel architecture
Тип ПО: Hypervisor
Лицензия: Commercial proprietary software
Веб-сайт {{#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, то обработка сетевых пакетов происходит следующим образом:

1ec883ef9cb378bd4f7b59e699ee2e20.png


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

25d5bb8960ac2865ec7ab64587d93447.png

Сетевой адаптер, поддерживающий 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]
Снимок экрана 2018-12-29 в 9.34.14.png

Список источников

  1. 1,0 1,1 1,2 VMQ // En.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).
  1. "VMware Fusion 8.1 Release Notes". VMware, Inc.