머신러닝 기반 리눅스 스케줄러 정책 자동 선택 시스템

1. 초록

본 연구는 최적의 스케줄링 정책을 자동으로 선택하고 적용하는 AI 기반 리눅스 스케줄링 관리 시스템을 제안한다. 기존 운영체제는 단일 스케줄링 정책을 고정적으로 사용하여 다양한 실행 시점의 워크로드 특성 변화에 최적의 스케줄링을 선택하여 대응하지 못하는 한계가 있다.

그래서 본 시스템은 SJF(Shortest Job First), RR(Round Robin), MLFQ(Multi-Level Feedback Queue) 스케줄링 알고리즘을 구현하고, 머신러닝 모델을 활용하여 실행 시점의 워크로드 특성에 가장 적합한 정책을 예측한다. 커널 수정 없이 Ubuntu 환경에서 nice 값 조정과 스케줄링 클래스 변경을 통해 정책을 적용하며, 커널 파라미터 튜닝을 통하여 성능을 최적화한다.

Ubuntu 22.04.5 LTS 환경에서 수행한 실험 결과, 스케줄링 정책 선택이 시스템 성능에 영향을 미치는 것으로 나타났다.

그러므로 본 연구는 동적 스케줄러 정책 선택의 가능성을 입증하려한다.

주제어: 운영체제, 프로세스 스케줄링, 머신러닝, 리눅스 커널, 성능 최적화

1. 서론

1.1 연구 배경

프로세스 스케줄링은 운영체제의 핵심적인 기능중 하나로, 제한된 CPU 자원을 여러 프로세스에 효율적으로 배분하는 역할을 담당한다. 전통적으로 운영체제는 단일 스케줄링 알고리즘을 사용하였다. 예를 들어, Linux는 2007년부터 CFS(Completely Fair Schedular)을 기본 스케줄러로 채택하여 공정성을 중시하는 정책을 유지하고 있다.

하지만 현대의 컴퓨터 환경에서 실행되는 워크로드는 매우 다양한 특성을 가지게 되었다. CPU를 집약적으로 사용하는 과학 계산, I/O 집약적인 데이터베이스 처리, 응답성이 중요한 대화형 작업이나 배치 처리 작업 등이 예 이다. 이처럼 다양한 워크로드에 대해 단일 스케줄링 정책을 사용하는것은 어쩔수 없는 성능 저하가 일어난다.

스케줄링 이론에서는 워크로드 특성에 따라 최적의 알고리즘이 다르다는 것이 알려져 있다.

SJF는 중요한 작업에 큰 우선순위를 부여하거나 짧은 작업이 많을 때 평균 대기 시간을 최소화하고,

RR은 응답이 빠른 대화형 작업에 유용하며, MLFQ는 다양한 워크로드의 특성에 따라 적응적으로 작동한다. 그러나 이러한 알고리즘들은 대부분 교과서적 개념으로만 존재하며, 실제 운영체제에서는 제한적으로만 구현되어 있다.

1.2 연구의 필요성