다중프로세서 우선순위 작업 스케줄링을 위한 유전 알고리즘
본 논문은 실시간 응용을 위한 다중프로세서 시스템에서 작업의 마감시간을 최소화하고자, 우선순위가 부여된 작업들을 효율적으로 배치하는 문제를 유전 알고리즘(GA)으로 해결한다. 제안된 GA는 초기 해 생성, 선택, 교차, 돌연변이 과정을 통해 최적에 가까운 스케줄을 탐색하며, 실험을 통해 기존 휴리스틱 대비 낮은 메이크스팬을 달성함을 보인다.
초록
본 논문은 실시간 응용을 위한 다중프로세서 시스템에서 작업의 마감시간을 최소화하고자, 우선순위가 부여된 작업들을 효율적으로 배치하는 문제를 유전 알고리즘(GA)으로 해결한다. 제안된 GA는 초기 해 생성, 선택, 교차, 돌연변이 과정을 통해 최적에 가까운 스케줄을 탐색하며, 실험을 통해 기존 휴리스틱 대비 낮은 메이크스팬을 달성함을 보인다.
상세 요약
이 연구는 다중프로세서 환경에서의 작업 스케줄링을 NP‑Hard 문제로 규정하고, 특히 작업마다 서로 다른 우선순위와 실행시간, 그리고 선행 관계가 존재하는 경우를 다룬다. 기존의 리스트 스케줄링, 파티션 기반 방법, 그리고 동적 우선순위 할당 기법들은 복잡도가 급격히 증가하거나, 우선순위 충돌 시 비효율적인 결과를 초래한다는 한계를 가지고 있다. 논문은 이러한 한계를 극복하기 위해 유전 알고리즘을 채택한다.
첫 번째 핵심은 해 표현 방식이다. 각 개체는 작업 순서를 나타내는 순열과, 해당 작업을 할당할 프로세서를 지정하는 부가 정보를 포함한다. 이중 코딩 방식을 통해 작업 순서와 프로세서 매핑을 동시에 최적화한다. 두 번째는 적합도 함수 설계이다. 적합도는 메이크스팬(전체 실행 시간)의 역수에 우선순위 위반 페널티를 가중합한 형태로 정의되어, 우선순위 제약을 엄격히 반영한다. 특히, 높은 우선순위 작업이 늦게 시작되거나 마감시간을 초과하면 큰 벌점이 부여되어, GA가 자연스럽게 우선순위 보장을 학습한다.
선택 연산은 룰렛 휠 방식과 토너먼트 선택을 혼합해 다양성을 유지하면서도 우수 개체의 전파를 촉진한다. 교차 연산은 순열 기반의 순서 교차(OX)와 프로세서 매핑 교차를 동시에 적용해, 작업 순서와 할당 정보를 부분적으로 교환한다. 돌연변이는 두 가지 형태로 구현된다. 첫째, 작업 순서 내에서 두 작업을 교환하는 스와핑; 둘째, 특정 작업의 프로세서 할당을 무작위로 변경하는 리할로케이션이다. 이러한 돌연변이는 지역 최적해에 빠지는 것을 방지한다.
실험 설정에서는 416개의 프로세서를 가진 시스템에 50200개의 작업을 배치했으며, 작업의 실행시간은 정규분포, 우선순위는 15 단계로 구분하였다. 비교 대상은 기존의 리스트 스케줄링(LPT), HEFT, 그리고 파티션 기반의 ILP 근사 해법이다. 결과는 제안 GA가 평균 메이크스팬을 1218% 감소시키고, 우선순위 위반률을 0%에 가깝게 유지함을 보여준다. 또한, 세대 수가 200~500에 이를 때 수렴이 안정되며, 계산 시간은 현대 멀티코어 환경에서 수초 내에 완료된다.
이 논문은 GA가 복합 제약(우선순위, 선행 관계, 프로세서 할당)을 동시에 다룰 수 있는 유연성을 입증했으며, 특히 실시간 시스템에서 요구되는 높은 신뢰성과 빠른 응답성을 만족한다는 점에서 의미가 크다. 다만, 작업 수가 수천 개로 확대될 경우 해 공간이 급격히 커져 세대 수와 연산량이 증가할 가능성이 있어, 병렬 GA 혹은 하이브리드 메타휴리스틱과의 결합이 향후 연구 과제로 제시된다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...