Lec18 - Power & Energy
한국어판 강의자료 · 37쪽

p.1CSED503 고급 컴퓨터 구조 – 강의 18
- 파워 & 에너지
- 김광선
- POSTECH 컴퓨터공학과
- 2021년 가을학기
- 면책 조항: 많은 슬라이드는 UC Berkeley, MIT, CMU의 David Patterson, Krste Asanovic, Arvind, Joel Emer, James Hoe, John Kubiatowicz 교수님들의 자료를 바탕으로 수정함

p.2왜 파워가 문제인가?
- 성능을 제한할 수 있음
- dark silicon(다크 실리콘): power envelope(전력 한계)이 한 번에 켜질 수 있는 트랜지스터의 수를 제한할 수 있음
- 열을 방출해야 함
- 칩이 녹음 (매우 나쁨)
- 패키징 (냉각을 위해 비용 증가)
- 열은 성능 저하를 초래함
- 예: thermal throttling(열 스로틀링)
- 전력을 공급해야 함
- 배터리
- 전기 요금
- 피크 주파수
- 1
- 1.6
- 2.4
- 전력
- 1
- 1
- 0.6
- (4 × 1)⁻¹ = 25%
- (16 × 0.6)⁻¹ = 10%
- 사용 가능한 실리콘 (45nm 전력 예산 기준)
- 25%
- 출처 = ITRS2008
- 2008
- 2014
- 2020
- 노드
- 연도
- 45nm
- 22nm
- 11nm
- 출처: Power-Efficient Computer Architectures: Recent Advances, Morgan & Claypool, 2014

p.3Dennard scaling(덴너드 스케일링)
- 각 기술 세대마다 트랜지스터 수가 2배 증가하고, 동일한 전력에서 40% 더 빠르게 동작함 (동일한 다이 면적 가정)
- 차원
- 전압
- 도핑 농도
- ×0.7
- 면적
- 0.5×↓
- 전력
- 0.5×↓
- 최대 주파수
- (∝1/지연 ∝1/길이)
- 1.4×↑
- capacitance(정전용량)
- (∝면적/거리)
- 0.7×↓
- 트랜지스터: 2차원 전압 제어 스위치
- 전력 = capacitance(정전용량) × 주파수 × supply voltage(공급 전압)²
- 슬라이드는 Gennady Pekhimenko의 자료를 바탕으로 수정

p.4Dennard scaling(덴너드 스케일링)의 종료 (약 2005년)
- Dennard scaling(덴너드 스케일링)은 'leakage current(누설 전류)'와 'threshold voltage(임계 전압)'을 무시함
- 이들은 트랜지스터당 기준 전력 수준을 결정함
- 마이크로프로세서는 전력 제한 상태에 들어감
- transistor density(트랜지스터 밀도) 향상은 여전히 지속되지만, 속도는 느려짐

p.5전체 전력 소산 추세
- 1000
- 100
- 핵반응로
- Pentium 4 (Prescott)
- 핫 플레이트
- Pentium 2
- Pentium 4
- Pentium 3
- 10
- Pentium Pro
- Pentium
- 1
- 1980
- 1990
- 2000
- 2010
- 전력 밀도 (W/cm²)
- 386
- 486

p.6모바일 시스템의 전력 문제
- CPU의 피크 전력이 열 설계 전력(TDP)을 크게 초과함
- battery capacity(배터리 용량) 요구 증가의 일부 원인
- 배터리 vs. 화면 크기
- CPU vs. 기타 구성 요소 전력
- 출처: [M. Halpern et al., HPCA’16]

p.7Arm big.LITTLE

p.8mobile CPU(모바일 CPU)의 진화
- 싱글코어 → 멀티코어 → heterogeneous multi-core(이질적 멀티코어)
- 데스크탑/서버 CPU에 비해 훨씬 낮은 clock frequency(클럭 주파수)를 가짐
- (동일 기간 동안 데스크탑/서버 CPU의 clock frequency(클럭 주파수)는 3GHz 초반에서 4GHz까지 증가함)

p.9증가하는 이질성

p.10데스크탑 및 서버 CPU의 전력 문제
- 열 설계 전력(TDP) 한계가 코어의 clock frequency(클럭 주파수)를 제한함
- 코어들이 설계 시 전체 clock frequency(클럭 주파수)를 지원할 수 있음에도 불구하고, 모든 코어에서 최대 클럭 주파수를 사용할 수 없음

p.11data center(데이터 센터) 전력 문제
- 전력 비용이 상당함
- 고전력 소비는 인프라 비용 증가로 이어짐
- TPUv1(75W)과 TPUv2(280W)는 air cooling(공기 냉각)을 사용했지만, TPUv3(450W)는 liquid cooling(액체 냉각)을 사용함
- liquid cooling(액체 냉각)은 냉각 인프라 비용을 분산시키기 위해 여러 인접 랙에 TPU를 배치해야 함
- 학습용 supercomputer(슈퍼컴퓨터)는 이미 여러 인접 랙으로 구성되어 있으므로 이 제약은 문제가 되지 않음
- 더 많은 공간을 가진 data center(데이터 센터)에만 학습을 제한하는 것은 큰 단점이 없음, 왜냐하면 광범위한 배포가 필요하지 않기 때문임
- 사용자 중심의 추론의 경우, 낮은 사용자 지연을 위해 전 세계적인 배포가 필요함
- 일부 전략적 data center(데이터 센터)는 이미 포화 상태이므로 여러 인접 랙을 배치하기 어려움
- 배포를 용이하게 하기 위해 추론용 DSA는 air cooling(공기 냉각)이어야 함

p.12전력 vs. 에너지
- 와트(W)로 측정되는 전력 소비
- 배터리 수명(시간)을 결정함
- 패키징 한계를 설정함
- 줄로 측정되는 에너지 소비
- 에너지 = 전력 × 지연 시간
- (줄 = 와트 × 초)
- 낮은 에너지 값은 동일한 주파수에서 계산을 수행하기 위한 전력이 적다는 의미일 수 있음
- 저전력 ≠ 저에너지

p.13전력 vs. 에너지
- 에너지-지연 곱(Energy-Delay Product, EDP) = 에너지 × 지연시간
- 에너지 소비와 성능을 모두 고려한다.
- 동일한 에너지 소비 조건에서 더 빠른 방법이 더 우수한 EDP를 제공한다.

p.14전력: 기본 개념
- dynamic power(동적 전력) vs. static power(정적 전력)
- 동적(스위칭) 전력: capacitive power(용량성 전력) 및 short-circuit power(단락 전력)
- • capacitive power(용량성 전력): 0→1 및 1→0 전이 시 충전/방전에 의한 전력
- • short-circuit power(단락 전력): 전이 중 일시적인 단락 전류로 인한 전력
- 정적("누설") 전력: 주기당 지속적인 에너지 비용
- dynamic power(동적 전력)이 지배적이지만, static power(정적 전력)의 중요성은 증가 중이다.
- 대부분의 연구는 capacitive power(용량성 전력)에 집중하지만, 최근 연구는 다른 요소들에 더 주목하고 있다.

p.15CMOS 트랜지스터의 작동 원리

p.16MOS 트랜지스터는 스위치이다

p.17기본 논리 게이트
- 그림 출처: https://learn.digilentinc.com/Documents/313

p.18CMOS 물 비유
- 전자: 물 분자
- 전하: 물의 무게
- 전압: 높이
- 전류: 흐름 속도
- capacitance(정전용량): 용기 단면적
- (전력 발전소가 물 타워에 에너지를 저장하는 방식을 생각해보라)

p.19액체 inverter(인버터)
- 입력부의 capacitance(정전용량)
- NMOS, PMOS의 게이트
- metal interconnect(금속 인터커넥트)
- 출력부의 capacitance(정전용량)
- 다른 게이트로 연결된 fanout(팬아웃) 수
- 트랜지스터의 '확산' capacitance(정전용량)
- metal interconnect(금속 인터커넥트)
- NMOS는 물의 수위가 스위칭 threshold voltage(임계 전압) 이상일 때 도전
- PMOS는 그 이하일 때 도전
- 용기 가득 찬 후에는 도전 없음

p.20inverter(인버터) 신호 전파 (1)

p.21inverter(인버터) 신호 전파 (2)

p.22지연 및 에너지 정의
- propagation delay(전파 지연)
- 출력 용기를 50% 채우는 데 걸리는 시간
- 출력 커패시터를 50% 충전하는 데 걸리는 시간
- switching energy(스위칭 에너지)
- 이동한 물의 무게 × 높이
- 전하 × 이동된 전하의 전압

p.23지연 및 전력 관찰
- 부하 capacitance(정전용량)이 증가하면 지연이 증가함
- 고 팬아웃 (출력에 연결된 게이트 수)
- 인터커넥트
- 더 높은 전류는 속도를 증가시킬 수 있음
- 트랜지스터 폭을 늘리면 전류는 증가하지만 capacitance(정전용량)도 증가함
- 스위칭 이벤트당 에너지는 전류에 관계없이 일정함
- 이동한 전하의 양에 따라 결정되며, 속도에는 영향을 받지 않음

p.24동적 (용량성) 전력 소산
- 데이터에 의존함 – 스위칭 활동의 함수
- 전압: supply voltage(공급 전압)
- 전류: I
- 입력 전압: VIN
- 부하 capacitance(정전용량): CL
- 전력 ~ ½ CV²Af
- capacitance(정전용량): 와이어 길이, 트랜지스터 크기에 따라 달라짐
- supply voltage(공급 전압): 연속적인 팹 공정에서 감소 중
- activity factor(활동 계수): 평균적으로 얼마나 자주 선이 스위칭되는가?
- clock frequency(클럭 주파수): 증가 중

p.25dynamic power(동적 전력) 감소
- VDD를 줄이면 dynamic power(동적 전력)은 제곱에 비례하여 감소한다
- 하지만 성능(즉, 주파수)에는 부정적인 영향(약 선형)을 미친다
- CL을 낮추면 성능 향상도 가능하다
- 트랜지스터의 내재 capacitance(정전용량)을 작게 유지한다
- 스위칭 활동을 줄인다
- 신호 전이 통계와 clock frequency(클럭 주파수)에 따라 달라진다
- 유휴 유닛에 clock gating(클럭 게이팅)을 적용한다
- 논리 및 아키텍처 결정에 의해 영향을 받는다

p.26dynamic power(동적 전력) 감소 – clock gating(클럭 게이팅)
- dynamic power(동적 전력)은 클럭 전이 시에 소산된다
- 필요하지 않을 때 클럭 라인을 게이팅하면 activity factor(활동 계수)를 줄일 수 있다
- 하지만 클럭 라인에 추가 게이트 지연을 넣으면 clock skew(클럭 스큐)가 증가한다
- 최종 결과:
- clock gating(클럭 게이팅)은 설계 분석을 복잡하게 하지만 전력을 절약한다
- 클럭
- 게이팅된 클럭
- 게이트

p.27short-circuit power(단락 전력) 소산
- 유한 기울기의 입력 신호로 인해 발생하는 단락 전류
- NMOS와 PMOS 트랜지스터가 동시에 도전할 때 VDD와 GND 사이에 직접 전류 경로가 형성됨
- ISC
- VOUT
- VIN
- CL

p.28short-circuit power(단락 전력) 소산
- short-circuit power(단락 전력)은 다음에 의해 결정된다:
- 입력 신호의 지속 시간과 기울기, tsc
- Ipeak는 트랜지스터 크기, 공정 기술, CL에 따라 결정됨
- short-circuit power(단락 전력)은 최소화할 수 있다:
- 입력 및 출력 신호의 상승/하강 시간을 일치시키려 노력한다
- 여기에는 아키텍처적 해결책이 거의 보이지 않는다
- 좋은 소식: 상대적으로 PowerSC는 감소하고 있다
- PowerSC ~ tsc × V × Ipeak

p.29leakage current(누설 전류)
- 임계 전압 (Vth): 소스와 드레인 단자 사이에 전도 경로를 형성하기 위해 필요한 게이트-소스 전압 VGS의 최소값
- subthreshold current(서브스레숄드 전류)는 온도 상승, threshold voltage(임계 전압) 감소와 함께 지수적으로 증가한다
- 하지만 threshold voltage(임계 전압) 스케일링은 회로 성능에 핵심적인 역할을 한다!
- gate leakage(게이트 누설)은 주로 게이트 산화막 두께와 편향에 따라 달라진다
- 이 두 가지 누설 유형은 모두 스택 구조와 입력 패턴에 크게 의존한다
- ISub
- VIN
- VOUT
- IDSub = k · e^(-q·VT / (a·ka·T))

p.30static power(정적 전력) 감소
- 설계 시 결정사항:
- 더 적고 더 작은 트랜지스터를 사용한다 — 가능하면 Vdd/Gnd에 대한 접점 수를 최소화하기 위해 스택 구조를 사용한다
- 다중 threshold voltage(임계 전압) 공정 기술 (다중 산화막도 포함)
- 가능한 한 '고-Vt' 느린 트랜지스터를 사용한다
- 동적 기법:
- 역바디 편향 (임계 전압을 동적으로 조정)
- 저누설 대기 모드 (상태 유지)
- power-gating(전원 게이팅)
- 회로의 Vdd/Gnd 연결을 끊는다
- 영누설 대기 모드
- 상태를 잃고, 활성화/비활성화에 대한 오버헤드 발생

p.31power-gating(전원 게이팅)을 통한 누설 전력 절약
- 설계 문제점:
- 게이트 장치(저항을 가진)는 논리 지연을 증가시킬 수 있다.
- 게이트에서 발생하는 전압 강하로 인해 동일한 주파수를 유지하기 위해 더 높은 외부 supply voltage(공급 전압)이 필요하다.
- 활성 모드에서 더 많은 전력을 소비한다.
- 대기 모드에서 활성화될 때, 로직 장치를 Vdd까지 충전하기 위해 in-rush current(돌입 전류)를 제어해야 한다.
- 일시적인 상태 동안 전력을 소비하지만, 로직은 유용한 작업을 수행할 수 없다.
- R. Jotwani et al., JSSC, 2011

p.32동적 전압 및 주파수 스케일링 (DVFS)
- 작업 부하를 처리하기에 충분한 성능을 제공하면서도 계산 시간을 충족시키기 위해, 운영 주파수와 supply voltage(공급 전압)을 동적으로 조절한다.
- 이를 통해 에너지 소산을 줄인다.

p.33DVFS를 통한 에너지 절약

p.34CPU에서의 DVFS와 power-gating(전원 게이팅)
- 작업 부하에 따라 운영 주파수를 조정한다.
- 필요한 주파수를 유지하기 위해 전압을 낮춘다.
- 예시:
- P-states(P-상태): 전압/주파수의 활성 제어
- C-states(C-상태): 대기 제어의 정도
- P-states(P-상태): 코어가 특정 주파수에서 실행 중
- C1/C2: 코어 정지 및 주파수 감소
- C3/C4: 코어 정지, clock frequency(클럭 주파수)를 더 낮게 조정, cache(캐시) 유지, 코어 유지
- C5: 코어 정지, clock frequency(클럭 주파수)를 더 낮게 조정, cache(캐시) 플러시, 코어 유지
- C6: 코어 비활성, cache(캐시) 플러시, 코어 상태 DRAM에 저장
- VP-states(VP-상태)
- VAltvid
- VdeeperAltvid
- 0V
- 슬라이드 출처: Stephen Kosonocky

p.35AMD APU 열 프로파일
- AMD APU: 단일 칩 내에 CPU와 GPU를 통합
- CPU 중심 작업 부하
- GPU 중심 데이터 병렬 작업 부하
- Samuel Naffziger, VLSI Symposium 2011, Kyoto

p.36energy proportionality(에너지 비례성)
- 에너지 비례 시스템은 다음과 같은 특성을 가진다:
- 대기 시 거의 전력을 소비하지 않는다 (특히 활성 대기 상태에서).
- 활동 수준이 증가함에 따라 점진적으로 더 많은 전력을 소비한다.
- 현재 시스템은 가벼운 부하 상태에서 전력 효율이 낮다.
- data center(데이터 센터)에서 일반적인 서버 이용률은 50% 미만임을 기억하자.
- 다중 코어 CPU와 효율적인 메모리 표준의 추세는 도움이 되지만, 더 많은 개선이 필요하다.
- 그림 5.3: SPECpower_ssj2008의 예시 벤치마크 결과; 바는 에너지 효율을, 선은 전력 소비를 나타낸다.
- 이들은 이용률 범위에 대해 그려졌으며, 평균 지표는 세로로 그려진 어두운 선에 해당한다.
- 시스템은 단일 칩 2.83 GHz 4코어 인텔 Xeon 프로세서, 4GB DRAM, 7.2k RPM 3.5인치 SATA 디스크 드라이브 1개를 탑재하고 있다.
- 그림 출처: The datacenter as a computer: an introduction to the design of warehouse-scale machines. Synth. Lect. Comput. Architect

p.37