시간‑색상 페트리넷을 활용한 단일 프로세서 스케줄링 모델링

시간‑색상 페트리넷을 활용한 단일 프로세서 스케줄링 모델링
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 색상·시간 확장을 적용한 페트리넷(HTCPN)을 이용해 단일 프로세서의 비선점 스케줄링을 계층적 모델로 구현한다. FCFS, SJF, PR, HRRN 네 가지 알고리즘을 파라미터화하여 입력 프로세스 집합을 자동으로 스케줄링하고, 대기시간·턴어라운드타임·프로세서 유휴시간 등을 계산한다. 색상 집합을 레코드 배열 형태로 정의함으로써 모델의 복잡성을 낮추고 시뮬레이션 성능을 향상시켰으며, 이러한 모듈을 다수 결합하면 복합적인 기업 아키텍처의 워크플로우를 표현할 수 있다.

상세 분석

이 연구는 전통적인 Petri Net에 색상(Color)과 시간(Time) 개념을 동시에 도입한 HTCPN(시간‑색상 계층적 Petri Net) 프레임워크를 기반으로 한다. 색상 집합은 Process 레코드(프로세스 인덱스, 도착시간, 서비스시간, 대기시간, 실행시작시간, 우선순위)와 ProcList 리스트, 그리고 스케줄링 유형을 나타내는 SCHTYPE 열거형으로 구성된다. 특히 우선순위는 정수 쌍(RT)으로 표현해 실수 지원이 제한된 CPN‑Tools 환경에서도 정밀한 비교가 가능하도록 설계하였다.

모델은 두 단계의 계층 구조를 가진다. 최상위 페이지에서는 프로세스 입력 마킹과 전역 변수(sm, process, allproc 등)를 정의하고, 하위 페이지에서는 실제 스케줄링 로직을 구현한다. 핵심 함수는 다음과 같다.

  • curTime() : 현재 시뮬레이션 시간을 반환한다.
  • onTime(q) : 프로세스 도착시간이 현재 시간 이하인지 판단한다.
  • select, exists, remove : 도착시간 기준으로 활성 프로세스 집합을 추출·필터링한다.
  • updatePR(sm,q) : 선택된 스케줄링 방식에 따라 프로세스의 우선순위 필드를 재계산한다. FCFS는 도착시간, SJF는 서비스시간, PR은 정적 우선순위, HRRN은 (서비스시간+대기시간)/서비스시간 비율을 이용한다.
  • updateProcWait(q)updateWait(L) : 현재 시각과 도착시간 차이를 이용해 대기시간을 갱신한다.
  • cmpcompare : 두 프로세스의 우선순위를 비교해 정렬 기준을 제공한다.

시뮬레이션 흐름은 onTime을 통해 도착한 프로세스를 run 리스트에 넣고, update 함수로 대기시간·우선순위를 최신화한 뒤, compare 기반의 선택 로직으로 가장 높은 우선순위 프로세스를 실행한다. 실행이 끝나면 해당 프로세스는 rq(완료 큐)로 이동하고, 프로세서가 유휴 상태일 경우 idle 토큰이 발생한다.

실험에서는 6개의 샘플 프로세스를 사용해 네 가지 스케줄링 정책별 평균 대기시간, 평균 턴어라운드타임, CPU 유휴시간을 측정하였다. 결과는 각 정책의 이론적 특성과 일치했으며, 특히 HRRN은 대기시간이 긴 프로세스에 가중치를 부여해 전체 평균을 최소화하는 경향을 보였다.

이 모델의 가장 큰 장점은 모듈화와 재사용성이다. 단일 프로세서 스케줄러를 하나의 HTCPN 모듈로 구현함으로써, 다중 프로세서, 파이프라인, 혹은 복합 워크플로우를 구성할 때 동일한 모듈을 복제·연결만 하면 된다. 또한 색상 집합을 확장해 자원 제약, 선점 정책, 다중 우선순위 레벨 등을 추가할 수 있어 기업 아키텍처 전반에 걸친 시뮬레이션·검증 도구로 활용 가능하다.

하지만 몇 가지 한계도 존재한다. 첫째, 비선점 스케줄링만을 다루므로 실시간 시스템이나 인터럽트 기반 환경을 모델링하려면 추가적인 확장이 필요하다. 둘째, 현재 구현은 정수 기반 시간 단위에 국한돼 있어 미세한 시간 차이를 요구하는 고성능 제조 라인에는 부정확할 수 있다. 셋째, CPN‑Tools의 시각화와 분석 기능에 의존하므로 대규모 시스템(수천 개 프로세스)에서는 시뮬레이션 속도가 급격히 저하될 가능성이 있다. 이러한 제한을 보완하기 위해서는 하이브리드 시뮬레이션(예: C++ 연동)이나 분산 시뮬레이션 프레임워크와의 연계가 고려될 수 있다.

전반적으로 이 논문은 색상·시간 Petri Net을 이용해 기업 아키텍처 수준의 프로세스 스케줄링을 체계적으로 모델링하고, 계층적 모듈 설계 원칙을 통해 확장성을 확보한 점에서 학술적·실무적 의의가 크다.


댓글 및 학술 토론

Loading comments...

의견 남기기