[2026-07-01] LatScope End-to-end latency decomposition across the cloud network stack
Motivation
๋ฌธ์ ์ค์์ฑ
AI, ํด๋ผ์ฐ๋ ์ปดํจํ , ๋น ๋ฐ์ดํฐ์ ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ ์ผํฐ์ ๊ท๋ชจ์ ๋คํธ์ํฌ ์คํ์ ๋ณต์ก์ฑ์ด ๊ธ๊ฒฉํ ์ฆ๊ฐ
๊ธฐ์กด ์ฐ๊ตฌ ๋ฐ ํ๊ณ
๊ธฐ์กด ์ธก์ ๋๊ตฌ๋ค์ ์๋ณต ์๊ฐ(RTT)์ด๋ ๋จ์ผ ๊ณ์ธต์ ์ง์ฐ๋ง์ ์ธก์
- ๊ธฐ์กด ์ฐ๊ตฌ 1 : ๋ค์ค ๊ณ์ธต ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง๋ง ์ปค๋ ๋ฐ TCP/UDP ํค๋์ ์์ ์ ์๊ตฌ
- ๊ธฐ์กด ์ฐ๊ตฌ 2 : eBPF ๊ธฐ๋ฐ ์์คํ ๊ด์ธก ๋๊ตฌ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ํน์ ๊ณ์ธต์ ๊ตญํ
LatScope
Design
- Challenge
- ์ ํํ ํจํท ์ฒ๋ฆฌ ์์ ์ ๊ด์ฐฐํ๊ธฐ ์ํด ์ ํํ ํํน ์ง์ ์ ์ ํํ๋ฉฐ ์ปค๋ ์์ ์์ด ๊ธฐ์กด ์ปค๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ผ ํจ
- ๊ณ์ธต ๊ฐ ํจํท ์ฒ๋ฆฌ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ 1๋1 ๋งค์นญ์ ํ ์ ์์
- Offload : CPU ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ํจํท ๋ถํ ์ NIC์์ ๋ ๋๊ธฐ๋ ๊ณผ์
- TSO (TCP Segment Offload) : ์ก์ ์ธก TCP ๊ณ์ธต์์ ์ต๋ 64KB ๋จ์๋ก ๋ฌถ์ด์ ํ์ ๊ณ์ธต์ผ๋ก ๋ด๋ ค๋ณด๋ด๋ฉด MTU ํฌ๊ธฐ์ ๋ง์ถฐ ๋ถํ
- GRO (Generic Receive Offload) : ์์ ์ธก NIC๋ ๋ถํ ๋ MTU ๋งํผ์ ํจํท์ ๋ณํฉํ์ฌ TCP ๊ณ์ธต์ผ๋ก ์ฌ๋ฆผ
- ์ ๋ขฐํ ์ ์๋ ์ ์ญ ์๊ฐ ๋๊ธฐํ ๋ถ์กฑ
- NTP ๊ธฐ๋ฐ ์๊ฐ ๋๊ธฐํ : ํ์ ์๋ฒ์ ์๊ฐ ์์ฒญ ํจํท์ ๋ณด๋ด๋ฉด ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์ ์๊ฐ๊ณผ ์๋ต์ ๋ณด๋ธ ์๊ฐ์ ๊ธฐ๋กํ์ฌ ๋ณด๋. ์๋ณต ์ง์ฐ ์๊ฐ์ ์ ๋ฐ์ ๋คํธ์ํฌ ์ ์ก ์๊ฐ์ผ๋ก ๊ฐ์ฃผํ๊ณ ์๋ฒ์ ์์ ์ ์๊ณ ์ฐจ์ด์ธ Offset์ ๊ณ์ฐํ์ฌ ์กฐ์
- NTP : Network time Protocol. ๋ถ์ฐ๋ ์ปดํจํฐ ์์คํ ๋ค์ System Clock์ UTC์ ๊ฐ์ ๊ณตํต ์๊ฐ์ผ๋ก ๋๊ธฐํํ๊ธฐ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ํ๋กํ ์ฝ
- ๋คํธ์ํฌ ํ๊ฒฝ์ ๋ฐ๋ผ์ ๋งค์ฐ ๋ถ์ ํํ ์ ์์
- NTP ๊ธฐ๋ฐ ์๊ฐ ๋๊ธฐํ : ํ์ ์๋ฒ์ ์๊ฐ ์์ฒญ ํจํท์ ๋ณด๋ด๋ฉด ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์ ์๊ฐ๊ณผ ์๋ต์ ๋ณด๋ธ ์๊ฐ์ ๊ธฐ๋กํ์ฌ ๋ณด๋. ์๋ณต ์ง์ฐ ์๊ฐ์ ์ ๋ฐ์ ๋คํธ์ํฌ ์ ์ก ์๊ฐ์ผ๋ก ๊ฐ์ฃผํ๊ณ ์๋ฒ์ ์์ ์ ์๊ณ ์ฐจ์ด์ธ Offset์ ๊ณ์ฐํ์ฌ ์กฐ์
- ๋คํธ์ํฌ ๋ชจ๋ ๊ณ์ธต์ ์ง์ฐ ์๊ฐ์ ์ธก์ ํ๋ฉด ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์์
Overview

Challenge 1: eBPF ํํน ํฌ์ธํธ
๊ฐ ๊ณ์ธต์ ๋ํ ํจ์์๋ง ํํน ์ ์ฉ

- eBPF ํ๊ณ : eBPF๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์คํ ํฌ๊ธฐ๋ ์ค์ ํ ์ ์๋ probing point๊ฐ ์ ํ์ .
- ์ปค๋ ์คํ ์์ฒด๊ฐ 8KB๋ก ์์
- Probing point๊ฐ ๋ง์ ๊ฒฝ์ฐ Verifier์ ํตํด ๊ฒ์ฆํ๋ ๋ฐ ๋๋ฌด ๋ง์ ์ค๋ฒํค๋๊ฐ ๋ฐ์
- Trade-off : ์ฌ๋ฌ ํจ์์ eBPF ์ฝ๋๋ฅผ ํํนํ๋ฉด ๋ ์ธ๋ถ์ฑ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ์ง๋ง ์ค๋ฒํค๋ ๋ฐ์
- ์ ์ ๊ธฐ์ค
- return value๋ฅผ ํตํด์ ์ ์ก๋ ๋ฐ์ดํธ ์๋ฅผ ํ์ธ
- ํ์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ธฐ ์ํด ํจํท ํค๋๊ฐ ํ์ฑ๋ ์ํ๋ฅผ ํ์ธ
Challenge 2: ๋ค์ค ๊ณ์ธต ํจํท ๋งค์นญ

๋์ ๋ฐ์ดํธ๋ฅผ ํ์์คํฌํ์ DB์ ์ ์ฅํ๊ณ ๊ฐ ๊ณ์ธต ๊ฐ์ ํจํท์ ๋งค์นญํ์ฌ ์ง์ฐ ์๊ฐ์ ๊ณ์ฐ
- Flow์ ์ด๊ธฐ TCP ์ํ์ค ๋ฒํธ๋ฅผ ์ ์ฅํ๊ณ ์ดํ ์ํ์ค ๋ฒํธ์์ ์ฐจ์ด๋ฅผ ํตํด ๋์ ๋ฐ์ดํธ๋ฅผ ๊ณ์ฐ
- TCP ๊ณ์ธต์์ out of order ํจํท์ด ๋ฐ์ํ ์ ์์ด์ ํ์ฌ๊น์ง ๊ด์ฐฐ๋ ๊ฐ์ฅ ํฐ ์ํ์ค ๋ฒํธ๋ณด๋ค ๋ฎ์ ์ํ์ค ๋ฒํธ์ ํจํท์ ๋ฌด์
- ACK, SYN, FIN, RST์ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์๋ ์ ์ด ํจํท์ ์ ์ธ
- ์์ผ ๊ณ์ธต์์๋ OS์ ์ํด ์์๊ฐ ์ ๋ฆฌ๋๋ฏ๋ก ์์ผ์ ํต๊ณผํ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ก ๋์ ๋ฐ์ดํธ ๊ฒฐ์
- ๊ณ์ฐ ๋ฐฉ๋ฒ
- $B_{i}^{m}$ : m ๊ณ์ธต์์ i ๋ฒ์งธ ํจํท์ ์์ ๋์ ๋ฐ์ดํธ
- $E_{i}^{m}$ : m ๊ณ์ธต์์ i ๋ฒ์งธ ํจํท์ ๋ง์ง๋ง ๋์ ๋ฐ์ดํธ
-
$E_{j}^{n}$ : n ๊ณ์ธต j ๋ฒ์งธ ํจํท์ ๋ํ์ฌ ๋ค์์ ๋ง์กฑํ๋ค๋ฉด i ๋ฒ์งธ ํจํท๊ณผ ๋งค์นญ
\[B_{j}^{n} \le E_{i}^{m} \le E_{j}^{n}\] - ๋งค์นญ๋ ํจํท๋ค์ ํ์์คํฌํ๋ฅผ ๊ณ์ฐํ์ฌ ์ง์ฐ ์๊ฐ์ ๊ณ์ฐ
- ๊ณ์ธต ๊ฐ ์ง์ฐ ์๊ฐ์ด ์๋ ์๋ฒ ๊ฐ ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ์ ๊ณ์ฐํ ๋๋ ์ฌ์ฉ
Challenge 3: ์๋ฒ ๊ฐ ์๊ฐ ๋๊ธฐํ
์๋ฒ ๊ฐ ๋๋ ํธ์คํธ์ ๊ฐ์ ๋จธ์ ๊ฐ ์ง์ฐ ์๊ฐ ์ธก์ ์ ์ํด ์๊ฐ ๋๊ธฐํ.
๋์ ํ๋ฆ
- ์ง์ฐ ์๊ฐ ์ธก์ ํ๊ธฐ ์ ๊ด๋ฆฌ ์๋ฒ๊ฐ UDP ๊ธฐ๋ฐ ์๊ฐ ๋๊ธฐํ ํจํท์ ์์ฑ ํ ์์ ์ ๋ก์ปฌํธ์คํธ๋ก ์ ์ก
- ๊ด๋ฆฌ ์๋ฒ์ XDP ํ๋ก๊ทธ๋จ์ด ํจํท์ ๋์์ฑ destination IP์ port๋ฅผ ๋ชฉ์ ์ง ์๋ฒ๋ก ๋ณ์กฐํ๊ณ ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ ์นด๋๋ก ์ ๋ฌ
- ๊ฐ ํจํท์ ์ ์ก ํ์์คํฌํ๋ฅผ ์ ์ฅ
- ๊ฐ ์๋ฒ์ XDP ํ๋ก๊ทธ๋จ์ด ํจํท์ ์์ ํ์ฌ ํจํท ์์ ์๊ฐ์ ๊ธฐ๋กํ๊ณ src์ dest๋ฅผ ๋ฐ๊ฟ์ ๊ด๋ฆฌ ์๋ฒ๋ก ๋ฐํ
- ์ปค๋๋ CPU ์ค์ผ์ฅด๋ง์ด๋ ๋ฒํผ ์ํ์ ๋ฐ ์ํํธ์จ์ด ๋ ธ์ด์ฆ๊ฐ ๋ฐ์ํ์ฌ ์ง์ฐ ์๊ฐ์ด ์๊น. ๊ทธ๋ ๊ธฐ์ ๊ฐ์ฅ ๋ฎ์ ๊ณ์ธต์ธ XDP์์ ์ฒ๋ฆฌ
- ๊ด๋ฆฌ ์๋ฒ๊ฐ ํจํท์ ๋ฐ๊ณ ์์ ์๊ฐ์ ๊ธฐ๋ก
-
์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ ์ ์ก ์๊ฐ์ ๊ณ์ฐํ์ฌ ๋ ์๋ฒ ๊ฐ์ ์๊ฐ ์ฐจ์ด๋ฅผ ๊ณ์ฐ.

-
Clock Drift๋ก ์ธํด 1~4๋จ๊ณ๊ฐ 64์ด๋ง๋ค ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ฐ๋ณต
- Clock Drift : ์จ๋๋ ์ ์ ๋ณํ์ ๋ฐ๋ผ ์๊ฐ์ด ๋ณํ๋ ํ์

- 100ํ์ ๋๊ธฐํ ์์
๊ฐ ๊ด๋ฆฌ ์๋ฒ์ ๋์ ์๋ฒ ๊ฐ์ ์๊ฐ ์ฐจ์ด ์ธก์
- ์๊ฐ ์ฐจ์ด - ์๊ฐ ์ฐจ์ด์ ์ต์๊ฐ.
- ์ต๋ 0.25 msec๋ก ๋๊ธฐํ๊ฐ ์ ๋๋ ๊ฒ์ ๋ณผ ์ ์์
-
Challenge 4: ์ค๋ฒํค๋ ์ ์ด๋ฅผ ์ํ ์ ์ํ ์ํ๋ง
ํจํท์ ์ผ๋ถ ๋๋ ์ง์ ๋ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ์ง์ฐ ์ธก์ .

- ์ํ๋ง์ ํ์ง ์๋ ๊ฒฝ์ฐ : sender 10.2%, receiver 24.2%.
- ์ํ๋ง ์ ์ฉ
- 72400B (50๊ฐ์ MTU) : sender 8.6%, receiver 21.3%. ๋ฐ์ดํฐ ์นด์ดํธ ์๋ 85% ๊ฐ์
- ELEMENT : ELEMENT๊ฐ sender์์๋ ๋ ์ฐ๊ณ receiver์์๋ ๋ ์. ํ์ง๋ง ๋ฐ์ดํฐ ์นด์ดํธ ์๊ฐ ๋๋ฌด ์ ์
- LatScope๊ฐ ๋ ๋ง์ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์ ๊ณต
- iperf : ๋คํธ์ํฌ์ ๋๋ฏธ ํธ๋ํฝ์ ๋ณด๋ด ๋คํธ์ํฌ ์ฒ๋ฆฌ๋์ ์ธก์ ํ ๋ ์ฌ์ฉํ๋ ํด
Evaluation
์๋ก ๋ค๋ฅธ ๊ฐ์ํ ํ๊ฒฝ์ ๋ฐ๋ฅธ ์ง์ฐ ์๊ฐ

- ๋น๊ฐ์ํ ํ๊ฒฝ : T8(end-to-end delay) ์์์ T1(sender ์ชฝ ์์ผ-TCP ๊ณ์ธต)์ด ๊ฐ์ฅ ํฐ ๋น์ค์ ์ฐจ์ง.
- T1์ ๊ฐ์ํ ์ฌ๋ถ์ ์๊ด ์์ด ๋ชจ๋ ํ๊ฒฝ์์ ๋ง์ด ๋ฐ์.
- ๊ฐ์ํ ํ๊ฒฝ
- ๊ฐ์ํ ์ค๋ฒํค๋๋ก ํ๊ท ์ง์ฐ ์๊ฐ์ด ๋์.
- T7 (receiver ์ชฝ TCP-์์ผ )์ด ์ฆ๊ฐ
- TCP ํจํท ์ฌ์ ๋ ฌ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ค๋ฒํค๋
- ์ปจํ
์ด๋ ํ๊ฒฝ
- T8์ด ๋น๊ฐ์ํ๋ณด๋ค ๋๊ฒ ๋ํ๋จ
- T2(sender์ TCP-IP ๊ณ์ธต ๊ฐ ์ง์ฐ) ๋ฐ T4(๋คํธ์ํฌ ์ง์ฐ)์ ๋ณ๋์ฑ์ด ํผ
์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ํ๊ฒฝ์์์ ์ง์ฐ ์๊ฐ

- LTE
- LAN๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก T1์ด ๋๋ถ๋ถ์ ์ฐจ์ง. ํ๊ท ๊ฐ์ด ๋๊ณ ๋ณ๋์ฑ์ด ๋๋ฆผ
- LTE์ ๋ฎ์ ๋ฌผ๋ฆฌ์ ๋์ญํญ๊ณผ ๋์ RTT ์ธํด ๋ฐ์ํ๋ bufferbloat
- T4๋ ๋ณ๋์ฑ์ด ํผ
- LAN๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก T1์ด ๋๋ถ๋ถ์ ์ฐจ์ง. ํ๊ท ๊ฐ์ด ๋๊ณ ๋ณ๋์ฑ์ด ๋๋ฆผ
- WiFi
- T8์ LTE๋ณด๋ค ๋ฎ์ง๋ง LAN๋ณด๋ค๋ ๋์
- T4๊ฐ ๋ ๋ถ์์
๊ฒฝํฉ ์๋๋ฆฌ์ค

- Wifi ๋ด์์ 20๊ฐ์ Flow ์คํ
- T1 ๋ฟ๋ง ์๋๋ผ T2์ T7 (receiver์ TCP-socket ๊ตฌ๊ฐ) ์ฆ๊ฐ
- T8์ ๋ณ๋์ฑ ์ฆ๊ฐ
- ํ๋ก์ฐ ๋น ๋์ญํญ ๊ฐ์ ๋ฐ ํ๋ก์ฐ ๊ฐ ๊ฐ์ญ์ผ๋ก ์ธํจ
์ค์ ์ ํ๋ฆฌ์ผ์ด์

- iperf๊ฐ ์๋ FTP์์ ์คํ.
- ํ์ง๋ง FTP ์ญ์ iperf์ ์ ์ฌํ๊ฒ ์๋ํ์ฌ ๋น์ทํ์ง๋ง ์ง์ฐ ์๊ฐ๊ณผ ๋ณ๋์ฑ์ด ์ฝ๊ฐ ๋ ํผ
- LTE์์๋ T1๊ณผ T8์์ ๋ณ๋์ฑ์ด ํผ
- DASH ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ค์ด๋ก๋๋ฅผ ๋ฐ๊ธฐ ๋
Use Case
- QoS ๊ธฐ๋ฐ ์ง์ฐ ์ ์ด ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ
-
์ฐ์ ์์์ ๋ฐ๋ฅธ ์ง์ฐ ์๊ฐ ์ฐจ์ด: ์ฐ์ ์์๋ฅผ ์กฐ์ ํ์ฌ ์ง์ฐ์ ํต์ ํจ์ ๋ณด์

-
TCP ๋ฒํผ์ ๋ฐ๋ฅธ ์ง์ฐ ์๊ฐ ์ฐจ์ด: ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ฉฐ ์ง์ฐ์ ํต์ ํจ์ ๋ณด์

-
- Gray failure ํ์ง
- Gray failure : ์์คํ ์ด ์ฃฝ์ ๊ฒ์ ์๋์ง๋ง ๋ฏธ๋ฌํ๊ฒ ์ฑ๋ฅ์ด ์ ํ๋ ์ํ
- ๋ฏธ๋ฌํ ๋น์ ์ ์งํ๋ฅผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ง์ฐ ์๊ฐ ํจํด์์ ML์ ํตํด ํ์ง
- ํด๋ผ์ฐ๋ ์ค์ ์ ํ
- ๋ค์ด๋ฒ ํด๋ผ์ฐ๋์ ๊ฐ์ ๋จธ์ 3์ข ์ ๊ณ์ธต ๋ณ ์ง์ฐ ์๊ฐ

Discussion
ํจํท ํํฐ๋ง
ํจํท ํํฐ๋ง์ด ์์ด ๋ชจ๋ ํจํท์ ๋ค ๋งค์นญํ๋ฉด $O(n^2)$์ด์ง๋ง ๋ฎ์ ์ํ์ค ๋ฒํธ๋ฅผ ๋ฌด์ํ๋ฉด $O(n)$
๊ณ ์ ๋คํธ์ํฌ ์ง์
์ธก์ ๋ฐ์ดํฐ๋ฅผ ์ค์ DB์ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ผ์, 100 Gbps ๊ฐ์ ๊ณ ์ ๋คํธ์ํฌ์์๋ ์ค๋ฒํค๋๊ฐ ์ปค์ง
์ต์ ์ปค๋ ๋ฒ์ ์ง์
์ปค๋ ๋ฒ์ ์ด ๋ฐ๋๋ฉด ํจ์๋ช ์ด๋ ์ธ์๊ฐ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ค์ ํ์ผ ์ ๋ฐ์ดํธ
Contribution
- multi-layer latency analyzer๋ก์, ๊ณ์ธต ๊ฐ ํจํท์ ๋งค์นญํด์ ์ ๋ฐํ ์ง์ฐ์ ๊ณ์ฐ
- XDP๋ก ์๋ฒ ๊ฐ ์๊ฐ์ ๋๊ธฐํํด์ ์ ํํ inter-server delay ์ ๊ณต
- selective data extraction(adaptive sampling)์ผ๋ก ์ธก์ ์ค๋ฒํค๋ ํต์
์๊ฐ
- ์ธก์ ๋ฐ์ดํฐ๊ฐ ์์ง๋ ๋๋ง๋ค ๊ด๋ฆฌ ์๋ฒ ์๊ฐ์ผ๋ก ๋ณด์ ๋๋ค๊ณ ํ๋ ๋ฐ ์ค๋ฒํค๋๊ฐ ์์ง ์์์ง
- ์ receiver๊ฐ ๋ CPU ์๋ชจ๊ฐ ๋ง์ ๊ฑฐ์ง?
Leave a comment