Files
multi-agent-paper/gRPC_Based_Interface/figures/fig6_benchmark.svg
T
2026-06-25 12:19:20 +09:00

50 lines
3.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 460" font-family="Helvetica, Arial, sans-serif">
<text x="500" y="30" text-anchor="middle" font-size="18" font-weight="700" fill="#102a43">gRPC vs REST 정량 비교 — 엣지 AIoT 무선 구간</text>
<text x="500" y="52" text-anchor="middle" font-size="12" fill="#486581">예시적 추정치 (Illustrative Estimates). 페이로드 복잡도·라이브러리·런타임에 따라 변동</text>
<!-- Left chart: Payload size -->
<g>
<text x="60" y="100" font-size="14" font-weight="700" fill="#102a43">① 페이로드 크기 (단일 메시지)</text>
<text x="60" y="120" font-size="11" fill="#486581">작을수록 무선 대역폭 절약</text>
<rect x="60" y="140" width="180" height="36" fill="#1976d2"/>
<text x="250" y="163" font-size="12" font-weight="600" fill="#102a43">JSON 450 B (100%)</text>
<rect x="60" y="190" width="37" height="36" fill="#00838f"/>
<text x="107" y="213" font-size="12" font-weight="600" fill="#102a43">Protobuf 92 B (20%)</text>
<text x="250" y="213" font-size="11" fill="#00838f" font-weight="600">▼ 80% 대역폭 절감</text>
<line x1="60" y1="245" x2="500" y2="245" stroke="#9e9e9e" stroke-width="1"/>
<text x="60" y="265" font-size="10" fill="#486581">0 B</text>
<text x="500" y="265" font-size="10" fill="#486581" text-anchor="end">500 B</text>
</g>
<!-- Right chart: CPU parsing -->
<g>
<text x="560" y="100" font-size="14" font-weight="700" fill="#102a43">② 10,000 메시지 파싱 CPU</text>
<text x="560" y="120" font-size="11" fill="#486581">짧을수록 ms 단위 핑퐁 유리</text>
<rect x="560" y="140" width="380" height="36" fill="#1976d2"/>
<text x="950" y="163" text-anchor="end" font-size="12" font-weight="600" fill="#fff">JSON ~500 ms (100%)</text>
<rect x="560" y="190" width="34" height="36" fill="#00838f"/>
<text x="604" y="213" font-size="12" font-weight="600" fill="#102a43">Protobuf ~45 ms (9%)</text>
<text x="950" y="213" text-anchor="end" font-size="11" fill="#00838f" font-weight="600">×11 CPU 효율</text>
<line x1="560" y1="245" x2="950" y2="245" stroke="#9e9e9e" stroke-width="1"/>
<text x="560" y="265" font-size="10" fill="#486581">0 ms</text>
<text x="950" y="265" font-size="10" fill="#486581" text-anchor="end">500 ms</text>
</g>
<!-- Implication panel -->
<rect x="60" y="300" width="890" height="130" rx="8" fill="#f1f8ff" stroke="#1976d2" stroke-width="1.5"/>
<text x="80" y="328" font-size="13" font-weight="700" fill="#0d47a1">엣지 AIoT 환경에서의 함의 (Implications)</text>
<g font-size="11" fill="#102a43">
<text x="80" y="350"><tspan font-weight="600">무선 구간 비용·지연 절감</tspan>: LoRa·BLE·저전력 Wi-Fi 구간에서 페이로드 80% 감소는 배터리 수명·전력 예산에 직결</text>
<text x="80" y="370"><tspan font-weight="600">ms 단위 핑퐁 누적 해소</tspan>: 사례 ① AGV 합의처럼 초당 수십~수백 회의 RPC가 필요한 환경에서 ×11 CPU 효율은 필수</text>
<text x="80" y="390"><tspan font-weight="600">단, 임베디드 제약</tspan>: 8-bit MCU·저전력 디바이스는 Protobuf 라이브러리 자체가 부담 → gRPC-Lite/nanopb 또는 T2 변환 게이트웨이 사용</text>
<text x="80" y="410"><tspan font-weight="600">타입 안전성</tspan>: Protobuf의 컴파일 단계 검증은 컴파일-배포 주기가 긴 임베디드에서도 빌드-시-에러를 보장</text>
</g>
</svg>