Sandy-Bridge E Xeon CPU의 모든 코어는 L3 캐시를 공유합니까?

Sandy-Bridge E Xeon CPU의 모든 코어는 L3 캐시를 공유합니까?

안에관련 질문L3 캐시를 두 배로 늘리는 측면에서 듀얼 CPU 시스템의 이점에 대해 물었습니다.

그러나 나는 Xeon E5-2600 시리즈 CPU가 정확히2.5MB의 L3 캐시코어당.

이로 인해 운영 체제는 코어당 2.5MB의 L3 캐시를 예약한다고 믿게 됩니다. 하지만 L3 캐시가 좋다는 모순된 인상도 가지고 있습니다.공유됨모든 코어 중에서. 이에 대한 정보나 논의는 놀랍게도 거의 없습니다.

나의 주요 관심사는 우선 순위가 낮은 백그라운드 애플리케이션이 L3 캐시를 "호그(hog)"하고 우선 순위가 높은 포그라운드 애플리케이션의 성능을 저하시킬 수 있는지 여부입니다. 이 질문에 동기를 부여한 두 가지 구체적인 성능 문제가 있습니다.

  1. VS 2008의 현재 개발 시스템에서는 특정 C++ 프로그램을 컴파일하는 데 25분이 소요되는 반면, 다른 시스템에서는 훨씬 더 빨라져 동일한 설정의 VS 2008에서는 단 5분만 소요됩니다. - 거의 고급형 i7을 사용하고 있음에도 불구하고 970 CPU 및 충분한 RAM.

  2. 내 시스템에서 프로그램을 실행하는 데(즉, 기본 창을 표시하는 데) 최대 20초가 걸리는 경우가 많습니다. 관련 언급에 따르면 Windows 셸은 상황에 맞는 메뉴 항목을 제한하려는 시도에도 불구하고 Windows 탐색기 상황에 맞는 메뉴를 표시하는 데 최대 10초가 필요하며 관련 동작에도 시간이 오래 걸립니다(현재는 그 이상으로 10개의 추가 항목이 있을 수 있습니다). 기본값).

내 시스템에는 수년에 걸쳐 설치(및 제거)한 매우 많은 수의 응용 프로그램이 로드되어 있지만 그럼에도 불구하고 시스템을 간소화하기 위해 최선을 다합니다.

또한 우선순위가 낮은 백그라운드 애플리케이션이 많이 실행되고 있습니다. 특히 CrashPlan과 같은 중복 클라우드 백업 소프트웨어는 일반적으로 이 6코어 12스레드 시스템에서 총 CPU 사용률의 약 25%를 활용합니다.

나는 새 컴퓨터를 사게 될 것이다. 나는 계속해서 많은 백그라운드 응용 프로그램을 실행하고 많은 프로그램을 설치/제거할 것임을 알고 있습니다. 코어 수뿐만 아니라 L3 캐시도 두 배로 늘리는 듀얼 CPU 시스템을 구입하면 끔찍한 C++ 컴파일러 성능과 일반적인 시스템 속도 저하를 극복하는 데 도움이 될 것이라고 생각했다면 기꺼이 그렇게 할 것입니다.

거기~해야 한다많은 프로그램과 백그라운드 응용 프로그램이 있어도 고급 시스템이 그렇게 느리게 작동하는 이유가 없습니다. 그러나 시스템에 아무리 많은 CPU 성능과 L3 캐시를 제공하더라도 문제가 발생한다면 단순히 너무 많은 프로그램과 백그라운드 응용 프로그램이 설치되어 실행되고 있기 때문에 듀얼 CPU에 2,500달러를 추가로 낭비하고 싶지 않습니다. 내 문제를 해결하는 데 도움이 되지 않는 시스템입니다.

특히 L3 캐시가 모든 코어에서 공유되는지(예를 들어 우선 순위가 낮은 백그라운드 응용 프로그램이 L3 캐시를 독차지하여 우선 순위가 높은 프로그램의 속도를 저하시킬 수 있음) 또는 개별 코어에 연결되어 있는지에 대한 내 질문과 관련된 제안 사항이 있습니다. 코어, 감사하겠습니다.

답변1

이러한 CPU에서는 각 물리적 코어에 자체 L2 캐시가 있습니다. L3 캐시는 모든 코어에서 공유되며 포괄적입니다. 즉, 모든 코어의 L2 캐시에 있는 모든 데이터도 L3 캐시에 있습니다.

이는 L3 공간을 낭비하는 것처럼 보일 수 있지만 실제로 L3는 코어 간 메모리 작업을 가속화하는 데 매우 중요합니다. L3 캐시의 주요 목적은 코어의 스위치보드 및 스테이징 영역 역할을 하는 것입니다. 예를 들어, 한 코어가 메모리 영역이 다른 코어에 의해 캐시될 수 있는지 알고 싶다면 L3 캐시를 확인할 수 있습니다. 정보가 한 코어에서 처리되고 다음 코어에서 처리되어야 하는 경우 느린 오프칩 메모리가 아닌 L3 캐시를 통해 정보를 전달합니다. 그 외에도 성능에 미치는 영향은 특이한 알고리즘을 제외하면 그다지 크지 않습니다. L2 캐시는 작은 작업에는 충분히 크고 L3 캐시는 큰 작업에 비해 너무 작습니다.

따라서 각 코어에는 자체 256KB L2 캐시가 있고 실제로 L3 캐시에 256KB가 예약되어 있지만 나머지는 모든 코어에서 공유됩니다. 다른 코어의 덜 중요한 활동은 L3 공간 사용으로 이점을 얻는 더 중요한 작업의 성능에 해를 끼칠 수 있습니다. 그러나 앞서 언급한 이유로 인해 실제로는 일반적으로 큰 영향을 미치지 않으며 일반적으로 캐시 오염을 최소화하기 위해 "대량 데이터" 작업(예: 압축 및 검색)을 최적화하는 것 외에는 걱정할 가치가 없습니다. (예를 들어, 비시간적 작업을 사용합니다.)

답변2

모든 수준의 캐시가 칩에 직접 구현되고 L2와 L3가 동일하다는 것이 제가 이해한 것입니다(Intel만이 차이점을 인식하고 AMD는 이를 결합합니다). 이를 염두에 두고 CPU의 L3 캐시가 듀얼 소켓 마더보드의 CPU 간에 공유되지 않는다고 생각합니다. 이는 CPU당 RAM에 대한 별도의 메모리 채널을 보는 것이 일반적이라는 점을 염두에 두는 것도 의미가 있습니다.

내가 틀렸다면 누군가 나를 정정하십시오.

관련 정보