메모리 아키텍처 스타일

Nam Eun-Ji·2020년 11월 28일
0

시스템 아키텍처 스타일

1972년 마이클 플린이 제안한 분류체계

SISD 단일 인스터럭션 스트림, 단일 데이터 스트림

Single Instruction stream, Single Data streams

  • 하나의 데이터 스트림 입력과 이를 실행할 하나의 단일 프로세싱 유닛으로 구성된다.
  • 이러한 아키텍처는 폰 노이만 기계에서 나타나며, 멀티 코어 프로세서가 일반화되기 전, 가정용 컴퓨터에 적용됐다.
  • 인스트럭션 병렬화, 데이터 병렬화 같은 작업 수행이 불가
  • 시스템에 많은 부하를 주는 그래픽 프로세싱 또한 불가

SIMD 단일 인스터럭션 스트림, 복수 데이터 스트림

Single Instruction stream, Multiple Data streams

  • 복수 데이터 스트림 형태는 많은 멀티미디어를 처리하기에 알맞은 방식
  • 백터를 다루기에, 3D 그래픽 작업같은 부분에 이용된다.
  • 스칼라아키텍처에서 이뤄진다면 네번의 덧셈 연산을 아래와 같이 수행하나 SIMD아키텍처에서는 한 번의 연산으로 얻을 수 있다.
  • 하나의 명령을 통해 동일한 연산을 다수의 엘리먼트에서 수행할 수 있다.
  • 최근 그래픽 카드상의 코어 수가 증가하면서 처리량 또한 증가하고 있다.

MISD 복수 인스터럭션 스트림, 단일 데이터 스트림

Multiple Instruction stream, Single Data streams

MIMD 복수 인스터럭션 스트림, 복수 데이터 스트림

Multiple Instruction stream, Multiple Data streams

  • 멀티 코어 프로세서
  • SIMD와 비교했을 때 MIMD 기반의 컴퓨터는 복수 데이터 세트의 단일 연산과 반대로, 병렬적으로 복수 데이터 세트를 여러 연산으로 구별해 동작할 수 있다.



컴퓨터 메모리 아키텍처 스타일

데이터에 접근하는 속도는 매우 중요하다. 데이터에 충분히 빠르게 접근할 수 없을 때 프로그램에서 병목 현상이 발생할 것이고, 아무리 디자인이 훌륭한 프로그램이라도 성능 향상이 힘들다. 성능을 가장 높일 수 있는 방법 중 하나는 모든 코어가 프로세서상에서 접근할 수 있는 단일 물리 주소 공간을 제공하는 것이다.

UMA

Uniform Memory Access 균일 메모리 접근

  • 프로세싱 코어 개수에 상관없이 동일한 방식으로 공유 메모리 공간을 사용하는 것
  • 코어의 위치와 메모리와의 거리에 상관없이 동일한 시간에 직접 메모리에 접근할 수 있다.
  • 이러한 스타일을 SMP(Symmetric Shared-Memory Multiprocessors, 대칭형 공유 메모리 멀티프로세서)방식이라고도 한다.

장점

  • 모든 RAM 접근은 정확한 시간에 일어난다.
  • 캐시가 일정하다.
  • 하드웨어 디자인이 간단한다.

단점

  • UMA 시스템은 모든 시스템 접근 메모리에서 1개의 메모리 버스만 이용하므로 스케일링 문제가 나타난다.

NUMA

Non-Uniform Memory Access 불균일 메모리 접근

  • 요청되는 프로세스에 따라 메모리 접근이 더 빠를 수 있는 아키텍처 스타일
  • 각 프로세서는 캐시, 메인 메모리, 독립적인 입출력을 갖고 있는데, 모두 상호 연결망으로 연결됐다.

장점

  • NUMA 컴퓨터는 균일 메모리 접근 방식과 비교해 스케일링이 쉽다.

단점

  • 비결정적 메모리 접근 시간은 로컬 메모리일 경우 접근시간이 매우 빠르지만, 외부 메모리일 경우 시간이 오래 걸린다.
  • 프로세서는 그 외 프로세서에서 생긴 변화를 봐야하는데, 주변 프로세서의 개수에 따라 그 시간이 증가할 수도 있다.



참고
http://www.techplayon.com/what-is-numa-non-uniform-memory-access/

profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글