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