24장. 잘못된 공유 감지

잘못된 공유는 Symmetric Multi Processing(SMP) 시스템의 프로세서 코어가 다른 프로세서에서 사용 중인 동일한 캐시 라인의 데이터 항목을 수정하여 프로세서 간에 공유되지 않는 다른 데이터 항목에 액세스할 때 발생합니다.

이러한 초기 수정을 위해서는 캐시 라인을 사용하는 다른 프로세서가 해당 사본을 무효화하고 업데이트된 프로세서를 요청할 필요가 없으며 수정된 데이터 항목의 업데이트된 버전에 액세스할 필요가 없습니다.

perf c2c 명령을 사용하여 잘못된 공유를 탐지할 수 있습니다.

24.1. perf c2c의 목적

perf 툴의 c2c 하위 명령을 사용하면 C2C(공유 데이터 캐시) 분석을 활성화합니다. perf c2c 명령을 사용하여 캐시 라인 경합을 검사하여 true 및 false 공유를 모두 탐지할 수 있습니다.

캐시 라인 경합은 SMP(Symmetric Multi Processing) 시스템의 프로세서 코어가 다른 프로세서에서 사용 중인 동일한 캐시 라인의 데이터 항목을 수정할 때 발생합니다. 그런 다음 이 캐시 라인을 사용하는 다른 모든 프로세서는 사본을 무효화하고 업데이트된 프로세서를 요청해야 합니다. 이로 인해 성능이 저하될 수 있습니다.

perf c2c 명령은 다음 정보를 제공합니다.

  • 경합이 감지된 캐시 라인
  • 데이터 읽기 및 쓰기 프로세스
  • 경합을 유발하는 지침
  • 경합과 관련된 NUMA(Non-Uniform Memory Access) 노드