반응형
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)".
- 즉, 시스템 전체 성능에 가장 큰 영향을 미치는 부분을 중심으로 최적화하는 것이 중요하다는 것을 의미.
- 전체 성능을 5배 향상시키기 위해 곱셈 성능을 얼마나 향상시켜야 할까?
- 예를 들어, 어떤 작업이 100초 중 80초를 곱셈 연산에 사용한다고 가정해보자.
6. 컴퓨터 아키텍처
- 최근 컴퓨터 아키텍처는 몇 가지 중요한 발전을 이루었다.
- 이러한 발전 중 하나가 GPGPU(General Purpose GPU)의 출현.
- GPGPU는 대량의 병렬 처리가 가능하며, 특히 행렬 계산이나 벡터 계산과 같은 연산에 매우 적합.
- 이러한 특성 때문에 GPGPU는 "embarrassingly parallel" 문제, 즉 각각의 계산이 서로 독립적이어서 병렬 처리하기 매우 쉬운 문제에 특히 유용.
- 또한, 특수 목적 하드웨어의 개발도 컴퓨터 아키텍처의 중요한 진화를 나타냄.
- 예를 들어, Google의 TPU(Tensor Processing Unit)는 특히 인공지능 연산에 최적화되어 있어, 대규모 데이터 세트에 대한 머신러닝 알고리즘의 훈련과 추론을 가속화.
- Microsoft의 Brainwave 프로젝트는 실시간 AI 시스템을 위한 플랫폼으로, 매우 높은 처리량과 낮은 지연 시간을 제공.
- 이러한 발전은 컴퓨터 아키텍처가 전통적인 범용 처리에서 벗어나 특정 애플리케이션 및 작업에 최적화된 방향으로 진화하고 있음을 보여줌.
반응형