Рейтинг:0

Запуск критического по времени исполняемого файла (CPU+GPU) Я получаю огромное расхождение во времени между средами выполнения

флаг ph

В Ubuntu 20.04.3 LTS я запускаю многопоточное приложение, которое использует как ЦП, так и ГП. Мой вопрос заключается в том, что при секвенировании идентичных прогонов я получаю огромное расхождение во времени между средами выполнения (эталонами). Я проверил процессы, работающие в фоновом режиме, которые кажутся очень нормальными, а время простоя процессора составляет почти 99%.

Например

1-й запуск: 573 секунды 2-й запуск: 750 секунд 3-й запуск: 986 секунд

Я попытался запустить приложение с более низким приоритетом, используя хорошо -n15 но я отличий не увидел.

Итак, 1) как я могу объяснить это явление? и 2) как установить для приложения приоритет в реальном времени?

С уважением,

Maverick avatar
флаг ph
@guiverc да Ubuntu 20.04.3 LTS
TD15 avatar
флаг cn
Вероятно, это связано с температурой вашего процессора/графического процессора. Возможное объяснение: при первом запуске ваш ЦП/ГП запускался при температуре окружающей среды и имел возможность разогнаться до максимального турбо в течение приличного времени, а затем тормозил из-за нагрева. Во втором прогоне, возможно, ЦП/ГП уже были горячими с первого прогона, поэтому он не работал в турборежиме. У третьего, возможно, было еще хуже дросселирование. На самом деле трудно определить, в чем причина, без дополнительной информации. Что делает ваше приложение? Привязан только к CPU/GPU или часто обращается к диску? Он обрабатывает одни и те же данные?
Maverick avatar
флаг ph
да, они обрабатывают одни и те же данные, а также часто используют диск (кодирование видео). Загрузка графического процессора составляет около 60%
Maverick avatar
флаг ph
Я повторно запущу тесты командой `chrt -f 99` и проверю еще раз.
TD15 avatar
флаг cn
Предполагая, что у вас есть SSD, твердотельные накопители (не SLC) используют кэш SLC, чтобы покрыть более медленную скорость записи ячеек TLC и QLC. Возможно, вы исчерпываете свой кеш записи SLC и записываете в более медленные ячейки TLC. Запустите приложение, контролируя загрузку ЦП/ГП, частоту, температуру и пропускную способность диска.
Maverick avatar
флаг ph
спасибо, буду следить за статистикой. SSD — это основной диск, используемый только для загрузки. Операции чтения/записи приложения находятся на вторичном механическом жестком диске.

Ответить или комментировать

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