Чудеса виртуализации

Давно собирался, но руки дошли только сейчас.
FreeBSD 6.3-STABLE, amd64, делаем make -j Ncpu buildworld

  • Dual Opteron 275: 22 минуты (user time: 55 минут)
  • Core2Quad, операционка запущена под VMWare, доступны два ядра: 31 минута (user time: 42 минуты)
Другими словами, оверхед на виртуализацию ну процентов 15-30, не больше. То бишь вообще никакой.

Comments

15-30 - это много. Должно быть 10-15. VMware Workstation? Какая версия?

Это оценка сугубо на пальцах и сверху. Может и 10-15. Я хотел выразить ту мысль, что для любых практических применений - несущественно (не в разы и даже не в полтора раза).

Для девелоперов виртуализация вообще незаменимая вещь. Особенно последняя версия VMware Workstation (full disclosure: я работаю в VMware). Record/Replay позволяет воспроизвести редкий баг один раз и проигрывать его до посинения. Multiple Snapshots позволяют иметь слегка разные конфигурации для тестирования и не занимают много места. И если что-нибудь сломается в процессе тестирования, то всегда можно откатиться назад, до известного работающего состояния.

Про девелоперов вообще и разговора нет (ну кроме 3D-графики и драйверов устройств).

Меня оно - пока сугубо теоретически - интересует для серверов. Удобство - внеземное, а вот наконец своими руками померял перформанс и он вполне устраивает.

Вот только с сетью непонятно - мне больше 20 мегабайт в секунду из-под Workstation пока увидеть не удавалось (отдатчик может 70).

С сетью есть свои сложности (NICs плохо виртуализируются). Я сам в этом не особенно разбираюсь, но могу свести с людьми, если хочешь.

Пока - не хочу, сугубо теоретический интерес.

Ну, и конечно, для серверов, лучше попробуй ESX или ESXi и VMware Server.

здесь не всё так просто. Оптерон имеет приемущество за счёт NUMA, а Core2 эффективнее (на одной частоте) и кеша больше. лучше сравнивать одну архитектуру, а то так слишком много неизвестных.
по поводу виртуализации, я где-то читал, что вычислительная часть (скажем умножение матриц) делается практически на той же скорости, что и оригинальный код. труднее всего обрабатывать код, где много вызовов функций, скажем, если вызов внутри цикла. если его заинлайнить, то разница уже намного меньше.

buildworld показателен тем, что нагружает все - и процессор и диски и память,
поэтому как общая метрика вполне показателен. Этот пост - собственно ответ на вопрос, который мне тут недавно задавали лично.

Всякие вычислительные молотилки работают со скоростью процентов 90 на оптероне, на C2Q не мерял пока, да и незачем оно.

Кстати, этот С2Q на sgemm мне выдал почти 7 флопсов на такт, что соответствует твоему ноябрьском предсказанию.

по поводу числодробилок, вышел новый Cell. нигде не могу найти спецификации, возможно там есть честный (быстрый) double, да и в целом говорят новый Cell существенно быстрее. если так, то платы-ускорители на его основе возможно будут эффективнее для расчетов, чем GPU. всё же там есть полный набор типов данных и операций, целые числа любой длины и тп.

Про новый Cell врут по ~100 гигафлопсов в double. Но я конкретно не разбирался.

Посмотрим что 17-го июня покажут.

Меня лично интересуют не научные расчеты, под которые можно и плату с Cell купить, а именно консумерские приложения. Опять же посмотрим, что у 4-го фотошопа будет в API.

А что тебя удивляет? 30% он уже довольно давно, с тех еще времен, когда я в "Параллелях" работал, то есть пару лет как.

Лучше -j N*2 или даже на 4. На c2d -j 4 быстрее -j 2:

1 4022
2 2437
4 2315
8 2307
16 2310

Время в секундах, FreeBSD 7-STABLE, amd64, E4500, DDR2-667/4Gb.

Ты удивишься, но оно еще и с памятью работает очень неплохо. Буквально пару дней назад ставили экскремент следующего соджержания - VM, с указанным размером рамы три гига. Унутре VM запускается жаба, которой отдаются все три гига через Xms Xmx и она жаба их все честно сжирает, подыхая в итоге по Out of memory. При этом снаружи в линуксе, данный процесс vmware-vmx имеет Virtual Size 1.7Gb и RES в районе 80 метров. Как в том анекдоте про суслика, короче.

/usr/obj - 768mb mfs
make -j 16 HISTORICAL_MAKE_WORLD=yes world -- 11 мин

FreeBSD 7-STABLE, amd64, 2xE5420@2.50GHz, DDR2-667 Reg/8Gb.