정보기술 · 인공지능 ·
CPU부터 GPU까지—AI 워크로드에 최적화된 운영체제 스케줄링
[한국정보기술신문] 거대한 언어‧추천 모델이 일상 서비스를 바꾸면서, 데이터센터 한 칸에는 수천 장의 GPU가 돌고 가정용 휴대폰엔 NPU(신경망 처리장치)가 자리 잡았다. 하지만 이 하드웨어가 아무리 많아도 운영체제(OS) 스케줄러가 일을 공정하게 나누지 못하면 전력과 시간이 그대로 새나간다.
기존 스케줄러는 주로 CPU 코어만 고려해 태스크를 배분했다. 딥러닝 학습처럼 대량 행렬·메모리·네트워크가 동시에 몰리는 워크로드에는 설계 철학이 맞지 않는다. 결과적으로 GPU가 놀고 CPU는 과열되는 ‘역병목’ 현상이 빈번했다.
반도체 업계가 빅리틀 CPU, GPU, TPU, NPU를 한 보드에 올리기 시작하면서, 커널이 ‘어떤 작업이 어느 코어·가속기에 맞는지’ 즉시 판단해야 할 필요성이 커졌다. 이를 위해 리눅스·윈도우·안드로이드·iOS는 AI 특화 스케줄러 패치를 경쟁적으로 도입하고 있다.
AI 스케줄링은 두 층으로 나뉜다. 첫째, 단일 서버 내부에서 코어·메모리·GPU 슬라이스를 분배하는 ‘커널 스케줄러’. 둘째, 수백~수천 대 노드를 묶어 잡(Job)을 배치하는 ‘클러스터 스케줄러’다. 두 기제가 톱니처럼 맞물려야 전체 효율이 오른다.
하드웨어 공급자도 OS 진화를 요구한다. 엔비디아·AMD·인텔은 GPU 가상화·전력 측정값을 커널에 실시간 전달하는 API를 공개했고, ARM·퀄컴은 모바일 빅리틀 코어용 ‘에너지 인지 스케줄링’을 표준으로 끌어올렸다.
CPU 코어에서 시작된 진화—커널 스케줄러 혁신
리눅스 6.6(2023년 10월)에는 EEVDF(Extended Early Virtual Deadline First)라는 새 알고리즘이 도입됐다. 전통 CFS가 스레드 ‘가상 런타임’만 보던 방식에서 한 발 더 나아가, 태스크마다 ‘기한’과 ‘빚(lag)’을 따져 CPU 시간을 공정하게 나눈다.
예컨대 파이토치 학습 루프가 수백 개 스레드를 쏟아 내면, 이전 커널은 일부 스레드에 CPU를 몰아줘 다른 레이어가 굶었다. EEVDF는 ‘빚’이 많은 스레드를 우선 배치해 AI 레이어마다 균형을 맞춘다.
인텔 ‘Alder Lake’부터 고성능 P코어와 고효율 E코어가 섞였고, 칩에 내장된 ‘Thread Director’가 각 스레드 특성을 OS에 실시간 전달한다. 윈도우11·리눅스 메인라인은 이 힌트를 반영해 AI 추론 스레드는 P코어로, 백그라운드 작업은 E코어로 보내 발열을 줄인다.
안드로이드는 2017년 big.LITTLE 설계에 ‘EAS(Energy Aware Scheduling)’ 패치를 얹어 음성비서·카메라 AI를 큰 코어로, SNS 알림은 작은 코어로 분산한다.
연구자들은 CPU 커널이 GPU·NPU 큐 상태까지 읽어, CPU 연산을 지연시키거나 앞당기는 ‘헤테로 인지 스케줄러’ 개념을 실험 중이다. 단, NUMA 대역폭·캐시 지역성 변수까지 얽혀 아직 표준은 나오지 않았다.
실시간(RT) 워크로드도 함께 고려해야 한다. 엔비디아 드라이버는 CUDA 스트림 생성 때 ‘RT prio’ 힌트를 커널에 전달하고, 커널은 해당 스레드를 CFS → EEVDF → RT 큐로 재배치한다는 방안을 논의 중이다.
GPU·가속기 인식 스케줄링—MIG·MPS 시대
대규모 모델 학습은 결국 GPU나 NPU가 시작과 끝을 장식한다. 그러나 GPU도 멀티프로세스에 최적화되지 않았다는 태생적 한계를 안고 있다.
엔비디아는 A100부터 GPU 하드웨어를 7개 인스턴스로 자르는 MIG(Multi-Instance GPU)를 도입했다. 클라우드 사업자는 MIG UUID를 쿠버네티스에 노출해 파드(Pod) 단위로 ‘가상의 작은 GPU’를 할당한다.
여기에 MPS(Multi-Process Service)를 켜면 하나의 MIG 슬라이스 안에서도 여러 AI 프로세스가 컨텍스트 스위칭 오버헤드 없이 자원을 공유한다. 하이퍼파라미터 탐색을 20 % 빠르게 끝냈다는 공개 벤치마크도 있다.
AMD는 ‘GPU Context Priority’ API, 인텔은 ‘Xe Multi-Tile Scheduler’를 내놓아 비슷한 기능을 제공한다. 커널 DRM/DRI 계층은 각 드라이버가 준 슬라이스·큐 정보를 받아 GPU 리스케줄링에 활용한다.
NUMA 문제도 중요하다. GPU가 멀리 떨어진 CPU 소켓 메모리를 쓰면 지연이 급증한다. 리눅스는 2024년 ‘NUMA Balancing for AI’를 추가해, 핫한 텐서를 GPU와 같은 NUMA 노드로 이동시키는 기능을 베타 적용했다.
또 GPUDirect RDMA가 확산되면서 네트워크 스택까지 스케줄링 범위에 들었다. 커널 네트워크 스케줄러는 RDMA 큐 길이를 보고 GPU → NIC 데이터 전송 우선순위를 조정한다.
클러스터 스케줄러—Borg·Volcano·Slurm 그 너머
단일 노드를 넘어가면 쿠버네티스·Slurm 같은 클러스터 스케줄러가 업무를 이어받는다. AI 잡은 노드별 GPU, CPU, 메모리, 네트워크를 동시에 요구하기 때문에 ‘멀티 리소스 인식’이 필수다.
구글 논문 ‘Gavel’(OSDI 2020)은 AI 작업마다 GPU 효율 프로파일을 측정해, 최적 노드에 배치해 학습 속도를 최대 2.2배 올렸다고 보고했다. 엘라스틱 구성이라 대화형 튜닝에도 유리하다.
Slurm은 2023년부터 MIG와 NUMA 토폴로지를 인식해 ‘GPU 파티셔닝’과 ‘바인딩’을 동시에 처리한다. 활용 사례는 CERN HPC와 Facebook AI Research가 대표적이다.
쿠버네티스에서는 Kubeflow + Volcano 조합이 인기다. Volcano는 ‘Gang Scheduling’으로 수백 파드가 한꺼번에 GPU를 예약하지 못하면 잡 전체를 대기시켜 교착을 막는다.
메타의 ‘FBLearner Flow’는 전력·발열·SM Util 메트릭을 실시간 수집해 가중치를 부여한다. 파드가 과열 노드에 2개 이상 몰리지 않도록 온도 데이터까지 스케줄링 인자로 쓰는 것이 특징이다.
GPT-4급 거대 모델은 노드 수십 대를 한 잡에 묶는 파이프라인·텐서 병렬이 필요해 ‘Gang + Topology Aware’ 스케줄링이 부활했다. 구글 TPU Pod, 엔비디아 NVSwitch 클러스터가 이미 도입했다.
모바일·엣지—배터리를 살리는 AI 스케줄링
스마트폰, 스마트카, IoT 디바이스는 ‘저전력’이 성능 지표다. 안드로이드는 코어 성능·전력·온도를 통합 관리하는 ‘TxL(Thermal eXtended Logic)’을 적용해 AI 추론을 적절한 IP에 실시간 배치한다.
구글 픽셀 6 Tensor SoC 내부 ‘Scheduler Assist Block’은 카메라 HDR 합성·번역 AI 호출을 감지해 NPU에 선점권을 준다. 덕분에 사진 처리가 15 % 빨라지고 프레임 드롭이 줄었다는 테스트 결과가 있다.
애플 M 시리즈 칩은 통합 메모리에 CPU·GPU·Neural Engine이 얹혀 있어, OS가 코어 간 데이터 복사 없이 API 호출만으로 연산을 옮긴다. 애플은 동일 전력 대비 GPU 추론 성능을 인텔 맥 대비 15배로 끌어올렸다고 밝혔다.
자동차용 QNX Hypervisor for Safety(2024)는 자율주행 스택을 별도 VM에 격리하고, 실시간 스케줄러가 Lidar·Radar 센서 Fusion 쓰레드 우선순위를 고정한다.
IoT 게이트웨이용 RTOS는 ‘TinyML Scheduler’를 내장해 인터럽트가 몰려도 8비트 양자화 모델의 응답을 유지한다. 현장 테스트에서 배터리 수명이 20 % 늘었다는 보고가 나왔다.
공통 과제는 발열 → 스로틀링 → 추론 지연 악순환이다. 스케줄러는 열센서 데이터를 읽어 빅코어 → 리틀코어 → NPU로 자동 디그레이드하고, 필요 시 클라우드 오프로딩까지 고려해야 한다.
툴킷 & 실전 사례—MPS·Kubeflow · 모델 특화 커널
NVIDIA MPS는 여러 딥러닝 프로세스가 같은 GPU를 나눠 쓸 때 컨텍스트 스위칭을 없앤다. 하이퍼파라미터 탐색·A/B 실험에서 GPU 활용률이 최대 40 % 올라갔다는 클라우드 벤치마크가 있다.
Kubeflow + Kubernetes는 파이프라인을 YAML로 정의하고, Volcano·Kueue 스케줄러가 MIG·GPU 슬라이스를 감지해 ‘Gang’으로 묶인다. 구글 내부 보고에 따르면 똑같은 GPU 자원으로 실험 건수를 1.6배 늘렸다.
DLRM·BERT 모델 특화 커널은 NUMA 패치와 통신 집계를 최적화해 학습 속도를 3배 높였다. 인텔·메타 공동 논문은 “커널 힌트 덕분에 클러스터 스케줄러가 노드를 맞춤 패킹할 수 있었다”고 평가한다.
AI 전용 커널 설정도 확산 중이다. 리눅스는 CONFIG_PREEMPT_RT, NUMA_BALANCING, EEVDF 파라미터 조합으로 ‘AI 프리셋’을 만들고, 스크립트 한 줄로 커널 모드를 교체한다. 실험 결과 추론 레이턴시가 12 % 짧아졌다.
MIG + MPS 동시 활용 모델이 인기다. 클라우드 사업자는 하나의 A100을 7개 MIG 슬라이스로 잘라 고객에게 할당하고, 각 슬라이스 안에서 다시 MPS로 프로세스를 병렬 실행한다. GPU 한 장을 수백 개 경량 추론 서비스가 공유하는 셈이다.
이러한 툴킷은 성능을 끌어올렸지만, 계층 간 메트릭 공유 표준이 없어 ‘정책 충돌’ 문제가 남았다. 업계는 GPU-SM Util, 전력, 메모리 프린지 등 공통 텔레메트리를 정의하는 API 초안을 2025년 내 놓겠다고 예고했다.
남은 숙제와 미래 로드맵
첫째, 다층 스케줄러 협업이다. 커널·런타임·클러스터가 로컬 최적화를 하면 전체 시스템이 충돌할 수 있다. 공통 메트릭과 피드백 루프가 필수다.
둘째, 에너지·탄소 지표 통합이다. AI 학습 한 번에 자동차 수백 대 분 탄소가 나온다는 비판이 커지면서, 스케줄러가 ‘전력 당 FLOPS’를 최적화하도록 설계해야 한다.
셋째, 보안이다. 멀티테넌트 GPU 환경에서 사이드채널 공격을 막으려면, 스케줄러가 물리 인스턴스 격리와 메모리 제로화를 강제할 필요가 있다.
넷째, 해석 가능성이다. 개발·운영자는 ‘왜 이 코어·GPU가 배정됐는지’ 이해해야 추가 튜닝을 이어갈 수 있다. 스케줄러가 정책·결정 로그를 구조화해 제공하는 기능이 요구된다.
마지막으로 오픈소스 생태계가 성장의 열쇠다. 리눅스 커널, 쿠버네티스, Slurm, CUDA가 발전 내용을 빠르게 공개해야 스타트업·학계도 동반 성장한다. 업계는 2026~27년 AI 특화 스케줄러 표준화를 목표로 공동 워크숍을 추진 중이다.
결론적으로, AI 스케줄링은 더 이상 커널 뒷단 기술이 아니다. 비용·속도·탄소배출을 좌우하는 ‘프런트’ 기술로 자리잡았다. 이 분야를 선점하는 기업이 미래 AI 인프라의 ‘타임 슬라이스’를 통째로 거머쥐게 될 것이다.
한국정보기술신문 인공지능분과 이지원 기자 news@kitpa.org