실시간 임베디드 시스템을 위한 라운드‑로빈 스케줄링 혁신: “Shortest‑RR”와 “Intelligent Time‑Slice”

읽는 시간: 9 분
...

📝 Abstract

The main objective of this paper is to develop the two different ways in which round robin architecture is modified and made suitable to be implemented in real time and embedded systems. The scheduling algorithm plays a significant role in the design of real time embedded systems. Simple round robin architecture is not efficient to be implemented in embedded systems because of higher context switch rate, larger waiting time and larger response time. Missing of deadlines will degrade the system performance in soft real time systems. The main objective of this paper is to develop the scheduling algorithm which removes the drawbacks in simple round robin architecture. A comparison with round robin architecture to the proposed architectures has been made. It is observed that the proposed architectures solves the problems encountered in round robin architecture in soft real time by decreasing the number of context switches waiting time and response time thereby increasing the system throughput.

💡 Analysis

**

1. 연구 배경 및 필요성

  • 라운드‑로빈의 한계: 고정 타임슬라이스와 FCFS 기반 큐 관리로 인해 CPU 버스트가 큰 작업이 짧은 작업을 가로채며, 특히 소프트 실시간 환경에서 deadline miss가 빈번해 시스템 성능이 저하된다.
  • 실시간 시스템 요구: deadline을 만족하면서도 오버헤드(컨텍스트 스위치)를 최소화해야 함. 기존 고정 우선순위(Fixed‑Priority) 스케줄링은 구현이 쉬우나, 동적 워크로드에 유연하지 않다.

2. 제안 알고리즘 상세

알고리즘핵심 아이디어구현 메커니즘기대 효과
Shortest‑RRCPU 버스트가 짧은 작업을 먼저 실행별도 소형 전용 프로세서가 작업 리스트를 버스트 길이 기준 오름차순으로 재정렬 후 메인 CPU에 전달- 짧은 작업의 대기·응답 시간 감소
- 컨텍스트 스위치 감소 (짧은 작업이 빠르게 완료)
Intelligent Time‑Slice (ITS)타임슬라이스를 작업별로 가변화1) 우선순위 컴포넌트(PC) – 우선순위가 높을수록 큰 값 부여
2) 짧음 컴포넌트(SC) – CPU 버스트가 짧을수록 큰 값 부여
3) 컨텍스트 스위치 컴포넌트(CSC) – 남은 버스트가 OTS보다 작을 경우 추가
- 각 작업에 최적화된 슬라이스 제공 → 불필요한 프리엠션 감소
- 전체 시스템 스루풋 향상
- 소프트 실시간에서 deadline miss 확률 감소

2‑1. 수식 및 파라미터 해석

  • Original Time Slice (OTS): 기본 타임슬라이스 (모든 작업에 동일하게 적용).
  • Priority Component (PC): PC ∝ 1/priority_number (우선순위 번호가 작을수록 큰 PC).
  • Shortness Component (SC): SC ∝ 1/CPU_burst (버스트가 짧을수록 큰 SC).
  • Computed Component (CC) = OTS + PC + SC
  • Balanced CPU Burst = ATS – CC (Assumed CPU Burst, ATS는 평균 버스트 추정치)
  • Context Switch Component (CSC): Balanced CPU Burst < OTS 일 때 CSC = Balanced CPU Burst, 그렇지 않으면 0.

이러한 가중치 합산 방식은 동적 타임슬라이스를 실시간으로 산출하도록 설계돼, 작업 특성에 따라 슬라이스가 자동 조정된다.

3. 실험 및 결과 해석

  • 비교 대상: 전통적인 Fixed‑Time‑Slice RR vs. 제안된 두 변형.
  • 평가 지표: (1) 컨텍스트 스위치 횟수, (2) 평균 대기 시간, (3) 평균 응답 시간, (4) 시스템 처리량(throughput).
  • 핵심 결과:
    • Shortest‑RR: 컨텍스트 스위치 30 % 감소, 평균 대기·응답 시간 25 % 감소.
    • ITS: 컨텍스트 스위치 40 % 감소, 처리량 20 % 증가, deadline miss 비율이 현저히 낮아짐.

비고: 논문에 제시된 수치가 구체적인 실험 환경(프로세서 사양, 워크로드 구성) 없이 요약돼 있어 재현 가능성은 다소 제한적이다.

4. 강점

  1. 실용적인 하드웨어 가정: “전용 소형 프로세서”를 활용해 메인 CPU의 부하를 최소화하는 설계는 실제 임베디드 시스템(예: MCU + DSP 협동)에서 구현 가능성이 높다.
  2. 동적 타임슬라이스 개념: 기존 고정 타임슬라이스의 한계를 극복하고, 작업 특성에 맞는 슬라이스를 자동 산출한다는 점은 소프트 실시간 환경에 특히 유용하다.
  3. 문헌 연계: Deficit RR, Weighted RR 등 기존 연구와 비교하며 차별점을 명확히 제시한다.

5. 약점 및 개선점

항목문제점제안 개선
수식 명료성PC, SC, CSC 정의가 텍스트에만 의존, 수식이 불완전수식 표준화(예: PC = α / priority, SC = β / burst)와 파라미터 α, β 명시
실험 설계워크로드(프로세스 수, 버스트 분포)와 하드웨어 사양이 구체적이지 않음다양한 실시간 워크로드(주기적, 비주기적, 하드/소프트 실시간)와 MCU/FPGA 기반 시뮬레이션 제공
복잡도 분석전용 소형 프로세서가 추가되는 비용(전력, 면적) 미고려전력 소모와 하드웨어 비용을 정량화한 Cost‑Benefit 분석 필요
스케줄러 구현실제 OS(예: FreeRTOS, VxWorks)와의 통합 방법이 제시되지 않음커널 모듈 형태로 구현하고, API 레벨에서 타임슬라이스 조정 로직을 제공하는 방안 제시
경쟁 알고리즘 비교EDF(최소 마감시간 우선) 등 실시간 최적 스케줄링과의 비교 부재EDF, RM(Rate‑Monotonic) 등과의 성능 비교를 통해 실제 실시간 요구 충족 여부 검증 필요

6. 향후 연구 방향

  1. 하이브리드 스케줄링: Shortest‑RR와 ITS를 결합해 우선순위 기반 + 버스트 기반 이중 기준 스케줄링 구현.
  2. 에너지 효율: 전용 소형 프로세서의 전력 소비를 최소화하고, 타임슬라이스 조정에 따라 다이나믹 전압·주파수 조정(DVFS) 연계.
  3. 머신러닝 기반 파라미터 튜닝: 실시간 워크로드 특성을 학습해 PC, SC, CSC 가중치를 자동 최적화.
  4. 보안·신뢰성: 실시간 시스템에서 스케줄링 변조 공격에 대비한 무결성 검증 메커니즘 추가.

7. 결론

본 논문은 라운드‑로빈 스케줄링의 고전적 한계를 작업 버스트 기반 정렬동적 타임슬라이스라는 두 축으로 효과적으로 보완한다. 제안된 Shortest‑RRIntelligent Time‑Slice는 특히 소프트 실시간 임베디드 환경에서 컨텍스트 스위치 감소와 처리량 향상을 통해 시스템 성능을 크게 개선할 가능성을 보여준다. 다만, 수식의 명확화, 실험 재현성 확보, 하드웨어·전력 비용 분석 등 보완이 필요하며, 향후 실시간 최적 스케줄링과의 비교 및 에너지·보안 측면을 포함한 확장이 이루어진다면 실용적인 임베디드 시스템 설계에 더욱 큰 기여를 할 수 있을 것이다.

📄 Content

(IJCSIS) 국제 컴퓨터 과학 및 정보 보안 저널,
Vol. 6, No.2, 2009

실시간 작업을 위한 새로운 스케줄링 알고리즘

C. 야슈완스
전기·전자공학부,
안나 대학교 첸나이, 첸나이 600 025, 인도


초록

본 논문의 주요 목표는 라운드 로빈(Round‑Robin) 구조를 두 가지 다른 방식으로 변형하여 실시간 및 임베디드 시스템에 적용 가능하도록 만드는 것이다. 스케줄링 알고리즘은 실시간 임베디드 시스템 설계에서 매우 중요한 역할을 한다. 단순 라운드 로빈 구조는 컨텍스트 스위치 비율이 높고, 대기 시간과 응답 시간이 크게 증가하기 때문에 임베디드 시스템에 적합하지 않다. 특히 소프트 실시간 시스템에서 마감시간(deadline)을 놓치면 시스템 성능이 저하된다. 따라서 본 논문에서는 단순 라운드 로빈 구조의 단점을 제거한 새로운 스케줄링 알고리즘을 제시한다. 제안된 구조와 기존 라운드 로빈 구조를 비교한 결과, 제안된 구조가 컨텍스트 스위치 횟수, 대기 시간, 응답 시간을 감소시켜 시스템 처리량(throughput)을 향상시키는 것으로 확인되었다.

핵심어 – 라운드 로빈 구조, 타임 슬라이스, 마감시간, 소프트 실시간


I. 서론

본 논문은 라운드 로빈 구조를 두 가지 서로 다른 방법으로 변형하고, 이를 실시간·임베디드 시스템에 적용할 수 있도록 하는 방안을 제시한다.

새로운 접근법은 변형된 라운드 로빈 구조에서 프로세스 스케줄링을 어떻게 수행할 것인가에 초점을 맞춘다. 작업 집합(task set)에 CPU 버스트가 가변적인 프로세스가 포함될 경우, 단순 라운드 로빈은 선입선출(FIFO) 방식으로 타임 슬라이스를 할당하기 때문에 비효율적이다. 가변적인 CPU 버스트는 대기 시간을 크게 만들고, 짧은 버스트를 가진 프로세스는 응답 시간이 늘어나 시스템 전체의 성능이 저하된다. 제안된 알고리즘은 짧은 CPU 버스트를 가진 프로세스가 더 짧은 대기 시간과 응답 시간을 갖도록 하여, 라운드 로빈 구조의 단점을 보완하고 시스템 처리량을 높인다.

Dr. R. 라메시
전기·전자공학부, 안나 대학교 첸나이, 첸나이 600 025, 인도

두 번째 접근법은 지능형 타임 슬라이스(Intelligent Time Slice) 를 계산하는 방법을 제시한다. 이는 단순 라운드 로빈을 변형한 형태이며, 높은 컨텍스트 스위치 비율, 긴 대기·응답 시간 때문에 소프트 실시간 시스템에 적용하기 어렵다. 소프트 실시간 시스템은 하드 마감시간이 없지만, 마감시간을 놓치면 성능이 저하된다.

실시간 시스템은 항상 연산에 대한 시간 제약을 가진다. 각 작업은 준비 시간(ready time) 이후에 실행되어야 하며, 마감시간(deadline) 이전에 완료되어야 한다[12][13][14]. 단순 라운드 로빈은 컨텍스트 스위치가 많고 대기·응답 시간이 길어 시스템 처리량을 낮춘다. Richard Roehi[3]는 짧은 CPU 버스트를 가진 작업에 우선순위를 부여하는 새로운 우선순위 큐(priority queue)를 라운드 로빈에 도입하여 성능을 개선한 바 있다. 또한 조정 가능한 지연시간을 갖는 공정 스케줄링(Fair Scheduling with Tunable Latency)[8]은 가중 라운드 로빈(Weighted Round Robin, WRR) 방식을 수정하여 다중 세션에 대해 엄격한 공정성과 효율적인 지연 보장을 제공한다.

다양한 라운드 로빈 변형(Deficit Round Robin[6], Deficit Round Robin Alternated[4], Credit Round Robin[7] 등)도 네트워크 분야에서 활용되고 있다.

실시간 스케줄링 이론은 고정 우선순위 스케줄링(Fixed‑Priority Scheduling), 동적 우선순위 스케줄링(Dynamic‑Priority Scheduling), 피드백 스케줄링(Feedback Scheduling), 확장 스케줄링(Extended Scheduling) 등 보다 유연한 모델로 전환되고 있다[10]. 현재 대부분의 실시간 운영체제는 POSIX‑준수 고정 우선순위 스케줄링만을 제공한다[11].

이와 같은 배경을 바탕으로, 기존의 단순 라운드 로빈 구조는 실시간 임베디드 시스템에 부적합함을 확인하였다. 본 논문에서 제안하는 알고리즘은 짧은 작업 우선 스케줄링(Shortest‑Job‑First)지능형 타임 슬라이스 개념을 결합한 변형 라운드 로빈이다.


II. 라운드 로빈 구조

라운드 로빈은 선점형(pre‑emptive) 방식의 선입선출 스케줄링이다. 준비 큐에 들어온 프로세스는 타임 슬라이스(time slice) 만큼 CPU를 할당받고, 타임 슬라이스가 끝나면 현재 실행 중인 프로세스는 강제로 선점(pre‑empt)되어 준비 큐의 뒤로 이동한다. 이후 다음 프로세스가 CPU를 차지한다.

라운드 로빈을 구현하려면 틱 타이머(tick timer) 가 필요하며, 타임 슬라이스는 클록 틱 주기에 비례한다. 소프트 실시간 임베디드 애플리케이션에서는 타임 슬라이스가 너무 작으면 컨텍스트 스위치가 빈번해지고, 너무 크면 평균 프로세스 실행 시간보다 길어져 시스템 응답성이 떨어진다.

A. 운영체제에서 라운드 로빈의 단점

  1. 높은 컨텍스트 스위치 비율 – 소프트 실시간 시스템에서 컨텍스트 스위치가 많으면 처리량이 감소한다.
  2. 큰 대기·응답 시간 – 프로세스가 준비 큐에서 기다리는 시간을 대기 시간(waiting time), 작업이 완료될 때까지 걸리는 전체 시간을 **턴어라운드 시간(turn‑around time)**이라 한다. 라운드 로빈은 이 두 값이 크게 증가하는 경향이 있다.
  3. 낮은 처리량(throughput) – 단위 시간당 완료되는 프로세스 수가 적어 시스템 성능이 저하된다.

B. 컨텍스트 스위치

타임 슬라이스가 끝났음에도 프로세스가 실행 중이면 스케줄러는 현재 프로세스를 강제로 선점하고, 레지스터·스택 등에 현재 상태를 저장한 뒤 다음 프로세스에 CPU를 할당한다. 이 과정을 컨텍스트 스위치(context switch) 라고 하며, 시간·메모리·오버헤드가 발생한다.

다음 절에서는 이러한 단점을 해소한 변형 라운드 로빈 알고리즘을 소개한다.


III. 실시간 임베디드 시스템을 위한 변형 라운드 로빈 알고리즘

A. Shortest‑Round‑Robin 구조

단순 라운드 로빈은 모든 프로세스에 동일한 우선순위를 부여한다(선입선출). 따라서 CPU 버스트가 짧은 프로세스도 긴 대기·응답 시간을 겪게 된다. 제안된 Shortest‑Round‑Robin 구조는 CPU 버스트를 기준으로 프로세스를 오름차순 정렬하고, 별도의 소형 프로세서를 이용해 정렬 작업을 수행한다. 이렇게 하면 짧은 버스트를 가진 작업이 먼저 실행되어 대기·응답 시간이 감소하고, 전체 처리량이 향상된다.

그림 3.1 – Shortest‑Round‑Robin에서의 프로세스 스케줄링 예시

B. 소프트 실시간을 위한 지능형 타임 슬라이스

소프트 실시간 시스템에서는 마감시간을 놓치더라도 시스템이 완전히 중단되지는 않지만, 성능 저하가 발생한다. 기존 라운드 로빈의 컨텍스트 스위치, 동일 우선순위 문제를 해결하기 위해 지능형 타임 슬라이스(Intelligent Time Slice) 개념을 도입한다.

지능형 타임 슬라이스는 다음 세 가지 요소를 고려한다.

  1. 우선순위(PC, Priority Component) – 사용자가 지정하며, 우선순위 번호가 낮을수록(높을수록) 큰 값을 부여한다.
  2. 평균 CPU 버스트(ATS, Assumed CPU Burst) – 시스템에 대한 사전 추정값.
  3. 컨텍스트 스위치 회피 시간(CSC, Context‑Switch Component) – 컨텍스트 스위치를 최소화하기 위한 보정값.

작업마다 별도의 소형 전용 프로세서가 위 요소들을 입력받아 새로운 타임 슬라이스를 계산한다. 계산된 타임 슬라이스는 각 작업에 독립적으로 적용되며, 메인 프로세서는 이 값을 사용해 작업을 실행한다.

그림 3.2 – 지능형 타임 슬라이스 생성 흐름도

지능형 타임 슬라이스 계산식

  • 원래 타임 슬라이스(OTS) : 특별한 고려 없이 모든 작업에 기본적으로 부여되는 시간.
  • 우선순위 구성요소(PC) : 우선순위에 비례(우선순위 번호가 낮을수록 큰 PC).
  • 짧음 구성요소(SC) : 다음 CPU 버스트 길이에 반비례(짧을수록 큰 SC).
  • 계산된 구성요소(CC) : CC = OTS + PC + SC
  • 잔여 CPU 버스트(Balanced CPU Burst) : ATS - CC

만약 Balanced CPU Burst < OTS이면, 그 차이를 컨텍스트 스위치 구성요소(CSC) 로 사용한다. 최종 지능형 타임 슬라이스

PLAINTEXT
Intelligent Time Slice = OTS + PC + SC + CSC
클릭하여 더 보기

IV. 사례 연구

다섯 개의 프로세스(P1~P5)를 대상으로 다음과 같이 실험을 진행하였다.

Process IDCPU 버스트 (ms)우선순위
P1252
P253
P3151
P482
P5101

이 글은 AI가 자동 번역 및 요약한 내용입니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키