로딩
요청 처리 중입니다...

141. [Benchmark] 메모리 대역폭 측정을 위한 STREAM 벤치마크 설치 및 사용

 141. [Benchmark] 메모리 대역폭 측정을 위한 STREAM 벤치마크 설치 및 사용

이번 포스트에서는 메모리 대역폭을 측정하는 STREAM 벤치마크의 사용 방법에 대해서 다룬다. 일반적으로, 메모리에 데이터가 올라간다고 해서 그 데이터가 무조건 처리된다고는 말할 수 없다. malloc이나 new 할당자로 메모리를 할당하는 것은 단순히 데이터를 메모리에 적재하는 것일 뿐, 실제로 데이터를 처리하기 위해서는 CPU로 데이터가 전송되어야만 한다.

즉, 새로운 데이터가 처리되는 경우(말단 캐시 미스)에 해당하는 이벤트 발생 시 메모리에 상주해 있던 데이터는 CPU와 메모리를 잇는 FSB (Front-side BUS) 라고 불리는 통로를 거쳐 CPU 내부의 캐시 및 레지스터에 비로소 올라가게 된다.Intel CPU의 경우에는 FSB에 연결된 중간 장치를 노스브릿지(North-bridge) 라고 부르는 듯 하다. 어쨌든, CPU의 종류를 막론하고 위와 같은 방식은 피할 수 없는 데이터 처리 구조일 것이다.

문제는, 버스의 메모리 대역폭을 직접적으로 측정하기는.. 어려운 것 같...