2013-02-03 6 views

답변

3

Nehalem 프로세서는 프로세서 간/노드/패키지 통신에 QuickPath Interconnect (QPI)을 사용합니다. NUMA system에는 각 노드에 시스템의 다른 노드와 공유되는 자체 로컬 메모리가 있습니다. 프로그램의 working set이 L1 캐시에 적합하고 읽기 전용 인 경우 어떤 NUMA 노드가 메모리를 소유하는지는 중요하지 않습니다. 코어가 캐시 미스를 얻고 메모리가 다른 노드에 의해 소유 될 때 NUMA 노드 간의 통신이 필요합니다. 그러나 이것은 다른 노드가 소유 한 메모리에 액세스하는 것이 더 느리다는 것을 의미하지는 않으며, 다른 노드가 자신의 로컬 메모리와 관련된 캐시에 캐시를 가지고 있는지 여부, 인텔이 Last Level Cache (LLC)라고 부르는 캐시에 따라 달라집니다. 코어에 의한 해당 노드의 로컬 메모리 위치에 대한 액세스는 다른 노드가 소유 한 메모리에 대한 액세스보다 빠르지 만 두 노드의 LLC에서 누락 된 경우에만 빠릅니다. 로컬 노드의 메모리로 이동하는 것보다 다른 노드의 LLC에있는 메모리에 액세스하는 것이 더 빠릅니다. 즉, 메모리가 CPU보다 훨씬 느리고 QPI가 이러한 종류의 통신에 최적화되어 있기 때문입니다. 대부분의 시스템은 프로세서 간 통신을 줄이려고 애 쓰지 않지만 쉬운 문제는 아니기 때문에 코어에 스레드의 선호도를 설정하고 해당 스레드의 메모리 작업 세트를 로컬 메모리에 설정해야합니다 그 노드의 이것을 Drepper Ulrich's paper에서 더 읽고 NUMA를 검색 할 수 있습니다. 이 백서에서 Ulrich는 QPI를 발표하기 전에 QPI의 Intel 이름 인 CSI (Common System Interface)로 지칭합니다.

+0

정말 고맙습니다. 저의 프로젝트와 그로 인해 많은 어려움을 겪고 있습니다. –