VirtualBox: выбор интерфейса паравиртуализации

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 01:25

В VirtualBox в версиях после 6.0 появилась возможность, в целях ускорения, выбора интерфейса паравиртуализации:
Вложения
v1.png
v1.png (45.69 КБ) 89 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 01:36

Olej писал(а):
03 фев 2020, 01:25
В VirtualBox в версиях после 6.0 появилась возможность, в целях ускорения, выбора интерфейса паравиртуализации:
Но это не так просто...
Выбор интерфейса паравиртуализации в Virtualbox для максимальной производительности
11.09.2015
Не так давно вышла новая версия Oracle VM VirtualBox, где добавили возможность выбора интерфейса паравиртуализации для виртуальной машины. Данная функция преподносится как возможность повышения производительности гостевой операционной системы. Меня этот момент очень сильно заинтересовал.
В справке к VirtualBox указано, что большинство современных ОС Windows и ОС на базе ядра Linux поддерживают один или несколько интерфейсов паравиртуализации и как правило, для использования паравиртуализации не требуется дополнительное программное обеспечение (включая в том числе и дополнение для гостевых ОС VirtualBox Guest Additions).
...
Минимальный указывается как необходимый для операционных систем Mac OS X. KVM — рекомендуется для гостевых ОС на базе ядра Linux. Hyper-V — поддерживается операционными системами Microsoft, начиная с Windows 7, соответственно для них и рекомендуется его использовать, а также для ОС FreeBSD.

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 02:00

Olej писал(а):
03 фев 2020, 01:36
Выбор интерфейса паравиртуализации в Virtualbox для максимальной производительности
Интересно, что в этой публикации проведено экспериментальное тестирование скорости виртуальных машин со скоростью хост машины (в железе).
Характерно, что получены оценки, в основном (если не начудить конфигурациями), как ~82-89% от скорости хостового компьютера.

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 18:30

Сравним (виртуальная машина Astra Linux CE при разных настройках "Ускорение"), см. Производительность процессора:
a1.png
a1.png (42.52 КБ) 83 просмотра

Код: Выделить всё

olej@astra:~/intel_linpack/benchmarks_2019/linux/mkl/benchmarks/linpack$ ./runme_xeon64
...
=================== Timing linear equation system solver ===================

Size   LDA    Align. Time(s)    GFlops   Residual     Residual(norm) Check
1000   1000   4      0.085      7.9000   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.075      8.9120   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.076      8.7947   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.083      8.0404   1.088685e-12 3.712695e-02   pass
2000   2000   4      0.559      9.5634   4.394485e-12 3.822663e-02   pass
2000   2000   4      0.542      9.8489   4.394485e-12 3.822663e-02   pass
5000   5008   4      8.169      10.2072  2.469464e-11 3.443468e-02   pass
5000   5008   4      8.159      10.2204  2.469464e-11 3.443468e-02   pass
^C
a2.png
a2.png (41.94 КБ) 81 просмотр

Код: Выделить всё

olej@astra:~/intel_linpack/benchmarks_2019/linux/mkl/benchmarks/linpack$ ./runme_xeon64
...
=================== Timing linear equation system solver ===================

Size   LDA    Align. Time(s)    GFlops   Residual     Residual(norm) Check
1000   1000   4      0.092      7.3006   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.073      9.1027   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.074      9.0370   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.079      8.4911   1.088685e-12 3.712695e-02   pass
2000   2000   4      0.549      9.7291   4.394485e-12 3.822663e-02   pass
2000   2000   4      0.537      9.9456   4.394485e-12 3.822663e-02   pass
5000   5008   4      8.177      10.1973  2.469464e-11 3.443468e-02   pass
5000   5008   4      8.328      10.0123  2.469464e-11 3.443468e-02   pass
^C
Разницы я не вижу! :-o

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 18:47

Olej писал(а):
03 фев 2020, 18:30
Разницы я не вижу!
Есть мнение (VirtualBox интерфейс паравиртуализации (KVM)), что для оптимизации KVM должен быть обязательно установлен (на хост-компьютере, я это так понимаю) пакет qemu-kvm:

Код: Выделить всё

olej@ACER:~/2020_WORK/HISTORY/02/03$ aptitude search kvm
p   libicsharpcode-nrefactory-ikvm5.0-cil                                   - C# Parsing and Refactoring Library - IKVM back-end                               
p   nova-compute-kvm                                                        - OpenStack Compute - compute node (KVM)                                           
p   qemu-kvm                                                                - полная виртуализация на системе x86                                        

Код: Выделить всё

olej@ACER:~/2020_WORK/HISTORY/02/03$ sudo apt install qemu-kvm
[sudo] пароль для olej: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  ipxe-qemu libcapstone3 libfdt1 libspice-server1 libvdeplug2 libvirglrenderer0 libxencall1 libxendevicemodel1 libxenevtchn1 libxenforeignmemory1
  libxengnttab1 libxenmisc4.11 libxenstore3.0 libxentoolcore1 libxentoollog1 ovmf qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86
  qemu-utils seabios
Предлагаемые пакеты:
  samba vde2 qemu-block-extra sgabios debootstrap
Следующие НОВЫЕ пакеты будут установлены:
  ipxe-qemu libcapstone3 libfdt1 libspice-server1 libvdeplug2 libvirglrenderer0 libxencall1 libxendevicemodel1 libxenevtchn1 libxenforeignmemory1
  libxengnttab1 libxenmisc4.11 libxenstore3.0 libxentoolcore1 libxentoollog1 ovmf qemu-kvm qemu-system-common qemu-system-data qemu-system-gui
  qemu-system-x86 qemu-utils seabios
Обновлено 0 пакетов, установлено 23 новых пакетов, для удаления отмечено 0 пакетов, и 64 пакетов не обновлено.
Необходимо скачать 12,2 MB архивов.
После данной операции объём занятого дискового пространства возрастёт на 51,6 MB.
Хотите продолжить? [Д/н] y
Пол:1 http://deb.debian.org/debian buster/main amd64 ipxe-qemu all 1.0.0+git-20190125.36a4c85-1 [694 kB]
Пол:2 http://security.debian.org/debian-security buster/updates/main amd64 qemu-system-common amd64 1:3.1+dfsg-8+deb10u3 [988 kB]
Пол:3 http://security.debian.org/debian-security buster/updates/main amd64 qemu-system-data all 1:3.1+dfsg-8+deb10u3 [190 kB]
Пол:4 http://security.debian.org/debian-security buster/updates/main amd64 qemu-system-gui amd64 1:3.1+dfsg-8+deb10u3 [97,9 kB]
Пол:5 http://security.debian.org/debian-security buster/updates/main amd64 qemu-system-x86 amd64 1:3.1+dfsg-8+deb10u3 [5 872 kB]
Пол:6 http://deb.debian.org/debian buster/main amd64 libcapstone3 amd64 4.0.1+really+3.0.5-1 [444 kB]
Пол:7 http://deb.debian.org/debian buster/main amd64 libfdt1 amd64 1.4.7-3 [21,1 kB]     
Пол:8 http://deb.debian.org/debian buster/main amd64 libspice-server1 amd64 0.14.0-1.3 [617 kB]
Пол:9 http://deb.debian.org/debian buster/main amd64 libvdeplug2 amd64 2.3.2+r586-2.2 [23,5 kB]
Пол:10 http://deb.debian.org/debian buster/main amd64 libvirglrenderer0 amd64 0.7.0-2 [164 kB]
Пол:11 http://deb.debian.org/debian buster/main amd64 libxentoolcore1 amd64 4.11.1+92-g6c33308a8d-2 [30,3 kB]
Пол:12 http://deb.debian.org/debian buster/main amd64 libxentoollog1 amd64 4.11.1+92-g6c33308a8d-2 [32,1 kB]
Пол:13 http://deb.debian.org/debian buster/main amd64 libxencall1 amd64 4.11.1+92-g6c33308a8d-2 [32,3 kB]
Пол:14 http://deb.debian.org/debian buster/main amd64 libxendevicemodel1 amd64 4.11.1+92-g6c33308a8d-2 [33,3 kB]
Пол:15 http://deb.debian.org/debian buster/main amd64 libxenevtchn1 amd64 4.11.1+92-g6c33308a8d-2 [30,9 kB]
Пол:16 http://deb.debian.org/debian buster/main amd64 libxenforeignmemory1 amd64 4.11.1+92-g6c33308a8d-2 [32,7 kB]
Пол:17 http://deb.debian.org/debian buster/main amd64 libxengnttab1 amd64 4.11.1+92-g6c33308a8d-2 [32,6 kB]
Пол:18 http://deb.debian.org/debian buster/main amd64 libxenstore3.0 amd64 4.11.1+92-g6c33308a8d-2 [39,7 kB]
Пол:19 http://deb.debian.org/debian buster/main amd64 libxenmisc4.11 amd64 4.11.1+92-g6c33308a8d-2 [466 kB]
Пол:20 http://deb.debian.org/debian buster/main amd64 ovmf all 0~20181115.85588389-3 [1 207 kB]
Пол:21 http://security.debian.org/debian-security buster/updates/main amd64 qemu-utils amd64 1:3.1+dfsg-8+deb10u3 [965 kB]
Пол:22 http://security.debian.org/debian-security buster/updates/main amd64 qemu-kvm amd64 1:3.1+dfsg-8+deb10u3 [71,1 kB]
Пол:23 http://deb.debian.org/debian buster/main amd64 seabios all 1.12.0-1 [136 kB]
Получено 12,2 MB за 6с (2 024 kB/s)                                                                                                                           
Выбор ранее не выбранного пакета ipxe-qemu.
(Чтение базы данных … на данный момент установлено 428042 файла и каталога.)
Подготовка к распаковке …/00-ipxe-qemu_1.0.0+git-20190125.36a4c85-1_all.deb …
Распаковывается ipxe-qemu (1.0.0+git-20190125.36a4c85-1) …
Выбор ранее не выбранного пакета libcapstone3:amd64.
Подготовка к распаковке …/01-libcapstone3_4.0.1+really+3.0.5-1_amd64.deb …
Распаковывается libcapstone3:amd64 (4.0.1+really+3.0.5-1) …
Выбор ранее не выбранного пакета libfdt1:amd64.
Подготовка к распаковке …/02-libfdt1_1.4.7-3_amd64.deb …
Распаковывается libfdt1:amd64 (1.4.7-3) …
Выбор ранее не выбранного пакета libspice-server1:amd64.
Подготовка к распаковке …/03-libspice-server1_0.14.0-1.3_amd64.deb …
Распаковывается libspice-server1:amd64 (0.14.0-1.3) …
Выбор ранее не выбранного пакета libvdeplug2.
Подготовка к распаковке …/04-libvdeplug2_2.3.2+r586-2.2_amd64.deb …
Распаковывается libvdeplug2 (2.3.2+r586-2.2) …
Выбор ранее не выбранного пакета libvirglrenderer0:amd64.
Подготовка к распаковке …/05-libvirglrenderer0_0.7.0-2_amd64.deb …
Распаковывается libvirglrenderer0:amd64 (0.7.0-2) …
Выбор ранее не выбранного пакета libxentoolcore1:amd64.
Подготовка к распаковке …/06-libxentoolcore1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxentoolcore1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxentoollog1:amd64.
Подготовка к распаковке …/07-libxentoollog1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxentoollog1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxencall1:amd64.
Подготовка к распаковке …/08-libxencall1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxencall1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxendevicemodel1:amd64.
Подготовка к распаковке …/09-libxendevicemodel1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxendevicemodel1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxenevtchn1:amd64.
Подготовка к распаковке …/10-libxenevtchn1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxenevtchn1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxenforeignmemory1:amd64.
Подготовка к распаковке …/11-libxenforeignmemory1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxenforeignmemory1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxengnttab1:amd64.
Подготовка к распаковке …/12-libxengnttab1_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxengnttab1:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxenstore3.0:amd64.
Подготовка к распаковке …/13-libxenstore3.0_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxenstore3.0:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета libxenmisc4.11:amd64.
Подготовка к распаковке …/14-libxenmisc4.11_4.11.1+92-g6c33308a8d-2_amd64.deb …
Распаковывается libxenmisc4.11:amd64 (4.11.1+92-g6c33308a8d-2) …
Выбор ранее не выбранного пакета ovmf.
Подготовка к распаковке …/15-ovmf_0~20181115.85588389-3_all.deb …
Распаковывается ovmf (0~20181115.85588389-3) …
Выбор ранее не выбранного пакета qemu-system-common.
Подготовка к распаковке …/16-qemu-system-common_1%3a3.1+dfsg-8+deb10u3_amd64.deb …
Распаковывается qemu-system-common (1:3.1+dfsg-8+deb10u3) …
Выбор ранее не выбранного пакета qemu-system-data.
Подготовка к распаковке …/17-qemu-system-data_1%3a3.1+dfsg-8+deb10u3_all.deb …
Распаковывается qemu-system-data (1:3.1+dfsg-8+deb10u3) …
Выбор ранее не выбранного пакета qemu-system-gui.
Подготовка к распаковке …/18-qemu-system-gui_1%3a3.1+dfsg-8+deb10u3_amd64.deb …
Распаковывается qemu-system-gui (1:3.1+dfsg-8+deb10u3) …
Выбор ранее не выбранного пакета seabios.
Подготовка к распаковке …/19-seabios_1.12.0-1_all.deb …
Распаковывается seabios (1.12.0-1) …
Выбор ранее не выбранного пакета qemu-system-x86.
Подготовка к распаковке …/20-qemu-system-x86_1%3a3.1+dfsg-8+deb10u3_amd64.deb …
Распаковывается qemu-system-x86 (1:3.1+dfsg-8+deb10u3) …
Выбор ранее не выбранного пакета qemu-utils.
Подготовка к распаковке …/21-qemu-utils_1%3a3.1+dfsg-8+deb10u3_amd64.deb …
Распаковывается qemu-utils (1:3.1+dfsg-8+deb10u3) …
Выбор ранее не выбранного пакета qemu-kvm.
Подготовка к распаковке …/22-qemu-kvm_1%3a3.1+dfsg-8+deb10u3_amd64.deb …
Распаковывается qemu-kvm (1:3.1+dfsg-8+deb10u3) …
Настраивается пакет libxentoollog1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет libxentoolcore1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет qemu-system-common (1:3.1+dfsg-8+deb10u3) …
Настраивается пакет libxencall1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет qemu-system-gui (1:3.1+dfsg-8+deb10u3) …
Настраивается пакет libspice-server1:amd64 (0.14.0-1.3) …
Настраивается пакет libvdeplug2 (2.3.2+r586-2.2) …
Настраивается пакет libfdt1:amd64 (1.4.7-3) …
Настраивается пакет ovmf (0~20181115.85588389-3) …
Настраивается пакет libxenforeignmemory1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет libcapstone3:amd64 (4.0.1+really+3.0.5-1) …
Настраивается пакет libvirglrenderer0:amd64 (0.7.0-2) …
Настраивается пакет libxenstore3.0:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет qemu-system-data (1:3.1+dfsg-8+deb10u3) …
Настраивается пакет seabios (1.12.0-1) …
Настраивается пакет libxengnttab1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет ipxe-qemu (1.0.0+git-20190125.36a4c85-1) …
Настраивается пакет libxenevtchn1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет qemu-utils (1:3.1+dfsg-8+deb10u3) …
Настраивается пакет libxendevicemodel1:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет libxenmisc4.11:amd64 (4.11.1+92-g6c33308a8d-2) …
Настраивается пакет qemu-system-x86 (1:3.1+dfsg-8+deb10u3) …
Настраивается пакет qemu-kvm (1:3.1+dfsg-8+deb10u3) …
Обрабатываются триггеры для libc-bin (2.28-10) …
Обрабатываются триггеры для man-db (2.8.5-2) …

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 19:05

Olej писал(а):
03 фев 2020, 18:47
Есть мнение (VirtualBox интерфейс паравиртуализации (KVM)), что для оптимизации KVM должен быть обязательно установлен (на хост-компьютере, я это так понимаю) пакет qemu-kvm:

Код: Выделить всё

olej@astra:~/intel_linpack/benchmarks_2019/linux/mkl/benchmarks/linpack$ ./runme_xeon64
...
Size   LDA    Align. Time(s)    GFlops   Residual     Residual(norm) Check
1000   1000   4      0.090      7.4585   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.075      8.9519   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.075      8.8714   1.088685e-12 3.712695e-02   pass
1000   1000   4      0.082      8.1065   1.088685e-12 3.712695e-02   pass
2000   2000   4      0.555      9.6207   4.394485e-12 3.822663e-02   pass
2000   2000   4      0.544      9.8266   4.394485e-12 3.822663e-02   pass
5000   5008   4      8.259      10.0960  2.469464e-11 3.443468e-02   pass
5000   5008   4      8.246      10.1117  2.469464e-11 3.443468e-02   pass
10000  10000  4      64.635     10.3175  9.275070e-11 3.270483e-02   pass
10000  10000  4      64.141     10.3969  9.275070e-11 3.270483e-02   pass
15000  15000  4      215.878    10.4246  2.092027e-10 3.294977e-02   pass
15000  15000  4      232.965    9.6600   2.092027e-10 3.294977e-02   pass
^C
Разницы существенной нет.

Аватара пользователя
Olej
Писатель
Сообщения: 13424
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: VirtualBox: выбор интерфейса паравиртуализации

Непрочитанное сообщение Olej » 03 фев 2020, 19:17

Olej писал(а):
03 фев 2020, 01:36
Выбор интерфейса паравиртуализации в Virtualbox для максимальной производительности
На картинке в этой статье разницы между способами "Ускорение" тоже практически нет:
Изображение
Это такие "слёзы", которые не стоят даже времени, потраченного на их обсуждение!

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя