ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하드웨어의 메모리와 통신방법
    IT 2021. 6. 7. 07:48
    반응형

    병렬 컴퓨터의 주 메모리는 단일 주소 공간의 모든 처리 요소 간에 공유하거나 배포할 수 있으며 각 처리 요소에는 고유한 로컬 주소 공간이 있습니다. 분산 메모리라는 용어는 메모리가 논리적으로 분산되어 있다는 사실을 의미하지만, 종종 메모리가 물리적으로 분산되었음을 의미합니다. 분산 공유 메모리 및 메모리 가상화는 프로세서에 로컬 메모리가 있고 로컬이 아닌 프로세서의 메모리에 액세스 할 수 있는 두 가지 방법을 결합합니다. 로컬 메모리 액세스는 일반적으로 로컬이 아닌 메모리 액세스보다 빠릅니다. 균일하지 않은 메모리 액세스(NUMA)가 있는 아키텍처의 논리적 보기입니다. 한 디렉터리의 프로세서는 다른 디렉터리에서 메모리에 액세스 할 수 있는 것보다 대기 시간이 적은 디렉터리에서 메모리에 액세스 할 수 있습니다. 기본 메모리의 각 요소에 동일한 대기 시간 및 대역폭으로 액세스 할 수 있는 컴퓨터 아키텍처를 UMA(균일 메모리 Access) 아키텍처라고 합니다. 일반적으로 메모리가 물리적으로 분산되지 않는 공유 메모리 시스템에서만 달성할 수 있습니다. 이 속성이 없는 시스템을 NUMA(비 균일 메모리 액세스 아키텍처)라고 합니다. 분산 메모리 시스템에는 메모리에 대한 균일하지 않은 액세스 권한이 있습니다.

    컴퓨터 시스템은 종종 물리적,논리적 의미에서 메모리 값의 임시 복사본을 저장하는 프로세서 근처에 있는 작은 빠른 메모리인 캐시를 사용합니다. 병렬 컴퓨팅 시스템은 캐시에 어려움을 가지며 동일한 값을 두 개 이상에 저장할 수 있으므로 부적절한 프로그램 실행 가능성이 있습니다. 이러한 컴퓨터는 일반적으로 캐시 된 값을 추적하고 전략적으로 삭제하여 프로그램 실행을 올바르게 실행해야 하는 시스템 캐시의 일관성이 필요합니다. 버스 스니핑은 액세스 중인 값을 추적하는 가장 일반적인 방법 중 하나입니다. 대형 캐시 일관성과 고성능 시스템을 설계하는 것은 컴퓨터 아키텍처에서 매우 어려운 문제입니다. 따라서 공유 메모리 아키텍처는 분산 메모리 시스템으로 확장 가능하지 않습니다.

    프로세서 메모리 통신은 멀티포트 또는 멀티플렉스(멀티포트 또는 멀티플렉스)를 통해 크로스바 스위치, 공유 버스 또는 별, 링, 트리, 하이퍼큐브, 두꺼운 하이퍼큐브와 같은 다양한 토폴로지의 상호 연결된 네트워크를 통해 노드 또는 n 차원 메시에 두 개 이상의 프로세서가 있는 하이퍼큐브 등 여러 가지 방법으로 하드웨어로 구현할 수 있습니다. 상호 연결된 네트워크를 기반으로 하는 병렬 컴퓨터에는 메시지가 직접 연결되지 않은 노드 간에 전달되도록 일종의 라우팅이 있어야 합니다. 대형 멀티프로세서 기계의 프로세서 간 통신에 사용되는 매체는 계층적일 수 있습니다.

    그래픽 처리 장치(GPGPU)의 범용 컴퓨팅은 컴퓨터 엔지니어링연구의 비교적 최근 추세입니다. GPU는 컴퓨터 그래픽 처리에 크게 최적화된 공동 프로세서입니다. 컴퓨터 그래픽 처리는 병렬 데이터, 특히 선형 대수 및 매트릭스 작업에 대한 작업이 지배하는 필드입니다. 처음에 GPGPU 프로그램은 일반적으로 그래픽 API를 사용하여 프로그램을 실행했습니다. 그러나 엔비디아와 AMD 모두 GPU에서 범용 컴퓨팅을 수행하기 위해 여러 개의 새로운 프로그래밍 언어와 플랫폼이 구축되었으며, 각각 CUDA 및 Stream SDK로 프로그래밍 환경을 확보했습니다. 다른 GPU 프로그래밍 언어는 다음과 같습니다. 브룩 GPU, 피크 스트림, 래피드 마인드. 엔비디아는 또한 테슬라 시리즈에서 컴퓨팅 관련 제품을 출시했다. 기술 컨소시엄인 크로노스 그룹은 CPU와 GPU로 구성된 다양한 플랫폼에서 실행되는 프로그램을 작성하기 위한 프레임 워크인 OpenCL을 출시했습니다. AMD, 애플, 인텔, 엔비디아 등은 OpenCL을 지원하고 있습니다. 병렬 응용 프로그램을 해결하기 위해 여러 응용 프로그램별 집적 회로(ASIC)가 설계되었습니다.

    ASIC(정의에 의하면)은 지정된 응용 프로그램에 특정하므로 해당 응용 프로그램에 완전히 최적화할 수 있습니다. 따라서 지정된 응용 프로그램의 경우 ASIC이 범용 컴퓨터를 능가하는 경향이 있습니다. 그러나 ASIC는 X선 리소그래피로 만들어집니다. 이 프로세스에는 매우 비쌀 수 있는 마스크가 필요합니다. 마스크는 백만 달러 이상의 비용이 들 수 있습니다. 칩에 필요한 트랜지스터가 작을수록 마스크가 더 비쌉습니다. 한편, 무어의 법칙에 설명된 범용 컴퓨터의 성능 향상은 한두 세대의 칩에서 이러한 차이를 제거하는 경향이 있습니다. 높은 초기 비용과 무어의 법칙에 의해 추월되는 경향은 대부분의 병렬 응용 프로그램에 ASIC를 사용하는 것이 불가능하게 만들었습니다. 그러나, 일부는 만들어진 것입니다. 예를 들어 분자 역학 시뮬레이션에 대한 ASIC를 사용하는 페타 플롭 RIKEN MDGRAPE-3 기계가 있습니다.

    벡터 프로세서는 대규모 데이터 집합에서 동일한 명령을 실행할 수 있는 CPU 또는 컴퓨터 시스템입니다. 벡터 프로세서에는 숫자 또는 벡터의 줄 배열에서 작동하는 높은 수준의 작업이 있습니다. 벡터 작업의 예는 A, B 및 C가 64 요소 벡터인 A = B × C이며, 각각 64비트 부동점 번호입니다. 그들은 밀접하게 플린의 SIMD 분류와 관련이 있습니다. 크레이 컴퓨터는 1970년대와 1980년대에 벡터 처리로 유명해졌습니다. 그러나 CPU와 컴퓨터 시스템 모두 벡터 프로세서가 사라졌습니다. 최신 프로세서에 대한 명령 세트에는 AltiVec 및 SIMD 확장(SSE)과 같은 일부 벡터 처리 지침이 포함됩니다.

Designed by Tistory.