Intel Modular Mesh
개요
Intel Modular Mesh는 하나의 거대한 mesh를 고정된 단일 격자로만 설계하는 대신, 반복 가능한 mesh module을 조합해 큰 CPU fabric을 구성하는 설계 모델이다. 각 module은 core, private cache, LLC slice 또는 CHA, router, buffer와 module 경계의 gateway를 포함할 수 있다. 이 문서에서 Modular Mesh는 Intel이 모든 제품에 붙인 단일 공식 제품명이라기보다, Intel의 mesh·tile·compute die·package 자료를 이해하기 위한 구조적 표현이다. 공개 자료에서는 mesh, tile, compute tile, die-to-die interconnect라는 표현이 더 자주 사용되므로 이 용어들을 혼동하지 않아야 한다.
모듈화의 핵심은 module 내부의 local traffic과 module 사이의 global traffic을 분리하는 것이다. 요청은 먼저 source module의 local mesh에서 home module 또는 I/O gateway를 찾고, 필요한 경우 module-edge gateway와 inter-module link를 지나 destination module의 local mesh로 들어간다. 이 계층은 반복적인 IP 구성과 SKU 확장, 큰 die의 배선·reticle 부담 완화에 유리하지만, module boundary의 latency, global link의 bisection bottleneck, coherence traffic, reset·error recovery 검증 비용을 새로 만든다.
핵심 개념
1. Modular Mesh의 용어 범위
module은 물리적 범위가 고정된 단어가 아니다. 같은 die 안에서 반복되는 논리 IP block일 수도 있고, 여러 mesh stop을 담은 물리적 tile 또는 package에 실장된 compute die일 수도 있다. 설계 문서에서는 반드시 module의 범위와 boundary port를 함께 기록해야 한다.
| 용어 | 범위 | 포함될 수 있는 요소 | 성능 경계 |
|---|---|---|---|
| Mesh stop | local mesh의 한 접속점 | core, LLC slice, CHA, memory·I/O agent | 하나의 router·link hop과 endpoint queue |
| Mesh module | 반복 가능한 논리 또는 물리 블록 | 여러 stop, local router, buffer, gateway | local mesh와 module gateway |
| Compute tile | package에 배치된 하나의 compute die | core cluster, cache, uncore, I/O·memory 일부 | die 내부 mesh와 die-to-die link |
| Package | 여러 die와 substrate·bridge의 조합 | coherent processor와 외부 인터페이스 | tile link, bridge, 열·전력 |
| Global fabric | module 사이의 논리 연결 | gateway, global router, link, QoS | inter-module cut과 remote service |
모든 module이 같은 기능을 가져야 하는 것은 아니다. 대칭형 설계에서는 같은 core·cache module을 여러 개 복제할 수 있고, 비대칭형 설계에서는 memory module, I/O module, accelerator module을 별도 타입으로 둘 수 있다. module type이 다르면 link width, traffic class, ordering, power state도 달라질 수 있다.
2. Local mesh와 module gateway
하나의 module은 다음 네 계층으로 분석할 수 있다.
- Endpoint: core, LLC slice, CHA, memory controller 또는 I/O agent가 요청을 생성하거나 수신한다.
- Local router: module 내부의 row·column link에서 다음 방향을 선택한다.
- Boundary gateway: local packet의 목적지가 module 밖인지 판단하고 global fabric 형식으로 변환한다.
- Global link: 다른 module의 gateway 또는 shared service module로 요청과 응답을 운반한다.
gateway는 단순한 배선 끝점이 아니다. destination module ID와 local endpoint ID를 분리하고, credit·virtual channel·traffic class를 관리하며, 필요하면 clock 또는 power domain의 경계를 통과시킨다. 따라서 module 수 × local mesh 성능이 곧 전체 성능이라는 계산은 성립하지 않는다.
3. 계층형 주소와 라우팅
개념적으로 packet destination은 다음처럼 나눌 수 있다.
destination = { module_id, local_agent_id, request_class }
라우터는 먼저 현재 요청이 local service로 끝나는지 또는 다른 module로 나가야 하는지를 판단한다. remote 요청이면 global route가 module ID를 줄인 뒤 destination module gateway로 보내고, remote module의 local route가 agent ID를 해석한다.
| 단계 | 판단 대상 | 대표 상태 |
|---|---|---|
| Local lookup | source module 안의 LLC·CHA·MC·I/O인가? | local hit 또는 local service |
| Module selection | home agent가 어느 module에 있는가? | module ID, service class |
| Gateway arbitration | 어떤 boundary port와 virtual channel을 사용할 것인가? | credit, queue, QoS |
| Global traversal | module 사이 어느 link를 지날 것인가? | hop, link cut, backpressure |
| Remote local route | destination module 안의 어느 stop인가? | local coordinate, endpoint ID |
제품별 주소 hash, home agent 배치와 route algorithm은 공개 범위가 다르다. XY routing은 baseline 모델로 쓸 수 있지만 Intel의 모든 modular mesh에 고정된 알고리즘이라고 단정해서는 안 된다. 실제 구현에서는 traffic class, congestion, reserved path, credit와 오류 상태가 경로 선택에 관여할 수 있다.
4. Module 안의 coherence와 shared LLC
cache-coherent CPU에서 module 경계는 coherence 경계와 항상 같지 않다. 한 module의 CHA가 line의 home이 될 수도 있고, directory가 module 전체 또는 package 전체의 cache 상태를 추적할 수도 있다. remote home 접근은 다음 traffic을 만든다.
| Traffic | 목적 | Modular Mesh 비용 |
|---|---|---|
| Request | read, write, ownership 요청 | source local mesh와 global injection 점유 |
| Snoop / directory | sharer·owner 상태 확인 | 작은 control traffic이 여러 module로 확산 |
| Data / forward | cache 또는 memory에서 line 전달 | global link payload와 buffer 점유 |
| Invalidate | 공유 복사본 무효화 | module 수와 sharer 분포에 따라 증가 |
| Acknowledge | coherence transaction 진행 확인 | 대역폭은 작아도 tail latency에 영향 |
coherent package라는 표현은 module 간 cache와 memory를 논리적으로 함께 사용할 수 있다는 뜻이지, 모든 module 접근의 latency가 같다는 뜻은 아니다. local LLC hit, remote LLC hit, remote memory와 다른 module의 owner에서 data를 forward받는 경로를 분리해 측정해야 한다.
5. Intel 자료와 설계 모델의 연결
Intel Mesh 자료는 core·cache bank·memory controller·I/O controller를 rows와 columns의 mesh stop으로 배치하는 on-die fabric을 설명한다. Sapphire Rapids 분석 자료는 여러 compute die를 EMIB로 연결하고 각 die에 core, cache, memory·PCIe 자원을 배치하는 사례를 보여준다. 두 사례를 합치면 die 내부 local mesh + tile/module 사이 global link라는 modular mesh 모델을 만들 수 있다.
다만 다음은 서로 다른 수준의 사실이다.
| 구분 | 공개 자료로 확인 가능한 범위 | 문서에서의 해석 |
|---|---|---|
| Intel Mesh | rows·columns, mesh stop, distributed LLC·CHA의 개념 | 한 die 안의 local module 또는 monolithic mesh 모델 |
| Sapphire Rapids | 최대 4개의 compute tile과 EMIB, tile별 core·cache·I/O 분석 | 물리적 module 또는 tile array 사례 |
| Intel package | EMIB와 advanced packaging의 고밀도 die 연결 | module boundary의 물리 구현 예 |
| 내부 RTL | route table, VC 수, buffer 깊이, arbitration의 전체 세부 | 공개되지 않은 부분은 분석 모델로 표시 |
따라서 아래 SVG의 module A-D는 특정 Intel SKU의 실제 floorplan을 복사한 그림이 아니다. 반복 가능한 local mesh와 module-level gateway의 관계를 설명하는 개념도다.
6. Module 배치와 경계 유형
module 간 연결은 설계 목표에 따라 여러 형태가 된다.
| 배치 | 이점 | 부담 |
|---|---|---|
| 2D module array | 규칙적인 배선과 route 좌표, 반복 IP에 유리 | 중앙 global cut과 먼 module의 hop 증가 |
| 중앙 global router | module 추가와 QoS 정책을 관리하기 쉬움 | 중앙 router·buffer가 hotspot이 될 수 있음 |
| 인접 module link | 짧은 연결과 local locality 확보 | 먼 module 요청이 여러 global hop을 거침 |
| 다중 직접 link | remote latency와 path diversity 개선 | link·gateway·전력·검증 비용 증가 |
| 계층형 tree 또는 ring | module 수를 단계적으로 확장 | 상위 link와 root 주변의 bisection 제한 |
물리적 module이 같은 die 위에 있어도 global link는 on-die hierarchical NoC일 수 있고, 서로 다른 die라면 package PHY·bridge·adapter가 추가된다. 그러므로 module이라는 논리 용어만 보고 물리적 거리나 전송 protocol을 추정하면 안 된다.
비교/분석
1. Monolithic Mesh와 Modular Mesh
| 항목 | Monolithic Mesh | Modular Mesh |
|---|---|---|
| 기본 단위 | 하나의 die에 전체 stop 배치 | 반복 가능한 local mesh module |
| 주소 경로 | local coordinate와 global home을 단일 fabric에서 처리 | module ID 선택 후 local endpoint route |
| 주요 링크 | on-die mesh link | local link + module gateway + global link |
| 확장 방법 | die 면적·배선·reticle을 늘림 | module 복제, 배열, 계층 연결 |
| locality | core-to-home mesh 거리 | core·module·package locality의 합 |
| coherence | 단일 die directory 또는 home agent | local·remote module의 directory traffic |
| 병목 | router, central cut, CHA·MC egress | gateway, global cut, remote home·service |
| 제조 이점 | 조합 경계가 적고 package가 단순 | IP 재사용, die size·수율·공정 조합의 여지 |
| 검증 부담 | 단일 fabric timing·coherence closure | module composition, boundary, reset·error 조합 |
Modular Mesh가 항상 Monolithic Mesh보다 빠른 것은 아니다. module 내부 경로가 짧아지고 반복 IP를 재사용할 수 있어도, remote request는 gateway arbitration과 global link를 추가한다. workload의 module locality가 높으면 boundary traffic을 적게 사용하지만, uniform random·all-to-all·single-home workload는 global cut이나 특정 gateway를 먼저 포화시킬 수 있다.
2. Ring·Mesh·Modular Mesh·Tiled Mesh
| 항목 | Ring | Monolithic Mesh | Modular Mesh | Tiled Mesh |
|---|---|---|---|---|
| 경로 | ring stop 순회 | grid router hop | module 선택 + local/global/local | tile 선택 + package boundary + local route |
| 병렬성 | 여러 ring segment | 여러 row·column link | local과 global link를 계층적으로 사용 | tile 내부와 tile 간 link 사용 |
| 확장 병목 | segment·bridge | cut·router·긴 wire | gateway·global cut·home service | bridge·package link·remote tile |
| 제조 관점 | 비교적 단순한 die | 큰 die timing·수율 | 반복 module과 SKU 조합 | die 분할·package 조합 |
| latency 모델 | hop + queue | hop + queue + service | 두 local path + global path | local path + package boundary + remote path |
| 해석 주의점 | 제품별 ring class 차이 | SKU별 stop·route 차이 | module이 논리인지 물리인지 확인 | tile 수와 mesh stop 수를 구분 |
Modular Mesh와 Tiled Mesh는 겹칠 수 있지만 같은 말은 아니다. Modular Mesh는 반복 가능한 구조와 계층형 route라는 구성 원리를 강조한다. Tiled Mesh는 여러 physical tile 또는 compute die를 package 수준에서 연결하는 구현 범위를 강조한다. 한 package의 각 tile이 local mesh module을 가질 수 있으므로 Tiled Mesh가 Modular Mesh의 한 사례가 될 수 있지만, 한 die 내부의 모듈 배열도 Modular Mesh로 분석할 수 있다.
3. 지연과 처리량 모델
source module s에서 destination module d로 가는 요청의 지연은 다음처럼 계층별로 분리한다.
L_total = L_injection
+ L_local(s)
+ L_gateway_out
+ L_global(s, d)
+ L_gateway_in
+ L_local(d)
+ L_service
+ L_response
+ L_queue_and_retry
L_global은 module이 같은 die에 있느냐 다른 die에 있느냐에 따라 의미가 달라진다. 같은 die에서는 hierarchical NoC hop과 global router 비용일 수 있고, 다른 die에서는 adapter, package link, lane alignment, CRC·retry와 die-to-die power 경계가 포함될 수 있다. 공개 자료에 없는 항을 Intel의 고정 cycle 수로 기록하지 않고 측정값 또는 모델 가정으로 남겨야 한다.
module 수가 늘어도 처리량은 다음 병목 중 가장 작은 값에 제한된다.
B_system <= min(sum of local injection capacity,
module gateway capacity,
global bisection capacity,
destination service capacity)
각 local mesh의 bandwidth가 충분해도 gateway 또는 global cut의 aggregate capacity가 작으면 package 전체 처리량은 늘지 않는다. 반대로 local-only workload는 global capacity를 거의 사용하지 않으므로 modular 구조의 remote penalty를 드러내지 않는다. 성능 비교에서는 local-only, nearest-neighbor, uniform random, all-to-all, single-home hotspot을 분리해야 한다.
4. 설계 지표
| 지표 | 의미 | 확인할 질문 |
|---|---|---|
| Module-local ratio | 전체 요청 중 같은 module에서 끝나는 비율 | local path가 실제 workload의 대부분인가? |
| Gateway utilization | module boundary port의 사용률 | local mesh보다 gateway가 먼저 포화되는가? |
| Global bisection bandwidth | module 집합을 나눈 cut의 총 capacity | all-to-all에서 어느 cut이 병목인가? |
| Remote home ratio | 다른 module의 LLC·CHA·memory로 가는 비율 | home mapping과 scheduling이 locality를 보존하는가? |
| Hotspot ratio | 최대 link·gateway 사용률 / 평균 사용률 | 특정 module 또는 service가 traffic을 독점하는가? |
| Tail latency | p95·p99 응답 지연 | boundary queue와 retry가 평균에 숨겨지는가? |
| Coherence overhead | snoop·invalidate·forward·ack traffic | data payload 외 control traffic이 얼마인가? |
| Energy per bit | router·buffer·global link의 이동 에너지 | module 수 증가로 link 전력이 이득을 상쇄하는가? |
동작 원리
1단계: Endpoint가 local module에 요청 주입
core의 L1/L2에서 miss 또는 write가 발생하면 cache controller가 physical address, read/write 유형, ordering과 coherence 속성을 포함한 transaction을 만든다. 요청은 source module의 endpoint queue에 들어가고 local router로 주입된다.
측정 시점을 다음처럼 분리해야 한다.
T0: core miss 감지
T1: source endpoint queue 삽입
T2: local router arbitration 승리
T3: module gateway 또는 local service로 전송
T0-T1은 core·cache controller의 injection 비용이고 T1-T3은 local queue와 arbitration 비용이다. 이 구간을 모두 module boundary latency로 부르면 실제 병목을 잘못 분류하게 된다.
2단계: Home module과 service agent 선택
주소 mapping 또는 coherence directory가 cache-line home, LLC slice, CHA, memory controller 또는 I/O service를 결정한다. 개념적인 순서는 다음과 같다.
- 주소에서 home agent 또는 memory target을 계산한다.
- home agent가 어느 module에 속하는지 확인한다.
- source module과 home module이 같은지 판단한다.
- local이면 module 내부 route를 계속하고, remote이면 gateway 후보를 선택한다.
- gateway의 credit, queue와 QoS 상태를 확인한다.
실제 Intel 제품의 home hash와 route selection은 SKU·세대·firmware에 따라 공개 범위가 제한된다. core 번호나 물리적 인접성만으로 home을 추정하지 말고 address sweep, affinity, memory placement와 PMU 또는 uncore counter로 검증해야 한다.
3단계: Source module의 local route
local router는 local_agent_id와 module boundary 상태를 사용해 다음 output을 고른다. destination이 source module에 있으면 local LLC·CHA·MC·I/O로 바로 이동한다. destination이 remote이면 module-edge gateway로 이동한다.
source core
-> endpoint queue
-> local router(s)
-> local LLC/CHA/MC (local service)
-> module-edge gateway (remote service)
여러 core가 같은 gateway를 사용하면 module 내부 link utilization이 낮아도 gateway queue가 먼저 가득 찰 수 있다. 이때 평균 local mesh utilization보다 gateway별 busy cycle, queue occupancy와 backpressure를 확인해야 한다.
4단계: Gateway arbitration과 global traversal
gateway는 local packet을 global fabric 형식으로 캡슐화하거나 필요한 header를 추가한다. 여기에는 module ID, local endpoint ID, request class, ordering·coherence 정보가 포함될 수 있다. 동시에 여러 source가 같은 global link를 원하면 arbiter가 전송 순서를 정한다.
일반적인 계층형 흐름은 다음과 같다.
- outbound gateway가 destination module을 확인한다.
- 선택 가능한 global port와 virtual channel의 credit를 검사한다.
- arbiter가 traffic class, age, priority 또는 implementation-specific 정책으로 전송을 승인한다.
- 다음 router 또는 gateway의 buffer가 부족하면 backpressure를 source module로 전파한다.
- global route가 여러 hop이면 각 router에서 destination module ID를 갱신하며 반복한다.
credit flow control, virtual channel과 deadlock avoidance의 정확한 구성은 구현별 문제다. global link 한 개 = 한 cycle 전달 또는 모든 module에 동일한 대역폭으로 모델링하면 안 된다.
5단계: Destination module의 local service
destination gateway는 global header를 해석하고 local endpoint ID로 packet을 전달한다. home CHA 또는 LLC slice가 도착하면 cache state와 directory를 조회한다.
destination gateway
-> remote local router(s)
-> home CHA / LLC slice
-> owner cache forward 또는 memory controller
line이 destination module의 LLC에 있으면 data와 cache permission을 반환한다. 다른 module의 cache가 최신 owner라면 snoop, ownership과 data forwarding이 추가된다. 어느 cache도 최신 data를 보유하지 않으면 destination 또는 다른 module의 memory controller가 DRAM service를 수행한다.
6단계: Coherence response와 reverse path
write나 ownership 변경은 관련 module에 invalidate 또는 acknowledgement를 만들 수 있다. data와 control response는 request ID와 ordering 규칙을 따라 source module로 돌아간다. 응답은 반드시 원래 경로와 같은 global link를 사용한다고 단정할 수 없으며, 구현이 제공하는 reverse route 또는 별도 traffic class에 따라 달라질 수 있다.
source cache는 data, tag와 line state를 갱신하고 대기 중인 instruction을 재개한다. 관측에서는 다음을 구분한다.
| 측정 항목 | 분리해야 하는 비용 |
|---|---|
| Local hit | source local mesh, CHA·LLC service |
| Remote LLC hit | source local + gateway + global + destination local |
| Remote owner forward | coherence lookup, snoop·forward, response path |
| Remote memory | 위 비용 + controller queue와 DRAM service |
| Congested request | 위 비용 + gateway·global queue, arbitration, retry |
7단계: 관측과 검증
서로 다른 module의 core affinity와 memory placement를 고정한 뒤, 다음 실험을 비교한다.
- 같은 module의 LLC·memory만 사용하는 local-only workload
- 인접 module로만 요청하는 nearest-neighbor workload
- module과 address를 균등하게 섞는 uniform random workload
- 모든 module이 서로를 동시에 요청하는 all-to-all workload
- 하나의 CHA·LLC·memory module을 집중하는 single-home hotspot
각 실험에서 module-local ratio, gateway utilization, global link max utilization, home distribution, memory-controller queue, snoop·invalidate ratio, p50/p95/p99 latency와 retry·corrected error를 기록한다. 공개 PMU만으로 module ID별 경로가 모두 노출되지 않을 수 있으므로, controlled address experiment와 cycle-accurate model의 측정 경계를 함께 적는다.
장단점
| 장점 | 단점 및 주의점 |
|---|---|
| 반복 가능한 local mesh IP를 복제해 큰 fabric을 구성할 수 있음 | module boundary와 global route의 조합 검증이 필요함 |
| module 수·core 수·cache·I/O를 SKU별로 조합하기 쉬움 | 비대칭 module과 disabled block이 latency·bandwidth를 바꿈 |
| local traffic을 module 안에서 처리해 global link 사용을 줄일 수 있음 | remote traffic이 gateway·global cut·remote home을 압박함 |
| 작은 local wire와 계층형 route로 큰 monolithic die의 배선 부담을 완화할 수 있음 | global link, router, buffer와 gateway가 면적·전력을 사용함 |
| physical tile·chiplet과 결합하면 die size·수율·공정 혼합의 선택지가 늘어남 | package PHY·bridge·열·신호 무결성·assembly 수율 부담이 추가됨 |
| QoS와 traffic class를 local/global 경계에 적용하기 쉬움 | 우선순위 역전, starvation, deadlock과 backpressure 검증이 어려움 |
| module 단위 telemetry와 fault containment를 설계할 수 있음 | reset, retry, link failure와 coherence recovery 상태가 복잡해짐 |
선택과 검증 기준
- core·cache·agent 수가 작고 최저 지연과 단순한 검증이 우선이면 monolithic mesh 또는 ring이 더 적합할 수 있다.
- 반복 가능한 core·cache block이 많고 die 면적·SKU 조합·공정 혼합이 중요하면 modular composition을 검토한다.
- module-local ratio만 높이지 말고 gateway utilization, global bisection, remote home ratio와 p99를 함께 측정한다.
- coherence workload에서는 data payload와 snoop·invalidate·ownership·ack traffic을 분리한다.
- module이 논리 block인지 physical die인지 정의한 후 동일한 좌표·주소·latency 단위를 사용한다.
- local-only, nearest-neighbor, uniform random, all-to-all, single-home을 분리해 global cut과 hotspot을 확인한다.
- route, VC, buffer, home hash가 공개되지 않았다면 Intel의 고정 구현이라고 쓰지 말고 모델 가정 또는 silicon 측정으로 표시한다.
- package tile로 확장할 경우 die-to-die link의 training, CRC·retry, power state, thermal budget과 error containment를 별도로 검증한다.
관련 기술
- CPU Fabric 아키텍처 개요: topology, fabric, chiplet과 계층별 연결 범위
- CPU 인터커넥트 설계 지표: hop latency, bisection, congestion, QoS와 전력 측정
- Intel Ring 인터커넥트: ring stop과 확장 병목
- Intel Mesh 인터커넥트: monolithic mesh, LLC slice와 CHA
- Intel Tiled Mesh: compute tile과 package-level boundary의 차이
- NUMA 아키텍처: local·remote memory와 socket locality
- 메모리 인터커넥트: NoC, router, link와 flow control
- 캐시 일관성 프로토콜: snoop, directory, MESI/MOESI message
- 메모리 컨트롤러: address mapping, queue와 DRAM service
- UCIe 칩렛 인터커넥트: package-level die-to-die 표준과 boundary
참고 문헌 및 표준
- Intel, Intel Xeon Processor Scalable Family Technical Overview: Xeon Scalable의 mesh와 platform fabric 개요.
- Intel, 4th Gen Intel Xeon Processor Scalable Family Technical Overview: Sapphire Rapids의 제품·플랫폼 기능과 compute tile 사례를 확인하기 위한 공식 자료.
- Intel, Intel Architecture Day 자료 모음: core, tile, package와 modular architecture 관련 발표 자료.
- Intel Foundry, Advanced Packaging: EMIB를 포함한 package와 die-to-die 연결 기술 개요.
- Patrick Kennedy, The New Intel Mesh Interconnect Architecture and Platform Implications, ServeTheHome, 2017: Skylake-SP 6×6 mesh와 36-stop 공개 분석.
- btarunr, Intel “Sapphire Rapids” Xeon 4-tile MCM Annotated, TechPowerUp, 2022: four-die package, EMIB와 tile별 core·cache·memory·I/O 분석.
- Steve Kommrusch et al., “Coherence Traffic in Manycore Processors with Opaque Distributed Directories”, arXiv:2011.05422, 2020: Intel Mesh의 tile, local cache, coherence master와 distributed directory 분석.
- UCIe Consortium, UCIe Specifications: die-to-die physical layer, adapter와 protocol stack을 비교하기 위한 표준 자료.
핵심 정리
- Intel Modular Mesh는 공식 단일 제품명이 아니라, 반복 가능한 local mesh module과 module-level global fabric을 조합하는 설계 모델로 이해하는 것이 안전하다.
- packet 경로는 source local mesh, gateway, global link, destination gateway와 remote local mesh로 계층화되며, module ID와 local endpoint ID를 분리해 라우팅한다.
- Tiled Mesh는 physical tile·compute die와 package boundary를 강조하고 Modular Mesh는 반복 구조와 계층형 구성을 강조하므로, 두 개념은 겹칠 수 있지만 동일하지 않다.
- 성능은 module 수 자체보다 module-local ratio, gateway·global cut utilization, remote home, coherence traffic, memory service와 p99 latency에 의해 결정된다.
- module 재사용은 die size·수율·SKU 조합에 유리하지만, boundary protocol, QoS·deadlock, reset·retry·열·coherence 조합 검증을 추가로 요구한다.