Intel Tiled Mesh
개요
Intel Tiled Mesh는 하나의 큰 다이에 모든 자원을 배치하는 대신, 각자 작은 mesh와 CPU·cache·uncore 자원을 가진 여러 물리적 tile을 package 수준에서 연결하는 확장 방식이다. 여기서 tiled mesh는 특정 Intel 제품의 단일 표준명이라기보다, die 내부 mesh와 tile 사이의 die-to-die 연결을 계층적으로 결합한 구조를 가리키는 분석 용어다. 따라서 문서의 tile은 상황에 따라 mesh stop을 뜻할 수도 있고, 여러 mesh stop을 담은 물리적 compute die를 뜻할 수도 있다.
대표 사례는 4th Gen Intel Xeon Scalable, 코드명 Sapphire Rapids다. 고코어 구성은 최대 4개의 compute tile을 하나의 package에 배치하고 EMIB(Embedded Multi-Die Interconnect Bridge)로 연결한다. 공개된 die 분석에 따르면 각 tile은 Golden Cove core, private L2, LLC slice, memory controller와 I/O·accelerator 경계를 포함하는 독립적인 계산 블록이며, package는 이들을 하나의 coherent 시스템으로 동작시키는 방향으로 설계되었다. 다만 실제 tile 수, stop 배치, bridge 수, route·buffer 정책은 SKU와 세대별로 달라진다.
핵심은 tile을 단순히 나란히 놓는 것이 아니다. 요청은 먼저 source tile의 local mesh에서 목적지 tile을 찾고, package boundary를 통과한 뒤 remote tile의 local mesh와 CHA 또는 memory controller로 이동한다. 이 계층은 큰 monolithic die의 reticle·수율·배선 한계를 완화하지만, tile 경계의 link latency, package 전력, coherence traffic, memory locality와 검증 복잡도를 새 비용으로 만든다.
핵심 개념
1. 두 종류의 tile을 구분하기
Intel Mesh 문헌에서 tile이라는 단어는 서로 다른 수준을 가리킬 수 있다. KNL과 Xeon Mesh의 설명에서는 core·local cache·CHA가 들어간 논리 IP 블록 또는 mesh stop을 tile로 부르는 경우가 있다. 반면 Sapphire Rapids에서는 여러 core와 uncore 자원을 포함하는 물리적 compute die 자체를 compute tile이라고 부른다.
| 용어 | 물리적 범위 | 담당 기능 | 분석할 경계 |
|---|---|---|---|
| Mesh stop / local tile | die 내부의 한 grid 위치 | core, LLC slice, CHA, memory·I/O agent 접속 | router·link·queue·home service |
| Compute tile | package에 실장된 하나의 die | 여러 core, local mesh, cache와 일부 I/O·memory 자원 | die 내부 mesh와 package link |
| Package | 여러 die와 substrate·bridge의 조합 | coherent processor와 외부 인터페이스 구성 | tile-to-tile latency·전력·열 |
| EMIB link | package substrate에 내장된 silicon bridge | 인접 die 사이의 고밀도 연결 | PHY·adapter·lane·retry 구현 |
| Socket link | 보드 또는 socket 사이 | 다른 processor socket으로 확장 | UPI·NUMA·remote memory |
이 구분이 필요한 이유는 tile 수가 네 개라는 표현과 mesh stop이 수십 개라는 표현이 동시에 참일 수 있기 때문이다. 전자는 package-level die 수이고, 후자는 각 die 또는 전체 mesh의 논리 자원 수다. 두 숫자를 더하거나 같은 hop으로 세면 안 된다.
2. Local mesh와 global tile 연결
Tiled Mesh는 보통 다음과 같은 두 단계의 주소와 경로 선택을 가진다.
- Global destination 선택: 주소 home, coherence agent, memory controller 또는 I/O target이 어느 compute tile에 있는지 결정한다.
- Local route 선택: source tile과 destination tile 내부에서 row·column 또는 product-specific route를 따라 mesh stop까지 이동한다.
- Package boundary 통과: tile edge의 adapter와 EMIB 연결을 통해 다른 die의 interface로 이동한다.
- Remote local route: remote tile의 mesh에서 CHA, LLC slice, memory controller 또는 I/O stop까지 이동한다.
EMIB는 substrate 전체를 덮는 silicon interposer와 같은 개념이 아니라, 필요한 die edge 사이에 embedded bridge를 배치하는 packaging 기술이다. 연결의 물리적 폭과 protocol은 구현에 따라 달라지므로, EMIB 하나를 항상 한 cycle짜리 mesh hop 또는 동일한 on-die wire라고 해석하면 안 된다.
3. Sapphire Rapids 공개 사례
Sapphire Rapids를 읽을 때 다음 공개 정보와 분석 모델을 분리해야 한다.
| 항목 | 공개된 대표 사례 | 해석상의 제한 |
|---|---|---|
| Package 구성 | 고코어 구성에서 4개의 compute tile과 EMIB 연결 | 모든 SKU가 4 tile 또는 같은 die 구성은 아님 |
| Core | 최대 60 core, tile당 15 Golden Cove core로 설명되는 die 분석 | 비활성 core와 제품 segmentation에 따라 달라짐 |
| Cache | tile 내부 private L2와 package 전체에 공유되는 LLC slice | cache hash와 정확한 home 배치는 공개 범위가 제한됨 |
| Memory | tile별 memory-controller 경계를 두고 package 전체 DDR5 channel을 구성 | 채널 수와 controller 배치는 SKU별로 확인해야 함 |
| I/O | PCIe 5.0/CXL 경계와 UPI가 tile 또는 package 자원으로 배치됨 | 내부 stop·lane 배치는 공개 자료마다 표현이 다름 |
| Coherence | 여러 tile의 cache와 memory가 하나의 coherent 시스템으로 접근 | coherence message와 directory 구현의 모든 세부는 비공개 |
Intel의 공식 4th Gen Xeon 개요는 Sapphire Rapids의 제품·플랫폼 기능을 설명하지만, 내부 mesh router의 모든 RTL을 공개하지는 않는다. 따라서 이 문서의 네 tile 그림은 공개 package 구조를 바탕으로 한 개념도이며, 실제 die floorplan이나 고정 route map의 복사본이 아니다.
4. Locality는 세 층으로 나뉜다
Tiled Mesh에서 locality는 단순히 같은 tile인가로 끝나지 않는다.
- Core locality: 요청 core와 local LLC/CHA 사이의 mesh 거리
- Tile locality: 요청 core와 target LLC/CHA·memory controller가 같은 compute tile에 있는지
- Package locality: 요청이 EMIB boundary를 넘어 다른 tile, socket 또는 외부 I/O로 가는지
주소 hash가 LLC home을 균등하게 분산해도 모든 요청이 같은 비용을 갖는 것은 아니다. 같은 tile 안에서도 core-to-CHA 경로가 길 수 있고, 다른 tile로 간 요청은 EMIB와 remote mesh를 추가로 통과한다. 반대로 home을 분산하면 평균 hotspot이 줄어들 수 있지만, 특정 memory controller나 link에 집중되는 traffic pattern은 남는다.
5. Coherence home과 shared LLC
각 tile의 LLC slice 또는 CHA는 cache line의 home과 directory 상태를 관리하는 한 부분으로 볼 수 있다. 한 core가 local L2에서 miss를 내면 주소 mapping이 home CHA 또는 LLC slice를 선택한다. home이 다른 tile에 있으면 다음과 같은 message가 tile boundary를 오갈 수 있다.
| Message | 역할 | Tiled Mesh 영향 |
|---|---|---|
| Request | read, write, ownership 요청 | source local mesh와 global link를 점유 |
| Snoop / invalidate | 다른 cache 상태 확인 또는 무효화 | 공유 line이 많을수록 control traffic 증가 |
| Data / forward | memory 또는 다른 cache에서 data 공급 | 긴 cache-line 전송이 link 점유 |
| Acknowledge | coherence transaction 진행 확인 | 양은 작아도 지연되면 forward progress를 막음 |
coherent package라는 표현은 다른 tile의 cache와 memory를 올바른 coherence protocol로 접근한다는 의미이지, 모든 tile 접근의 cycle latency가 같다는 뜻은 아니다. Directory lookup, remote cache forwarding, memory-controller queue와 response path를 local path와 분리해 측정해야 한다.
6. Tile 간 연결 방식
4개의 tile을 연결하는 package graph는 항상 완전한 all-to-all graph일 필요가 없다. 설계자는 bridge 위치, link 폭, 방향성, redundancy와 package routing resource를 함께 정한다.
| 연결 모델 | 장점 | 비용 및 위험 |
|---|---|---|
| 인접 tile 중심 연결 | bridge 수와 배선을 줄이고 규칙적인 layout을 얻음 | 먼 tile 요청이 여러 global link를 통과할 수 있음 |
| 여러 직접 tile link | remote path와 병목을 줄일 수 있음 | bridge·adapter·전력·열·검증 비용 증가 |
| 계층형 global link | local traffic과 global traffic을 분리하기 쉬움 | global boundary가 bottleneck 또는 QoS 경계가 됨 |
| 혼합 mesh와 bridge | die 크기와 package 제약에 맞춰 유연하게 배치 | routing과 coherence의 corner case가 많아짐 |
공개된 die 사진이나 block diagram에 연결선이 보인다고 해서 그 선이 동일한 폭·주파수·latency의 coherent link라고 단정할 수 없다. 성능 비교에는 link width, direction, payload efficiency, retry와 측정 경계를 명시해야 한다.
비교/분석
1. Monolithic Mesh와 Tiled Mesh
| 항목 | Monolithic Mesh | Intel Tiled Mesh |
|---|---|---|
| 기본 단위 | 하나의 die 안에 모든 mesh stop 배치 | 여러 die의 local mesh를 package로 결합 |
| 경로 | router·link의 on-die hop 중심 | local hop + package boundary + remote hop |
| 제조 | 큰 die 수율·reticle·배선 제약 | 작은 die와 공정별 tile 조합 가능 |
| LLC·coherence | 단일 die fabric 안에서 분산 | tile 내부와 tile 사이 directory·message 처리 |
| memory locality | core-to-controller 거리가 주된 차이 | local tile controller와 remote tile controller 차이 추가 |
| 확장 방향 | die 면적과 global wire에 제한 | tile 수를 늘릴 수 있지만 package graph에 제한 |
| 주요 병목 | central cut, CHA, memory egress | tile boundary, bridge, remote home, memory egress |
| 검증 | 단일 die timing·coherence closure | die·package·link·coherence의 조합 검증 |
Tiled Mesh가 항상 Monolithic Mesh보다 latency가 낮은 것은 아니다. tile 내부 경로가 짧아지고 제조 유연성이 좋아질 수 있지만, remote request는 package boundary 비용과 두 번째 mesh queue를 추가한다. 목표가 높은 core count와 die 수율이라면 평균 성능보다 remote access ratio, package bandwidth와 tail latency를 함께 봐야 한다.
2. Ring·Mesh·Tiled Mesh 비교
| 항목 | Ring | Monolithic Mesh | Tiled Mesh |
|---|---|---|---|
| 경로 형태 | 방향을 정해 ring stop 순회 | 행·열 router를 따라 이동 | tile 선택 후 local/global/local 이동 |
| 병렬성 | 여러 segment에서 가능 | 여러 link와 cut에서 높음 | tile 내부와 tile 간 link에서 계층적으로 가능 |
| 평균 경로 | stop 수에 따라 증가 | Manhattan distance 경향 | local distance와 tile distance의 합 |
| 확장 병목 | ring segment·bridge | cut·router·긴 global wire | package boundary·global link·home tile |
| 자원 배치 | core·LLC·agent를 고리에 배치 | grid에 여러 agent를 분산 | 각 die 내부 자원과 package 자원을 분할 |
| 제조 이점 | 비교적 단순한 die 연결 | 큰 die에서 통합 제어 | die size, yield, process mix와 재사용 이점 |
| 소프트웨어 관점 | LLC와 core locality | home·CHA locality | tile·memory·NUMA-like locality까지 고려 |
Ring에서 Tiled Mesh로 바뀐다는 것은 단순히 ring 선을 mesh 선으로 바꾸는 일이 아니다. Tiled Mesh는 package-level modularity를 추가하면서 coherence와 memory hierarchy의 논리적 통합을 유지하려는 설계다. 따라서 AMD chiplet의 CCD/IOD, Intel의 UPI, UCIe 기반 chiplet과 유사한 문제를 공유하지만, link protocol과 cache coherence가 같다고 볼 수는 없다.
3. 경로 지연 모델
Tiled Mesh의 요청 지연은 다음처럼 계층별로 분해하는 편이 유용하다.
L_request = L_injection_src
+ L_local_mesh_src
+ L_tile_boundary
+ L_local_mesh_dst
+ L_CHA_or_memory_service
+ L_response
+ L_queue_and_retry
여기서 L_tile_boundary는 단순한 wire delay가 아니다. adapter, lane alignment, clock 또는 power-domain crossing, packetization, CRC/retry, bridge arbitration이 측정 범위에 포함될 수 있다. 실제 구현이 이를 몇 개의 논리 hop으로 보이는지는 공개된 protocol 정의와 silicon 측정으로 확인해야 한다.
두 core가 같은 LLC slice를 읽더라도 다음 조건에서 latency가 달라질 수 있다.
- 두 core가 서로 다른 tile에 있어 source local mesh가 다르다.
- home CHA가 source tile에 있지 않다.
- 동일한 EMIB link 또는 remote tile ingress queue를 공유한다.
- cache line이 다른 core에 있어 snoop과 data forwarding이 필요하다.
- memory controller와 DRAM bank queue가 remote path에 추가된다.
4. Bisection과 package bandwidth
단일 die mesh의 balanced cut capacity를 B_local이라 하고, tile 사이 global link cut의 capacity를 B_global이라 하면, all-to-all 트래픽에서 유효한 package throughput은 다음 상한에 묶인다.
B_package <= min(sum of local injection capacity,
B_local,
B_global,
destination service capacity)
tile을 네 개로 나누면 각 die 내부의 local cut은 작아질 수 있지만, tile 간 트래픽이 특정 bridge나 중앙 global cut에 모이면 B_global이 먼저 포화된다. 반대로 workload가 local tile memory와 local LLC를 주로 사용하면 boundary가 거의 사용되지 않아 Tiled Mesh의 이점을 더 잘 얻을 수 있다. 그러므로 uniform random, nearest-neighbor, all-to-all, single-home hotspot을 분리해 평가해야 한다.
5. 주소·메모리·스케줄링 관점
| 질문 | 확인할 항목 | 잘못된 해석 |
|---|---|---|
| 이 주소의 home은 어디인가? | LLC/CHA hash, memory channel mapping, firmware topology | physical address의 낮은 비트만으로 고정 home을 추정 |
| 요청이 boundary를 넘는가? | source tile, target tile, package route와 bridge 사용량 | 같은 socket이면 항상 local이라고 판단 |
| memory bandwidth가 충분한가? | controller별 queue, channel utilization, global link goodput | DDR peak bandwidth를 package sustained bandwidth로 간주 |
| coherence가 병목인가? | snoop·invalidate·forward·ack 비율과 directory occupancy | data payload만 세고 control traffic 제외 |
| OS 배치가 영향을 주는가? | CPU affinity, memory policy, NUMA exposure, remote ratio | coherent package를 uniform latency로 간주 |
타일 경계를 인식한 데이터·thread placement는 remote traffic을 줄일 수 있지만, Intel이 공개하지 않은 home hash나 package route를 임의로 복원하면 오히려 locality를 잘못 최적화할 수 있다. 실험에서는 numactl, CPU affinity, controlled physical allocation, uncore counter와 address sweep을 함께 사용하고, 결과를 SKU와 firmware 설정에 귀속해야 한다.
6. 제조·열·신뢰성 trade-off
| 관점 | 기대 이점 | 새 부담 |
|---|---|---|
| Die 제조 | 작은 die, 수율 개선, 공정 혼합, tile 재사용 | die 간 특성 차이와 package assembly 수율 |
| 성능 | 여러 local mesh와 global link의 병렬 처리 | remote path, bridge congestion, serialization·retry |
| 전력 | local traffic을 local die에서 처리하고 link를 절전할 여지 | EMIB PHY·adapter·global link와 buffer 전력 |
| 열 | 기능을 여러 die에 분산할 수 있음 | active tile과 bridge 주변의 열 밀도·열 경로 복잡성 |
| 검증 | 반복 가능한 tile IP로 일부 검증 재사용 | die-to-die protocol, reset, error recovery, coherence 조합 |
| 제품화 | core·I/O·memory 구성을 SKU별로 조합 가능 | bridge topology와 SKU별 fuse/disable 조합 관리 |
동작 원리
1단계: Core에서 local mesh로 요청 주입
core의 L1/L2에서 miss나 write가 발생하면 cache controller는 physical address, 요청 종류, ordering과 coherence 속성을 가진 transaction을 만든다. endpoint는 이 transaction을 local mesh가 운반하는 packet 또는 flit으로 바꾸고 ingress queue에 넣는다.
이 시점의 측정 지점을 분리해야 한다.
T0: core miss 감지
T1: source tile ingress queue 삽입
T2: local router arbitration 승리
T3: 첫 local link 전송
T0-T1은 core 또는 cache controller의 injection 비용이고, T1-T3은 local mesh queue와 arbitration 비용이다. 이를 합쳐서 tile boundary latency라고 부르면 병목을 잘못 분류하게 된다.
2단계: Global destination과 home tile 선택
주소 mapping과 coherence policy는 요청이 향할 LLC slice·CHA 또는 memory/I/O agent를 결정한다. 개념적으로는 다음 순서다.
- 주소에서 cache-line home 또는 memory target을 계산한다.
- target agent가 어느 compute tile에 있는지 확인한다.
- source tile과 target tile이 같은지 판단한다.
- 같으면 local mesh route를 계속하고, 다르면 package link 후보를 선택한다.
- bridge와 remote ingress의 credit·queue 상태를 확인한다.
제품별 home hash, route selection, virtual channel과 bridge arbitration은 모두 동일하지 않다. 일반적인 hierarchical route는 분석 모델로 사용할 수 있지만 특정 Intel SKU의 고정 알고리즘으로 기록해서는 안 된다.
3단계: Source tile의 local mesh traversal
source tile의 router는 목적지 tile ID와 local destination 정보를 가지고 다음 output을 선택한다. deterministic XY/YX routing을 baseline으로 삼을 수 있지만, 실제 제품은 traffic class, adaptive policy, credit와 implementation-specific shortcut을 사용할 수 있다.
source core
-> source tile ingress
-> local router(s)
-> tile-edge adapter
여러 core가 동일한 tile-edge link를 사용하면 local mesh가 전체적으로 여유 있어도 boundary queue가 먼저 포화될 수 있다. 이때는 평균 mesh utilization보다 edge별 busy cycle, queue occupancy와 backpressure를 확인해야 한다.
4단계: EMIB 또는 package boundary 통과
tile-edge adapter는 on-die mesh packet을 package-level connection이 운반할 수 있는 형식으로 넘긴다. EMIB는 die edge 사이의 고밀도 physical connection을 제공하지만, 다음 기능이 반드시 같은 방식으로 구현된다는 뜻은 아니다.
- clock 또는 power-domain crossing
- lane distribution과 alignment
- packet framing과 flow control
- CRC, retry 또는 replay
- reset, link training과 error containment
따라서 EMIB hop = on-die router hop이라는 등식은 사용하지 않는다. end-to-end latency에서는 L_tile_boundary를 별도 항으로 기록하고, 공개되지 않은 항은 측정 또는 모델의 가정으로 표시한다.
5단계: Destination tile의 local mesh와 CHA
remote tile의 ingress에서 packet은 다시 local mesh router를 통과해 home CHA 또는 LLC slice에 도착한다. CHA는 directory 또는 cache state를 조회하고 data의 공급 위치와 ownership 동작을 결정한다.
remote tile ingress
-> remote local router(s)
-> home CHA / LLC slice
-> local cache forward 또는 memory controller
같은 tile의 CHA라도 source core와 먼 위치에 있으면 local mesh hop과 queue 비용이 남는다. 다른 tile의 CHA라면 source local mesh, package boundary, destination local mesh가 모두 추가된다.
6단계: Coherence와 memory service
home CHA가 line 상태를 확인한 뒤 transaction은 다음 중 하나로 진행된다.
- line이 home tile의 LLC에서 hit하면 data와 cache permission을 반환한다.
- 다른 tile의 cache가 최신 상태면 snoop·ownership 요청과 data forwarding을 수행한다.
- 어느 cache도 최신 data를 갖지 않으면 해당 memory controller에 DRAM read/write를 요청한다.
- write가 공유 line의 ownership을 바꾸면 invalidate와 acknowledgement가 관련 tile로 돌아간다.
이때 coherence control traffic과 cache-line data traffic은 같은 global link 또는 별도 class를 사용할 수 있다. 정확한 lane 분리는 세대별 구현 문제이므로, 하나의 data bandwidth 숫자로 둘을 합치지 않는 것이 안전하다.
7단계: 응답 반환과 관측
data 또는 acknowledgement는 request ID를 따라 source tile로 돌아가고, source cache는 tag·state를 갱신한다. 성능 분석에서는 요청과 응답을 다음 항목으로 나누어 기록한다.
| 관측 항목 | 확인할 질문 |
|---|---|
| Local/remote tile ratio | 실제 workload가 package boundary를 얼마나 사용하는가? |
| Per-tile injection | 특정 tile의 core가 global link를 독점하는가? |
| Boundary link utilization | 어느 EMIB 또는 global cut이 hotspot인가? |
| CHA·LLC home distribution | home hash와 directory traffic이 균등한가? |
| Memory-controller queue | mesh 지연과 DRAM service 지연을 구분했는가? |
| Coherence message ratio | data보다 snoop·invalidate·ack가 더 큰가? |
| p50/p95/p99 latency | 평균이 감추는 tile 또는 bridge tail이 있는가? |
| Retry·corrected error | package link의 신뢰성 비용이 있는가? |
perf와 공개된 uncore PMU counter만으로 모든 tile 경로를 직접 볼 수 있는 것은 아니다. 가능하면 controlled address sweep, core affinity, memory placement와 cycle-accurate model을 결합하고, 측정한 silicon 세대와 SKU를 함께 기록한다.
장단점
| 장점 | 단점 및 주의점 |
|---|---|
| 큰 monolithic die를 여러 compute tile로 분할해 수율·reticle·공정 선택의 여지를 만듦 | package assembly, EMIB bridge와 die-to-die link 검증 비용이 추가됨 |
| 각 tile에 local mesh와 자원을 두어 core·cache·I/O를 반복 가능한 블록으로 구성 | local mesh와 global link의 계층 경계에서 latency와 queue가 달라짐 |
| 여러 tile의 link를 병렬 사용해 높은 aggregate throughput을 목표로 할 수 있음 | global cut, 특정 bridge, home CHA와 memory controller가 병목이 될 수 있음 |
| tile별 memory·I/O 자원을 배치해 하나의 중앙 agent 집중을 완화할 수 있음 | local/remote memory와 cache locality를 함께 고려해야 함 |
| coherent package로 software가 여러 tile의 cache·memory를 통합해 사용할 수 있음 | coherent traffic, directory lookup, remote forwarding이 payload bandwidth를 잠식함 |
| SKU별 tile 수·core 수·I/O 구성을 조합하기 쉬움 | disabled tile/core, fuse와 SKU별 route 차이로 제품 일반화가 어려움 |
| 작은 local wire와 package modularity가 die 확장에 유리함 | package 전력·열 밀도, bridge 주변 signal integrity가 새로운 제약이 됨 |
선택과 검증 기준
- 단일 die에서 agent 수가 작고 최저 지연이 우선이면 monolithic mesh 또는 ring이 더 단순할 수 있다.
- core·cache·memory·I/O 수가 die 한계를 넘고 수율·공정 혼합이 중요하면 Tiled Mesh의 제조 이점을 검토한다.
- 평균 latency보다 local/remote ratio, package link utilization, balanced cut, p99를 함께 측정한다.
- coherent workload에서는 snoop, invalidate, ownership, data forwarding을 data payload와 분리해 센다.
- memory placement와 CPU affinity를 고정한 뒤 local-only, uniform random, all-to-all, single-home hotspot을 비교한다.
- EMIB와 tile link는 공개 자료의 물리 연결과 protocol 동작을 구분하고, 알 수 없는 세부는 모델 가정으로 표시한다.
- 다중 socket에서는 local package path, UPI path와 remote NUMA memory service를 각각 측정한다.
관련 기술
- CPU Fabric 아키텍처 개요: topology, fabric, chiplet과 계층별 연결 범위
- CPU 인터커넥트 설계 지표: hop latency, bisection, congestion, QoS와 전력 측정
- Intel Ring 인터커넥트: distributed LLC와 Ring의 확장 한계
- Intel Mesh 인터커넥트: Skylake-SP의 monolithic mesh와 CHA 모델
- NUMA 아키텍처: local/remote memory locality와 socket 경계
- 메모리 인터커넥트: mesh, NoC, router와 flow control
- 캐시 일관성 프로토콜: snoop, directory, MESI/MOESI message 흐름
- UCIe 칩렛 인터커넥트: package-level die-to-die 표준과 Tiled Mesh의 경계
- 메모리 컨트롤러: controller queue, address mapping과 DRAM service
참고 문헌 및 표준
- Intel, 4th Gen Intel Xeon Processor Scalable Family Technical Overview: formerly codenamed Sapphire Rapids의 제품·플랫폼 개요.
- Intel, Intel Architecture Day 자료 모음: Intel core, tile, package와 advanced architecture 공개 발표.
- Steve Kommrusch et al., “Coherence Traffic in Manycore Processors with Opaque Distributed Directories”, arXiv:2011.05422, 2020: Intel Mesh의 tile, local cache, CHA와 distributed directory, KNL의 coherence traffic 분석.
- Patrick Kennedy, “The New Intel Mesh Interconnect Architecture and Platform Implications”, ServeTheHome, 2017: Skylake-SP 6×6 mesh와 28-core XCC의 공개 stop 구성 분석.
- btarunr, “Intel ‘Sapphire Rapids’ Xeon 4-tile MCM Annotated”, TechPowerUp, 2022: Sapphire Rapids 4-die package, EMIB, core·cache·memory·I/O tile annotation.
- Intel, Intel EMIB and advanced packaging overview: EMIB를 포함한 Intel package 기술의 공식 개요.
- UCIe Consortium, UCIe Specifications: 표준화된 die-to-die physical layer와 adapter·protocol stack 비교 자료.
핵심 정리
- Intel Tiled Mesh는 여러 compute tile의 local mesh를 package-level link로 결합한 계층형 coherent fabric이며,
mesh stop tile과compute die tile을 구분해야 한다. - Sapphire Rapids는 최대 4개의 EMIB-connected compute tile을 사용하는 대표 사례지만, 실제 tile 수·resource 배치·route는 SKU와 세대별로 달라진다.
- remote 요청의 비용은 local mesh hop 하나가 아니라 source mesh, package boundary, destination mesh, CHA·memory service와 response path의 합이다.
- Tiled Mesh는 die 수율·reticle·공정 혼합·제품 조합에 유리하지만, global link cut, bridge congestion, coherence traffic, 열·전력과 검증 부담을 추가한다.
- 성능 평가는 peak package bandwidth가 아니라 local/remote ratio, per-link utilization, home·memory hotspot, p99 latency와 retry를 workload별로 측정해야 한다.