Супер медленный __ vdso_gettimeofday

Я заметил, что мой __ vdso_gettimeofday функция использует слишком много времени вычисления. При запущении программы в моей системе программа проводит 40-е, читая время, в то время как моя система работы проводит 0,037 с. Даже при том, что моя система выполняет намного больший ЦП, время вычисления фактором 100 медленнее. Различие во время вычисления было оценено с помощью инструмента перфекта Linux, т.е. перфекта-F 99 python test.py.

Кроме того, я проверил, что обе системы называют использование того же системного вызова strace. Как ожидалось gettimeofday системный вызов не обнаруживается там из-за vdso использования.

Обе системы выполняют то же Ядро Ubuntu (16.04, Ядро 4.4.0-98-универсальный x86_64), имеют тот же libc.so (2.23-0ubuntu9 GLIBC). Моя проблема, вызывающая систему, имеет Intel Skylake i7 7800X, выполняющий новейший микрокод и BIOS. Поэтому это не может быть вызвано этой ошибкой многопоточности. ЦП обычно ведет себя в других Сравнительных тестах, общая производительность кажется прекрасной.

Поэтому у меня закончились идеи причин для этого узкого места производительности.

  1. У Вас есть какие-либо идеи, что должно быть исследовано?
  2. Это может дезертировать быть только вызванным Аппаратным дефектом?-> НЕТ!
  3. Кто-то испытывал подобную проблему или имеет аналогичную систему?
  4. Дистрибутив мог обновить до справки Ubuntu 17.04?-> ДА!

Править: Обновление Дистрибутива 17,04 разрешило проблему. Однако все еще было бы интересно, если это - Ошибка в 16.04 Ядрах, которые характерны для Intel Skylake ЦП.

Мог кто-либо с ЦП Skylake пытаться воссоздать эту проблему?

1
задан 10 November 2017 в 01:30

0 ответов

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

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