자리는 있었습니다. 장부는 없었습니다: 폴백 세(fallback tax) 실측
자리는 있었습니다. 장부는 없었습니다. 멀티클러스터 LLM 서빙을 운용하거나 빠른 층 포화 시 비용 예산을 잡는 국내 클라우드·AI 엔지니어라면 이 글이 필요합니다. 대기, 느린 자사 층, 상용 API 세 갈래의 가격과 지연을 실측한 오늘의 논문을 소개합니다. 빈 자리가 있다는 것을 장부가 모르고 있을 때 내는 돈이 얼마인지, 이 논문은 실측한 숫자로 답합니다.
글의 핵심 개념을 형상화했습니다.
쉽게 말하면
식당 둘을 생각해 보겠습니다. 하나는 지점, 하나는 본점입니다. 지점은 자리가 비싸지만 요리는 금방 나옵니다. 본점은 자리가 싸지만 기다림이 깁니다. 둘은 같은 회사의 가게입니다. 예약 초과가 잦은 쪽은 지점입니다.
지점 예약장이 가득 찼을 때, 손님은 세 갈래 중 하나를 택합니다. 지점 줄에 섭니다. 본점으로 넘어갑니다. 아니면 배달을 시키거나, 아예 다른 식당에 갑니다. 논문의 세 갈래는 이 선택 그대로입니다. 줄 서기는 빠른 층 대기, 본점 이동은 느린 자사 층으로 넘김, 배달은 상용 API로 떠넘김입니다. 폴백(fallback)은 이 세 갈래 전체를 부르는 이름입니다.
폴백 세(fallback tax)는 싼 길을 모른 채 비싼 길을 택했을 때 추가로 내는 돈입니다. 줄 서기는 무료입니다. 다만 자리가 늦게 풀리면, 그 요청을 제때 못 처리해서 흘리는 가치가 비용이 됩니다. 배달을 시키면, 본점 값보다 비싼 차액이 비용이 됩니다.
여기에 실수 하나가 있습니다. 본점에는 빈 자리가 4개 있습니다. 그런데 예약장은 지점에 한 부만 걸려 있습니다. 직원은 본점도 만석이라고 안내합니다. 손님은 줄에서 기다립니다. 빈 자리는 그대로 비어 있습니다. 장부에 빈 자리가 없다는 뜻은, 자리가 없다는 뜻이 아닙니다. 논문의 용어로는 폴백 실패(fallback misfire)입니다.

무엇을 해봤나
이 비유는 실제 일에서 왔습니다. 2026년 9월 2일, 저희 플릿의 빠른 층 B200이 한 클러스터에서 8장 전부를 쓰는 것으로 꽉 찼습니다. 같은 시각, 폴백으로 쓸 H100 층은 이웃 클러스터에서 4장을 쓰지 못한 채 비어 있었습니다. 클러스터 2개 가운데 1개에만 폴백 대기열(LocalQueue)이 켜져 있었기 때문입니다. 꽉 찬 클러스터의 요청은 빈 H100에 닿을 길이 없었습니다. 요청은 줄에서 기다렸고 빈 카드는 빈 채로 남았습니다.
논문은 이 세 갈래의 가격을 짚습니다. 느린 자사 층은 실측입니다. H100 NVL 단일 카드로 Qwen3-4B 모델을 돌렸습니다. 요청당 출력 64개 토큰을 동시 요청 1, 2, 4, 8, 16개로 처리했습니다. 성능 기준도 둘 정했습니다. 요청당 전체 지연 20초 이내, 그리고 토큰당 지연 100밀리초 이내입니다. 둘 다 서비스 수준 목표(SLO)입니다.
빠른 층 대기는 실측이 어렵습니다. 카드가 전부 쓰이면, 그 상태를 유지하면서 대기 비용을 재기 어렵기 때문입니다. 그래서 대기 갈래는 비용 모델로 처리했습니다. Kueue의 예약은 작업 단위이므로, 줄에 선 추가 요청이 쓰는 GPU 비용은 0입니다. 대기의 유일한 비용은, 자리가 SLO 안에 풀리지 않으면 내는 가치입니다.
상용 API는 공개 가격표로 짚습니다. 2026년 9월 3일 OpenRouter에서 확인한 소형 4종, 프런티어급 1종을 기준으로 했습니다. 실측한 느린 층, 모델로 짚은 대기, 가격표로 짚은 API 세 조각을 합치면, 빠른 층 포화 시의 손익분기점(break-even) 지도가 생깁니다. 그동안 손익분기 연구는 하나의 클러스터 안에서만 값어치를 따졌습니다. 이번 지도는 층과 클러스터를 넘나드는 폴백 결정의 가격입니다. 실측으로 짚은 첫 지도입니다.

나온 결과
느린 자사 층의 실측 결과가 논문의 중심입니다. H100 NVL 1장의 전체 출력은 동시 요청이 늘면 거의 선형으로 커집니다. 1개 요청에서 초당 15.0개 토큰이던 출력이, 16개 요청에서는 초당 260.9개 토큰으로 늘었습니다. 4개 요청 이상에서는, 요청 하나당 걸린 시간이 3.9초를 1퍼센트 이내로 유지했습니다. 즉, 사람 말로는 손님 16명이 동시에 앉았는데도 각자 같은 시간에 상을 받고 1인당 밥값은 16분의 1 아래로 줄었다는 뜻입니다.
H100 NVL 단일 카드의 전체 출력이 초당 15.021에서 260.898토큰으로, 동시 요청 수 C=1~16에 따라 거의 선형으로 늘어납니다. C=4 이상에서는 요청당 처리 시간이 3.9초의 1퍼센트 이내로 유지됩니다. C=2는 토큰당 지연 기준을 넘은 유일한 지점입니다. 2026년 9월 2일 GPU 팟 실측값입니다.
비용은 같은 방향으로 움직인다. GPU 1시간 전체를 합산한 단위 출력 비용은, 1개 요청에서 100만 토큰당 46.2달러로 시작해 16개 요청에서 2.7달러까지 떨어진다. 가장 싼 지점은 16개 요청이다. 서비스 수준 목표인 SLO를 모두 지킬 수 있는 최대 지점과 같은 지점인 셈이다. 2개 요청은 이상 지점이다. 전체 출력은 1개 요청보다 늘었지만 요청당 지연이 100밀리초 기준을 112.7밀리초로 넘겨 토큰당 지연 SLO를 어긋난다. 한 번에 동시 요청을 넣고 처리하는 측정 방식의 흔적으로 보았다. 정책에서는 SLO 미달 지점으로 다루는 것이다.
GPU 1시간 전체를 합산한 단위 출력 비용은 동시 요청 수 C=16에서 최저점 2.661743달러/100만 토큰을 찍는다. C=2는 112.72밀리초로 토큰당 지연 SLO(100밀리초)를 넘은 유일한 지점이다. 2026년 9월 2일 GPU 팟 실측값입니다.
이 실측 값을 공개 가격표와 대면합니다. 느린 자사 층의 가장 싼 SLO 안전값, 100만 토큰당 2.7달러를 손익분기점으로 잡으면, 소형 모델 API 4종은 이 값의 4~20배 아래입니다. 프런티어급 1종은 약 2.3배 위입니다.
| 엔드포인트 | 등급 | 출력 가격 (달러/100만 토큰) |
|---|---|---|
| qwen/qwen3.7-flash | 소형 | 0.13 |
| mistralai/ministral-8b-2512 | 소형 | 0.15 |
| meta-llama/llama-3.2-1b-instruct | 소형 | 0.20 |
| openai/gpt-4o-mini | 소형 | 0.60 |
| x-ai/grok-4.6 | 프런티어급 | 6.00 |
표의 값은 2026년 9월 3일 OpenRouter 공개 가격표입니다. 가격만 보면, 소형 모델에서 상용 API가 자사 느린 층을 한 자리 단위로 쌉니다. 자사 비용은 목록 가격 기준으로 짚은 값이라, 실제 내부 비용보다 높습니다. 그래서 이 비교는 API 쪽으로 보수적인 셈입니다.
폴백 실패의 값은 따로 짚었습니다. 폴백 대기열이 켜져 있는 클러스터 비율을 r이라 하면, 균일 라우팅에서 폴백 실패 확률은 1 - r입니다. 정비 전에는 2개 클러스터 가운데 1개에서만 켜져 있어 50퍼센트였습니다. 정비는 Kueue의 클러스터 범위 설정을 고치는 일이었습니다. 정비 후에는 0퍼센트입니다.
폴백 실패 확률은 1 - r입니다. r은 폴백 대기열(LocalQueue)이 켜져 있는 클러스터의 비율입니다. 균일 라우팅에서 1 - r만큼의 요청이 폴백 길이 없는 클러스터로 떨어집니다. Kueue 클러스터 범위 설정 정비 전 r = 1/2로 50퍼센트, 정비 후 r = 1로 0퍼센트입니다. 분석 모델의 계산이며 실측 데이터가 아닙니다.
가장 나쁜 경우, 폴백 실패가 닿은 요청은 싼 길이 아예 사라진다. 그 요청의 가치 전체를 손해 보는 셈이다. 즉, 사람 말로는 요청의 반은 본점에 빈 자리가 있는데도 지점 줄에서 기다리거나 다른 곳에서 비싸게 사 먹었다. 그 차액이 폴백 세이다.

그래서 무엇을 바꾸면 되나
논문의 세 번째 기여는, 이 지도를 동작시키는 규칙이다. 빠른 층이 꽉 찼을 때, 폴백 정책은 갈래를 순서대로 고른다.
첫째, 빠른 층의 자리가 늦지 않게 풀린다면 줄에서 기다린다. 줄 서기는 무료이므로, 이게 제일 싼 길이다. 둘째, 어느 폴백 길로든 넘어가기 전에, 그 클러스터에 폴백 대기열이 켜져 있는지 확인한다. 꺼져 있으면 요청 사고가 아니라 설정 사고로 다룬다. 셋째, 같은 모델의 API가 실측 값보다 10퍼센트 이내로 싸다면, 또는 느린 층에 여유가 없다면 API로 넘긴다. 넷째, 나머지는 느린 층으로 보낸다. 데이터가 머물러야 하는 요청은, API가 아무리 싸도 느린 층이다. 다섯째, 어떤 길에도 못 들어가는 요청은 빠른 층 줄에서 기다리며 그 손해를 비용 장부에 적는다. 조용히 버리는 길은 없다.
이 정책의 임계값은 전부 오늘 짚은 숫자이다. 가장 싼 지점과 SLO 최대 지점이 16개 요청에서 겹친다. 단위 비용은 100만 토큰당 2.7달러이다. 그리고 폴백 실패를 0퍼센트가 되도록 만든 장부 확인이 요청마다 돌아간다.
회사에 남는 것은, 이 규칙을 플릿에 바로 켤 수 있다는 점이다. 저희 토큰 팩토리는 B200, H200, H100 세 층으로 이루어져 있다. 이번 사고가 벌어진 지점의 가격은 오늘 전부 짚혔다. 장부 공백은 정비로 메워졌다.
사회에 남는 것은, 값어치가 보인다는 점이다. 빠른 층 GPU는 이제 여러 회사가 함께 쓰는 기반 시설이 되어 간다. 언제 꽉 찰지가 문제인 시장이다. 작은 운용자는 이 지도의 방식으로 자기 플릿의 손익분기점을 계산할 수 있다. 그래서 폭주형 에이전트 워크로드는 막히거나 과다 청구되는 대신, 느리지만 싼 쪽으로 내려앉는다. 요청은 끝이 나고 비용은 한 요청마다 읽힌다.
과학에 남는 것은, 첫 실측 지도와 첫 사고 유형이다. 층을 넘나드는 폴백 결정을 실제 빠른 층 포화 상태에서 짚은 연구는 이번이 처음이다. 폴백 실패는 장부 공백이 만든 사고 유형으로, 정비 전후 50퍼센트에서 0퍼센트로 짚었다. 이전 연구가 각 층 안에서 어떤 설정이 싼지를 짚었다면, 이번 지도는 어떤 요청을 어느 층, 어느 클러스터로 보낼지를 짚는 바깥 루프이다. 둘을 합치면, 층 안과 층 사이를 합친 손익분기 문제가 닫힌다.

못 믿을 부분
실측은 한 장의 카드, 한 개의 모델에서 나온다. H100 NVL과 4B급 Qwen3-4B이다. H200, B200 층과 더 큰 모델은 자기만의 지도를 가진다. 모델이 커지면, 토큰을 하나씩 만들어 내는 단계가 메모리 병목이 되어 자사 층의 가격이 API 가격에 가까워진다. 어떤 크기에서는 손익분기점이 뒤집힌다. 자사 층이 더 싸지는 방향이다.
측정 방식도 한계를 가진다. 이번 측정은 동시 요청을 한 번에 넣고 처리하는 방식이다. 실제 서비스는 요청이 계속 들어오는 흐름에 맞춰 처리한다. 그래서 가장 싼 지점이 16개 요청인 결과에도, 더 큰 동시 요청에서 값이 더 내려갈 여지가 있다. 2개 요청의 이상도, 이 측정 방식의 흔적이 일부이다.
입력은 짧다. 출력은 64개 토큰으로 고정했다. 긴 입력이나 긴 글쓰기가 많은 워크로드는 이 값에서 벗어난다. API 가격은 2026년 9월 3일의 값이다. 추론 시장 가격은 계속 내려오고 있으므로 손익분기점은 움직이는 목표이다. 정책의 10퍼센트 마진은 이 움직임을 흡수하기 위해 두었다.
대기 갈래는 모델이다. 빠른 층이 물리적으로 꽉 차 있어서, 포화 상태의 대기 분포를 짤 수가 없었기 때문이다. 폴백 실패도 한 번의 실제 사고에 비율 계산이다. 균일 라우팅에서는 1 - r이 정확하지만 전체 플릿의 손해는 대규모 트레이스로 짚어야 하는 일이다.
이식되는 것은 형태이다. 폴백 실패는 설정 정비 하나로 반까지 사라질 수 있다. 세 갈래의 가격은 실측으로 짚을 수 있다.
논문 상세 페이지는 여기에서 볼 수 있습니다: The Fallback Tax: Measuring Queue-vs-Slow-Tier-vs-API-Offload Break-Even Points for LLM Serving When the Fast GPU Tier Saturates Across Clusters
본문에서는 260.898 같은 값을 1자리로 반올림했습니다. 세 갈래 가운데 느린 자사 층은 2026년 9월 2일 실제 하드웨어 실측입니다. 대기 갈래는 빠른 층이 물리적으로 꽉 찬 상태라서 비용 모델입니다. API 갈래는 2026년 9월 3일 공개 가격표 기준입니다.