Как проанализировать данные профиля из 'записи перфекта -' (набор в масштабе всей системы)?

Мой опыт в работе в этой области был в Windows CE, а не Linux.

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

Инструменты предпочтения запускаются с соединения отладчика C/C++ с ОС на верхнем уровне, и на очень низкоуровневых данных отправки конца вниз последовательный порт / Почтовые индексы или на не аппаратные средства X86 отладчик JTAG или эквиваленты. Конечным результатом являются долгие часы, разрабатывая поток кода и находя точку, когда это ведет себя по-другому по сравнению с нормальным поведением. В той точке фиксация обычно очевидна. Сохраните хорошие примечания и внесите одно изменение за один раз.

Потребовалось 6 недель для идентификации питания проблема, которую мы имели с Windows CE. У нас была плата процессора PC104, которую мы могли выключить в течение 10 или 60 секунд и включить без проблем. Однако, если бы питание было удалено в течение 25 секунд, то оно не включилось бы. Оказалось, что у нас было достаточно емкости для сохранения содержания DRAM в целости без питания в течение приблизительно 20 секунд, таким образом, на коротком питании от цикла, Windows CE думал, что это возобновлялось от состояния ожидания. Когда вся память была сохранена, она будет на самом деле следовать за выполнением резюме, когда память была частично повреждена, она перепутать во время резюме.

Удачи.

4
12.08.2011, 13:56
2 ответа

perf report не нуждается -a переключитесь для создания отчетов о результатах perf record -a. Можно просто ввести perf report.

Тем не менее анализ 14G профильных данных для отслеживания катастрофического отказа кажется нечетным. Как насчет того, чтобы присоединить отладчик?

0
27.01.2020, 21:00
  • 1
    мне не интересно (хорошо, по крайней мере, не очень) в анализе, почему он отказал, но я интересуюсь профилем этого продолжительные вычисления. –  Jakub Narębski 12.08.2011, 13:51
  • 2
    К сожалению, использование perf report сбои для создания любого полезного вывода. Я добавил, что это производит для текста вопроса. Возможно, я должен попробовать более новым перфектом? каталоги –  Jakub Narębski 12.08.2011, 13:59

Если Вы распределяете вычисления с MPI, то использование MPI-осведомленного инструмента дало бы Вам более разумные результаты: с распределенным приложением у Вас могли бы быть проблемы неустойчивости загрузки, где один процесс MPI является неактивным ожиданием данных для прибытия из других процессов. Если Вы, окажется, будете профильными точно, что MPI обрабатывают, Ваш профиль производительности будет неправилен.

Так, первый шаг должен обычно узнавать о коммуникации и шаблоне баланса загрузки Вашей программы, и определять демонстрационный вход, который дает Вам рабочую нагрузку, которую Вы хотите (например, интенсивные ЦП на разряде 0), Например, mpiP является MPI профильный инструмент, который может представить очень полный отчет о коммуникационном шаблоне, сколько времени каждый вызов MPI взял и т.д.

Затем можно выполнить код, профильный инструмент на одном или нескольких выбрал разряды MPI. Так или иначе, использование perf на единственном MPI разряд вероятен не хорошая идея, потому что ее измерения будут содержать также производительность кода библиотеки MPI, который является, вероятно, не, что Вы ищете.

2
27.01.2020, 21:00

Теги

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