logo

UMA(균일 메모리 액세스)와 NUMA(비균일 메모리 액세스)의 차이점

멀티프로세서 으로 분류된다 공유 메모리 모델 유형: UMA(균일 메모리 액세스), NUMA(비균일 메모리 액세스) 및 COMA(캐시 전용 메모리 액세스) . 모델은 메모리와 하드웨어 리소스가 할당되는 방식에 따라 다릅니다. 물리적 메모리는 UMA 모델의 프로세서 간에 균일하게 공유되며 모든 메모리 단어에 대해 동일한 대기 시간을 갖습니다. 이와 대조적으로 NUMA는 CPU가 메모리에 액세스하는 데 가변적인 액세스 시간을 제공합니다.

이번 글에서는 의 차이점에 대해 알아보겠습니다. 하나 그리고 안에 . 그러나 차이점을 논의하기 전에 UMA와 NUMA에 대해 알아야 합니다.

내 모니터 크기 어떻게 알아?

UMA란 무엇입니까?

하나 의 약어이다 '균일한 메모리 액세스' . 다중 프로세서 공유 메모리 아키텍처입니다. 이 모델에서는 다중 프로세서 시스템의 모든 프로세서가 상호 연결 네트워크를 통해 동일한 메모리를 사용하고 액세스합니다.

UMA(균일 메모리 액세스)와 NUMA(비균일 메모리 액세스)의 차이점

각각의 대기 시간 및 액세스 속도 CPU 는 ~와 마찬가지로. 그것은 다음을 활용할 수 있습니다 크로스바 스위치, 단일 버스 스위치 또는 다중 버스 스위치 . 라고도 합니다. SMP(대칭형 다중 프로세서) 균형 잡힌 공유 메모리 액세스를 제공하기 때문입니다. 이는 시간 공유 및 범용 애플리케이션에 적합합니다.

NUMA란 무엇입니까?

안에 의 약어이다 '불균일한 메모리 액세스' . 또한 각 CPU에 전용 메모리가 부착된 멀티프로세서 모델이기도 합니다. 그러나 이러한 작은 메모리 구성 요소가 함께 모여 단일 주소 공간을 형성합니다. 메모리 액세스 시간은 CPU와 메모리 사이의 거리에 따라 결정되므로 메모리 액세스 시간이 다양합니다. 물리적 주소를 사용하여 모든 메모리 위치에 대한 액세스를 제공합니다.

UMA(균일 메모리 액세스)와 NUMA(비균일 메모리 액세스)의 차이점

그만큼 NUMA 아키텍처 여러 메모리 컨트롤러를 활용하여 사용 가능한 메모리 대역폭을 최대화하도록 설계되었습니다. 많은 머신 코어를 통합합니다. '노드' , 각 코어에는 자체 메모리 컨트롤러가 있습니다. 안에 안에 시스템에서 코어는 노드가 메모리 컨트롤러에서 처리하는 메모리를 수신하여 로컬 메모리에 액세스합니다. 코어는 다른 메모리 컨트롤러가 처리하는 원격 메모리에 액세스하기 위해 상호 연결 링크를 통해 메모리 요청을 전송합니다. NUMA 아키텍처는 계층적 및 트리 버스 네트워크를 사용하여 메모리 블록과 CPU를 연결합니다. NUMA 아키텍처의 몇 가지 예는 다음과 같습니다. BBN, SGI Origin 3000, TC-2000 및 Cray .

UMA와 NUMA의 주요 차이점

UMA(균일 메모리 액세스)와 NUMA(비균일 메모리 액세스)의 차이점

사이에는 다양한 주요 차이점이 있습니다. 하나 그리고 안에 . UMA와 NUMA의 주요 차이점은 다음과 같습니다.

  1. UMA(Uniform Memory Access)에는 단일 메모리 컨트롤러가 포함되어 있습니다. 대조적으로, NUMA(Non-Uniform Memory Access)는 여러 메모리 컨트롤러를 활용하여 메모리에 액세스할 수 있습니다.
  2. UMA의 각 CPU에 대한 메모리 액세스 시간은 동일합니다. 반면 NUMA의 메모리 액세스 시간은 CPU와 메모리의 거리에 따라 달라집니다.
  3. UMA는 다양한 범용 및 시간 공유 앱에서 활용됩니다. 반면에 NUMA는 실시간 및 시간이 중요한 앱에 사용됩니다.
  4. UMA 아키텍처는 단일, 다중 및 크로스바 버스를 사용합니다. 반면 NUMA는 계층적, 트리 구조의 버스와 네트워크 연결을 사용합니다.
  5. 대역폭 측면에서 UMA 아키텍처는 대역폭이 제한되어 있습니다. 반면에 NUMA는 UMA보다 대역폭이 높습니다.
  6. UMA의 메모리 액세스가 느립니다. 반면에 NUMA 메모리 액세스는 UMA 메모리 액세스보다 빠릅니다.

UMA와 NUMA의 일대일 비교

여기에서는 UMA와 NUMA를 직접 비교하는 방법을 알아봅니다. UMA와 NUMA의 주요 차이점은 다음과 같습니다.

타이프스크립트 foreach 루프
특징 하나 안에
전체 양식 UMA는 균일 메모리 액세스(Uniform Memory Access)의 약어입니다. NUMA는 Non-Uniform Memory Access의 약어입니다.
메모리 컨트롤러 여기에는 단일 메모리 컨트롤러가 포함되어 있습니다. 여기에는 여러 개의 메모리 컨트롤러가 포함되어 있습니다.
메모리 액세스 시간 균형 잡힌 또는 동일한 메모리 액세스 시간이 포함됩니다. 마이크로프로세서의 거리에 따라 메모리 접근 시간이 달라집니다.
메모리 액세스 메모리 액세스가 느립니다. 메모리 액세스 속도가 더 빠릅니다.
적당 주로 시분할 및 범용 애플리케이션에 활용됩니다. 주로 시간이 중요한 실시간 앱에 활용됩니다.
대역폭 대역폭이 제한되어 있습니다. 더 많은 대역폭을 가지고 있습니다.
버스 종류 단일, 다중 및 크로스바 버스를 사용합니다. 이는 계층적 및 트리 구조의 버스와 네트워크 연결을 사용합니다.

결론

UMA 아키텍처는 메모리에 액세스하는 프로세서에 대해 동일한 전체 대기 시간을 제공하며 지연이 균일하므로 로컬 메모리에 액세스할 때 특히 유용하지 않습니다. 이와 대조적으로 NUMA에서는 각 프로세서에 자체 전용 메모리가 있어 로컬 메모리에 액세스하는 동안 지연이 발생하지 않습니다. 지연 시간 변화는 CPU와 메모리 변화 사이의 거리에 따라 달라집니다. 그러나 UMA 디자인에 비해 NUMA는 향상된 성능을 제공합니다.