Linux 커널에는 일반 설정과 달리 반복 횟수, 배치 크기, 재시도 수, 요청 병합 시간, 타이밍 임계값을 정하는 상수가 있습니다. 컴파일러는 한 값을 분기, 산술식, 표, 생성 명령에 전파할 수 있으며, 이 특수화는 효율적이지만 작업 가정을 배포된 모든 호스트에 고정합니다.
Xkernel은 이를 성능 상수(perf-const)라고 부릅니다. 여러 값이 의미적 정확성을 유지하면서 지연, 처리량, CPU 사용, 자원 압력의 절충점을 옮깁니다. 정적 기본값은 여러 작업 사이에서 타협하지만, 클라우드 운영자는 실행 작업을 관찰해 재빌드나 재부팅 없이 다른 지점을 선택하고 싶을 수 있습니다.
상수를 쓰기 가능한 변수로 바꾸는 것만으로는 부족합니다. 컴파일러가 읽기를 없애고 비교를 접으며 반복문을 펼치거나, 값에 따라 오래 남는 상태를 초기화했을 수 있습니다. 일반 라이브 패치는 바이너리 구간을 바꿀 수 있지만 정책 결정마다 새 패치를 생성·적용하기에는 느리고 무겁습니다. Xkernel은 컴파일 코드를 유지하면서 영향을 받는 범위만 실행 시점 선택으로 노출합니다.
상수가 남기는 상태
입출력 병합 한계를 예로 들면 리터럴 값이 분기 명령에만 있지 않고 인접 상태의 크기와 의미도 정할 수 있습니다. 기존 계수기가 살아 있는 동안 분기 피연산자만 바꾸면 정상 커널 실행으로 도달할 수 없는 전환 상태가 생깁니다. 안전한 조절에는 명령과 상태를 함께 설명해야 합니다.
Xkernel은 선택한 성능 상수의 사용처를 오프라인에서 분석합니다. 값이 동작을 바꾸는 핵심 범위를 찾고 후보 값에 필요한 상태를 설명하는 기호 상태식을 만듭니다. 분석 결과는 이후 값과 정책에서 재사용하므로 무거운 작업은 배포 전에 한 번 지불합니다.
모든 상수를 바꿀 수 있다고 주장하지 않고 지원 가능한 제한 범위를 택합니다. 포인터가 복잡한 흐름, Kprobe가 지원하지 않는 위치, 어셈블리, 분석 모델 밖 효과는 후보에서 탈락할 수 있습니다. 도구가 전환을 설명한 뒤에만 제어점을 노출한다는 점이 중요한 운영 경계입니다.

특수화를 보존하는 범위 제한 간접 실행
범위 제한 간접 실행(Scoped Indirect Execution, SIE)이 실행 메커니즘입니다. Kprobe나 커널 함수 후크가 영향 지점을 가로채고 현재 정책 값을 평가해 대응 상태를 복원한 뒤 준비한 범위로 실행을 보냅니다. 관계없는 커널 코드는 변하지 않고 최적화 상태를 유지합니다.
모든 사용처에 전역 간접 분기를 추가하는 방식과 다릅니다. 분석이 위치와 상태 전달을 함께 고릅니다. 값은 전역, 코어별, 태스크별, 작업 문맥별로 정할 수 있어 호스트 전체에 sysctl 하나를 쓰는 것보다 세밀한 정책이 가능합니다.
구현은 커널 C 약 1,700줄과 더 큰 Python 분석 스택으로 구성됩니다. 안정된 Linux 추적 메커니즘을 사용하되 비싼 중단점과 단일 단계 경로를 줄입니다. 제어 서비스는 밀리초 단위로 값을 바꿀 수 있어 작업 단계에는 충분히 빠르지만 패킷이나 명령마다 바꾸는 용도는 아닙니다.
실행 안전에는 동기화도 포함됩니다. 동시 스레드가 기존 상태, 새 정책, 일부만 적용한 코드를 섞어 보면 안 됩니다. Xkernel은 핵심 범위를 정하고 가능한 곳에서 기존 커널 동기화 문맥을 사용합니다. 의미적으로 허용된 값도 성능에는 재앙일 수 있으므로 운영자는 변경 속도 제한과 복구 정책을 둬야 합니다.
실제 절충면을 드러내는 사례 연구
평가는 CPU 인터럽트 처리, 저장, 메모리 이동, 네트워킹을 다룹니다. 한 상수는 커널이 양보하기 전에 처리할 softirq 작업 수를 정합니다. 값을 높이면 인터럽트 작업을 묶어 처리량을 높이지만 지연 민감 태스크가 더 오래 기다릴 수 있습니다. Xkernel은 함께 배치한 작업에 대해 이 곡선을 측정하고 선택하게 합니다.
저장 사례는 배치나 병합 임계값을 바꿉니다. 특정 장치와 요청 형상에서는 기본값이 불필요한 디스크 작업을 만들고 더 작은 값이 지연을 줄입니다. 메모리 사례는 TLB 무효화 전 이동할 페이지 수를 바꿔 동기화 횟수와 느린 배치 노출 시간을 절충합니다.
네트워크 사례는 왕복 시간이 다른 흐름에 TCP 동작을 조정합니다. 한 조건에서 P99.99 흐름 완료 지연이 81% 줄었습니다. RocksDB 처리량은 1.2배, 격리 마이크로벤치마크는 최대 50배에 이릅니다. 커널 전체가 보편적으로 빨라졌다는 뜻이 아니라 선택한 작업에서 고정 기본값이 적정점과 얼마나 멀 수 있는지를 보여 줍니다.
비교는 같은 서비스 목표에서 해야 합니다. 처리량을 높이면서 함께 배치한 태스크의 P99 지연을 늘리면 이득이 아닙니다. Xkernel은 제어점을 제공하고 상위 정책이 누구의 지연, CPU, 공정성, 전력 한계를 우선할지 정해야 합니다.
호출 지점에 집중된 메커니즘 비용
SIE 호출은 기반 탐침과 상태 작업을 합쳐 수백 사이클이 걸립니다. 유효 작업이 매우 짧으면 이 고정비가 보입니다. 평가에서 작업당 계산이 아주 작을 때 약 15% 느려졌고, 작업이 커지면 5%와 2%로 떨어지며 약 20마이크로초에서는 1% 아래가 됩니다.
여러 탐침 비용도 누적됩니다. Redis 시험에서 활성 SIE 탐침 32개는 처리량을 최대 4% 낮췄습니다. 128개도 제한 범위 안이지만 공짜가 아니므로 모든 리터럴을 제어점으로 바꾸기보다 필요한 것만 활성화해야 합니다.
오프라인 분석 비용은 상수 수에 대체로 선형이며 커널 빌드마다 한 번 지불합니다. 각 장비의 매 전환 비용을 검증된 산출물 파이프라인으로 이동한 셈입니다. 분석 결과가 다른 바이너리에 조용히 적용되지 않도록 빌드 식별자를 제어 평면에 포함해야 합니다.
정책 선택과 분리된 조절 메커니즘
Xkernel은 메커니즘과 측정 후크를 제공하지만 완전한 자동 튜너는 아닙니다. 생산 제어기는 작업 근거가 얼마나 쌓이면 값을 바꿀지, 결과를 얼마나 관찰할지, 어떤 임계값에서 되돌릴지 정해야 합니다. 빠른 전환만 강조하면 두 설정 사이를 진동할 수 있습니다.
정책에는 히스테리시스, 최소 유지 시간, 안전 기본값이 필요합니다. 변경 기록은 커널 빌드, 상수 식별자, 전후 값, 범위, 호출 횟수, SLO 측정, 복구 결과를 포함해야 합니다. 분석은 지원 전환을 보장할 뿐 모델 밖 작업 상호작용까지 없애지 않으므로 카나리 그룹이 적합합니다.
보안 경계도 중요합니다. 메모리 안전을 지켜도 배치나 재시도 임계값을 악용하면 서비스 거부가 가능합니다. 인터페이스에 권한 분리와 분석 시 검증한 값 목록을 둬야 합니다. 테넌트 입력은 제한된 지표로 정책에 영향을 줄 수 있지만 커널 상수를 직접 선택해서는 안 됩니다.
배포 계약이 된 커널 특수화
기존 커널 설정은 컴파일 시점 특수화와 실행 시점 유연성 사이에 선을 긋습니다. Xkernel은 선택한 상수에 의존 분석, 상태 전환, 계측, 제어 메타데이터를 묶어 그 선을 옮깁니다. 선택 범위 밖의 빠른 코드는 보존하면서 재빌드나 새 라이브 패치보다 훨씬 빠르게 값을 바꿉니다.
반복되는 작업 부류가 단계, 테넌트, 하드웨어에 따라 다른 적정점을 갖는 안정된 장치군에서 가장 강합니다. 작업 하나만 수행하는 장치는 오프라인 튜닝 상수를 선호할 수 있고, 상위 커널이 빠르게 바뀌는 환경은 분석과 검증 비용이 클 수 있습니다.
컴파일러는 성능을 위해 설정 결정을 자주 지웁니다. 운영자가 그 결정을 나중에 바꿔야 한다면 항상 변수가 정답은 아닙니다. 코드와 상태를 함께 넘기는 검증된 전환을 영향 범위에 한정하는 것이 더 적절한 추상화가 될 수 있습니다.
제어 산출물을 따라가는 검증
변환한 성능 상수마다 지원 커널 빌드 해시, 허용 값, 영향 범위, 동기화 가정, 예상 호출 빈도, 작업과 무관한 안전 시험을 기계 판독 근거로 함께 배포해야 합니다. 지속 통합은 모든 후보 값을 스트레스 조건에서 부팅하고, 성능 검증은 실제 서비스에 사용할 작은 값 집합만 시험할 수 있습니다. 의미적으로 허용되는 값과 정책이 선호하는 값을 분리하는 절차입니다.
장치군 배포는 각 절충의 양쪽을 측정해야 합니다. 저장 임계값이 중앙 지연을 낮추면서 복구 대역폭을 해칠 수 있고, 네트워크 임계값이 긴 흐름의 꼬리를 줄이면서 짧은 흐름 CPU를 늘릴 수 있습니다. 텔레메트리가 없거나 바이너리 식별자가 다르고 실제 호출 빈도가 분석 범위를 넘으면 제어기는 값을 바꾸지 않아야 합니다. 빠른 작동의 가장 큰 가치는 계속 움직이는 일이 아니라 안전하게 돌아오는 데 있습니다.
출처와 저작권 안내
이 글은 Silicon & Systems의 편집 분석입니다. 설계, 사례 연구, 측정값, 한계를 자체 문장으로 재구성했습니다. 원문의 문장, 표, 도판을 복제하지 않았으며 본문 도판은 이 글을 위해 새로 만들었습니다. 논문은 USENIX OSDI 2026 발표 페이지에서 확인할 수 있습니다. 저작권은 저자에게 있으며 연도는 2026년입니다.