A Multiobjective Genetic Algorithm for Static Scheduling of Real-time Tasks

다목적 유전 알고리즘을 이용한 실시간 태스크의 정적 스케줄링 기법

  • 오재원 (서울대학교 컴퓨터공학과) ;
  • 김희천 (한국방송통신대학교 컴퓨터과학) ;
  • 우치수 (서울대학교 컴퓨터공학부)
  • Published : 2004.03.01

Abstract

We consider the problem of scheduling tasks of a precedence constrained task graph, where each task has its execution time and deadline, onto a set of identical processors in a way that simultaneously minimizes the number of processors required and the total tardiness of tasks. Most existing approaches tend to focus on the minimization of the total tardiness of tasks. In another methods, solutions to this problem are usually computed by combining the two objectives into a simple criterion to be optimized. In this paper, the minimization is carried out using a multiobjective genetic algorithm (GA) that independently considers both criteria by using a vector-valued cost function. We present various GA components that are well suited to the problem of task scheduling, such as a non-trivial encoding strategy. a domination-based selection operator, and a heuristic crossover operator We also provide three local improvement heuristics that facilitate the fast convergence of GA's. The experimental results showed that when compared to five methods used previously, such as list-scheduling algorithms and a specific genetic algorithm, the Performance of our algorithm was comparable or better for 178 out of 180 randomly generated task graphs.

본 본문에서는 다중 처리기 시스템에서 실시간 태스크를 정적으로 스케줄링하기 위한 새로운 기법을 제안한다. 태스크는 실행 시간과 마감시간을 지니고, 태스크 사이에는 선행 관계가 존재하며 이러한 사항을 태스크 그래프로 표현한다. 본 논문에서는 스케줄링을 위해 사용하는 처리기의 개수를 줄이면서 태스크들의 마감시간 지연의 총합을 최소화하는 스케줄을 생성하는 것에 목적을 둔다. 이 문제는 같은 단위로 측정할 수 없고 또한 서로 상충하는 두 가지 목적을 지닌 것이다. 그렇지만 기존 방법들은 마감시간 지연의 총합만을 최소화하려하거나 두 가지 목적을 하나의 기준으로 결합시킨 후 최적화하고자 한다. 본 논문에서는 두 개의 목적을 독립적으로 고려하며 최적화를 위하여 다목적 유전 알고리즘을 사용한다 태스크 스케줄링 문제에 적합한 문제 표현 전략, 우세 개념에 기초한 선택 연산, 그리고 교차 연산을 제시한다. 그리고 지역 개선 작업을 위해 세 개의 휴리스틱을 제안하였으며 이 것을 통해 유전 알고리즘의 수렴성을 높이고자 하였다. 성능 평가를 위해 기존에 알려진 유전 알고리즘과 4 개의 리스트 스케줄링 알고리즘과 비교한다. 평가 결과를 보면 제안한 기법이 180 개의 임의로 생성한 태스크 그래프 중에서 178 개에 대해 기존 5 개의 알고리즘과 유사하거나 더 나은 스케줄을 생성하였다.

Keywords

References

  1. Kwok, Y.-K. and Ahmad, L, 'Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors,' IEEE Trans. Parallel and Distributed Systems, Vol. 7, No.5, pp. 506-521, 1996 https://doi.org/10.1109/71.503776
  2. Yalaoui, F. and Chu, C., 'Parallel machine scheduling to minimize total tardiness,' International Journal of Production Economics, Vol. 76, No.3, pp. 265-279, 2002 https://doi.org/10.1016/S0925-5273(01)00175-X
  3. Du, J. and Leung, J. Y. T., 'Minimizing total tardiness on one machine is NP-hard,' Mathematics of Operational Research, Vol. 15, pp. 483-495, 1990. https://doi.org/10.1287/moor.15.3.483
  4. Lenstra, J. K., Rinnooy Kan, A. H. G., and Brucker, P., 'Complexity of machine scheduling problems,' Annals of Discrete Mathematics, Vol. 1, pp. 343-362, 1977 https://doi.org/10.1016/S0167-5060(08)70743-X
  5. Coli, M. and Palazzari, P., 'A new method for optimization of allocation and scheduling in real time applications,' Proceedings of the 7th Euromicro Workshop on Real-Time Systems, pp, 262-269, 1995 https://doi.org/10.1109/EMWRTS.1995.514320
  6. Coello Coello, Carlos A., An Empirical Study Of Evolutionary Techniques For Multiobjective Optimization In Engineering Design, Ph. D. Thesis, Tulane University, New Orleans, Louisiana, USA, 1996
  7. Fonseca, C. and Fleming, P., 'Genetic algorithms for multiobjective optimization formulation, discussion and generalization,' Proceedings of the 5th Int'l Conf. on Genetic Algorithms, pp. 416-423, 1993
  8. J. Hom and N. Nafpliotis, MultiObjective Optimization Using The Niched Pareto Genetic Algorithm, Technical Report No. 93005, University of Illinois at Urbana-Champaign, Urbana, Illinois, USA, 1993
  9. D. Goldberg and J. Richardson, 'Genetic algorithm with sharing for multimodal function optimization,' Genetic Algorithm and Their Applications: Proceedings of the second ICGA, pp. 41-49, 1987
  10. Dick, R. and Jha, N., 'MOGAe: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems,' IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, Vol. 17, No. 10, pp. 920-935, 1998 https://doi.org/10.1109/43.728914
  11. Lin, M. and Yang, L. T., 'Hybrid genetic algorithms for scheduling partially ordered tasks in a multi-processor environment,' Proceedings of the 6th Int'l Conf. on Real-Time Compo Systems and App., pp. 382-387, 1999 https://doi.org/10.1109/RTCSA.1999.811284
  12. Mitra, H. and Ramanathan, P., 'A genetic approach for scheduling non-preemptive tasks with precedence and deadline constraints, ' Proceedings of the 26th Hawaii Int'l Conf. on System Sciences, pp. 556-564, 1993 https://doi.org/10.1109/HICSS.1993.284070
  13. Monnier, Y., Beauvais, J., and Deplanche, A., 'A genetic algorithm for scheduling tasks in a real-time distributed system,' Proceedings of the 24th Euromicro Conf., pp. 708-714, 1998 https://doi.org/10.1109/EURMIC.1998.708092
  14. Faucou, S., Deplanche, A.-M., and Beauvais, J.-P., 'Heuristic techniques for allocating and scheduling communicating periodic tasks in distributed real-time systems,' Proceedings of 2000 IEEE Int'l Workshop on Factory Communication Systems, pp. 257-265, 2000 https://doi.org/10.1109/WFCS.2000.882557
  15. Hu, T. C., 'Parallel sequencing and assembly line programs,' Oper. Res., pp. 841-848, 1961
  16. Liu, C. and Layland, J. 'Scheduling algorithms for multiprogramming in a hard-real-time environment,' Journal of the ACM, Vol. 20, No.1, 1973 https://doi.org/10.1145/321738.321743
  17. Leung, J. Y. T., 'A new algorithm for scheduling periodic, real-time tasks,' Algorithmica, Vol. 4, pp. 209-219, 1989 https://doi.org/10.1007/BF01553887
  18. Hwang, J. J, Chow, Y. c. Anger, F. D, and Lee, C.Y., 'Scheduling Precedence Graphs in Systems with Interprocessor Communication Times,' SIAM J Comput., Vol. 18, No.2, pp. 244-257, 1989 https://doi.org/10.1137/0218016
  19. Cheng, B.-C., Stoyenko, A. D., Marlowe, T. J, and Baruah, S. K, 'LSTF: A new scheduling policy for complex real-time tasks in multiple processor systems,' Automatica, Vol. 33, No.5, pp. 921-926, 1997 https://doi.org/10.1016/S0005-1098(96)00245-2
  20. Brest, J. and Zumer, V., 'A performance evaluation of list scheduling heuristics for task graphs without communication costs, ' Proceedings of 2000 Int'l Workshops on Parallel Processing, pp, 421-428, 2000 https://doi.org/10.1109/ICPPW.2000.869147
  21. Altenbemd, P. and Hansson, H., 'The Slack Method: A New Method for Static Allocation of Hard Real-Time Tasks,' Real-Time Systems, Vol. 15, No.2, pp. 103-130, 1998 https://doi.org/10.1023/A:1008092427865
  22. Bui, T. N. and Moon, B. R., 'Genetic algorithm and graph partitioning,' IEEE Trans. Computers, Vol. 45, No.7, pp. 841-855, 1996 https://doi.org/10.1109/12.508322
  23. 문병로, 유전 알고리즘, 두양사, 2003
  24. Ge, Y. and Yun, D. Y. Y., 'Simultaneous Compression of Makespan and Number of Processors Using CRP,' Proceedings of 1996 Int'l Parallel Processing Symp., pp. 332-338, 1996 https://doi.org/10.1109/IPPS.1996.508078