hwkim3330
이 논문은 Intel i210 및 i225v NIC에서 IEEE 802.1Qbv TAS(Time‑Aware Shaper)를 Linux tc taprio를 통해 적용하고, Payload‑timestamp 방식을 사용하여 실제 지연(latency)을 정밀 측정한 결과를 보고합니다. 2 µs 및 10 µs 사이클에서의 지연 분포와 통계치를 제시하여 TSN 환경에서의 스케줄링 정확도를 검증했습니다.
Time‑Sensitive Networking(TSN)은 산업용, 오디오/비디오, 자율주행 등 실시간성이 중요한 애플리케이션을 위해 Ethernet 상에서 데이터 전송의 지연과 지터를 보장합니다. 802.1Qbv TAS는 하드웨어 큐 레벨에서 전송 슬롯을 제어하여 결정론적 스케줄링을 제공합니다.
본 연구에서는 Intel i210(i82576 기반)과 i225v 칩셋을 이용하여 TAS를 구현하고, 실제 패킷 지연을 Payload‑timestamp 방식으로 측정·분석합니다.
iproute2
, ethtool
, tc
(taprio), hping3
, tcpdump
, Python 3.8+두 가지 GCL(Gate Control List)을 사용:
사이클 | Open | Close |
---|---|---|
2 µs | 1 µs | 1 µs |
10 µs | 5 µs | 5 µs |
time.time_ns()
를 UDP 페이로드에 기록본 실험에서는 Intel i210 및 i225v NIC에 TAS(Time-Aware Shaper)를 적용하여 지연 분포와 안정성을 분석했습니다. TAS 적용 유무에 따른 성능 차이를 확인하기 위해 No-TAS(FIFO) 모드와도 비교했습니다.
그림 1. 2 µs 사이클 산점도 / 그림 2. 10 µs 사이클 산점도
TAS 스케줄에 따라 열린 슬롯 내에서만 패킷이 전송되었음을 확인할 수 있습니다. 2 µs 사이클에서는 0–2000 ns 구간에, 10 µs 사이클에서는 0–10000 ns 구간에 점들이 집중적으로 분포합니다.
그림 3. TAS 모드 무부하 히스토그램 / 그림 4. TAS 모드 무부하 CDF
슬롯 대기 시간으로 인해 평균 지연은 다소 증가하지만, 슬롯 외 지터는 최소화되었습니다.
Mode | Count | Mean (ns) | P50 (ns) | P95 (ns) | P99 (ns) | Max (ns) |
---|---|---|---|---|---|---|
TAS | 20000 | 20572.2 | 18994 | 31535 | 49808 | 271800 |
No-TAS | 20000 | 19525.7 | 18333 | 29732 | 50728 | 186095 |
무부하 환경에서는 TAS 모드의 평균 지연이 다소 높게 나타났으나, 이는 슬롯 대기 시간 때문입니다.
iperf3
로 UDP 포화 트래픽(≈1 Gbps)을 발생시킨 상태에서 TAS와 No-TAS 모드의 지연을 비교했습니다.
그림 5. 포화 트래픽(1 Gbps) 하 TAS vs No-TAS 히스토그램
Mode | Count | Mean (ns) | P50 (ns) | P95 (ns) | P99 (ns) | Max (ns) |
---|---|---|---|---|---|---|
TAS | 100000 | 194215 | 195354 | 263367 | 271173 | 353343 |
No-TAS | 100000 | 598310 | 597483 | 873277 | 939794 | 1060900 |
포화 부하 환경에서 TAS 모드는 평균 지연 ≈ 194 µs, P99 ≈ 271 µs로 지연을 안정적으로 제어했습니다. 반면, No-TAS 모드는 평균 지연 ≈ 598 µs, P99 ≈ 940 µs로 큐잉 지연이 급격히 증가했습니다.
TAS가 아닌, 802.1p 우선순위(Prio) 스케줄러를 적용하여 포화 트래픽 환경에서의 지연을 비교했습니다.
Mode | Count | Mean (ns) | P50 (ns) | P95 (ns) | P99 (ns) | Max (ns) |
---|---|---|---|---|---|---|
Prio | 100000 | 7981.3 | 6989 | 10924 | 15679 | 89602 |
No-TAS | 100000 | 598310 | 597483 | 873277 | 939794 | 1060900 |
포화 부하에서 Prio 모드는 평균 지연 약 7.98 µs, P99 약 15.7 µs를 기록했습니다. 이는 No-TAS 모드의 평균 지연(598.3 µs) 대비 수십 배 낮은 수치입니다.
그림. 포화 상태에서 Prio(파란) vs No-TAS(주황) 지연 분포 비교
Prio 모드는 대부분의 지연이 0–20 µs 구간에 집중되어 매우 안정적인 분포를 보입니다. 반면, No-TAS는 지연 분포가 매우 넓고 극단적인 값이 다수 관찰되었습니다.