stringtranslate.com

виртуализация x86

Виртуализация x86 — это использование возможностей аппаратной виртуализации на процессоре x86/x86-64.

В конце 1990-х годов виртуализация x86 была достигнута с помощью сложных программных методов, необходимых для компенсации отсутствия у процессора возможностей аппаратной виртуализации при достижении приемлемой производительности. В 2005 и 2006 годах и Intel (VT-x), и AMD (AMD-V) представили ограниченную поддержку аппаратной виртуализации, которая позволила упростить программное обеспечение для виртуализации, но давала очень мало преимуществ в скорости. [1] В более поздних моделях процессоров появилась более широкая аппаратная поддержка, которая позволила существенно повысить скорость.

Программная виртуализация

Следующее обсуждение посвящено только виртуализации защищенного режима архитектуры x86 .

В защищенном режиме ядро ​​операционной системы работает с более высокими привилегиями , например, кольцо 0, а приложения — с более низкими привилегиями, например, кольцо 3. При программной виртуализации хостовая ОС имеет прямой доступ к оборудованию, в то время как гостевые ОС имеют ограниченный доступ к оборудованию, как и любое другое приложение хостовой ОС. Один из подходов, используемый в программной виртуализации x86 для преодоления этого ограничения, называется лишением привилегий кольца , который предполагает запуск гостевой ОС на кольце выше (менее привилегированном), чем 0. [2]

Три метода сделали возможной виртуализацию защищенного режима:

Эти методы приводят к некоторым издержкам производительности из-за отсутствия поддержки виртуализации MMU по сравнению с виртуальной машиной, работающей на изначально виртуализуемой архитектуре, такой как IBM System/370 . [4] : 10  [9] : 17 и 21 

На традиционных мэйнфреймах классический гипервизор типа 1 был автономным и не зависел от какой-либо операционной системы и сам не запускал какие-либо пользовательские приложения. Напротив, первые продукты виртуализации x86 были нацелены на компьютеры рабочих станций и запускали гостевую ОС внутри ОС хоста путем встраивания гипервизора в модуль ядра, который работал под ОС хоста (гипервизор типа 2). [8]

Были некоторые разногласия по поводу того, можно ли виртуализировать архитектуру x86 без аппаратной поддержки, как описано Попеком и Голдбергом . Исследователи VMware отметили в статье ASPLOS 2006 года , что вышеупомянутые методы сделали платформу x86 виртуализируемой в смысле соответствия трем критериям Попека и Голдберга, хотя и не с помощью классической техники перехвата и эмуляции. [4] : 2–3 

Другие системы, такие как Denali , L4 и Xen , пошли по другому пути, известному как паравиртуализация , которая предполагает портирование операционных систем для запуска на полученной виртуальной машине, которая не реализует те части фактического набора команд x86, которые трудно виртуализировать. . Паравиртуализированный ввод-вывод имеет значительные преимущества в производительности, как показано в оригинальной статье SOSP '03 Xen. [10]

Первоначальная версия x86-64 ( AMD64 ) не позволяла осуществлять только программную полную виртуализацию из-за отсутствия поддержки сегментации в длинном режиме , что делало невозможной защиту памяти гипервизора, в частности защиту обработчика ловушек. который работает в адресном пространстве гостевого ядра. [11] [12] : 11 и 20  версии D и более поздние 64-битные процессоры AMD (как правило, изготовленные по техпроцессу 90 нм или меньше) добавили базовую поддержку сегментации в длинном режиме, что позволяет запускать 64-битные процессоры AMD. битные гости на 64-битных хостах посредством двоичной трансляции. Intel не добавила поддержку сегментации в свою реализацию x86-64 ( Intel 64 ), что сделало невозможной 64-битную программную виртуализацию на процессорах Intel, но поддержка Intel VT-x делает возможной 64-битную аппаратную виртуализацию на платформе Intel. [13] [14] : 4 

На некоторых платформах можно запустить 64-битную гостевую систему на 32-битной ОС хоста, если базовый процессор является 64-битным и поддерживает необходимые расширения виртуализации.

Аппаратная виртуализация

В 2005 и 2006 годах Intel и AMD (работая независимо) создали новые расширения процессоров для архитектуры x86. Первое поколение аппаратной виртуализации x86 решило проблему привилегированных инструкций. Проблема низкой производительности виртуализированной системной памяти была решена с помощью виртуализации MMU , которая была добавлена ​​в набор микросхем позже.

Центральное процессорное устройство

Виртуальный режим 8086

Основываясь на болезненном опыте с защищенным режимом 80286 , который сам по себе не был достаточно подходящим для одновременной работы приложений DOS , Intel представила виртуальный режим 8086 в своем чипе 80386 , который предлагал виртуализированные процессоры 8086 на чипах 386 и более поздних версиях. Однако аппаратная поддержка виртуализации самого защищенного режима стала доступна 20 лет спустя. [15]

Виртуализация AMD (AMD-V)

AMD Phenom Die

AMD разработала свои расширения виртуализации первого поколения под кодовым названием «Pacifica» и первоначально опубликовала их как AMD Secure Virtual Machine (SVM), [16] , но позже продавала их под торговой маркой AMD Virtualization , сокращенно AMD-V .

23 мая 2006 года AMD выпустила Athlon 64 ( «Орлеан» ), Athlon 64 X2 ( «Виндзор» ) и Athlon 64 FX ( «Виндзор» ) как первые процессоры AMD, поддерживающие эту технологию.

Возможности AMD-V также присутствуют в процессорах семейства Athlon 64 и Athlon 64 X2 с ревизией «F» или «G» на сокете AM2 , Turion 64 X2 и Opteron 2-го поколения [17] и третьего поколения, [18] Phenom и процессоры Phenom II . Процессоры APU Fusion поддерживают AMD-V. AMD-V не поддерживается процессорами Socket 939. Единственные процессоры Sempron , которые его поддерживают, — это APU и настольные процессоры Huron , Regor , Sargas .

Процессоры AMD Opteron, начиная с линейки Family 0x10 Barcelona, ​​и процессоры Phenom II поддерживают технологию аппаратной виртуализации второго поколения, называемую Rapid Virtualization Indexing (ранее известную во время разработки как вложенные таблицы страниц), позже принятую Intel как расширенные таблицы страниц (EPT). .

По состоянию на 2019 год все процессоры AMD на базе Zen поддерживают AMD-V.

Флаг ЦП для AMD-V — «svm». Это можно проверить в производных BSD через dmesg или sysctl и в Linux через . [19] Инструкции в AMD-V включают VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT и STGI./proc/cpuinfo

На некоторых материнских платах пользователи должны включить функцию AMD SVM в настройках BIOS , прежде чем приложения смогут ее использовать. [20]

Виртуализация Intel (VT-x)

Процессор Intel Core i7 (Блумфилд)

VT-x, ранее носивший кодовое название «Vanderpool», представляет собой технологию виртуализации Intel на платформе x86. 13 ноября 2005 года Intel выпустила две модели Pentium 4 (модель 662 и 672) как первые процессоры Intel с поддержкой VT-x. Флаг ЦП для возможности VT-x — «vmx»; в Linux это можно проверить через /proc/cpuinfo, а в macOS через sysctl machdep.cpu.features. [19]

«VMX» означает «Расширения виртуальной машины», которые добавляют 13 новых инструкций: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID и VMFUNC. [21] Эти инструкции позволяют входить и выходить из режима виртуального выполнения, в котором гостевая ОС воспринимает себя как работающую с полными привилегиями (кольцо 0), но ОС хоста остается защищенной.

По состоянию на 2015 год почти все новые серверные, настольные и мобильные процессоры Intel поддерживают VT-x, за исключением некоторых процессоров Intel Atom . [22] На некоторых материнских платах пользователи должны включить функцию Intel VT-x в настройках BIOS , прежде чем приложения смогут ее использовать. [23]

Intel начала включать в себя расширенные таблицы страниц (EPT), [24] технологию виртуализации таблиц страниц, [25] начиная с архитектуры Nehalem , [26] [27], выпущенной в 2008 году. В 2010 году Westmere добавила поддержку запуска логической процессор непосредственно в реальном режиме  – функция, называемая «неограниченный гость», для работы которой требуется EPT. [28] [29]

Начиная с микроархитектуры Haswell (анонсированной в 2013 году), Intel начала включать теневое копирование VMCS в качестве технологии, ускоряющей вложенную виртуализацию VMM. [30] Структура управления виртуальной машиной (VMCS) — это структура данных в памяти, которая существует ровно один раз для каждой виртуальной машины и управляется VMM. При каждом изменении контекста выполнения между различными виртуальными машинами VMCS восстанавливается для текущей виртуальной машины, определяя состояние виртуального процессора виртуальной машины. [31] Как только используется более одного VMM или вложенных VMM, возникает проблема, аналогичная той, которая требует изобретения управления теневой таблицей страниц, как описано выше. В таких случаях VMCS необходимо многократно дублировать (в случае вложенности) и частично реализовывать программно в случае отсутствия аппаратной поддержки со стороны процессора. Чтобы сделать обработку теневых VMCS более эффективной, Intel реализовала аппаратную поддержку теневого копирования VMCS. [32]

Виртуализация VIA (VIA VT)

Процессоры VIA Nano серии 3000 и выше поддерживают технологию виртуализации VIA VT, совместимую с Intel VT-x. [33] EPT присутствует в Zhaoxin ZX-C, потомке VIA QuadCore-E и Eden X4, аналогичном Nano C4350AL . [34]

Виртуализация прерываний (AMD AVIC и Intel APICv)

В 2012 году AMD анонсировала свой усовершенствованный контроллер виртуальных прерываний ( AVIC ), нацеленный на снижение накладных расходов на прерывания в средах виртуализации. [35] Эта технология, как было заявлено, не поддерживает x2APIC . [36] В 2016 году AVIC доступен на процессорах AMD семейства 15h, моделях 6Xh (Carrizo) и новее. [37]

Также в 2012 году Intel анонсировала аналогичную технологию виртуализации прерываний и APIC , которая на момент анонса не имела торговой марки. [38] Позже он был назван виртуализацией APIC ( APICv ) [39] и стал коммерчески доступен в серии процессоров Intel Ivy Bridge EP , которая продается как Xeon E5-26xx v2 (выпущен в конце 2013 года) и как Xeon E5-46xx v2 (запущен в начале 2014 г.). [40]

Графический процессор

Виртуализация графики не является частью архитектуры x86. Технология Intel Graphics Virtualization (GVT) обеспечивает виртуализацию графики как часть графических архитектур новейшего поколения. Хотя APU AMD реализуют набор инструкций x86-64 , они реализуют собственные графические архитектуры AMD ( TeraScale , GCN и RDNA ), которые не поддерживают виртуализацию графики. [ нужна цитация ] Larrabee была единственной графической микроархитектурой , основанной на x86, но она, вероятно, не включала поддержку виртуализации графики.

Чипсет

Виртуализация памяти и ввода-вывода выполняется чипсетом . [41] Обычно эти функции должны быть включены в BIOS, который должен поддерживать их, а также быть настроен на их использование.

Виртуализация MMU ввода-вывода (AMD-Vi и Intel VT-d)

Журнал ядра Linux , показывающий информацию AMD-Vi.

Блок управления памятью ввода-вывода (IOMMU) позволяет гостевым виртуальным машинам напрямую использовать периферийные устройства, такие как Ethernet, ускоренные видеокарты и контроллеры жестких дисков, через DMA и перераспределение прерываний . Иногда это называют сквозным соединением PCI . [42]

IOMMU также позволяет операционным системам устранять буферы отказов, необходимые для взаимодействия с периферийными устройствами, адресное пространство которых меньше адресного пространства памяти операционной системы, путем использования трансляции адресов памяти. В то же время IOMMU также позволяет операционным системам и гипервизорам предотвращать угрозу безопасности памяти с помощью ошибочного или вредоносного оборудования .

И AMD, и Intel опубликовали свои спецификации IOMMU:

В дополнение к поддержке ЦП, чтобы его можно было использовать, набор микросхем материнской платы и встроенное ПО системы ( BIOS или UEFI ) должны полностью поддерживать функцию виртуализации ввода-вывода IOMMU. Таким образом можно виртуализировать только устройства PCI или PCI Express , поддерживающие сброс функционального уровня (FLR), поскольку это необходимо для переназначения различных функций устройства между виртуальными машинами. [46] [47] Если назначаемое устройство не поддерживает прерывания, сигнализируемые сообщениями (MSI), оно не должно использовать общие линии прерываний с другими устройствами, чтобы назначение было возможным. [48] ​​Все обычные PCI- устройства, маршрутизируемые через мост PCI/ PCI-X -PCI Express, могут быть назначены гостевой виртуальной машине только все сразу; Устройства PCI Express не имеют такого ограничения.

Виртуализация сети (VT-c)

Виртуализация ввода-вывода с единым корнем PCI-SIG (SR-IOV)

Виртуализация ввода-вывода с одним корнем PCI-SIG (SR-IOV) предоставляет набор общих (не специфичных для x86) методов виртуализации ввода-вывода на основе собственного оборудования PCI Express (PCIe), стандартизированного PCI-SIG: [50]

В SR-IOV, наиболее распространенном из них, хост VMM настраивает поддерживаемые устройства для создания и распределения виртуальных «теней» их конфигурационных пространств, чтобы гости виртуальных машин могли напрямую настраивать такие «теневые» ресурсы устройств и получать к ним доступ. [52] При включении SR-IOV виртуализированные сетевые интерфейсы становятся напрямую доступными для гостей, [53] избегая участия VMM и обеспечивая высокую общую производительность; [51] , например, SR-IOV обеспечивает более 95% пропускной способности «голой» сети в виртуализированном центре обработки данных НАСА [ 54] и в публичном облаке Amazon . [55] [56]

Смотрите также

Рекомендации

  1. ^ Сравнение программных и аппаратных методов для виртуализации x86 , Кейт Адамс и Оле Агесен, VMware, ASPLOS'06, 21–25 октября 2006 г., Сан-Хосе, Калифорния, США. Архивировано 20 августа 2010 г. на Wayback Machine. «Удивительно, но мы обнаружили, что аппаратная поддержка первого поколения редко обеспечивает преимущества в производительности по сравнению с существующими программными методами. Мы связываем эту ситуацию с высокими затратами на переход между VMM и гостевой системой и жесткой моделью программирования, которая оставляет мало места для гибкости программного обеспечения в управлении частотой и стоимостью этих переходов. .
  2. ^ «Расширения виртуализации процессоров технологии виртуализации Intel и технология доверенного выполнения Intel» (PDF) . Intel.com. 2007. Архивировано (PDF) из оригинала 21 мая 2015 г. Проверено 12 декабря 2016 г.
  3. ^ «Техническая программа USENIX – Аннотация – Симпозиум по безопасности – 2000» . Usenix.org. 29 января 2002 г. Архивировано из оригинала 10 июня 2010 г. Проверено 2 мая 2010 г.
  4. ^ abcde «Сравнение программных и аппаратных методов для виртуализации x86» (PDF) . VMware. Архивировано (PDF) из оригинала 20 августа 2010 г. Проверено 8 сентября 2010 г.
  5. ^ ab Патент США 6 397 242
  6. ^ Патент США 6704925.
  7. ^ «Виртуализация: архитектурные соображения и другие критерии оценки» (PDF) . VMware. Архивировано (PDF) из оригинала 6 февраля 2011 года . Проверено 8 сентября 2010 г.
  8. ^ ab Патент США 6 496 847
  9. ^ «VMware и технология аппаратного обеспечения» (PDF) . Архивировано (PDF) из оригинала 17 июля 2011 г. Проверено 8 сентября 2010 г.
  10. ^ «Xen и искусство виртуализации» (PDF) . Архивировано (PDF) из оригинала 29 сентября 2014 г.
  11. ^ «Как отказ от сегментации в длинном режиме AMD64 сломал VMware» . Pagetable.com. 09.11.2006. Архивировано из оригинала 18 июля 2011 г. Проверено 2 мая 2010 г.
  12. ^ «VMware и технология виртуализации ЦП» (PDF) . VMware. Архивировано (PDF) из оригинала 17 июля 2011 г. Проверено 8 сентября 2010 г.
  13. ^ «База знаний VMware: Требования к оборудованию и прошивке для 64-битных гостевых операционных систем» . Kb.vmware.com. Архивировано из оригинала 19 апреля 2010 г. Проверено 2 мая 2010 г.
  14. ^ «Программные и аппаратные методы для виртуализации x86» (PDF) . Архивировано из оригинала (PDF) 5 января 2010 г. Проверено 2 мая 2010 г.
  15. ^ Ягер, Том (5 ноября 2004 г.). «Отправка программного обеспечения для выполнения работы оборудования | Аппаратное обеспечение - InfoWorld». Изображения.infoworld.com. Архивировано из оригинала 18 октября 2014 г. Проверено 8 января 2014 г.
  16. ^ "33047_SecureVirtualMachineManual_3-0.book" (PDF) . Архивировано (PDF) из оригинала 5 марта 2012 г. Проверено 2 мая 2010 г.
  17. ^ «Каковы основные различия между процессорами AMD Opteron второго поколения и процессорами AMD Opteron первого поколения?» amd.com . Архивировано из оригинала 15 апреля 2009 года . Проверено 4 февраля 2012 г.
  18. ^ «Какие улучшения виртуализации реализованы в четырехъядерных процессорах AMD Opteron?» amd.com . Архивировано из оригинала 16 апреля 2009 года . Проверено 4 февраля 2012 г.
  19. ^ ab Чтобы узнать, поддерживает ли ваш процессор аппаратную виртуализацию. Архивировано 25 ноября 2012 г. на Wayback Machine Intel, 2012 г.
  20. ^ «Как включить Intel VTx и AMD SVM?». Поддерживать . QNAP Systems, Inc. Архивировано из оригинала 7 марта 2018 г. Проверено 23 декабря 2020 г.
  21. ^ INTEL (октябрь 2019 г.). «Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32». intel.com . Корпорация Интел . Проверено 4 января 2020 г.
  22. ^ «Список технологий виртуализации Intel» . Ark.intel.com. Архивировано из оригинала 27 октября 2010 г. Проверено 2 мая 2010 г.
  23. ^ «Windows Virtual PC: настройка BIOS» . Майкрософт. Архивировано из оригинала 6 сентября 2010 г. Проверено 8 сентября 2010 г.
  24. ^ Нейгер, Гил; А. Сантони; Ф. Люнг; Д. Роджерс; Р. Улиг (2006). «Технология виртуализации Intel: аппаратная поддержка для эффективной виртуализации процессоров» (PDF) . Журнал технологий Intel . 10 (3). Интел: 167–178. дои : 10.1535/itj.1003.01. Архивировано из оригинала (PDF) 25 сентября 2012 г. Проверено 6 июля 2008 г.
  25. ^ Гиллеспи, Мэтт (12 ноября 2007 г.). «Лучшие практики для усовершенствований паравиртуализации с помощью технологии виртуализации Intel: EPT и VT-d». Сеть программного обеспечения Intel . Интел. Архивировано из оригинала 26 декабря 2008 г. Проверено 6 июля 2008 г.
  26. ^ «Сначала тик, теперь так: микроархитектура Intel следующего поколения (Nehalem)» (PDF) (пресс-релиз). Интел. Архивировано (PDF) из оригинала 26 января 2009 г. Проверено 6 июля 2008 г.
  27. ^ «Краткое описание технологии: Технология виртуализации микроархитектуры Intel Nehalem» (PDF) . Интел. 25 марта 2009 г. Архивировано (PDF) из оригинала 7 июня 2011 г. Проверено 3 ноября 2009 г.
  28. ^ [1] «Intel добавила неограниченный гостевой режим в микроархитектуру Westmere и более поздние процессоры Intel. Она использует EPT для преобразования доступа к физическому адресу гостя в физический адрес хоста. В этом режиме разрешен VMEnter без включения пейджинга».
  29. ^ [2] «Если элемент управления выполнением виртуальной машины «неограниченный гость» равен 1, элемент управления выполнением виртуальной машины «включить EPT» также должен быть равен 1»
  30. ^ «Процессоры Intel Core vPro 4-го поколения с теневым копированием Intel VMCS» (PDF) . Интел . 2013 . Проверено 16 декабря 2014 г.
  31. ^ Понимание технологии виртуализации Intel (VT). Архивировано 8 сентября 2014 г. в Wayback Machine. Проверено 1 сентября 2014 г.
  32. ^ «Что, где и почему» слежки VMCS. Архивировано 3 сентября 2014 г. на Wayback Machine. Проверено 1 сентября 2014 г.
  33. ^ VIA представляет новые процессоры серии VIA Nano 3000. Архивировано 22 января 2013 г. на Wayback Machine.
  34. ^ «Решение для ноутбука: процессор Kaixian ZX-C + набор микросхем VX11PH» (PDF) .
  35. ^ Вэй Хуан, Представление усовершенствованного виртуального контроллера прерываний AMD. Архивировано 14 июля 2014 г. на Wayback Machine , XenSummit, 2012 г.
  36. ^ Йорг Рёдель (август 2012 г.). «Виртуализация прерываний нового поколения для KVM» (PDF) . АМД. Архивировано (PDF) из оригинала 4 марта 2016 г. Проверено 12 июля 2014 г.
  37. ^ «[Xen-devel] [RFC PATCH 0/9] Представляем AMD SVM AVIC» . www.mail-archive.com . Архивировано из оригинала 2 февраля 2017 года . Проверено 4 мая 2018 г.
  38. ^ Джун Накаджимаа (13 декабря 2012 г.). «Обзор неиспользуемых и новых функций виртуализации прерываний/APIC» (PDF) . Интел. Архивировано (PDF) из оригинала 21 апреля 2015 г. Проверено 12 июля 2014 г.
  39. ^ Кханг Нгуен (17 декабря 2013 г.). «Тестирование производительности виртуализации APIC и Iozone». программное обеспечение.intel.com . Архивировано из оригинала 14 июля 2014 г. Проверено 12 июля 2014 г.
  40. ^ «Краткое описание продукта Семейство процессоров Intel Xeon E5-4600 v2» (PDF) . Интел. 14 марта 2014 г. Архивировано (PDF) из оригинала 14 июля 2014 г. Проверено 12 июля 2014 г.
  41. ^ «Аппаратная поддержка платформы Intel для виртуализации ввода-вывода» . Intel.com. 10 августа 2006 г. Архивировано из оригинала 20 января 2007 г. Проверено 4 февраля 2012 г.
  42. ^ «Виртуализация Linux и сквозная передача PCI» . ИБМ. Архивировано из оригинала 1 ноября 2009 года . Проверено 10 ноября 2010 г.
  43. ^ «Спецификация технологии виртуализации ввода-вывода AMD (IOMMU), версия 1.26» (PDF) . Архивировано (PDF) из оригинала 24 января 2011 г. Проверено 24 мая 2011 г.
  44. ^ «Технология виртуализации Intel для спецификации архитектуры направленного ввода-вывода (VT-d)» . Архивировано из оригинала 3 апреля 2013 г. Проверено 4 февраля 2012 г.
  45. ^ «Список поддерживаемых ЦП технологии виртуализации Intel для направленного ввода-вывода (VT-d)» . Ark.intel.com. Архивировано из оригинала 27 октября 2010 г. Проверено 4 февраля 2012 г.
  46. ^ «Уведомление о технических изменениях PCI-SIG: сброс функционального уровня (FLR)» (PDF) . pcisig.com . 27 июня 2006 г. Архивировано (PDF) из оригинала 4 марта 2016 г. Проверено 10 января 2014 г.
  47. ^ "Зен VT-d". xen.org . 06.06.2013. Архивировано из оригинала 9 февраля 2014 г. Проверено 10 января 2014 г.
  48. ^ «Как назначить устройства с VT-d в KVM» . Linux-kvm.org . 2014-04-23. Архивировано из оригинала 10 марта 2015 г. Проверено 05 марта 2015 г.
  49. ^ «Технология виртуализации Intel для подключения (VT-c)» (PDF) . Intel.com. Архивировано (PDF) из оригинала 22 февраля 2016 г. Проверено 14 февраля 2018 г.
  50. ^ «Спецификации виртуализации ввода-вывода PCI-SIG (IOV)» . Pcisig.com. 31 марта 2011 г. Архивировано из оригинала 15 января 2012 г. Проверено 4 февраля 2012 г.
  51. ^ ab «Взгляд изнутри: Intel Ethernet» (PDF) . Интел . 27 ноября 2014 г. с. 104. Архивировано из оригинала (PDF) 4 марта 2016 года . Проверено 26 марта 2015 г.
  52. ^ Яодзу Донг; Чжао Юй; Грег Роуз (2008). «Сеть SR-IOV в Xen: архитектура, проектирование и реализация». usenix.org . УСЕНИКС . Архивировано из оригинала 9 января 2014 г. Проверено 10 января 2014 г.
  53. ^ Патрик Катч; Брайан Джонсон; Грег Роуз (сентябрь 2011 г.). «Введение в гибкое разделение портов Intel с использованием технологии SR-IOV» (PDF) . Интел . Архивировано из оригинала (PDF) 7 августа 2015 года . Проверено 24 сентября 2015 г.
  54. ^ «Гибкая облачная структура НАСА: перемещение кластерных приложений в облако» (PDF) . Интел . Архивировано из оригинала (PDF) 22 декабря 2012 г. Проверено 8 января 2014 г.
  55. ^ «Расширенные сетевые возможности в облаке AWS». Масштабируемая логика. 31 декабря 2013 г. Архивировано из оригинала 9 января 2014 г. Проверено 8 января 2014 г.
  56. ^ «Расширенные сетевые возможности в облаке AWS. Часть 2» . Масштабируемая логика. 31 декабря 2013 г. Архивировано из оригинала 10 января 2014 г. Проверено 8 января 2014 г.

Внешние ссылки