병렬컴퓨터의 분류 – 기억장치 엑세스 모델

이전에 작성한 Flynn의 분류들 중에서 병렬 컴퓨터의 구조로써 가장 널리 채택되고 있는 MIMD 조직은 기억장치의 위치와 주소지정 방식 및 프로세서들에 의한 기억장치 엑세스 시간에 따라 4가지 모델로 구분될 수 있다.

  • 균일 기억장치 액세스(Uniform Memory Access: UMA) 모델
  • 불균일 기억장치 액세스(Nonuniform Memory Access: NUMA) 모델
  • 개쉬-온리 기억장치 액세스(Cache-Only Memory Access: COMA) 모델
  • 무원격 기억장치 엑세스(No-Remote Memory Access: NORMA) 모델

UMA 모델에서는 모든 프로세서들이 상호연결망에 의해 접속된 주기억장치 모듈들을 공유한다. 그리고 프로세서들은 공유 기억장치의 어느 영역이든 같은 방법으로 액세스할 수 있으며, 그에 걸리는 시간도 동일하다. 이 모델에 기반을 둔 시스템은 하드웨어가 간단하고 프로그래밍이 용이하다는 장점이 있는 반면에, 공유 자원들에 대한 경합이 높아지기 때문에 시스템 크기에 한계가 있다. 일반적으로, 상호연결망으로 버스가 사용되는 경우에는 최대 30개의 프로세서들, 크로스바 스위치 혹은 다단계 상호연결망 등이 사용되는 경우에는 최재 64개의 프로세서들로 구성될 수 있다.

NUMA 모델은 시스템 크기에 대한 UMA 모델의 한계를 극복하고 더 큰 규모의 시스템을 구성하기 위한 것으로써, 다수의 UMA 모델들이 상호연결망에 의해 접속되며, 전역 공유 기억장치(Global Shared Memory)도 가질 수 있다. 이 모델에서는 시스템 내의 모든 기억장치들이 하나의 주소 공간을 형성하는 분산 공유 기억장치 구조를 가지기 때문에, 프로세서들은 자신이 속한 UMA 모듈의 기억장치뿐 아니라 GSM 및 다른 UMA 모듈의 기억장치들도 직접 액세스 할 수 있다. 그러나 기억장치 액세스 시간은 액세스 할 기억장치의 위치에 따라 잘라진다. 즉, 프로세서에 의한 기억장치 액세스는 세 가지 패턴으로 분류된다.

  1. 지역 기억장치 엑세스: 자신이 속한 UMA 모듈 내의 기억장치에 대한 액세스로써, 가장 짧은 시간이 소요된다.
  2. 전역 기억장치 액세스: 프로세서가 원하는 데이터가 전역 공유 기억장치에 있는 경우에 이루어지는 액세스다.
  3. 원격 기억장치 액세스: 다른 UMA 모둘에 위치한 기억장치로부터 데이터를 액세스하는 경우로, 가장 긴 시간이 소요된다.

COMA 모델에서는 시스템 내에 주기억장치가 존재하지 않으며, 각 프로세서가 가지고 있는 기억장치는 모드 캐쉬로부터 동작한다. 모든 캐쉬들은 하나의 공통 시억장치 주소공간을 형성하며, 다른 프로세서의 개쉬에 대한 엑세스는 분산 캐귀 디렉토리들에 의해 지원된다. 초기 단계에서는 데이터들이 임의의 캐쉬에 저장되어 있으며, 실행 시간 동안에 실제 그 데이터들을 사용할 프로세서의 캐쉬로 이동된다.

NORMA 모델은 이름에서 의미하듯, 프로세서가 원격 기억장치는 직접 액세스할 수 없는 병렬컴퓨터 구조이다. 프로세서와 기억장치로 구성되는 노드들은 메시지 전송 방식을 지원하는 상호연결망에 의해 서로 접속된다. 그러나 어떤 노드의 프로세서가 다른 노드의 기억장치에 저장되어 있는 데이터를 원하는 경우에, 그 기억장치를 직접 액세스하지 못한다. 그 대신에, 그 노드로 기억장치 액세스 요구 메시지를 보내며, 메시지를 받은 노드는 해당 데이터를 인출하여 그것을 요구한 노드로 보내준다. 이러한 시스템에서는 각 노드가 별도의 기억장치를 가지고 있기 때문에 분산 기억장치 시스템이라고도 부른다. 이 모델을 위한 상호 연결망들이 별도로 존재하므로 이것들은 나중에 별도의 문서로 다룬다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.