
대규모 언어 모델은 대화가 이어질 때마다 전체 프롬프트를 처음부터 다시 처리하지 않는다. 각 토큰의 키·값 텐서를 저장한 KV 캐시가 있으면 다음 토큰 생성으로 넘어갈 수 있지만, 대화가 다른 호스트로 옮겨져 캐시를 쓸 수 없으면 프롬프트 전체를 다시 처리하는 프리필(prefill)이 필요하다. RTX 5090 두 대에서 코딩 에이전트를 실행한 실험에서는 10GbE 연결이 캐시 전송을 앞당기고 일부 전환을 더 따뜻하게 만들었지만, 전송 속도만 높여서는 캐시 가져오기와 정확성 문제가 해결되지 않았다.
viiwork mesh는 보통 캐시가 남아 있는 호스트에서 세션을 계속 실행한다. 해당 호스트가 바쁘면 세션이 다른 곳으로 옮겨가며, kv_share는 다음에 세션이 이동할 호스트로 캐시 복제본을 보내 전환 뒤 프롬프트를 다시 계산하는 일을 줄인다. 복제본이 다음 턴이 오기 전에 도착해야 효과가 있으므로 호스트 간 연결 속도가 중요하다.
실험은 RTX 5090 호스트 두 대에서 진행했다. 각 호스트에는 모델 슬롯이 네 개 있었고, 에이전트는 사양에 따라 할 일 관리 앱을 만들었다. LAN 스위치를 거치는 1GbE, Tailscale 트래픽을 보내는 직접 연결 10GbE, 같은 케이블에서 Tailscale을 거치지 않는 kv_share 전송을 비교했다. 12개 및 16개 세션을 대상으로 각각 90분 동안 측정했으며, 아래 비교는 부하가 더 일정했던 16개 세션 실행의 J, H, L 구간에 기반한다.
Strata는 Qwen3.8-Flash-Next 혼합 전문가 모델을 실행하며 대화별 캐시를 보관한다. kv_share는 Strata의 기능을 viiwork가 활용하는 방식이다. 기본 설정에서는 대화가 8,192토큰 이상일 때 호스트가 세션을 파일로 저장한다. 복제본은 다음에 세션이 이동할 호스트 한 곳으로만 전송되며, 이미 보낸 대화 부분은 제외한 변경분만 보낸다. 5만 토큰 턴에서 약 1GB 캐시 가운데 전송량은 약 240MB였다. 다음 턴을 실행하기 전에 수신 호스트가 복제본을 Strata에 가져오며, 프롬프트가 여전히 일치할 때만 캐시를 재사용한다. 복제본이 없거나 가져오기에 실패하면 해당 턴은 캐시 공유가 없는 경우처럼 콜드 상태로 처리된다.
일반적인 복제본 변경분은 약 247MiB였다. 전송 시간은 1GbE에서 3.24초, Tailscale을 거친 10GbE에서 0.81초, Tailscale을 우회한 직접 연결에서 0.55초였다. 단일 스트림 테스트에서 케이블은 9.41Gb/s를 기록했지만 Tailscale은 약 3.0~3.4Gb/s였다. 직접 연결의 전송이 더 빨랐어도 수신 측의 복제본 읽기·해시 계산·쓰기 작업이 속도를 좌우하는 것으로 보였다고 실험은 설명한다.
16개 세션 비교에서 프롬프트의 90% 이상을 재사용한 따뜻한 호스트 전환 비율은 1GbE의 93.8%에서 Tailscale을 거친 10GbE의 96.8%로 높아졌다. 일부만 재사용한 전환은 5.4%에서 2.2%로 줄었다. 직접 10GbE 실행의 따뜻한 전환 비율은 96.2%였지만, 96.8%와의 차이는 실행 간 변동 범위 안에 있었다. 따라서 이 부하에서는 Tailscale을 우회해 전송을 더 빠르게 해도 전체 캐시 재사용에서 뚜렷한 추가 이점은 확인되지 않았다. 직접 연결을 1GbE로 낮췄을 때 스위치를 거친 1GbE와 전송 시간이 같아, LAN 스위치 자체는 병목이 아니었다.
수신 엔진으로 캐시를 가져오는 데는 연결 속도와 관계없이 약 2.8초가 걸렸다. 부하가 큰 실행에서도 콜드 전환은 약 1~2% 남았다. 추적 결과, viiwork는 복제본을 한 번 가져왔다고 기억하지만 이후 엔진이 해당 대화 캐시를 내보낸 뒤에도 다시 가져오지 않는 문제가 반복됐다. viiwork v2.11.1에서는 가져오기를 건너뛰기 전에 엔진에 캐시 보유 여부를 확인하도록 이 문제를 수정했다. 실험은 이 수정 전인 2026년 10월 26일, viiwork v2.11.0-beta1과 Strata 0.2.6으로 진행됐다.
이 두 호스트와 해당 작업 부하에서는 1GbE도 사용할 수 있었고, kv_share 트래픽은 각 방향에서 평균 약 320~450Mb/s였으며 대부분의 전환이 따뜻했다. 10GbE는 복제본을 더 제때 전달하고 부분 재사용 전환을 줄였다. 다만 더 큰 개선 여지는 네트워크 대역폭 확대보다 엔진의 캐시 가져오기와 캐시 상태를 정확히 확인하는 데 있었다. 측정은 구성별 90분 단일 실행으로 통계적 반복 실험은 아니었다. ‘따뜻한’ 전환은 프롬프트의 90% 이상을, ‘부분적으로 따뜻한’ 전환은 30~90%를 재사용한 경우를 뜻한다.
session affinity 연구는 세션을 캐시가 있는 호스트에 유지하는 이유를 다룬다. Strata의 모델 실행 문서와 kv_share 문서에서 작동 방식과 설정, 요구 사항을 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요