논문 번역 - STUN: 커널 스케줄러 매개변수의 강화 학습 기반 최적화 2

이전 기사에서 계속: 논문 번역 및 읽기 - STUN: Reinforcement-Learning-Based Optimization of KernelScheduler Parameters (1)

2. 관련업무

2.1 운영 체제 스케줄러

현재 CFS(Completely Fair Scheduler)와 같은 기본 Linux 스케줄러는 가상 런타임 개념을 사용하여 모든 작업이 동일한 CPU 시간을 사용하도록 이상적이고 정확하게 멀티태스킹 CPU를 대상으로 합니다. 반대로 FreeBSD 운영 체제의 기본 스케줄러인 ULE 스케줄러는 둘 이상의 프로세서가 공유 메모리를 사용하고 여러 개의 독립적인 실행 스레드를 허용하는 SMP(대칭적 다중 처리) 환경용으로 설계되었습니다. SMT(simultaneous multithreading) 환경에서 성능을 향상시키도록 설계되었습니다. 이를 위해 ULE는 각 태스크의 인터랙티브 능력, 우선순위, 슬라이스 크기를 독립적으로 조정해 인터랙티브 스케줄링에서 높은 성능을 보였다. Bouron은 FreeBSD ULE 스케줄러를 Linux로 포팅하고 성능을 CFS와 비교했습니다. 결과는 두 스케줄러가 대부분의 워크로드에서 유사한 성능을 나타내지만 ULE는 상호 작용하는 작업이 많은 워크로드에서 더 나은 성능을 나타냄을 확인합니다.

Kolivas에 따르면 특정 상황에서 성능을 개선하는 데 사용되는 휴리스틱 및 조정 가능한 매개변수는 성능을 저하시킬 수 있습니다. 이 스케줄링 오버헤드를 줄이기 위해 간단한 스케줄링 알고리즘인 BFS(Brain Fuck Scheduler)를 구현하여 복잡한 우선순위에 대한 모든 계산을 제거했습니다. BFS는 CPU 코어가 16개 미만인 데스크톱 Linux에서 응답성을 개선하고 PCLinuxOS 2010, Zenwalk 6.4 및 GalliumOS 2.1을 비롯한 일부 Linux 배포판에서 기본 스케줄러로 사용됩니다.

2.2 머신러닝을 이용한 매개변수 최적화

Lama는 서비스 품질 향상과 비용 절감을 위해 빅데이터 분석 플랫폼인 Hadoop 매개 변수를 자동으로 구성하는 시스템인 AROMA를 제안하고 개발했습니다. AROMA는 기계 학습 모델의 일종인 SVM(Support Vector Machine)을 사용하여 파라미터를 최적화하여 비효율적인 파라미터 튜닝 없이 클라우드 서비스를 효율적으로 사용할 수 있습니다. Wang은 머신 러닝을 기반으로 Apache Spark의 매개변수를 자동으로 최적화하여 성능을 개선했습니다. Spark 내부에는 180개 이상의 매개변수가 있으며 그 중 성능에 큰 영향을 미치는 14개 매개변수는 의사 결정 트리 모델 알고리즘을 사용하여 최적화됩니다. 성능 평가 결과 초기 설정에 대한 평균 성능 향상은 36%였습니다.

또한 안드로이드 스케줄러의 성능을 향상시키기 위한 연구가 진행되었다. 참조 [10]에서는 Learning EAS - Android 스마트폰 스케줄러 EAS를 위한 정책 그래디언트 강화 학습 방법을 제안합니다. 학습 EAS는 실행 중인 작업의 특성에 적용되며 스케줄러 성능을 향상시키기 위해 TARGET_LOAD 및 sched_migration_cost를 조정합니다. LG G8 ThinQ에서 평가한 결과, Learning EAS는 기본 EAS 대비 최대 5.7% 전력 소모를 줄이고 Hackbench 성능을 최대 25.5% 향상시킬 수 있는 것으로 나타났습니다. 본 논문은 강화학습을 기반으로 리눅스 커널 스케줄러의 내부 매개변수를 최적화하는 새로운 방법을 제안한다는 점에서 기존 연구들과 차이가 있다. 딥러닝보다 가볍고 메모리 소모가 적은 Q-러닝 알고리즘을 사용합니다.

추천

출처blog.csdn.net/phmatthaus/article/details/131403473