Запуск симуляции на чистой Ubuntu против Ubuntu в Windows (WSL)

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

  1. Чистая система Ubuntu
  2. Система Ubuntu в Windows 10 (WSL)

Являются ли скорости вычислений в обоих случаях почти одинаковыми или различаются?

15
задан 13 May 2018 в 19:30

4 ответа

Ubuntu в Windows (WSL - 2 017 Осенних Обновлений Создателей) определенно медленнее, чем "Чистая" Ubuntu в среде Linux.

Например, экранное рисование берет много раз дольше в Windows 10 по сравнению с Ubuntu 16.04, т.е. можно на самом деле видеть, что курсор перемещается в Windows 10:

WSL bash startup.gif

Требуется приблизительно 5 секунд для экрана-заставки Bash WSL для рисования. Для сравнения это - приблизительно 1 1/2 секунда для того же экрана-заставки в Ubuntu 16.04:

Ubuntu terminal splash.gif


Сравнительное тестирование ЦП

Первый раздел показывает, как медленный экран I/O всего лишь что относительно сравнительного тестирования ЦП?

От этого Спрашивают Вопросы и ответы Ubuntu: утилита сравнительного тестирования ЦП для Linux, я запустил тесты на Ubuntu 16.04 на Linux и Windows. На Linux приблизительно 24 секунды на версии 1709 Windows 10 приблизительно 31 секунда. Linux составляет 6 секунд быстрее или приблизительно на 25% быстрее. Однако я просто обновил Windows 10 до версии 1803 (Redstone 4 иначе обновление апреля 2018 Создателей Spring), и потребовалось 24 секунды, который совпадает с Linux.

Ubuntu 16.04 на Linux

$ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          23.5065s
    total number of events:              10000
    total time taken by event execution: 23.5049
    per-request statistics:
         min:                                  2.13ms
         avg:                                  2.35ms
         max:                                  8.52ms
         approx.  95 percentile:               2.76ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   23.5049/0.00

Ubuntu 16.04 в Windows 10 создает 1709

$ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          30.5350s
    total number of events:              10000
    total time taken by event execution: 30.5231
    per-request statistics:
         min:                                  2.37ms
         avg:                                  3.05ms
         max:                                  6.21ms
         approx.  95 percentile:               4.01ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   30.5231/0.00

Ubuntu 16.04 в Windows 10 создает 1803

$ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          23.7223s
    total number of events:              10000
    total time taken by event execution: 23.7155
    per-request statistics:
         min:                                  2.21ms
         avg:                                  2.37ms
         max:                                  4.53ms
         approx.  95 percentile:               2.73ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   23.7155/0.00

Примечание: Обновление пружины Windows 10 на 2018 (названный Redstone 4) вышло 9-го мая (4 дня назад), и я буду устанавливать его скоро для проверки улучшений. Несомненно существуют многие. Один я знаю об этом, интересует меня, способность работать cron задания на запуске. Мне нужно это для автоматических ежедневных резервных копий на gmail.com.

ПРИМЕЧАНИЕ 2: я только что установил Windows 10 Build 1803 (Обновление Создателей Spring апреля 2018 иначе Redstone 4), и экранное рисование намного намного быстрее. Это - теперь только 3 секунды вместо 5 секунд для отображения экрана-заставки Bash. Сравнительный тест ЦП на одном уровне с Linux теперь.

12
ответ дан 23 November 2019 в 02:41

Ваше программное обеспечение моделирования наиболее вероятно или зависящее от ЦП или связанная память. Для таких рабочих нагрузок каждый не был бы кроме видеть любую значительную разницу между выполнением кода "чистого металла" или в WSL (или любой другой слой совместимости или VM, который использует собственное выполнение), с тех пор в любом случае ОС главным образом просто стоит в стороне, в то время как код моделирования работает непосредственно на ЦП.

Однако также возможно, что Вашим моделированием является по крайней мере частично ввод-вывод, связанный, и это - то, где различия могут появиться. По-видимому, WSL (в настоящее время) имеет довольно медленный слой интерфейса файловой системы, который может замедлить диск ввод-вывод значительно.* Тем не менее, в то время как диск, ввод-вывод может быть главным узким местом для многих видов объемных задач обработки данных, "моделирование" обычно, не должен тратить большинство своего времени, читая и пишущий файлы. Если Ваш, можно хотеть полагать, что выполнение его от псевдодиска (например, tmpfs на собственном компоненте ** Linux) избегает бесполезного доступа физического диска.

В любом случае единственный способ быть уверенным состоит в том, чтобы протестировать Ваше моделирование в обеих средах и время, сколько времени это берет для выполнения. Прежде, чем сделать это, однако, можно хотеть смотреть на существующие сравнительные тесты, как этот WSL по сравнению с Докером по сравнению с VirtualBox по сравнению с собственным сравнительным тестом производительности Linux Phoronix с февраля 2018, и исследовать результаты на любые тесты, которые подчеркивают те же компоненты системы, как моделирование делает.

(FWIW, результаты Phoronix, кажется, главным образом соответствуют общим принципам, которые я обрисовал в общих чертах выше, хотя существует несколько известных причуд как VirtualBox, по-видимому, превосходящий собственный Linux по характеристикам в некоторых, ввод-вывод связал сравнительные тесты, по-видимому из-за его виртуального диска не всегда сразу синхронизация данных к физическому диску. Одна потенциально соответствующая проблема, которую мне не удалось отметить выше, - то, что сравнительные тесты показывают существенную разницу в многопоточной производительности OpenMP и между различными серверными средами и также между различными дистрибутивами Linux, работая на "голом" оборудовании. В ретроспективе, это не слишком удивительно, начиная с поточной обработки, и IPC обрабатывается ядром. Я предположил бы, что так большая часть различия между дистрибутивами там может свестись к различным настраивающим параметрам ядра и/или времени компиляции во время выполнения.)


*) Согласно этому сообщению в блоге MSDN с 2016, в WSL существует на самом деле два компонента интерфейса файловой системы: VolFs, который тесно эмулирует собственную семантику файловой системы Linux по NTFS и используется для монтирования, например. / и /home, и DrvFs, который обеспечивает главным образом подобную Окнам семантику и используется для доступа к дискам Windows хоста через /mnt/c и т.д. Если Ваше программное обеспечение конкретно не требует, чтобы собственные функции файловой системы Linux как несколько жестких ссылок на тот же файл, настраивая его для хранения его файлов данных в папке DrvFs могли улучшить производительность доступа к файлу на WSL.

**) Согласно этому потоку Reddit с мая 2017, "tmpfs в настоящее время эмулируется с помощью диска" на WSL. Если что-то не переключило прошлый год, это, по-видимому, означает, что использование tmpfs на WSL не дает выигрыша в производительности по использованию нормальной дисковой файловой системы.

18
ответ дан 23 November 2019 в 02:41

Думайте об этом - в WSL, Ваш компьютер выполняет полную графическую систему Windows (который является ужасающим пожирателем ресурсов во-первых) плюс подсистема Ubuntu. В собственной Ubuntu это только запускает Ubuntu.

7
ответ дан 23 November 2019 в 02:41

Я не знаю, будет ли это влиять на Ваше моделирование, в частности, но оно могло бы:

WSL НЕ использует RAM для общей памяти! Это использует диск!

Это означает, если Ваше моделирование использует общую память (думать /dev/shm), это может быть медленно и/или износить Ваше устройство хранения! И потеря производительности прибывает из нескольких слоев:

  • Драйвер файловой системы

  • Драйвер устройства хранения данных

  • Носитель

Но если это не делает этого, затем производительность должна быть подобна этому на чистом металле Ubuntu (принимающий никакой другой ввод-вывод, как другие упомянули).

1
ответ дан 23 November 2019 в 02:41

Другие вопросы по тегам:

Похожие вопросы: