본문 바로가기
Computer Science/컴퓨터구조

컴퓨터구조의 전반적인 소개 (4) 컴퓨터 아키텍처 최신 동향: GPGPU, TPU, 멀티코어 프로세싱, 전력 관리 기술

by 큌 2024. 4. 29.
반응형

1. Power Trends

 

  • CMOS IC 기술은 컴퓨터 칩과 같은 반도체 장치에서 널리 사용되는 중요한 기술.
  • CMOS는 "Complementary Metal-Oxide-Semiconductor(상보성 금속 산화물 반도체)"의 약자로, 이 기술은 전력 소비를 줄이면서도 높은 성능을 제공하는 데 중점을 둔다.

2. Uniprocessor Performance

3. Reducing Power

 

  • 새로운 CPU가 전력을 줄이기 위해 다음과 같은 조치를 취했다고 가정:
    • 새 CPU는 기존 CPU 대비 용량부하가 85%.
    • 전압과 주파수를 각각 15% 줄였다.
  • 이러한 조치들은 전력 소모를 줄이는 데 기여하지만, “전력 벽(power wall)”에 부딪혔다고 함.
    • 즉, 전압을 더 이상 줄일 수 없고, 더 많은 열을 제거할 수 없다는 것을 의미.
  • 이러한 상황에서 성능을 개선하기 위해 다른 방법을 모색해야 함.
  • 다음은 몇 가지 방안:
    • 멀티코어 및 멀티스레딩:
      • 단일 코어의 성능을 높이는 대신, 여러 코어를 사용하여 병렬 처리 능력을 증가시킬 수 있다.
      • 이는 특히 병렬로 처리할 수 있는 작업에서 성능을 크게 향상시킬 수 있다.
    • 전력 관리 기술:
      • 동적 전력 관리(Dynamic Power Management, DPM)와 같은 전력 관리 기술을 통해 시스템의 전력 소모를 필요에 따라 조절하여 효율을 높일 수 있다.
    • 향상된 캐싱 전략:
      • 데이터와 명령어를 효율적으로 캐싱함으로써 메모리 접근 시간을 줄이고, 전력 소모를 줄일 수 있다.
    • 비동기식 회로:
      • 전통적인 동기식 회로 대신 비동기식 회로를 사용하여, 필요한 부분만을 활성화시켜 전력 소모를 줄일 수 있다.
    • 낮은 전력 소모를 위한 소프트웨어 최적화:
      • 소프트웨어 및 운영 체제 수준에서의 최적화를 통해 전력 소모를 줄일 수 있다.
  • 예를 들어, 덜 중요한 연산은 더 낮은 우선순위로 실행하거나, 더 효율적인 알고리즘을 사용하는 등의 방법이 있다.
  • 이러한 방법들은 전력 소모를 줄이면서도 성능을 개선할 수 있는 다양한 접근 방식을 제공.
  • 하지만, 구체적인 전략 선택은 특정 CPU의 목적, 사용 환경, 그리고 기술적 제약 사항을 고려.

4. Multiprocessors

  • 멀티프로세서와 멀티코어 마이크로프로세서는 현대 컴퓨팅 시스템에서 중요한 역할.
  • 멀티코어 마이크로프로세서:
    • 하나의 칩에 여러 개의 프로세서가 탑재된 것을 말함.
    • 명시적으로 병렬 프로그래밍이 필요.
      • 즉, 개발자가 프로그램을 병렬로 실행할 수 있도록 설계해야 함.
  • 높은 성능을 달성하기 위해, 작업을 여러 코어에 분산시키고, 각 코어가 동시에 다른 작업을 처리할 수 있다.
  • 명령어 수준 병렬성과의 비교:
    • 명령어 수준 병렬성(ILP, Instruction Level Parallelism)은 하드웨어가 동시에 여러 명령어를 실행하는 것.
    • 이는 프로그래머로부터 숨겨져 있으며, 하드웨어가 자동으로 처리.
  • ILP를 구현하는 것은 어려운 작업.
    • 성능을 위한 프로그래밍:
      • 멀티코어 또는 멀티프로세서 시스템에서 성능을 최적화하기 위해서는 몇 가지 고려해야 할 사항이 있다.
  • 부하 균형:
    • 모든 코어나 프로세서가 균등하게 작업을 처리하도록 하는 것이 중요.
    • 이를 통해 자원을 효율적으로 사용할 수 있다.
  • 통신 및 동기화 최적화:
    • 코어나 프로세서 간의 통신 및 동기화는 성능에 큰 영향을 미침.
    • 통신 비용을 최소화하고, 동기화로 인한 지연을 줄이는 것이 필요.
  • 멀티코어 및 멀티프로세서 시스템은 고성능 컴퓨팅을 위한 강력한 도구이지만, 이를 효과적으로 사용하기 위해서는 복잡한 프로그래밍과 성능 최적화가 필요.

5. Pitfall : Amdahl’s Law

  • 암달의 법칙(Amdahl's Law)은 컴퓨터의 특정 부분을 개선하고 전체 성능의 비례하는 개선을 기대하는 것에 대한 함정을 설명.
    • 예를 들어, 어떤 작업이 100초 중 80초를 곱셈 연산에 사용한다고 가정해보자.
      • 전체 성능을 5배 향상시키기 위해 곱셈 성능을 얼마나 향상시켜야 할까?
        • 공식을 사용해 보면, 20 = 80/n + 20 여기서 n은 곱셈 성능의 향상 비율.
      • 하지만 이 방정식을 만족시키는 n 값은 존재하지 않음.
        • 즉, 곱셈 성능을 아무리 향상시킨다 하더라도 전체 성능을 5배 향상시키는 것은 불가능하다는 것을 의미.
      • 이 법칙의 한 가지 교훈은 "흔한 경우를 빠르게 만들어라(Make the common case fast)".
        • 즉, 시스템 전체 성능에 가장 큰 영향을 미치는 부분을 중심으로 최적화하는 것이 중요하다는 것을 의미.

6. 컴퓨터 아키텍처

  • 최근 컴퓨터 아키텍처는 몇 가지 중요한 발전을 이루었다.
  • 이러한 발전 중 하나가 GPGPU(General Purpose GPU)의 출현.
    • GPGPU는 대량의 병렬 처리가 가능하며, 특히 행렬 계산이나 벡터 계산과 같은 연산에 매우 적합.
    • 이러한 특성 때문에 GPGPU는 "embarrassingly parallel" 문제, 즉 각각의 계산이 서로 독립적이어서 병렬 처리하기 매우 쉬운 문제에 특히 유용.
  • 또한, 특수 목적 하드웨어의 개발도 컴퓨터 아키텍처의 중요한 진화를 나타냄.
    • 예를 들어, Google의 TPU(Tensor Processing Unit)는 특히 인공지능 연산에 최적화되어 있어, 대규모 데이터 세트에 대한 머신러닝 알고리즘의 훈련과 추론을 가속화.
  • Microsoft의 Brainwave 프로젝트는 실시간 AI 시스템을 위한 플랫폼으로, 매우 높은 처리량과 낮은 지연 시간을 제공.
  • 이러한 발전은 컴퓨터 아키텍처가 전통적인 범용 처리에서 벗어나 특정 애플리케이션 및 작업에 최적화된 방향으로 진화하고 있음을 보여줌.
반응형