지식 - 팁들
위치: > 팁들 > 불균일 기억 장치 접근 (NUMA)란 무엇입니까?

지식 분류
관련 지식
새로운 지식
  • 윈도우 10에서 자동 복구 준비중 수
  • 삭제된 NTFS 파티션을 무료로 복구하
  • [문제 해결] 드라이브의 디스크를
  • [해결] USB 드라이브 데이터 복구
  • [2021]무료 USB 플래시 드라이브 복구
  • [2021] 간편하고 무료 하드 디스크
  • [2021]최상의 휴지통 복구 소프트웨
  • [해결] Windows 10에서 삭제된 파일을
기본 상식
  • Dropbox 에서 삭제된 파일을 복구하기
  • M4P란? 열고 변환하는 방법?
  • RAW USB 장치에서 손실된 데이터를
  • 솔루션은 컴퓨터가 있지만 디스플
  • [최근] 삭제된 사진을 Mac 에서 복원
  • 유용한 U-디스크 데이터 복구 도구
  • 베스트 안 드 로이드 전화 파일 복
  • U 디스크 포맷 후에 데이터를 복원

불균일 기억 장치 접근 (NUMA)란 무엇입니까?


요약

NUMA (불균일 기억 장치 접근Non-Unified Memory Access)는 다중 처리를 위한 컴퓨터 메모리 설계입니다. NUMA에 대한 전체 소개를 보려면 여기를 클릭하십시오.

정의

NUMA는 메모리가 타이트 스토리지와 먼 스토리지로 나뉘며, 메모리 액세스 시간은 프로세서에 상대적인 메모리 위치에 따라 달라집니다.


NUMA에서 프로세서는 로컬 메모리가 아닌 메모리보다 빠르게 로컬 메모리에 액세스합니다. NUMA의 이점은 특정 워크로드, 특히 데이터가 일반적으로 특정 작업 또는 사용자와 강하게 연관되어 있는 서버에서 제한됩니다.


비균일 메모리 접속 시스템은 다중 시스템 버스가 있는 고급 서버 플랫폼입니다. 이러한 플랫폼은 하나의 보드에 여러 개의 프로세서를 사용할 수 있으며, 모든 프로세서는 마더보드에 있는 모든 메모리에 액세스할 수 있습니다.


NUMA 아키텍처는 SMP(대칭형 다중 처리) 아키텍처에서 논리적으로 확장됩니다. SMP에 비해 NUMA 아키텍처는 더 많은 수의 CPU로 확장됩니다.

기본 개념

현대의 CPU는 사용하는 메인 메모리보다 훨씬 빨리 실행됩니다. 컴퓨팅과 데이터 처리 초기 단계에서 CPU는 일반적으로 메모리보다 느리게 실행됩니다. 메모리 액세스 수를 제한하는 것은 현대 컴퓨터에서 고성능을 추출하는 열쇠입니다.


그러나 운영 체제의 크기가 급격히 증가하고 운영 체제에서 실행되는 애플리케이션이 이러한 캐시 처리 개선 사항을 압도하는 경우가 많습니다. NUMA가 없는 멀티프로세서 시스템은 문제를 더욱 악화시킵니다.


NUMA는 각 프로세서에 대해 별도의 메모리를 제공하여 이 문제를 해결하려고 시도하므로 여러 프로세서가 동일한 메모리를 해결할 때 성능에 영향을 미치지 않습니다.


또한 NUMA 시스템에는 메모리 뱅크 간에 데이터를 이동할 수 있는 다른 하드웨어 또는 소프트웨어가 포함되어 있습니다. 이렇게 하면 이러한 뱅크에 연결된 프로세서의 속도가 줄어듭니다. 따라서 NUMA로 인한 전체 속도 증가는 대부분 실행 작업의 특성에 따라 달라집니다.

캐시 일관성 NUMA(ccNUMA)

거의 모든 CPU 아키텍처는 캐싱이라는 소량의 고속 비공유 메모리로 메모리 액세스에 있는 참조 위치를 활용합니다.


ccNUMA는 여러 캐시가 동일한 메모리 위치를 저장할 때 일관된 메모리 이미지를 유지하기 위해 캐시 컨트롤러 간의 프로세서 간 통신을 채택합니다. 결과적으로 ccNUMA는 여러 프로세서가 동일한 메모리 영역에 신속하고 지속적으로 액세스하려고 할 때 성능이 저하됩니다.


운영 체제에서 NUMA를 지원하면 프로세서 및 메모리를 NUMA 친화적인 방식으로 할당하고 NUMA 접근에 필요한 스케줄링 및 잠금 알고리즘을 방지하여 이러한 액세스 빈도를 줄이려고 합니다.

소프트웨어 지원

NUMA는 메모리 액세스 성능에 큰 영향을 미치기 때문에 예약 스레드 및 프로세스가 메모리 데이터에 액세스할 수 있도록 하려면 일부 소프트웨어 최적화가 필요합니다.


● Silicon Graphics IRIX는 1240 CPU 및 오리진 서버 시리즈를 통한 ccNUMA 아키텍처를 지원합니다.

● Microsoft Windows 7과 윈도우즈 서버 2008 R2는 NUMA 아키텍처의 64개 이상의 논리적 코어에 대한 지원을 증가시켰습니다.

● Java 7은 NUMA 인식 메모리 할당자 및 가비지 수집기를 지원합니다.

● Linux 커널 버전 3.13은 메모리 근처에 프로세스를 배치하고 프로세스 간에 투명한 큰 페이지를 사용하거나 메모리 페이지를 공유하는 등의 상황을 처리하는 여러 정책을 도입했습니다. 새 sysctl 설정을 사용하여 NUMA 밸런싱을 사용하거나 사용하지 않도록 설정하고 다양한 NUMA 메모리 밸런싱 매개 변수를 구성할 수 있습니다.

● OpenSolaris는 l그룹을 사용하여 NUMA 아키텍처를 모델링합니다.

● FreeBSD는 초기 NUMA 관련성 및 정책 구성을 버전 11.0에 추가합니다.

결론

요컨대, 이 페이지를 거치고 나면 비통합 메모리 액세스의 정의, 기본 개념 및 작업 방식에 대해 더 잘 이해할 수 있게 됩니다. 또한 NUMA가 메모리 액세스 성능에 영향을 미쳐 일부 소프트웨어가 이를 지원하도록 최적화합니다.