Fine Grain Real-Time Code Scheduling Using an Adaptive Genetic Algorithm

적합 유전자 알고리즘을 이용한 실시간 코드 스케쥴링

  • Published : 1997.06.01

Abstract

In hard real-time systems, a timing fault may yield catastrophic results. Dynamic scheduling provides the flexibility to compensate for unexpected events at runtime; however, scheduling overhead at runtime is relatively large, constraining both the accuracy of the timing and the complexity of the scheduling analysis. In contrast, static scheduling need not have any runtime overhead. Thus, it has the potential to guarantee the precise time at which each instruction implementing a control action will execute. This paper presents a new approach to the problem of analyzing high-level language code, augmented by arbitrary before and after timing constraints, to provide a valid static schedule. Our technique is based on instruction-level complier code scheduling and timing analysis, and can ensure the timing of control operations to within a single instruction clock cycle. Because the search space for a valid static schedule is very large, a novel adaptive genetic search algorithm was developed.

실시간 시스템에서 시간적 제약의 불이행의 커다란 손실을 가져오며, 이를 위한 동적 스케쥴링은 유연성을 제공하는 대신 스케쥴링 오버헤드와 분석작업의 복잡성으로 인하여 스케쥴성을 예측하기 어려움이 있다. 반면, 정적 스케쥴링은 수행 중 오버헤드가 없으므로 정확한 시간을 예측할 수 있는 장점이 있다. 따라서 명령어 수준의 정적 스케쥴링과 시간 분석을 통하여 시스템의 시간적 정확도를 보장할 수 있다. 본 논문에서는 확정된 시간 분석을 위하여 befor와 after의 시간 제약을 고급 언어에 표현하고 이를 근거로 시간적 분석에 기반을 둔 컴파일러의 명령어 수준의 스케쥴링 알고리즘을 제안하였다. 이 스케쥴링의 특징은 명령어 수준의 스케쥴링을 위한 도메인이 지나치게 과대하므로 향상된 적합 유전자 알고리즘을 적용한 것이다.

Keywords