본문 바로가기

부록 — 참조 도구 모음

본문에서 쓴 도구를 한곳에 모았다. 각 표는 해당 장으로 되돌아가는 참조점이다. 주제 고유 용어집기초 분산·시스템 용어 사전은 역할이 다르다(맨 아래 두 절, 서두에 명시).

A. 병렬화 축 비교표 — 나눔 / 복제 / 통신 (03·04·05장)

shard(나눔)replicate(복제)대표 collective주로 푸는 한계(01장)노드 경계
TP (텐서)레이어 안 가중치레이어 입출력 활성값all-reduce (또는 reduce-scatter+all-gather)capacity, latency(조건부)안(scale-up) 선호
PP (파이프라인)레이어(깊이)없음p2p send/recvcapacity넘김 가능(scale-out)
DP(추론) (데이터)요청/배치가중치 전체매 스텝 없음 → 라우팅traffic복제본 분산
SP (시퀀스)시퀀스 활성값가중치(TP 결합)all-gather/reduce-scattercapacity(활성값)TP 따라감
CP (컨텍스트)긴 컨텍스트·KV가중치KV/부분결과 교환capacity(장문), latency구현 의존
EP (전문가/MoE)전문가라우터·비전문가부(구현 의존)all-to-all (dispatch/combine)capacity(total)non-blocking 노드 내 선호

핵심: 추론 DP는 학습 DP와 달리 매 스텝 gradient all-reduce가 없다(04장). all-to-all(EP)은 topology 민감·경합 취약(05장).

B. Collective 통신 패턴 정리 (02·03·05장)

collective무엇을 하는가어디서 쓰이나한 줄 그림
all-reduce모든 device의 부분값을 축약(합 등)해 전원이 같은 결과 보유TP 출력 합산(03장)각자 부분합 → 전원 같은 총합
all-gather각자의 조각을 모아 전원이 전체 보유SP·reduce-scatter 짝(04장)조각들 → 전원이 전체
reduce-scatter축약하되 결과를 나눠 각자 조각만 보유all-reduce 등가 조합(03장)부분합 → 각자 다른 조각
broadcast한 device의 값을 전원에게 복사초기 배포 등하나 → 전원 복사
reduce부분값을 축약해 한 device에 모음집계각자 → 하나로 합침
all-to-all각자가 다른 모두에게 서로 다른 조각 송수신EP dispatch/combine(05장)우편 분류: 각자→목적지별 재분배
p2p (send/recv)두 지점 간 직접 전송PP 스테이지 간(04장)컨베이어: 옆으로 전달

주의: all-reduce는 링·트리로 잘 최적화됨. all-to-all은 모두가 모두에게 보내 패브릭 경합에 취약(02·05장).

C. SLO·capacity 계약 템플릿 (10장)

CODE
[capacity 계약]
워크로드:   프롬프트 길이 분포 = ____, 생성 길이 분포 = ____, 부하 패턴 = ____
SLO:        p99 TTFT ≤ ____ ms,  p99 TPOT/TBT ≤ ____ ms  (tail로 명시)
goodput:    위 SLO를 지키며 = ____ 요청/초 (또는 ____ 토큰/초)  ※ 분모 명시
headroom:   운영 이용률 ≤ ____ %  (saturation 여유)
대응:       초과 시 → backpressure(____) / 오토스케일링(____ , 반응 시간 ____)
측정 조건:  하드웨어 = ____, 엔진/서빙층 = ____ (버전·확인일), 이용률 = ____

검증 규칙: 분모(무엇당)·tail·워크로드·이용률이 빠지면 계약이 아니다. throughput ≠ goodput.

D. 엔진 vs 서빙 층 경계 체크리스트 (11·12장)

이 관심사는 엔진 층인가 서빙 층인가?

질문엔진 층서빙 층
한 워커 의 KV 페이지 관리인가?✅ (PagedAttention 등)
여러 워커 사이 KV 전송인가?✅ (NIXL 등 data path)
모델 안 토큰→전문가 라우팅(MoE)인가?✅ (05장)
요청→워커 라우팅인가?✅ (KV-aware routing)
한 forward pass 커널·배칭인가?
PD 오케스트레이션·오토스케일링인가?

규율: 같은 단어(KV·라우팅·배치)가 두 층에서 다른 것을 가리킨다. "한 워커 안인가, 워커 사이인가"를 먼저 물어라.

E. 비용·성능·전력 주장 감사 체크리스트 (15장)

정량 주장을 만나면 여섯 칸을 채운다. 하나라도 비면 미완성.

요소질문채움
분자무엇을 세는가? (요청·토큰·$·W)____
분모 ⚠️무엇당인가? (요청당·토큰당·device당·시간당)____
이용률얼마나 바쁜 상태에서? (포화 근처인가?)____
시간순간/지속? 워밍업 포함? 측정 구간?____
품질무엇을 포기했나? (양자화·근사의 품질 영향)____
SLO어떤 tail SLO를 지키며? (없으면 goodput 아님)____

비교 판정: 두 주장의 분모가 다르면 비교 불가. 이용률·시간·품질·SLO가 다르면 조건 통제 후에만 비교. 안 맞으면 "직접 비교 불가"를 명시.

F. 구성도 재구성 워크시트 (16장)

단계할 일산출
1텍스트에서 컴포넌트 추출, 각각 explicit 여부 표시컴포넌트 목록
2각 연결이 control인가 data인가 분류(미명시는 inferred/unknown)경로 분류
3trust boundary·failure domain을 자료 근거로 표시(근거 없으면 unknown)경계
4색·선 적용: explicit=실선/명시색, inferred=점선, unknown=빨강 점선 블록색 규칙
5상위 개요 + 하위 상세로 분리두 수준 그림
6그림의 unknown을 목록화 → 17장 브리프의 추가 검증으로unknown 목록

규율: 상세함과 정직함이 충돌하면 정직함. 빈칸을 상상으로 메우지 않는다.

G. 근거 기반 기술 브리프 템플릿 (17장)

CODE
[기술 브리프]

① 주장 (한 문장):
   ____________________________________________

② 근거표:
   | 근거 | 라벨(explicit/inferred/unknown) | 출처 등급·주장 유형 |
   |      | supports / conditions / does-not-support | canonical URL·버전·확인일 |

③ 조건표 (15장 여섯 요소):
   분자=___ 분모=___ 이용률=___ 시간=___ 품질=___ SLO=___

④ 적용 경계:
   성립하는 범위: ____________
   성립하지 않는(약해지는) 범위: ____________

⑤ 추가 검증 (unknown + 확인 방법):
   - ____ (확인 방법: ____)

(선택) 구성도: explicit/inferred/unknown 색 구분 (16장)

규율: 결론을 몰아가지 않는다(설득 문서 아님). unknown을 정직하게. owner-reported ≠ 독립 재현.

H. 주제 고유 용어집 (이 과정의 주인공 개념)

이 과정이 다루는 분산 LLM 추론 특유의 개념. 아래 "기초 분산·시스템 용어 사전"(어디서나 쓰이는 일반 용어)과 역할이 다르다.
용어한 줄 뜻처음 등장
tensor parallelism (TP)레이어 안 가중치를 device에 쪼개 행렬 곱을 나눔03장
pipeline parallelism (PP)레이어(깊이)를 스테이지로 갈라 device에 배치04장
sequence parallelism (SP)시퀀스 활성값을 device에 나눔(TP 보조, 메모리)04장
context parallelism (CP)초장문 컨텍스트·KV를 device에 나눠 어텐션 분산04장
expert parallelism (EP)MoE 전문가를 device에 나눔(all-to-all 발생)05장
MoE / total vs activated전문가 혼합; total=메모리 결정, activated=연산 결정05장
communication-compute overlap통신을 독립 연산 뒤에 숨기는 조건부 스케줄(byte 제거 아님)06장
PD disaggregationprefill·decode를 다른 GPU 풀로 분리(간섭 제거, KV 전송 발생)07장
KV tieringKV를 HBM→CPU→원격 계층으로 올리고 내림08장
KV ownership/lifetimeKV의 소유자·수명(요청/세션/프리픽스)08장
goodputSLO를 지키며 낸 유효 처리량(≠ throughput)07·10장
PagedAttentionKV를 가상 메모리처럼 페이지로 관리(vLLM)11장
RadixAttention프리픽스를 radix tree로 저장해 공유 계산 재사용(SGLang)11장
컴파일 엔진모델을 하드웨어 특화 실행 계획으로 컴파일(TensorRT-LLM)11장
control/data path서빙 층의 결정 경로 vs 무거운 데이터(KV) 경로12장
engine-agnostic서빙 층이 여러 엔진을 워커로 갈아 끼움12장
NIXLDynamo의 KV 전송 데이터 라이브러리(data path)12장
explicit/inferred/unknown자료가 밝힌 것/유도한 것/불명 — 사례 읽기 3라벨13장
owner-reported사업자 자기 보고(≠ 독립 재현)13장
하드웨어 다섯 축memory·kernel·software·topology·power14장

I. 기초 분산·시스템 용어 사전 (어디서나 쓰이는 일반 용어)

본문에 등장한 일반 분산·시스템 용어. 위 "주제 고유 용어집"과 달리, 이 용어들은 분산 시스템 어디서나 쓰인다. 더 기초적인 용어(bit·정밀도·compute/memory-bound·KV 캐시·batching·양자화·추론 지표 등)는 선수 과정 ①②를 참조하라.
용어한 줄 뜻처음 등장
shard (샤딩)하나를 여러 조각으로 나눠 서로 다른 곳에 둠01·03장
replicate (복제)같은 것을 여러 벌 복사해 둠01·03장
collective (집합 통신)여러 device가 함께 참여하는 통신 연산02장
scale-up / scale-out한 노드 안 촘촘히 묶기 / 노드를 여럿 잇기02장
fabric (패브릭)여러 링크를 엮은 연결망 구조(topology)02장
topology (토폴로지)device·노드가 연결된 형태(링·트리·메시 등)02장
non-blocking모든 쌍이 동시 통신해도 피크율 유지되는 패브릭02장
명목 vs 실효 대역폭스펙상 상한 vs 실제 도달치(busBW)02장
bubble (버블)파이프라인 시작·끝에서 일부 유닛이 노는 유휴04장
load imbalance (부하 불균형)일부에 일이 몰려 나머지가 노는 상태05·09장
critical path (임계 경로)전체 소요를 결정하는 가장 긴 의존 사슬06장
interference (간섭)서로 다른 작업이 자원을 다퉈 서로를 느리게 함07장
producer / consumer데이터를 만드는 쪽 / 소비하는 쪽07·08장
backpressure (백프레셔)하류가 밀리면 상류를 늦추는 흐름 제어(안정성)08장
queue (큐) / queueing delay대기열 / 대기로 인한 지연08·09장
routing (라우팅)요청을 어느 목적지로 보낼지 결정09장
load balancing (로드밸런싱)부하를 고르게 분산09장
autoscaling (오토스케일링)부하 추세에 따라 인스턴스 개수 조절09장
locality (지역성)관련 데이터·상태가 가까이 있어 재사용 이득09장
session affinity (세션 친화)같은 세션을 같은 인스턴스로 보냄09장
percentile / tail (백분위/꼬리)p50·p99 등, 특히 최악에 가까운 값10장
saturation (포화)처리 상한 도달, 큐·tail이 비선형 폭발하는 상태10장
headroom (여유)현재 부하와 포화 사이 남긴 여유 용량10장
utilization (이용률)자원이 얼마나 바쁜가10·15장
trust boundary (신뢰 경계)서로 다른 신뢰·소유·격리 영역의 경계16장
failure domain (실패 도메인)한 번에 함께 죽는 범위16장
numerator / denominator (분자/분모)무엇을 세나 / 무엇당인가15장
처음으로00. INDEX