내장형 실시간 시스템의 성능 개선을 위한 리엔지니어링 기법

Performance Reengineering of Embedded Real-Time Systems

  • 홍성수 (서울대학교 전기컴퓨터공학부)
  • 발행 : 2003.06.01

초록

본 논문에서는 내장형 실시간 시스템의 성능 개선을 위한 리엔지니어링(performance re-engineering) 기법을 제시한다. 시스템 리엔지니어링은 구현이 완료된 시스템에서 새로운 성능 요구사항을 만족시키기 위한 일련의 작업이라 할 수 있다. 일반적으로 실시간 시스템의 성능은 실시간 처리량(real-time throughput)과 입출력 시간 지연(input-to-output latency) 등으로 기술할 수 있으며 새로운 성능 요구사항은 이와 같은 파라미터를 통해 기술된다. 본 연구의 리엔지니어링 기법은 두 단계로 구성된다. 첫째, 시스템을 프로세스 네트워크의 형태로 파악한 후, 프로세스의 수행시간을 분석하여 병목(bottleneck)이 되는 프로세스를 찾아낸다. 둘째, 병목 프로세스의 수행시간을 개선한 수 있도록 프로세싱 요소의 성능비례계수(performance scaling factor)를 구한다. 성능비례계수는 성능 개선을 비율로 나타낸 것으로서 리엔지니어링 비용을 최소화하도록 그 값을 구한다. 따라서 유도된 성능비례계수에 따라 하드웨어 장치를 업그레이드하면 하드웨어 비용을 최적화할 수 있다. 이러한 방법을 사용하면 소프트웨어를 수정할 필요가 없으며, 리엔지니어링 비용 및 시간을 단축할 수 있다.

This paper formulates a problem of embedded real-time system re-engineering, and presents its solution approach. Embedded system re-engineering is defined as a development task of meeting performance requirements newly imposed on a system after its hardware and software have been fully implemented. The performance requirements nay include a real-time throughput and an input-to-output latency. The proposed solution approach is based on a bottleneck analysis and nonlinear optimization. The inputs to the approach include a system design specified with a process network and a set of task graphs, task allocation and scheduling, and a new real-time throughput requirement specified as a system's period constraint. The solution approach works in two steps. In the first step, it determines bottleneck precesses in the process network via estimation of process latencies. In the second step, it derives a system of constraints with performance scaling factors of processing elements being variables. It then solves the constraints for the performance staling factors with an objective of minimizing the total hardware cost of the resultant system. These scaling factors suggest the minimal cost hardware upgrade to meet the new performance requirement. Since this approach does not modify carefully designed software structures, it helps reduce the re-engineering cycle.

키워드

참고문헌

  1. S. Nadjm-Tehrani and J.-E. Stromberg. 'Proving dynamic properties in an aerospace applications,' In Proceedings of IEEE Real-Time Systems Symposium, pages 2-10, December 1995 https://doi.org/10.1109/REAL.1995.495190
  2. M. Ryu, S. Hong, and M. Saksena. 'Streamlining real-time controller design: From performance specifications to end-to-end timing constraints,' In Proceedings of Real-Time Applications and Technology Symposium, pages 91-99, June 1997 https://doi.org/10.1109/RTTAS.1997.601347
  3. T.-Y. Yen and W. Wolf. 'Performance estimation for real-time distributed embedded systems,' IEEE Transactions on Parallel and Distributed Systems, 9(11):1125-1136, November 1998 https://doi.org/10.1109/71.735959
  4. G.Arona and D. Stewart. 'A tool to assist in fine-tuning and debugging embedded real-time systems,' In ACM Workshop on Languages, Compilers and Tools for Embedded Systems, pages 73-92, June 1998
  5. N. Kim, M. Ryu, S. Hong, and H. Shin. 'Experimental assessment of the period calibration method: A case study,' The Journal of Real-Time Systems, Vol. 17, No. 1, pp. 41-64, July, 1999 https://doi.org/10.1023/A:1008085412199
  6. Microtec Research Inc. 'VRTX32/86 User's Guide,' Microtec Research Inc., May 1991
  7. Wind River Systems. 'The next generation of embedded development tools,' A Wind River Systems White Paper, 1998
  8. I. Ahmad and Y.-K. Kwok. 'On exploiting task duplication in parallel program scheduling,' IEEE Transactions on Parallel and Distributed Systems. 9(9):872-892, September 1998 https://doi.org/10.1109/71.722221
  9. E. Lee and T. Parks. 'Dataflow process networks,' IEEE Proceedings. 83(5)773-801, May 1995 https://doi.org/10.1109/5.381846
  10. G. Kahn. 'The semantics of simple language for parallel processing,' In the IFIP Congress 74, 1974
  11. C. Locke. 'Software architectures for hard-realtime applications: cyclic executives vs. fixed priority executives,' The Journal of Real-Time Systems, 4(1)37-53, 1992 https://doi.org/10.1007/BF00365463