ADR: translate adr-ko/ to Korean, fix ADR-0013 slug, refine Status check

Follow-up to the bilingual-structure commit: docs/adr-ko/ now holds
only Korean versions (24 files translated from English placeholders),
ADR-0013 slug uses kebab-case in both folders, and the verify tool
allows translated parenthetical commentary in the Status block.

- Translate 24 English files in docs/adr-ko/ to Korean. The previous
  bilingual-structure commit had left these as English copies because
  their source content was already English; this commit fulfills the
  policy that docs/adr-ko/ contains only Korean.
- Rename ADR-0013 in both adr/ and adr-ko/ from
  ver-verification_strategy.md to ver-verification-strategy.md
  (kebab-case consistency with other ADRs).
- CLAUDE.md (ADR Translation Discipline): clarify that only the
  Status lifecycle keyword (Accepted / Proposed / Stub / Draft /
  Superseded by ADR-NNNN / Merged into ADR-NNNN) must match across
  EN and KO; parenthetical commentary and trailing list items may be
  translated.
- tools/verify_adr_lang_pairs.py: replace byte-equal Status check
  with normalize_status_keyword() which strips parenthetical
  commentary and takes only the first non-empty line.
- tests/test_verify_adr_lang_pairs.py: update existing test names,
  add coverage for translated parenthetical, translated trailing
  list, and Superseded-by-NNNN keyword equality.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 08:17:56 -07:00
parent a796c1d2f7
commit 168b0c89f0
29 changed files with 2631 additions and 2651 deletions
+68 -70
View File
@@ -1,4 +1,4 @@
# ADR-0002: Routing Distance, Ordering & Bypass Rules
# ADR-0002: 라우팅 거리, 순서 및 우회 규칙
## Status
Accepted
@@ -7,96 +7,94 @@ Accepted
2026-02-27
## Context
The KernBench Graph Latency Simulator must compare kernel execution time
across different architectures and topologies by computing end-to-end
latency from graph traversal.
KernBench Graph Latency Simulator는 서로 다른 아키텍처·토폴로지에 대한
커널 실행 시간을 비교해야 하며, 그래프 순회로부터 end-to-end 레이턴시를
계산하여 이를 달성한다.
To support meaningful comparison:
- routing must be deterministic
- latency must reflect actual interconnect structure
- local vs remote traffic must be distinguishable
- bypass” optimizations must not undermine debuggability or correctness
의미 있는 비교를 지원하려면:
- 라우팅이 결정론적이어야 한다
- 레이턴시가 실제 인터커넥트 구조를 반영해야 한다
- 로컬과 리모트 트래픽이 구분 가능해야 한다
- "우회(bypass)" 최적화가 디버깅 가능성이나 정확성을 훼손해서는 안 된다
The simulator also aims to avoid software-managed metadata and hidden
shortcuts that obscure control paths.
또한 시뮬레이터는 소프트웨어가 관리하는 메타데이터 및 제어 경로를
가리는 숨겨진 지름길을 피하는 것을 목표로 한다.
## Decision
### D1. Distance is accumulated latency, not hop count
- Routing “distance” is defined as the **sum of per-node and per-link latency**.
- Hop count alone must not be used for ordering or path selection.
- Size-aware serialization latency (bytes / BW) contributes to distance.
### D1. 거리(distance)는 hop 수가 아니라 누적 레이턴시이다
- 라우팅 "거리"는 **노드별·링크별 레이턴시의 합**으로 정의된다.
- 순서 결정이나 경로 선택에 hop 수만을 사용해서는 안 된다.
- 크기 인지(size-aware) 직렬화 레이턴시(bytes / BW)가 거리에 기여한다.
### D2. Routing order is derived from graph traversal
- The chosen route is the path with minimum accumulated latency
given the constructed graph and routing policy.
- Deterministic ordering must be guaranteed for identical inputs
(topology + policy + request).
### D2. 라우팅 순서는 그래프 순회에서 유도된다
- 선택된 경로는 구성된 그래프와 라우팅 정책 하에서
누적 레이턴시가 최소인 경로이다.
- 동일 입력(토폴로지 + 정책 + 요청)에 대해 결정론적 순서가 보장되어야 한다.
### D3. Bypass is explicit and graph-represented
- All paths must be explicitly represented in the graph and subject to latency accumulation.
- Example: PE_DMA connects to the NOC router mesh (ADR-0017 D7). All destinations
(HBM, shared SRAM, inter-cube UCIe) are reached via explicit mesh hops.
Local HBM access has minimal hops (switching overhead only); remote access
traverses additional routers.
- Implicit or “magic” bypass paths are disallowed.
### D3. 우회는 명시적이며 그래프로 표현된다
- 모든 경로는 그래프에 명시적으로 표현되며 레이턴시 누적의 대상이 되어야 한다.
- : PE_DMA는 NOC 라우터 메시(ADR-0017 D7)에 연결된다. 모든 목적지
(HBM, 공유 SRAM, 큐브 간 UCIe)는 명시적 메시 hop을 통해 도달한다.
로컬 HBM 접근은 hop 수가 최소(스위칭 오버헤드만)이며, 리모트 접근은
추가 라우터를 거친다.
- 암묵적이거나 "마법 같은" 우회 경로는 금지된다.
### D4. No zero-latency end-to-end paths
### D4. end-to-end 레이턴시가 0인 경로는 없다
- Every routed request must incur **end-to-end** latency > 0.
- Individual fabric segments (e.g., NOC hops) MAY have distance_mm = 0
when the fabric is distributed and distance is not meaningful at that granularity.
This is allowed because other components on the same path (e.g., PE_DMA, SRAM,
UCIe endpoints) contribute non-zero latency, ensuring the end-to-end invariant holds.
- Fully zero-latency end-to-end paths are disallowed, except for explicit
test-only stubs clearly marked as such.
- 모든 라우팅 요청은 **end-to-end** 레이턴시가 > 0이어야 한다.
- 개별 패브릭 세그먼트(예: NOC hop)는 패브릭이 분산되어 있고 해당 granularity에서
거리가 의미가 없을 때 distance_mm = 0을 가질 수 있다.
이는 같은 경로상의 다른 컴포넌트(예: PE_DMA, SRAM, UCIe 엔드포인트)가
0이 아닌 레이턴시에 기여하여 end-to-end 불변성을 유지하므로 허용된다.
- end-to-end가 완전히 0 레이턴시인 경로는 금지된다. 단, 명시적으로
표시된 테스트 전용 stub만 예외이다.
### D5. Policy vs topology responsibility split
- Topology builder:
- defines nodes and links and their latency/BW parameters
- Routing policy:
- selects among available graph paths based on decoded domains
- Routing policy must not assume missing links; missing connectivity
is a topology construction error.
### D5. 정책과 토폴로지의 책임 분리
- 토폴로지 빌더:
- 노드와 링크 및 그들의 레이턴시/BW 파라미터를 정의한다
- 라우팅 정책:
- 디코딩된 도메인을 바탕으로 사용 가능한 그래프 경로 중에서 선택한다
- 라우팅 정책은 누락된 링크를 가정해서는 안 된다. 누락된 연결성은
토폴로지 구성 오류이다.
### D6. No software-managed routing metadata
- Routing decisions must not rely on per-request software-managed metadata
that tracks distance, hop count, or ordering outside the graph model.
- All distance/order computation is derived from traversal itself.
### D6. 소프트웨어 관리 라우팅 메타데이터 금지
- 라우팅 결정은 그래프 모델 외부에서 거리·hop 수·순서를 추적하는
요청별 소프트웨어 관리 메타데이터에 의존해서는 안 된다.
- 모든 거리·순서 계산은 순회 자체에서 유도된다.
## Alternatives Considered
1) **Hop-count based routing**
- Rejected: ignores heterogeneous latency/BW and misrepresents
architectural differences.
1) **Hop 수 기반 라우팅**
- 기각: 이질적인 레이턴시·BW를 무시하고 아키텍처 차이를 잘못 표현한다.
2) **Implicit local shortcuts**
- Rejected: breaks debuggability and violates traversal-based latency.
2) **암묵적 로컬 지름길**
- 기각: 디버깅 가능성을 해치고 순회 기반 레이턴시 원칙을 위반한다.
3) **Software-managed distance metadata**
- Rejected: increases control overhead and obscures routing semantics.
3) **소프트웨어 관리 거리 메타데이터**
- 기각: 제어 오버헤드를 증가시키고 라우팅 시맨틱을 모호하게 만든다.
## Consequences
### Positive
- Clear, debuggable hop-by-hop traces (SPEC R2, R4).
- Architecture comparisons reflect real interconnect structure.
- Routing behavior is reproducible and deterministic.
### 긍정적
- 명확하고 디버깅 가능한 hop-by-hop 트레이스 (SPEC R2, R4).
- 아키텍처 비교가 실제 인터커넥트 구조를 반영한다.
- 라우팅 동작이 재현 가능하고 결정론적이다.
### Tradeoffs / Costs
- Graph construction must be correct and complete.
- Bypass modeling requires explicit graph representation,
which slightly increases topology description complexity.
### 트레이드오프 / 비용
- 그래프 구성이 정확하고 완전해야 한다.
- 우회 모델링이 명시적 그래프 표현을 요구하므로 토폴로지 기술이
약간 더 복잡해진다.
## Implementation Notes (Non-normative)
- Recommended responsibilities:
- Graph builder: ensure all required paths exist.
- Router: select next hop based on decoded domains and policy.
- Tests should assert:
- non-zero end-to-end latency
- deterministic routing for identical inputs
- bypass paths appear explicitly in emitted traces
- 권장 책임 분담:
- 그래프 빌더: 필요한 모든 경로가 존재함을 보장.
- 라우터: 디코딩된 도메인과 정책을 바탕으로 다음 hop 선택.
- 테스트가 검증해야 할 항목:
- end-to-end 레이턴시 > 0
- 동일 입력에 대한 결정론적 라우팅
- 우회 경로가 출력 트레이스에 명시적으로 나타남
## Links
- SPEC.md: R1 (routing), R2 (latency), R3 (topology), R5 (multi-domain comm)
- ADR-0001: PhysAddr layout & decoding contract
- SPEC.md: R1 (라우팅), R2 (레이턴시), R3 (토폴로지), R5 (다중 도메인 통신)
- ADR-0001: PhysAddr 레이아웃 및 디코딩 계약