From 1b64ab89710a637e66604ece15d83f40ba314586 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Mon, 5 Oct 2026 23:27:43 +0100 Subject: 024, 126, 127: the lanes are 24 buffers (stage 2), about 200 KB a thread; stage 2 under ASan and UBSan (139 programs, the executor's output) --- docs/design/024-batch-executor.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs/design/024-batch-executor.md') diff --git a/docs/design/024-batch-executor.md b/docs/design/024-batch-executor.md index 6a59f7d..b1f8b3a 100644 --- a/docs/design/024-batch-executor.md +++ b/docs/design/024-batch-executor.md @@ -108,8 +108,9 @@ C의 3–300배에서 1.92배로 줄였지만([125](../research/125-tier-first-s 레인 레지스터 16개 × 256 × 8바이트 = 32 KB를 이벤트 스레드 하나가 쓴다(L1 64 KB 안). 펼친 레인(BFS의 간선)도 256씩 끊어 같은 자리를 쓴다. 묶음 프로그램은 루프마다 연산 수십 개 × 32바이트다. 실행 가능한 페이지도, 코드 캐시도 없다. -1단계는 묶음을 1024 레인으로 했다(126). 묶음마다 명령을 해석하는 고정 값(약 500 ns)을 나누기 위해서다. 그래서 레인 버퍼가 16개 × -1024 × 8바이트 = 약 134 KB다. 스레드의 정적 TLS에 있고, 묶음을 도는 스레드만 그 페이지를 쓴다. +1단계는 묶음을 1024 레인으로 했다(126). 묶음마다 명령을 해석하는 고정 값(약 500 ns)을 나누기 위해서다. 2단계에서 레인 버퍼를 +24개로 늘렸다(중첩 루프의 상태와 모으기가 버퍼를 쥔다). 그래서 레인 자리가 24개 × (1024 + 24) × 8바이트 = 약 200 KB다. 스레드의 +정적 TLS에 있고, 묶음을 도는 스레드만 그 페이지를 쓴다. ### JIT와의 관계 -- cgit v1.2.3