Resident Resource Plan 56d KO - teamswyg/laya-tools GitHub Wiki
์์ฃผ ์์ ์คํ56d ์ฌ์ ์ค๊ณ: ์บ์ ์๋ JSONL ์๋ณต ๋น์ฉ
English ยท ๊ธฐ์กด56a ์์ ๊ฒฐ๊ณผ ยท 56b ๊ฐ์ฌ ๊ฒฐ๊ณผ ยท ๋ค์ ์๋ฏธยทํจ์ฉ ๊ฒฝ๋ก56c
์ด ๋ฌธ์๋ ์คํ ์ ์ค๊ณ์์ด๋ค. ๊ธฐ๊ณ ์คํ ๊ณํยท์ ๋ ฅยท๋ฐ์ด๋๋ฆฌ์ ์ต์ข ๋ด์ธ, ๊ณต์ ์์ ์ธก์ , CI ์๋ฃ ๊ธฐ๋ก์ ์์ง ์๋ค. ์ฌ๊ธฐ ์ ํ ํ์์ ์์ฐ์ ์ ์๊ฐ์ด๋ฉฐ ์ธก์ ๊ฐ์ด ์๋๋ค. ํ์ฌ56b์ ์ ์ฑ๋ฅ ์คํยท๋ชจ๋ธ ํธ์ถยทfitยท์ ๊ฐ์ค์น๋ ๋ชจ๋0์ด๋ค.
์์ Go ํํธ ๋๊ตฌ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ฐ๋ ์์ด์ ํธ๋ฅผ ๊ฐ์ ์ฌ์ฉ์๋ก ๋๋ค. ๋งค ์์ฒญ๋ง๋ค ํ๋ก์ธ์ค๋ฅผ ์๋ก ์์ํ๋ ๋์ ํ๋์ ํ๋ก์ธ์ค์ JSON ํ ์ค์ ๋ณด๋ด๊ณ ์ถ์ฒ ๊ฒ์ฌ ์์ ํ ์ค์ ๋ฐ๋๋ค. ์ด๋ฒ ์ง๋ฌธ์ ์ด ์๋ณต์ ๋๋ ์ ์ฒด CPUยท๋ฉ๋ชจ๋ฆฌยท์๊ฐ์ด๋ค. ์์์ ์๋ฏธ ์ ํ๋์ ์ค์ LLM ์ฌ์ฉ๋ ๊ฐ์๋ ๋ณ๋ ํจ์ฉ ๊ฒ์ฆ ๋์์ด๋ค.
๊ธฐ์กด ๊ด์ธก๊ณผ ์ด๋ฒ ๋ฒ์
56a๋ ๊ฐ์8ํ๋ณด ์์ ๋ฅผ ๊ธฐ์ค๋ง๋ค cold3ํยทwarm1ํ๋ก ์คํํ๋ค. ์ฒซ cold๋ 370.932333ms, ๋๋จธ์ง11ํ๋2.564958~5.232667ms์์ผ๋ฉฐ ์ต์ด ์คํยทOS/ํ์ผ cache์ ์์ธ์ ๋ฏธํ์ธ์ด๋ค. ๋ณ๋ ํ๋กํ์ผ์ runtime.kevent flat0.88์ดยท**83.02%**๋ ๊ท์ ๋ฏธํด๊ฒฐ๋ก ๋จ๋๋ค. ์ด๋ฅผ application ๋ณ๋ชฉ์ด๋ ๊ณต์ lock ๊ฒฝํฉ์ผ๋ก ํ์ ํ์ง ์๋๋ค. ์ด ์๋ฌธยท์์นยท์ฒซ ๊ด์ธก์ ๋ณด์กดํ๋ค.
ํ์ฌ stream์ ๋งค ์ค JSON ์ค๋นยท๊ฒ์ฆยท์์ยท์
๋ ฅ digestยท์ค์ ์ถ๋ ฅ ์ง๋ ฌํ๋ฅผ ์ํํ๋ฉฐ ๊ฒฐ๊ณผ ์บ์๊ฐ ์๋ค. benchmark๋ io.Discard ์ถ๋ ฅ๊ณผ ๋จ๊ณ ๋ฐ๋ณต์ ์ฌ์ฉํ๊ณ --stream๊ณผ ํจ๊ป ์คํํ ์ ์๋ค. --cpuprofile๋ benchmark ์ ์ฉ์ด๋ค. 56a์ warm p95๋ฅผ ์์ฃผ pipe ์๋ณต ์ง์ฐ์ผ๋ก ๋ฐ๊พธ์ด ๋ถ๋ฅด์ง ์๋๋ค. ์คํ๋ผ์ธ go/types ์์ฒ ๊ฐ์ฌ ๋น์ฉ๋ runtime ํํธ ๋น์ฉ์ ํฌํจํ์ง ์๋๋ค.
์ธก์ ์ ์ ์ค๋นํ๊ณ ๋ด์ธํ ์ ๋ ฅ
๊ธฐ์กด 48์์ฒญ๊ณผ 24์์ฒญ, ํฉ๊ณ72๊ฐ ๊ณต๊ฐ ์์ฒด ์์ฑ ์๋ฃ๋ฅผ ์ค๋น ์์ฒ์ผ๋ก ์ผ๋๋ค. ๊ฐ๊ฐ์ FeatureInputs ํฌ์์ผ๋ก ์์ฒญ๊ณผ ์์ ์๋ ํ๋ณด ์ค๋ช
๋ง ์ถ์ถํ๋ค. prototypeยทsourceยท๊ณ์ฝยท์ ๋ตยท์ญํ ์ ์์ ์
๋ ฅ์์ ์ ์ธํ๋ค. typed ์๋ฃ์ ์์ฒยท์ธ์ด ๊ฒ์ฌ๋ ์ค๋น ๋จ๊ณ์์ ์ํํ๊ณ , ์์ ์ธก์ driver๋ ์ค๋น๋ runtime JSONL๋ง ์ฝ๋๋ค.
- ํ๋ณด๊ฐ ์๋3๊ฐ์ธ ํฌ์๋ง ์ฌ์ฉํ๋ค. ํ๋ณด๋ฅผ ์ญ์ ยท์ถ๊ฐยท๋ณต์ ํ๊ฑฐ๋ ์ค๋ช ์ ์๋ผ3๊ฐ๋ก ๋ง์ถ์ง ์๋๋ค. ์์ฒญ๊ณผ ํ๋ณด ๊ฐ๊ฐ ์๋ฌธยท์ ๊ทํ512๋ฐ์ดํธ ์ดํ, ์ ๊ทํ32๋จ์ด ์ดํ, JSON ํ ์ค12KiB ์ดํ๋ฅผ ๊ฒ์ฆํ๋ค.
- ์ ๊ทํ๋ ์์ฒญ, ํ๋ณด ์3, ์ ๊ทํ๋ ํ๋ณด ์ค๋ช
3๊ฐ๋ฅผ ์์๋๋ก ๊ธธ์ด๋ฅผ ๋ถ์ฌ ์ธ์ฝ๋ฉํ SHA-256์
feature_sha256์ผ๋ก ์ ์ํ๋ค. ์ธ์ฝ๋ฉ ๊ท์น๊ณผ ๊ตฌํ ํด์๋ ์คํ ์ ์ ๊ณ ์ ํ๋ค. IDยทprovenance๋ ์ด ํด์์์ ์ ์ธํ๋ค. ๊ฐ์ ์ค๋ช ์ ID๋ง ๋ฐ๊พธ๊ฑฐ๋ whitespace๋ง ๋ฐ๊พผ ๊ฒ์ ์๋ก์ด feature payload๊ฐ ์๋๋ค. ์ด ํด์๋ ๋ณด์์ ์ธ ์ค๋ณต ์ ํ ๊ธฐ์ค์ด๋ฉฐ, ๋ชจ๋ ๊ธฐ์ค์ ์ ์ถ๋ ฅ ๋๋ฑ์ฑ์ด๋ ๋ฏธ๋ cache key์ ์์ ์ฑ์ ์ฆ๋ช ํ์ง ์๋๋ค. - ์์ ์ ์ธ ์๋ณธ ์์์์ feature SHA๋ฅผ ์ค๋ณต ์ ๊ฑฐํ๋ค. ์ ํยท์ ์ธ ๋ชฉ๋ก, ์๋ ๋ถ๋ชจ์์ ์ฐ๊ฒฐ, ์์ฒญ/ํ๋ณด์ ๋ฐ์ดํธยท๋จ์ด ์, ์๋ก ๋ค๋ฅธ payload ์๋ฅผ ๊ณต๊ฐ ์ค๋น manifest์ ๋จ๊ธด๋ค. ์ ์ด๋2๊ฐ์ ์๋ก ๋ค๋ฅธ feature payload๋ฅผ ํ์ธํ๊ธฐ ์ ์๋ ๊ณต์ ๊ธฐ๊ณ ์คํ ๊ณํ์ ๋ด์ธํ๊ฑฐ๋ ์คํํ์ง ์๋๋ค. ๋ ๋ง์ payload๊ฐ ๋ ๋ฆฝ ์ ๋ตยทํ์ต ๊ทธ๋ฃนยท์ต์ข ์์ฒญ ์๋ฅผ ๋๋ฆฌ๋ ๊ฒ๋ ์๋๋ค.
same์ ๊ณ ์ ํ ์ฒซ payload๋ฅผ ๋ฐ๋ณตํ๋ค.distinct๋ ์ค๋ณต ์ ๊ฑฐํ ์ ์ฒด ๋ชฉ๋ก์ ์์ ์ ์ธ ์์๋ก ์ํํ๋ค. ์ธก์ ๋จ๊ณ์ ์ฒซ ๋ชฉ๋ก ์์น๋ ๊ณ ์ ํ๋ค. ๊ฐ workload๋ ๋ชจ๋ ๊ธฐ์ค์ ์์ ๋์ผํ byte sequence๋ฅผ ์ฌ์ฉํ๋ค. ๋ workload์ ํฌ๊ธฐยท๋จ์ด ๋ถํฌ ์ฐจ์ด๋ฅผ ๊ณต๊ฐํ๊ณ , ์ฐจ์ด๋ฅผ ์ ๋ ฅ ์ฌ์ฌ์ฉ๋ง์ ์ธ๊ณผ ํจ๊ณผ๋ก ํด์ํ์ง ์๋๋ค.- runtime envelope์ schemaยทIDยทprovenance๋ ๊ณต๊ฐ ์์ยทํ๋ฉด ์๋ณ์๋ก ์ค๋นํด ๊ฐ JSON ์ค์ raw SHA์ ๊ธฐ์กด ์
๋ ฅ digest๋ฅผ ๊ณ ์ ํ๋ค. ID๋ ์ถ๋ ฅ ๋์ ํ์ธ์ฉ metadata๋ค.
feature_sha256, JSON raw SHA, metadata๋ ํฌํจํ๋ ์ ๋ ฅ digest๋ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๊ธฐ๋กํ๋ค.
์คํ ์ ๋ณ๋ ์ค๋น ๊ฒ์ฌ์์ ๊ธฐ๋ protocol ์๋ต์ ๋ง๋ ๋ค ํ๋ซํผ๋ณ ์๋ต bytes SHA๋ฅผ ๋ด์ธํ๋ค. ์ด๋ ์ ๋ ฅ ๋์ยท๊ฒฐ์ ์ ์ถ๋ ฅ ๊ฒ์ฌ์ฉ์ด๋ฉฐ ์ค์ ์์ฃผ ์ฒ๋ฆฌ๊ธฐ๋ ๋ชจ๋ ์์ฒญ์ ๋ค์ ๊ณ์ฐํ๋ค. ์ค์ ์๋ต SHA๋ ๊ฒฐ๊ณผ์ ๊ธฐ๋กํ๋ค. ์๋ก ๋ค๋ฅธ ํ๋ซํผ์ ๋ถ๋์์์ ์ถ๋ ฅ bytes๊ฐ ๊ฐ๋ค๊ณ ๊ฐ์ ํ์ง ์๋๋ค. ์ด ๋จ๊ณ์ protocol ์ค๋น๋ ์ ๋ต ๋ผ๋ฒจยทoracle ํจ์ฉ์ ๊ด์ธกํ๋ ์คํ์ด ์๋๋ค.
์์ ์คํ ํ๋ ฌ๊ณผ ์์ฐ
| ์ฌ์ ์ ์ | ๊ฐ๊ณผ ์๋ฏธ |
|---|---|
| ๊ธฐ์ค์ | fixed_order, bm25, lexical_ordered, narrow_rule |
| workload์ ๋ฐ๋ณต | same/distinct ๊ฐ๊ฐ ์ ์์ฃผ ํ๋ก์ธ์ค3ํ: 4 ร 2 ร 3 = 24 children |
| ํ child์ ์์ฒญ | ์ฒซ ์๋ต1 + warmup20 + timed1024 = 1045์์ฒญ |
| ์ ์ฒด ์์ ์์ฒญ | 25,080์์ฒญ; timed24,576๊ฐ. ๋ฐ๋ณต์ด๋ฉฐ ์๋ก์ด ๊ฐ๋ฐยท์ต์ข ์๋ฃ๊ฐ ์๋ |
| ์ฒ๋ฆฌ ๋ฐฉ์ | child1๊ฐยทinflight1๊ฐ. ์ด์ ์๋ต์ ๋์ ๊ฒ์ฌ๋ฅผ ๋ง์น ๋ค ๋ค์ ์์ฒญ ์ ์ก |
| CPUยทGo heap | child์ controller์ GOMAXPROCS=1, Go heap256MiB soft limit |
| ์๊ฐ ์ ํ | child15์ด, ์ ์ฒด ๊ณต์ replay60์ด; ์๋ ์ฌ์๋0 |
| ๊ณต๊ฐ ๊ฒฐ๊ณผ ์ ์ฅ | ์ ๊ท ๊ฒฐ๊ณผ ํฉ๊ณ8MiB ์ด๋ด; ๋งค ์๋ต์ ๋ฌด์ ํ์ผ๋ก ๋์ ํ์ง ์์ |
GOMAXPROCS๋ Go์ ๋์ ์คํ P ์์ด๋ฉฐ OS ์ค๋ ๋ ์ยทCPU affinity ๋ณด์ฅ์ด ์๋๋ค. Go heap soft limit์ ์ ์ฒด RSSยทnativeยทGPU ๋ฉ๋ชจ๋ฆฌ์ hard cap์ด ์๋๋ค. CPU-only์ด๊ณ ์ธ์ฝ๋ยทGPUยท๋ชจ๋ธยท๊ฒฐ๊ณผ ์บ์๋ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ๋ก๋ฅผ ๊ณ ์ ํ๋ค. ํ๋ก์ธ์ค ์ข ๋ฃ์ pipe ์ ๋ฆฌ ํ์ธ์ ํฌํจํ ์ ํ ์ ์ฑ ์ driver ๊ตฌํยท๊ฒ์ฌ ํ ๋ด์ธํ๋ค.
distinct๋ ์๋ก ๋ค๋ฅธ feature pool์ ์ํํ๋ ๋ฐ๋ณต์ด๋ค. Child์ timed1024ํ๊ฐ ์๋ก ๋ค๋ฅธ1024์์ฒญ์ด๋ผ๋ ๋ป์ด ์๋๋ฉฐ, timed24,576๊ฐ๋ ํ์ด๋ฐ ๊ด์ธก์ ์์ ๊ฐ์๋ค. ๋
๋ฆฝ ํ์ตยท์ต์ข
ํ๋ณธ ์์ ๋ํ์ง ์๋๋ค.
์คํ ์์24ํ์ ์ฌ์ ์ ๊ณ ์ ํ๋ค. ๊ธฐ์กด ๊ธฐ์ค์ ์์์ same/distinct ์์๋ฅผ ๊ต๋๋ก ๋ฐฐ์นํ๋ ๊ฒฐ์ ์ ์ธก์ ์ ์ ๋จ๊ธด๋ค. ์ฒซ child์ ๊ฐ child์ ์ฒซ ์๋ต์ ๋ณ๋ ๊ธฐ๋กํ๋ฉฐ ์ ์ธํ๊ฑฐ๋ ๋ค๋ฅธ ๊ธฐ์ค์ ์ ์์ด๋ก ๋์ฒดํ์ง ์๋๋ค. ์ ํ๋ก์ธ์ค๋ฅผ OS cache๊น์ง ๋น์ด cold๋ผ๊ณ ๋ถ๋ฅด์ง ์์ผ๋ฉฐ cache flush๋ฅผ ์ํํ์ง ์๋๋ค. ๋น๋ยท๋ฐ์ด๋๋ฆฌ ๊ฒ์ฆ/๋ณต์ฌยทcorpus ์ค๋น๋ ๋ณ๋ ์ค๋น ๋จ๊ณ๋ค.
๊ด์ธก ๊ฐ๋ฅํ ์๊ฐ๊ณผ ๊ด์ธก ๋ฐ์ ๋น์ฉ
| ํญ๋ชฉ | ๊ณ ์ ํ ๊ด์ธก ๊ฒฝ๊ณ |
|---|---|
| spawn-call wall | controller์ ์์ ํธ์ถ ์ง์ ๋ถํฐ ๊ทธ ํธ์ถ ๋ฐํ๊น์ง. child๊ฐ ์ค๋น๋๋ค๋ ์ ํธ๋ ์๋ |
| ์ฒซ ์๋ต๊น์ง | ์์ ํธ์ถ ์ง์ ๋ถํฐ ์ฒซ ์์ ํ ์๋ต ์ค ์์ ๊น์ง: startupยท์ฒซ ์ฒ๋ฆฌยทpipeยทcontroller๊ฐ ํฉ์ณ์ง |
| wire RTT | ๊ฐ ์์ฒญ ์ฐ๊ธฐ ์์๋ถํฐ ์์ ํ ์๋ต ์ค ์์ ๊น์ง. ์ฐ๊ธฐ ๋๊ธฐยทchild ์ฒ๋ฆฌยทpipeยท์์ framing ํฌํจ |
| write blocking | ์์ฒญ ์ค ์ฐ๊ธฐ ์์๋ถํฐ ๋ชจ๋ byte์ ์ฐ๊ธฐ๊ฐ ๋ฐํ๋ ๋๊น์ง |
| controller ๊ฒ์ฆ | ์์ ํ ์๋ต ์ค ์์ ํ JSONยทdigestยทํ๋ณด ๋ณด์กด ๊ฒ์ฌ๊ฐ ๋๋ ๋๊น์ง |
| warm ๋ถํฌ | warmup ๋ค1024๊ฐ์ wire RTT p50/p95/max์ ์๋ฃ ์ |
์ฝ๊ธฐ๋ bounded framing์ผ๋ก ์๋ต ์ค์ ๊ณ์ drainํ๊ณ , ์์ ํ์์คํฌํ๋ฅผ ์ก์ ๋ค ๋์ ๊ฒ์ฌ๋ฅผ ํ๋ค. ํ์ฌ stream์๋ ready ์ ํธ๋ child ๋ด๋ถ ํ์์คํฌํ๊ฐ ์๋ค. ๋ฐ๋ผ์ ์์ startup, child ๋ด๋ถ ์ฒ๋ฆฌ๋ง์ ์ง์ฐ, ์์ pipe ๋น์ฉ์ unobserved๋ก ๋๋ค. ์๊ฐ ํญ๋ชฉ๋ค์ ์๋ก ๊ฒน์น ์ ์์ผ๋ฉฐ ๋ํ๊ฑฐ๋ ์ฐจ๊ฐํด application ์๊ฐ์ ๋ง๋ค์ง ์๋๋ค. ๊ธฐ์กด io.Discard benchmark๋ pipe ์๊ฐ์ ๋จ์ ์ฐจ๊ฐํ๋ ๊ทผ๊ฑฐ๋ก ์ฐ์ง ์๋๋ค.
CPUยท๋ฉ๋ชจ๋ฆฌ์ protocol ํ์ธ
Child ์ข
๋ฃ ์ user/system CPU์ ๊ทธ child ์ ์ฒด lifetime peak RSS๋ฅผ ๊ธฐ๋กํ๋ค. Controller๋ RUSAGE_SELF์ user/system CPU ์ฆ๊ฐ์ ๋ณ๋์ lifetime peak RSS๋ฅผ ๊ธฐ๋กํ๋ค. Controller RSS๋ฅผ ํ๋ณ๋ก ๋น๊ตํ๋ ค๋ฉด ํ๋ณ ์ controller์์ ์ธก์ ํ๊ณ orchestration ๋น์ฉ์ ๋ฐ๋ก ๋๋ค. ๊ด์ธก๊ธฐ๊ฐ child CPU๋ฅผ controller CPU์ ๋ค์ ๋ํ์ง ์๋๋ก ๊ฒ์ฌํ๋ค. Peak RSS๋ ์ ํ ์ฐจ์ดยท์๊ฐ warm RAMยทGo heap์ด ์๋๋ฉฐ ๋ ํ๋ก์ธ์ค peak๋ฅผ ํฉ์ณ ๋์ ์ด peak๋ก ์ฃผ์ฅํ์ง ์๋๋ค. Darwin RSS bytes์ Linux KiB์ ๋จ์๋ฅผ ๊ตฌ๋ถํด bytes๋ก ๋ณํํ๊ณ ์๋ ๋จ์๋ ๊ธฐ๋กํ๋ค.
์๋ฃ๋ ํ child์ CPU/request ๋ถ๋ชจ๋ 1045๋ก ์ฒซ ์์ฒญยทwarmup์ ํฌํจํ๋ค. Warm latency์ ์์ ๋ถ๋ชจ๋ 1024๋ค. Whole-process CPU๋ฅผ warm phase๋ง์ CPU๋ผ๊ณ ๋ถ๋ฅด์ง ์๋๋ค. ๊ฐ ํ์ ์์ ยท์๋ยท์๋ฃยท์คํจยท๋ฏธ์๋ฃ ์์ ์ ์ถ๋ ฅ byte ์๋ฅผ ํจ๊ป ๋จ๊ธด๋ค. ์คํจยทtimeoutยทprotocol ๋ถ์ผ์น๋ฅผ ๋ถ๋ชจ์์ ์จ๊ธฐ๊ฑฐ๋ ์ฑ๊ณต์ผ๋ก ์ฑ์ฐ์ง ์์ผ๋ฉฐ, ๋ถ์๋ฃ ํ์ ์ ์์ ์ธ1024ํ๋ณธ ๊ฒฐ๊ณผ๋ก ๊ฒ์ํ์ง ์๋๋ค. ๋ถ์๋ฃ ํ์ raw CPU์ ์ค์ ๋จ๊ณ๋ณ ์๋ฅผ ๋ณด์กดํ๋ฉฐ, ์๋ฃ๋1045์์ฒญ์ CPU/request ๊ฐ์ผ๋ก ์ฑ์ฐ์ง ์๋๋ค.
๊ฐ ์๋ต์ ํ๋์ bounded JSON ์ค์ด์ด์ผ ํ๋ค. schema์ unverified_heuristic ์ํ, ๊ธฐ์ค์ , ๊ณ ์ ํ ์
๋ ฅ digest, ์๋ต raw SHA, ์ ํ ์ ์, ํ๋ณด3๊ฐ์ ID๊ฐ ์
๋ ฅ์ ์ ํํ permutation์ธ์ง ํ์ธํ๋ค. narrow_rule์ ๋ฒ์ ๋ฐ ์
๋ ฅ์ ๊ณ ์ ํ BM25 fallback๊ณผ unsupported_rule_request/unsupported_rule_candidate ์ด์ ๋ฅผ ํ์ธํ๋ค. Malformed ์
๋ ฅ์ ์ ์ fallback์ผ๋ก ๋ฐ๊พธ์ง ์๋๋ค. Stderrยทreader ์ค๋ฅยทํธ์ถ ์ธ์๋ ๊ณต๊ฐํ์ง ์๊ณ ๊ณ ์ enum๊ณผ ์ข
๋ฃ/์ ๋ฆฌ ์ํ๋ง ๋จ๊ธด๋ค. Protocol ๊ฒ์ฌ๋ ํ๋ณด ํจ์์ ์๋ฏธ ์ ๋ต์ ์ธ์ฆํ๋ ๊ฒ์ด ์๋๋ค.
์คํ gate์ ์ดํ ๊ฒฝ๋ก
์ driver์ ์์ฒยท๊ฒ์ฌยทmanifest, ์ ๋ ฅ ํฌ์/feature ํด์ ๊ท์น, ํ๋ซํผ๋ณ protocol ๊ธฐ๋๊ฐ, 24ํ ์์์ ์ข ๋ฃ ์ ์ฑ ์ ๊ฒํ ยท๊ฒ์ฌํ๋ค. Go1.27.1ยทCGO0ยทtrimpath binary์ buildinfo, ๋ฐ์ด๋๋ฆฌ bytes SHA, source/input/output pins, ์ ๊ท driver SHA์ ๊ธฐ๊ณ ์คํ ๊ณํ์ ๊ณต์ ์์ง ์ ์ ๋ด์ธํ๋ค. ์ ํํ ํ์ธํ bytes๋ก ์คํํด ์ฌ์ฝ๊ธฐ ์ฌ์ด ๋ณ๊ฒฝ์ ๋ง๊ณ ์ ์ถ๋ ฅ๋ง ํ์ฉํ๋ค. CI๋ ์ค์ ์คํ๋ ๋ค ํด๋น ์ํยท๋งํฌ๋ฅผ ๊ธฐ๋กํ๋ค. ์ด ๋ฌธ์์๋ ์คํํ ์ค๋น๊ฐ ๋๋ฌ๋ค๋ ๋ฑ์ง๋ ์ฑ๊ณต ๋งํฌ๋ฅผ ๋ถ์ด์ง ์๋๋ค.
Matched-byte echo/framing 6๋์กฐ๋ ๊ท์ ๊ฒํ ์ฉ ํ์ ๋ณ๋ ๊ณํ์ด๋ค. ์ด๋ฒ24ํ์ ๋ชฐ๋ ์ถ๊ฐํ๊ฑฐ๋ ๊ทธ ์ง์ฐ์ ์ค์ ์๋ณต์์ ์ฐจ๊ฐํ์ง ์๋๋ค. ์ ํํ startup ๋ถ๋ฆฌ๊ฐ ํ์ํ๋ฉด ๋ฒ์ ์ด ์๋ ready ์ ํธ๋ฅผ ๋ณ๋ ์ค๊ณํ๋ค. Bounded queue์ open-loop ๋์ฐฉ๋ฅ ยท๋์์ฑ, ์บ์์ ๋ฌดํจํ, lockยทSIMDยทSoA ๋ณ๊ฒฝ์ ์ดํ ๋ ๋ฆฝ ๊ณํ ๋์์ด๋ค. ๊ธฐ์กด kevent ๊ท์ ๋ฏธํด๊ฒฐ๊ณผ ์ฒซ cold ๊ด์ธก์ ๋ณด์กดํ๋ฉฐ ํ์ฌ cacheยทSIMDยท์๋ ๊ฐ์ ์ ์ฃผ์ฅํ์ง ์๋๋ค.
๊ณต๊ฐ ์ฐ์ถ๋ฌผ์ ์๋ณธ ๊ณต๊ฐ fixture, ๊ณํยท์์นยทํด์ยท๋ฒ์ ์ค๋ช ์ด๋ค. ์ค์ ์ ๋ฌด ์ ๋ ฅยท๊ฐ์ธ ์ ๋ ๊ฒฝ๋กยท์ธ์ฆยท๋ฐ์ด๋๋ฆฌยท์์ pprof/trace๋ ๊ฒ์ํ์ง ์๋๋ค. ์ด๋ฒ ์ค๊ณ์ ํ์ตยท๋ชจ๋ธ ํธ์ถยท๊ฐ์ค์นยท์ด์ ํ์ฑํยทprotected final/CoSQA ์ ๊ทผ์0์ด๋ฉฐ, ๋๋ฉ์ธ๋ณ ์๋ก ๋ค๋ฅธ ๋ณดํธ๋ ์ต์ข ํ๊ฐ ์ต์2400์์ฒญ ๋ชฉํ๋ ๋ณ๋๋ค.