Uncovering Real GPU NoC Characteristics: V100·A100·H100 의 on-chip network 를 실측하고, timing side-channel 과 NoC 설계에 주는 함의를 정리하다
papers/Uncovering_Real_GPU_NoC_Characteristics_-_Implicationson_Interconnect_Architecture.pdf (14쪽, 쪽 번호는 PDF 쪽 = 인쇄 쪽 − 884) · §III-A p.3 = 논문이 그렇게 쓴 절·쪽 · 해석 = 논문 내용에서 요약자가 끌어낸 설명 · 논문에 없음 = 배경지식·예시 · 이 논문은 새 시스템이 아니라 측정(characterization) 논문이라, 3·4 절을 "관측", 5 절을 "함의(평가)" 로 바꿔 구성했다 논문에 없음 · 그림은 누르면 크게 열린다0한눈에 보기
GPU 의 SM(core) 과 L2 slice 를 잇는 on-chip network(NoC)를 V100·A100·H100 에서 microbenchmark 로 직접 재 보니, SM→L2 slice latency 는 물리 위치에 따라 다르지만(non-uniform) bandwidth 는 거의 같았다(uniform) §I p.1–2.
A100·H100 처럼 칩이 두 partition 으로 나뉜 GPU 는 partition 을 건널 때 latency 와 bandwidth 가 모두 달라진다. 저자들은 이 성질이 timing side-channel 공격·방어와 simulator 의 NoC 가정에 영향을 준다고 보인다 §I p.1.
clock() 으로 round-trip latency 를 재고(Algorithm 1), 목적지 L2 slice 를 고정한 streaming kernel 로 bandwidth 를 잰다(Algorithm 2) §II-C p.2–3. 결과를 Observation 12 개와 Implication 6 개로 정리한다.Observation 12 개 · Implication 6 개를 한 줄씩
| 번호 | 원문 주장 (요약) | 근거 |
|---|---|---|
| 0.4.1Obs 1 | SM → 각 L2 slice latency 는 non-uniform 이다 | Fig.1 · §III-A p.3 |
| 0.4.2Obs 2 | GPC 별 평균 latency 는 비슷하지만, GPC 안의 분산은 GPC 마다 다르다 | Fig.1(b)·2 · §III-A p.4 |
| 0.4.3Obs 3 | non-uniform latency 는 GPC 안 SM 위치와 MP 안 L2 slice 위치로 정해진다 | Fig.3·4·5 · §III-B p.4 |
| 0.4.4Obs 4 | latency 분포의 Pearson correlation 으로 SM 배치를 알아낼 수 있다 | Fig.6 · §III-B p.5 |
| 0.4.5Obs 5 | partition 이 있는 큰 GPU 는 non-uniformity 가 더 크고, H100 에는 TPC 와 GPC 사이에 계층(CPC)이 하나 더 있다 | Fig.6·7 · §III-C p.5–6 |
| 0.4.6Obs 6 | partition 이 있는 GPU 는 L2 cache 정책에 따라 latency 특성이 달라진다 (원문은 "additional uniformity" 로 적었으나 문맥상 non-uniformity 로 보인다 해석) | Fig.8 · §III-C p.6 |
| 0.4.7Obs 7 | aggregate L2 fabric bandwidth 가 off-chip memory bandwidth 보다 크다 | Fig.9(a) · §IV-A p.6 |
| 0.4.8Obs 8 | latency 와 달리 L2 slice 별 bandwidth 는 (대체로) uniform 이다 | Fig.9(b,c) · §IV-A p.7 |
| 0.4.9Obs 9 | 계층 구조이지만 input speedup 으로 NoC 입력 bandwidth 를 더 준다 | Fig.10·11 · §IV-A p.7 |
| 0.4.10Obs 10 | 최근 GPU 는 on-chip bandwidth 가 더 크지만 partition 때문에 bandwidth 가 non-uniform 이다 | Fig.12·13·14 · §IV-B p.7–8 |
| 0.4.11Obs 11 | NoC speedup 이 비대칭이라 L2 slice 보다 SM 쪽 load balancing 이 더 중요하다 | Fig.15 · §IV-B p.8 |
| 0.4.12Obs 12 | memory traffic 이 channel 사이에 고르게 퍼지므로 NoC traffic 도 고르다 | Fig.16 · §IV-C p.9 |
| 0.4.13Imp 1 | NoC 특성으로 SM·L2 slice 배치를 알아내 side-channel 공격의 co-location 에 쓸 수 있다 | §V-A p.9 |
| 0.4.14Imp 2 | non-uniform latency 는 timing 공격을 근본적으로 바꾸지는 않지만 core 마다 timing 이 달라 공격 동작에 영향을 준다 | Fig.17 · §V-B p.10 |
| 0.4.15Imp 3 | random thread-block scheduling 이 non-uniform latency 를 이용해 timing 공격의 영향을 줄인다 | Fig.18·19 · §V-C p.10–11 |
| 0.4.16Imp 4 | 실제 GPU 에서 NoC 는 memory·L2 bandwidth 의 병목이 아니지만, 틀린 NoC 가정은 시스템 bandwidth 를 제한한다 | Fig.21 · §VI-A p.11 |
| 0.4.17Imp 5 | bisection bandwidth 뿐 아니라 interface bandwidth 도 충분히 줘야 한다 | Fig.20 · §VI-B p.11–12 |
| 0.4.18Imp 6 | 2D mesh 같은 multi-hop topology 는 node 위치와 무관한 uniform bandwidth 와 speedup 을 주기 어렵다 | Fig.22·23 · §VI-C p.12 |
1배경: GPU 안의 계층과 NoC
GPU 는 SM → TPC → GPC 로 묶이는 계층 구조이고, NoC 가 SM 과 memory partition(MP, L2 slice 여러 개 + memory controller)을 잇는다 §II-A p.2.
A100·H100 은 칩 중앙의 interconnect 로 좌우 두 "partition" 으로 나뉜다 §II-A p.2. 이 논문의 latency·bandwidth 는 모두 "어느 SM 에서 어느 L2 slice 로" 를 고정하고 잰 값이다.
1.1용어표
| 용어 | 정확한 뜻 (이 요약에서) | 기호 | 논문 원문 표기 |
|---|---|---|---|
| 1.1.1.1SM | GPU 의 core 하나(Streaming Multiprocessor). private L1 cache 와 shared memory 를 가진다. 이 요약에서 요청의 출발지 | – | "cores (or SMs)", "core" 와 혼용 (§II-A p.2) |
| 1.1.1.2TPC | SM 2 개를 multiplexer 로 묶은 단위 | – | "Texture Processing Cluster" (§II-A p.2) |
| 1.1.1.3GPC | TPC 7~9 개를 묶은 단위. GPU 하나는 GPC 6~8 개다 | – | "Graphics Processing Cluster" (§II-A p.2) |
| 1.1.1.4CPC | H100 에서 TPC 와 GPC 사이에 있을 것으로 추정한 계층. TPC 2~3 개(SM 4~6 개) 묶음. NVIDIA 문서는 공개하지 않았고 존재는 확인되지 않았다 | – | "Compute Processing Cluster", hardware teardown [40] 의 이름 (§III-C p.5 각주 4) |
| 1.1.1.5memory partition (MP) | L2 slice 여러 개와 memory controller(MC) 하나를 묶은 단위. off-chip memory 앞에 있다 | – | "memory partition (MP)" (§II-A p.2) |
| 1.1.1.6L2 slice | 모든 SM 이 공유하는 L2 cache 를 나눈 조각. 이 요약에서 요청의 목적지. V100 32 개, A100·H100 80 개 | $s$ | "L2 slice" (TABLE I p.1) |
| 1.1.1.7NoC | SM 과 MP 를 잇는 on-chip network. 실제 GPU 는 hierarchical crossbar 와 비슷하게 구성된 것으로 본다 | – | "network-on-chip (NoC)", "interconnect" (§II-B p.2) |
| 1.1.1.8GPU partition | A100·H100 에서 central interconnect 로 나뉜 칩의 왼쪽·오른쪽 절반. 각 partition 에 GPC 와 L2 slice 가 절반씩 있다 | – | "partitions" (§II-A p.2). MIG partition 과는 다른 뜻이다 논문에 없음 |
| 1.1.1.9near / far partition | 요청을 보낸 SM 과 같은 partition / 다른 partition | – | "near partition", "far partition" (§III-C p.6) |
| 1.1.1.10L2 access latency | SM 의 thread 하나가 L1 을 우회해 L2 slice 하나에 load 를 보내고 data 를 받을 때까지의 round-trip 시간. SM·NoC·L2 접근 시간을 모두 포함하고, SM 의 clock() cycle 로 잰다 | $L[s][n]$ | "L2 access latency", "round-trip latency" (§II-C p.2, §III-A p.3). 원문은 "on-chip latency", "L2 latency" 로도 쓴다 |
| 1.1.1.11L2 hit latency / L2 miss penalty | L2 에 hit 할 때의 L2 access latency / L2 에 없는 cache line 을 global memory 에서 L2 로 가져오는 데 더 드는 시간 | – | Fig.8 caption (§III-C p.6) |
| 1.1.1.12L2 fabric bandwidth | SM 들이 L2 slice(들)로 보내는 load 를 NoC 가 실어 나르는 bandwidth. L2 cache 자체의 read/write 성능과 구분한다 | – | "L2 fabric bandwidth", "on-chip bandwidth" (§II-C p.3 각주 2) |
| 1.1.1.13input speedup | 계층의 한 단(TPC·CPC·GPC·L2) 출력이 그 단에 들어오는 입력 하나보다 몇 배의 bandwidth 를 주는지. 측정은 "SM $x$ 개 bandwidth ÷ SM 1 개 bandwidth" | $x$ | "input speedup ... the excess bandwidth provided into the GPU interconnect" (§IV-A p.7) |
| 1.1.1.14GPCl / GPCg | GPCl = TPC 단 → GPC 단 사이의 local speedup, GPCg = GPC 안 모든 SM 이 보낼 때의 global speedup | – | §IV-A p.7 각주 6 |
| 1.1.1.15Pearson correlation | 두 SM 의 L2 slice 별 latency 목록이 얼마나 같은 모양으로 오르내리는지(−1~1) | $r$ | Eq.1 (§III-B p.4) |
| 1.1.1.16request / reply network | SM → MP 로 요청을 보내는 망 / MP → SM 으로 data 를 돌려주는 망 | – | Fig.20 (§VI-A p.11) |
| 1.1.1.17bisection bandwidth | NoC 를 반으로 자른 단면을 지나는 bandwidth | $BW_{NoC\text{-}BC}$ | Fig.20(a) (§VI-B p.11) |
| 1.1.1.18NoC-MEM interface bandwidth | NoC 와 MP 가 맞닿는 지점의 bandwidth. $f_{NoC}\times w\times C$ | $BW_{NoC\text{-}MEM}$ | "interface (terminal) bandwidth" (§VI-B·C p.11–12) |
| 1.1.1.19memory bandwidth | off-chip memory(HBM) 의 bandwidth | $BW_{MEM}$ | Fig.20(b), Fig.22 |
| 1.1.1.20thread block scheduling | kernel 의 thread block(CTA)을 SM 에 배정하는 일. 기존 GPU 는 매번 같은 SM 에 배정하는 static scheduling 이다 | – | "Thread block (or CTA) scheduling" (§V-C p.10) |
| 1.1.1.21timing side-channel attack | 실행 시간을 재서 secret(AES key, RSA key 의 1 개수 등)을 추론하는 공격 | – | §V p.9 |
1.2A100·H100 의 두 partition
1.3input speedup 은 무엇인가
1.4Pearson correlation 으로 두 SM 을 비교한다
1.5나머지 용어
Little's Law
대기열 시스템에서 "한꺼번에 날아가 있는 요청 수 = 처리율 × 지연" 이라는 관계다 논문에 없음. 그래서 SM 이 낼 수 있는 미해결 요청 수가 정해져 있으면 latency 가 긴 경로일수록 bandwidth 가 낮아진다. 논문은 A100 의 far partition bandwidth 가 낮은 이유를 이 법칙으로 설명한다 §IV-B p.8.memory camping · address hashing
접근이 한 memory channel 에 몰려 전체 memory 처리율이 떨어지는 현상을 memory camping 이라 한다. 최신 GPU 는 이를 막으려고 복잡한 address hashing 으로 주소를 L2 slice 전체에 고르게 나눈다 §IV-C p.8–9.coalescing
warp 의 32 thread 가 같은 cache line 을 읽으면 요청 하나로 합치는 것이다 §II-B p.2. AES 공격 [6] 은 "서로 다른 cache line 수" 와 실행 시간의 선형 관계를 이용한다 §V-B p.9.many-to-few-to-many
많은 SM 이 적은 수의 memory controller 로 요청을 보내고(many-to-few), 그 data 가 다시 많은 SM 으로 흩어지는(few-to-many) GPU traffic 모양이다. 선행 연구 [28] 는 그래서 reply network 를 병목으로 지목했다 §II-B p.2 §VI-A p.11.2문제와 측정 방법
기존 GPU NoC 연구는 simulator 로 평가하며 2D mesh 같은 multi-hop network 를 가정한 경우가 많아, 그 가정 자체가 on-chip bandwidth 병목을 만들 수 있다 §II-B p.2.
저자들은 실제 V100·A100·H100 에서 출발지 SM 과 목적지 L2 slice 를 고정한 microbenchmark 로 NoC 의 latency 와 bandwidth 를 따로 잰다 §II-C p.2–3.
-dlcm=cg 로 L1 을 우회하며, data 를 미리 읽어 L2 에 hit 하게 한다 §II-C p.2–3. 측정값은 SM·NoC·L2 를 모두 포함하지만 SM 과 L2 slice 를 바꿔도 SM·L2 몫은 거의 같으므로, 값의 변화는 NoC 에서 온다고 본다 §II-C p.3. 그림 논문에 없음.측정 세부: 출발지·목적지를 어떻게 고정했나, bandwidth 는 어떻게 쟀나
- 2.2
- 2.2.1출발지 SM 은
smidregister 로 확인하고 kernel 을 특정 SM 에 "pin" 한다 §II-C p.3. - 2.2.2목적지 L2 slice 는 V100 에서는
nvprof의 non-aggregated mode 로 slice 별 traffic 을 보고 정했다. A100·H100 은 이 profiler counter 가 지원되지 않아, 한 주소만 읽는 kernel 과 주소를 바꾸는 kernel 을 함께 돌려 경합이 생기면 같은 slice 라고 가정했다 §II-C p.3 각주 1. - 2.2.3slice ID 와 SM ID 의 숫자 자체에는 뜻이 없고, 서로 다른(또는 같은) SM·slice 를 고르는 데만 쓴다 §II-C p.3.
- 2.2.4bandwidth 는 Algorithm 2 로 잰다. streaming benchmark 와 비슷하게 순차·stride 접근을 쓰지만, 모든 thread 의 주소를 같은 L2 slice $s$ 에 매핑되는 것으로 골라(
M[s][tid]) 목적지를 고정한다. warp 의 모든 thread 와 여러 thread block 을 써서 bandwidth 를 포화시키고, 따로 적지 않으면 read 다 §II-C p.3. - 2.2.5bandwidth = 옮긴 data 크기 ÷ kernel 실행 시간이다. L2 slice 하나, MP 하나, 전체(aggregate) 단위로 각각 쟀다 §II-C p.3.
- 2.2.6먼저 V100 에서 평가했고 A100·H100 에서도 비슷한 경향을 봤지만, partition 이 있는 두 GPU 는 다른 특성이 있어 따로 분석했다 §II-C p.3.
- 2.2.7CUDA·driver 버전, GPU clock 고정 여부, 반복 횟수는 원문에 명시가 없다.
3관측 ①: latency 는 위치에 따라 다르다
V100 에서 한 SM 이 32 개 L2 slice 를 읽는 latency 는 175~248 cycle(평균 약 212)로 퍼지고, 이 차이는 GPC 안 SM 위치와 MP 안 L2 slice 위치로 정해진다 §III-A·B p.3–4.
A100 은 다른 partition 의 slice 를 읽으면 약 400 cycle 로 오르고, H100 은 partition 에 가까운 L2 에 data 를 caching 해 latency 가 GPC 사이에 더 고르다 §III-C p.6.
- 무엇을 쟀는가: 연구진은 SM 이 L1 에서 miss 되고 L2 에서 hit 되는 read 를 보낸 뒤 응답이 돌아올 때까지의 왕복 시간을 쟀습니다. 왕복 시간에는 SM 처리 시간, NoC 이동 시간, L2 접근 시간이 모두 들어갑니다 §III-A p.3.
- "L2 slice ID 별"의 뜻: L2 cache 는 32 개 slice 로 나뉘어 MP 4 개에 흩어져 있고, 주소마다 그 주소를 맡는 slice 가 정해져 있습니다. 연구진은 같은 SM 에서 slice 32 개 각각으로 read 를 보내 slice 별 왕복 시간을 따로 구했습니다. x 축 번호는 NVIDIA profiler 가 붙인 slice ID 입니다 §III-A p.3.
- 막대 높이 차이의 의미: SM 처리 시간과 L2 접근 시간은 어느 slice 를 읽든 같습니다. 따라서 막대 높이 차이는 SM 에서 해당 slice 까지 NoC 를 지나는 물리적 거리의 차이를 나타냅니다 §III-A p.3.
- (a) 가 보여 주는 것: 출발지를 SM 24 하나로 고정해도 목적지 slice 에 따라 latency 가 달라집니다. GPU 의 L2 latency 는 하나의 고정값이 아닙니다(Observation 1).
- (b) 가 보여 주는 것: 출발지를 GPC 단위로 바꿔 보면, GPC 별 평균 latency 는 서로 비슷하지만 latency 가 퍼진 폭은 GPC 마다 다릅니다. GPC2·GPC3 은 폭이 좁고, GPC4 는 최대 71 cycle 까지 벌어집니다(Observation 2) §III-A p.3–4.
Fig.2 · Fig.3 — GPC 마다 분산이 다르고, slice 순서는 SM 사이에 같다
- 점 하나의 뜻: 점 하나는 "SM 하나 → slice 하나" 왕복 latency 입니다. x 축은 목적지(MP3 의 slice 8 개), 기호는 출발지(GPC4 의 SM 7 개)입니다. 따라서 slice ID 는 속도가 아니라 목적지 이름입니다.
- 읽는 방향 두 가지: 선 하나를 따라가면 slice 위치 효과(17 이 가장 빠르고 15 가 가장 느림)가 보이고, 같은 x 에서 기호들을 위아래로 비교하면 SM 위치 효과가 보입니다. 두 효과가 거의 더해지는 꼴이라 선들이 평행하게 나옵니다 §III-B p.4.
- SM 4 가 항상 느린 이유: Fig. 4 배치에서 SM 4 는 GPC4 안에서 MP3 와 가장 먼 자리에 있습니다. 그래서 MP3 의 어느 slice 로 가도 다른 SM 보다 일정하게 더 깁니다. 가장 먼 쌍인 SM4–slice 15 가 217 cycle, 가장 가까운 SM64–slice 17 이 180 cycle 입니다 §III-B p.4.
- 범위: "SM 4 가 가장 느리다"는 MP3 를 목적지로 한 Fig. 5 에서의 결과입니다. Fig. 3 처럼 MP 사이 순위는 SM 위치에 따라 바뀌므로, 다른 MP 에서도 SM 4 가 가장 느린지는 논문이 보여 주지 않습니다 논문에 없음.
Fig.7 — H100 의 CPC 와 SM-to-SM latency
4관측 ②: bandwidth 는 고르게 준다
L2 slice 별 bandwidth 는 출발 SM·GPC 와 관계없이 거의 같고(V100 SM 하나 → slice 하나 약 34 GB/s, σ = 0.147 GB/s), aggregate L2 fabric bandwidth 는 off-chip memory bandwidth 의 2.4~3.5× 다 §IV-A p.6–7.
계층마다 input speedup 이 있어 SM 이 몰려도 bandwidth 가 크게 깎이지 않지만, A100·H100 은 partition 때문에 bandwidth 도 non-uniform 해진다 §IV-A·B p.7–8.
Fig.13 · Fig.15 · Fig.16 — slice 하나의 분포, SM 쪽 몰림, 실제 workload 의 traffic
5함의(평가): timing side-channel 과 NoC 설계
① 보안: non-uniform latency 로 SM·L2 slice 배치를 알아낼 수 있고(공격), 같은 성질 때문에 kernel 을 실행할 때마다 시작 SM 을 무작위로 바꾸면 AES·RSA timing 공격의 상관이 흐려진다(방어) §V p.9–11.
② 설계: 실제 GPU 의 NoC 는 memory·L2 bandwidth 를 막지 않는데, simulator 의 NoC 가정이 interface bandwidth 를 memory bandwidth 보다 작게 두면 "network wall" 이 생겨 NoC 최적화의 이득을 과장할 수 있다 §VI p.11–12.
5.1① timing side-channel: 공격
최근 GPU 는 side-channel 공격에 쓰이던 performance counter 를 root 권한 없이는 막았고, slice 별 counter 도 더 이상 주지 않는다 §V-A p.9. 논문은 L2 latency 가 SM–slice 거리의 대리 지표이므로, Pearson correlation 으로 SM 의 GPC 내 위치와 slice 의 MP 내 위치를 reverse-engineering 해 공격 kernel 의 co-location 에 쓸 수 있다고 주장한다(Implication 1) §V-A p.9.
square() kernel 은 SM 2 개를 쓰고, 하나는 고정하고 다른 하나의 위치를 바꿨다. SM 2·16·30·44·58 은 한 partition, 나머지는 다른 partition 이다. 두 SM 이 다른 partition 이면 partition 간 latency 와 동기화 overhead 로 실행 시간이 최대 1.7× 길고, 같은 partition 안에서도 최대 12% 차이가 난다 §V-B p.10.
timing 공격은 "실행 시간 ↔ secret 에 따른 동작" 의 선형 관계를 쓰는데, 그 관계가 어느 SM 에서 도느냐에 따라 이동한다. 논문은 그래서 non-uniform latency 가 공격 원리를 바꾸지는 않지만 core 별 timing 차이가 공격 동작에 영향을 준다고 정리한다(Implication 2) §V-B p.10.5.2① timing side-channel: 방어
기존 GPU 의 thread block scheduling 은 실행할 때마다 같은 SM 에 배정하므로, 공격자가 표본을 아무리 많이 모아도 latency 는 한 SM 의 값으로 고정된다. 논문은 kernel 실행마다 thread block 을 무작위 SM 부터 배정하는 random thread-block scheduling(사실상 random seed scheduling)을 제안한다 §V-C p.10.
multiply()·reduction() 을 더 하므로 bit 0 보다 약 2 배 걸리고, 그래서 실행 시간이 1 개수에 선형이다 §V-B p.10. (a) static 에서는 SM 별로 깨끗한 직선이 두 묶음(partition)으로 나뉜다. (b) random 에서는 같은 1 개수에서도 실행 시간이 크게 흔들려, $2\times10^9$ cycle 이 관측되면 1 의 개수가 416~1920 사이 어디든 될 수 있다 §V-C p.10.
RSA 를 이루는 개별 kernel 의 시간이 배치마다 달라져 전체 실행 시간에 큰 변동이 생긴다 §V-C p.10. 논문은 하드웨어에 randomization 을 넣는 기존 방어(예: randomized coalescing [52])와 달리 이 방식은 하드웨어 복잡도를 늘리지 않는다고 쓴다(Implication 3) §V-C p.11.5.3② NoC 설계: simulator 의 가정이 병목을 만든다
6결론과 한계
논문의 결론은 최신 GPU NoC 에서 latency 는 core 와 L2 slice 배치에 따라 non-uniform 하고 on-chip bandwidth 는 거의 uniform 하며, partition 이 여럿인 큰 GPU 는 bandwidth 와 성능에도 non-uniformity 를 더한다는 것이다. 이 특성이 GPU timing side-channel 과 NoC 설계에 함의를 갖는다고 정리한다 §VII p.12.
논문에 limitation 절은 없다. 아래 표는 본문 곳곳의 단서와 요약자 정리를 합친 것이다.
| 한계 | 근거 |
|---|---|
| 6.1.1GPU NoC 와 memory hierarchy 를 완전히 reverse-engineering 하지 않았다. H100 의 L2 동작은 whitepaper 문장으로만 설명한다 | §III-C p.6 (원문이 밝힘) |
| 6.1.2CPC 계층의 존재는 확인되지 않았고, A100 에서 GPC 사이 correlation 이 줄어든 이유도 "확실하지 않다" 고 쓴다 | §III-C p.5 각주 3·4 (원문이 밝힘) |
| 6.1.3random thread-block scheduling 이 다양한 timing 공격에 완전히 안전한지는 남은 문제다 | §V-C p.11 (원문이 밝힘) |
| 6.1.4A100·H100 의 slice 식별은 profiler 대신 "경합이 생기면 같은 slice" 라는 가정에 기댄다 | §II-C p.3 각주 1 (원문이 밝힘) |
| 6.1.5측정 GPU 는 NVIDIA 세 세대뿐이다. AMD·Intel GPU 나 chiplet 형 GPU, 소비자용 GPU 는 다루지 않는다 | 논문에 없음 |
| 6.1.6random scheduling 의 성능 비용(locality 손실, partition 간 배치로 인한 최대 1.7× 같은 지연)을 일반 workload 에서 재지 않았다 | 논문에 없음 · 1.7× 는 Fig.17(b) |
| 6.1.7simulator 비판(Fig.21·22)은 선행 연구 설정의 비교이고, 수정한 NoC 모델로 그 연구들의 결론이 실제로 얼마나 바뀌는지는 재현하지 않았다 | 논문에 없음 |
| 6.1.8CUDA·driver 버전, clock 고정, 반복 횟수 같은 측정 조건이 없고, 표준편차는 일부 측정(Fig.2·9)에만 있다 | 논문에 없음 |
| 6.1.9abstract 의 "최대 약 70%" 는 본문의 어느 비교인지 명시가 없다. A100 far partition 약 400 cycle 과 near 약 230 cycle 의 비로 보인다 | 해석 · Fig.8(b) |
7관련 연구
V100·A100 microbenchmark 연구 [22][23] 와 memory hierarchy 분석 [24] 은 GPU 구성요소를 자세히 다루지만 칩 안 interconnect 는 분석하지 않았고, multi-GPU 연구 [25]–[27] 는 GPU 사이 연결을 다룬다 §II-B p.2.
GPU NoC 설계 연구 [28]–[33] 는 대부분 simulator 와 2D mesh 같은 multi-hop network 를 가정해, 이 논문은 그 가정이 on-chip bandwidth 병목을 만들 수 있다고 지적한다 §II-B p.2. 논문에 비교표 figure 는 없다.
관련 연구 한 줄씩
| 연구 | 한 일 | 이 논문과 차이 |
|---|---|---|
| 7.1.1Jia et al. [22] · Abdelkhalik et al. [23] | microbenchmark 로 V100·A100 구조 분석 (V100 L2 latency 193 cycle 보고) | 칩 안 interconnect 는 자세히 다루지 않음. 이 논문의 V100 평균 212 cycle 과 비슷 (§III-A p.3) |
| 7.1.2Throughput-effective NoC [28] | many-to-few-to-many traffic 에서 reply network 를 병목으로 지목 | 이 논문은 실제 GPU 에서 그 병목이 나타나지 않는다고 보임 (§VI-A p.11) |
| 7.1.3[29]–[32] · packet coalescing [33] | reply network 영향을 줄이는 NoC 구조, NoC traffic 감소 | multi-hop(2D mesh) baseline 가정 (§II-B p.2) |
| 7.1.4NUBA [34] · memory-side LLC [35] | hierarchical crossbar 를 baseline 으로 가정 | 실제 GPU 와 비슷한 구성이지만 실제 NoC 분석은 없고, NoC bandwidth 가 L2 bandwidth 에 주는 영향을 고려하지 않음 (§II-B p.2) |
| 7.1.5Accel-Sim [36] | 검증된 GPU simulator | L2 bandwidth 차이가 최신 GPU 모델링 오차의 원인일 수 있다고 언급 (§II-B p.2, §VI-C p.12) |
| 7.1.6AES 공격 [6] · Trident [7] · RSA 공격 [8]/[49] | GPU 에서 cache line 수·실행 시간 상관으로 key 복구 | 이 논문은 SM 위치에 따라 그 선형 관계가 이동함을 보임 (§V-B p.9–10) |
| 7.1.7NoC covert channel [47] · Attack of the knights [51] | NoC microarchitecture 기반 covert channel, 2D mesh 거리로 L2 접근 패턴 추론 | GPU 는 hop 수가 다르지 않을 수 있으나 latency 특성은 새 공격에 쓰일 수 있다고 언급 (§V-B p.10) |
| 7.1.8BCoal [52] · RCoal [54] · 난독화 [53] | 하드웨어 randomization 으로 timing 공격 완화 | 이 논문의 random thread-block scheduling 은 추가 하드웨어가 없음 (§V-C p.11) |
8세미나 발표 대본 (약 17 분)
TABLE I 과 Fig.1~23 을 슬라이드 순서대로 놓고, 슬라이드마다 말할 내용을 2~4 문장으로 적었다. 측정 알고리즘의 세부 구현은 빼고, 측정 방법 → latency → bandwidth → 실험 환경 → 보안 함의 → 설계 함의 흐름만 남겼다.
발화문은 요약자가 쓴 것이고 논문에 없음, 수치와 주장은 원문에서 확인한 것만 넣었다. 각 슬라이드 옆 시간은 권장 분량이다.
펼치기: 슬라이드별 그림과 발화 (TABLE I, Fig.1~23)
도입 · 60 초
1 부 · latency (약 5 분)
2 부 · bandwidth (약 4 분)
실험 환경 · 50 초
clock() 으로, 출발 SM 은 smid register 로, 목적지 slice 는 V100 에서는 nvprof 의 slice 별 counter, A100 과 H100 에서는 두 kernel 의 경합으로 찾았습니다. 실제 workload 로는 Rodinia 의 bfs 와 gaussian 을 썼습니다. 보안 실험은 기존 AES 와 RSA timing 공격 코드를 A100 등에서 다시 돌렸고, NoC 설계 실험은 선행 연구와 비슷한 설정의 GPU simulation 과 network-only simulator 를 썼습니다. host CPU, host 메모리, PCIe, CUDA 버전은 논문에 적혀 있지 않습니다.