동적 시간 할당 라운드 로빈으로 대기시간 최소화
초록
본 논문은 작업의 남은 CPU 버스트에 따라 매 라운드마다 시간 할당량(TQ)을 동적으로 조정하는 CTQ(Changeable Time Quantum) 기법을 제안한다. 실험 결과, 고정 TQ 라운드 로빈에 비해 평균 대기시간·턴어라운드 시간·컨텍스트 스위치 수가 현저히 감소한다는 것을 확인하였다.
상세 분석
CTQ는 기존 라운드 로빈(RR)의 가장 큰 약점인 고정 시간 할당량(TQ) 선택 문제를 해결하고자 고안되었다. 논문은 먼저 작업들의 전체 버스트 시간(BT)을 파악한 뒤, 각 라운드에서 살아남은 작업들의 잔여 버스트(residual time)를 기반으로 최적의 TQ를 계산한다. 이를 위해 제시된 식(1)은 현재 라운드의 TQ가 작업 i의 버스트와 비교했을 때, 작업이 완전히 실행되는 경우와 부분 실행되는 경우를 구분한다. 식(2)는 모든 작업에 대해 현재 TQ가 남은 버스트보다 큰지 작은지를 판단하여, 컨텍스트 스위치 수와 대기시간을 최소화하는 TQ 후보 집합을 도출한다. 마지막으로 식(3)은 구해진 TQ를 이용해 각 작업의 대기시간을 합산하고 평균값을 산출한다.
알고리즘 흐름은 매우 직관적이다. ① 작업들을 FIFO 순서대로 큐에 넣고, ② 현재 라운드의 TQ를 적용해 한 번씩 실행한다(고정 RR와 동일한 초기 단계). ③ 라운드 종료 후 남은 작업들의 잔여 버스트를 계산하고, ④ 식(1)·(2)를 사용해 다음 라운드에 사용할 TQ를 선택한다. 이 과정을 작업이 모두 종료될 때까지 반복한다.
핵심 장점은 두 가지이다. 첫째, 짧은 작업은 초기 라운드에서 빠르게 완료되어 전체 대기시간이 크게 감소한다. 둘째, TQ가 작업의 실제 남은 버스트에 맞춰 조정되기 때문에 불필요한 컨텍스트 스위치를 최소화한다. 실험에서는 5개의 작업(버스트 20,20,5,3,1) 예시에서 고정 TQ=1일 때 평균 대기시간 17에 비해 CTQ 적용 시 14.2로 약 16% 개선되었으며, 컨텍스트 스위치 수도 44에서 9로 80% 이상 감소했다.
시뮬레이션에서는 30가지 서로 다른 (n, BT) 조합에 대해 고정 RR, Burst RR(BRR)와 비교했으며, 모든 경우에서 CTQ가 평균 대기시간, 평균 턴어라운드 시간, 컨텍스트 스위치 수 모두 최저값을 기록했다. 특히 버스트 범위가 1500 tu인 경우와 1100 tu인 경우 모두 그래프가 일관되게 CTQ 우위를 보여준다.
하지만 몇 가지 한계도 존재한다. 첫째, 알고리즘은 모든 작업의 전체 버스트를 사전에 알 수 있다는 전제에 의존한다. 실시간 시스템이나 입출력·I/O 대기 등으로 버스트가 동적으로 변하는 환경에서는 적용이 어려울 수 있다. 둘째, 매 라운드마다 TQ를 재계산하는 과정이 O(n) 복잡도를 갖는데, 작업 수가 매우 많아질 경우 계산 오버헤드가 무시할 수 없게 된다. 셋째, 논문은 컨텍스트 스위치 비용을 일정하게 가정했지만, 실제 시스템에서는 스위치 비용이 작업 종류에 따라 달라질 수 있다. 이러한 점들을 보완하기 위해서는 동적 버스트 추정 기법과 비용 가중치를 포함한 확장 모델이 필요하다.
전반적으로 CTQ는 라운드 로빈 스케줄링에 대한 실용적인 개선안을 제시하며, 특히 배치 처리나 고정된 작업 집합을 다루는 환경에서 큰 효과를 기대할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기