2015-07-27 13 views
2

Выполняю анализ производительности приложения, работающего на сервере IBM POWER8, после CPI breakdown model for POWER8.Какой тип событий POWER8 PMU должен быть максимальным?

Я понимаю, что мне нужно уменьшить процент киосков, вызванных, например, промахов кэша (PM_CMPLU_STALL_DCACHE_MISS) или ошибочность прогнозирования ветвления (PM_CMPLU_STALL_BRU). POWER7 performance analysis tutorial говорит, что хорошо написанное приложение имеет высокий процент завершения окончательной подготовки (PM_1PLUS_PPC_CMPL).

Правильно ли я понимаю, что для POWER8 мне нужно maximize Процент для PM_GRP_CMPL метрический? Какие еще метрики на основе PMU я должен попробовать: maximize?

ответ

1

Указывая на очевидное: вам необходимо оптимизировать исходный код , чтобы свести к минимуму PM_RUN_CYC, количество циклов, которое требуется для выполнения вашей задачи по программному обеспечению.

Ссылка, которую вы давали, нарушает PM_RUN_CYC как PM_CMPLU_STALL + PM_GCT_NOSLOT_CYC + PM_GRP_CMPL.

Вы хотите уменьшить самый большой вклад в три компонента. Минимизируйте киоски, например, путем реорганизации кода для уменьшения промахов в кэше. Циклы «Без слота» связаны с неверным предсказанием отрасли и пропуском кэша команд.

PM_GRP_CMPL «Микрокодированные инструкции , которые охватывают несколько групп, будут генерировать это событие один раз для каждой группы». Неясно, что это говорит. В любом случае, вы хотите минимизировать - не максимизировать эти показатели.