본문 바로가기
카테고리 없음

CPU 스케줄링 방식: SRT(Shortest Remaining Time) 이해하기

by IT꿀토리 2024. 12. 26.

여러 CPU 스케줄링 알고리즘 중 SRT(Shortest Remaining Time)는 선점형 방식의 알고리즘으로, 처리 시간이 가장 적게 남은 작업을 우선 실행하는 독특한 방식을 가지고 있습니다. 이번 글에서는 SRT의 개념, 특징, 장단점, 예시, 그리고 실제 사용 사례를 살펴보겠습니다.


1. SRT(Shortest Remaining Time) 스케줄링이란?

SRT(Shortest Remaining Time)는 SJF(Shortest Job First)의 선점형 버전입니다. 현재 실행 중인 프로세스보다 남은 처리 시간이 짧은 새로운 프로세스가 도착하면 CPU를 그 프로세스에 할당합니다. 즉, 가장 짧은 남은 처리 시간을 가진 프로세스가 항상 CPU를 점유하게 됩니다.

주요 동작:

  • 현재 실행 중인 프로세스와 대기 중인 프로세스의 남은 시간을 비교
  • 더 짧은 남은 시간을 가진 프로세스가 있다면 현재 프로세스를 선점

 

2. SRT의 특징

선점형 알고리즘 실행 중인 프로세스라도 남은 시간이 더 짧은 프로세스가 도착하면 선점이 발생함
응답 시간 최적화 작업 시간이 짧은 프로세스가 빠르게 완료되므로 응답 시간이 최소화 됨
CPU 집중형 프로세스 최적화 대기 큐에서 짧은 프로세스를 먼저 처리하여 시스템 효율을 높임
컨텍스트 스위칭 빈번 프로세스 전환이 잦아져 컨텍스트 스위칭 오버헤드가 발생할 수 있음

 

3. SRT의 장단점

장점 단점
  1. 짧은 작업 우선 처리
    짧은 작업이 빠르게 완료되므로 전체 평균 대기 시간 평균 응답 시간이 줄어듭니다.
  2. 효율적인 자원 활용
    긴 작업이 대기 중일 때도 짧은 작업이 CPU를 사용하므로 시스템의 처리율이 증가합니다.
  3. 선점으로 유연성 증가
    새로운 작업이 도착해도 스케줄링이 유연하게 변경됩니다.
  1. 컨텍스트 스위칭 오버헤드
    선점이 잦아질수록 컨텍스트 스위칭 비용이 커져 성능 저하가 발생할 수 있습니다.
  2. 기아(starvation) 발생 가능
    처리 시간이 긴 프로세스는 계속해서 선점당해 대기 상태가 길어질 수 있습니다.
  3. 정확한 예측 필요
    프로세스의 남은 처리 시간을 정확히 예측해야 하지만, 이는 현실적으로 어렵습니다.

 

4. SRT의 예시

구분 설명
조건 프로세스 3개의 도착시간 및 실행시간이 아래와 같다고 가정.
- P1: 도착시간 0ms, 실행시간 8ms
- P2: 도착시간 1ms, 실행시간 4ms
- P3: 도착시간 2ms, 실행시간 2ms
실행과정
  1. 0ms: P1 실행 (남은 시간: 8ms).
  2. 1ms: P2 도착 (남은 시간 비교 → P2(4ms)가 더 짧음). → P2 실행
  3. 2ms: P3 도착 (남은 시간 비교 → P3(2ms)가 더 짧음). → P3 실행
  4. 4ms: P3 완료 후, P2 실행 (남은 시간: 2ms).
  5. 6ms: P2 완료 후, P1 실행 (남은 시간: 6ms).
  6. 12ms: P1 완료.
결과
  • 프로세스 완료 순서: P3 → P2 → P1
  • 평균 대기 시간: (0 + 3 + 6) / 3 = 3ms
  • 평균 응답 시간: 빠름 (짧은 작업 우선 처리 덕분)

 

5. 실제 사용 사례

  1. 실시간 시스템
    SRT는 프로세스의 남은 실행 시간을 기준으로 선점하기 때문에 실시간(real-time) 환경에서 사용하기 적합합니다.
    예를 들어, 멀티미디어 스트리밍이나 게임 렌더링에서 빠른 응답성이 필요한 작업에 활용됩니다.
  2. 단기 작업 우선 처리
    웹 서버나 DB 서버에서 짧은 요청(예: 검색 질의)을 빠르게 처리하여 사용자 응답 시간을 줄이는 데 사용됩니다.
  3. CPU 집중형 작업 스케줄링
    짧은 CPU 작업을 우선 처리하여 작업 처리량(Throughput)을 높이고 시스템 효율성을 극대화하는 경우 사용됩니다.