An example of DAMON usage for profiling

I realized I didn’t introduce a good, intuitive example use case of DAMON[0] for profiling so far, though DAMON is not for only profiling. One straightforward and realistic usage of DAMON as a profiling tool would be recording the monitoring results with callstack and visualize those by timeline together. For example, below shows that visualization for a realistic workload, namely ‘fft’ in SPLASH-2X benchmark suite. The upper-most graph shows how DAMON-detected working set size of the workload (y-axis) changes by time (x-axis)....

February 25, 2021 · 2 min · 353 words · Me

DAMON 을 이용한 프로파일링의 한 예

DAMON[0] 이 프로파일링만을 위한 건 아니지만, DAMON 을 프로파일링에 활용하는 방법에 대한 괜찮은 직관적 예를 여태 소개한 적이 없다는 걸 깨달았습니다. 간단하지만 현실적인 DAMON 의 프로파일링 도구로써의 사용법은 모니터링 결과를 콜스택과 함께 기록한 후 시간대에 맞춰 시각화 하는 것입니다. 예를 들어, 아래 그림은 SPLASH-2X 벤치마크의 ‘fft’ 라는 워크로드에 대한 그런 시각화 결과입니다. 여기서, 우린 이 워크로드에 세개의 폭발적 메모리 액세스가 이루어지는 구간이 있는 것을 알 수 있으며, FFT1DOnce.cons::prop.2() 가 그 첫번째와 두번째 구간에, 그리고 Transpose() 는 세번째 구간에 연관되어 있음을 알 수 있습니다....

February 25, 2021 · 2 min · 265 words · Me