Hardware-Software Cosynthesis of Multitask Multicore SoC with Real-Time Constraints

실시간 제약조건을 갖는 다중태스크 다중코어 SoC의 하드웨어-소프트웨어 통합합성

  • 이춘승 (서울대학교 전기컴퓨터공학부) ;
  • 하순회 (서울대학교 전기컴퓨터공학부)
  • Published : 2006.09.01

Abstract

This paper proposes a technique to select processors and hardware IPs and to map the tasks into the selected processing elements, aming to achieve high performance with minimal system cost when multitask applications with real-time constraints are run on a multicore SoC. Such technique is called to 'Hardware-Software Cosynthesis Technique'. A cosynthesis technique was already presented in our early work [1] where we divide the complex cosynthesis problem into three subproblems and conquer each subproblem separately: selection of appropriate processing components, mapping and scheduling of function blocks to the selected processing component, and schedulability analysis. Despite good features, our previous technique has a serious limitation that a task monopolizes the entire system resource to get the minimum schedule length. But in general we may obtain higher performance in multitask multicore system if independent multiple tasks are running concurrently on different processor cores. In this paper, we present two mapping techniques, task mapping avoidance technique(TMA) and task mapping pinning technique(TMP), which are applicable for general cases with diverse operating policies in a multicore environment. We could obtain significant performance improvement for a multimedia real-time application, multi-channel Digital Video Recorder system and for randomly generated multitask graphs obtained from the related works.

이 논문은 실시간 제약 조건을 갖는 다중태스크 응용을 여러 개의 코어를 갖는 SoC 위에서 동작시키고자 할 때, 시스템의 비용은 최소로 하면서 성능을 높일 수 있도록 프로세서 및 하드웨어 IP를 선정하고, 태스크를 매핑 하는 기법을 제안한다. 이와 같은 기법은 하드웨어-소프트웨어 통합합성 기법이라고 한다. 이전 연구에서 우리는 복잡한 통합합성 문제를 세 가지 하부 문제(프로세서 컴포넌트 선택문제, 태스크 매핑문제, 그리고 스케줄-가능성 검사문제)로 세분화 하고, 각 문제를 독립적으로 해결하는 기법을 제안하였다[1]. 하지만 많은 장점에도 불구하고 이전 연구에서는 한 태스크가 스케줄 될 때, 자신의 스케줄-길이를 최소로 줄이기 위해 시스템 전체 자원을 모두 점유하는 것을 가정하는 제약점이 있었다. 그러나 일반적으로 보다 향상된 성능을 얻기 위해서는, 서로 관련이 없는 태스크들은 서로 다른 프로세서에서 동시에 실행될 수 있어야 한다. 이 논문에서는 다중프로세서 환경에서 다양한 운영정책을 가지는 일반적인 시스템을 위하여 태스크 매핑회피 기법과 태스크 매핑전용 기법이라는 두 가지 매핑기법을 제시한다. 멀티미디어 실시간 응용 프로그램인 다채널 디지털 비디오 레코더(Digital Video Recorder)와 관련 논문에서 제공된 임의 생성 다중태스크 예제에 대해서 큰 성능 향상을 얻을 수 있었다.

Keywords

References

  1. H. Oh and S. Ha, 'A Hardware-Software Cosyri-thesis Technique Based on Heterogeneous Multiprocessor Scheduling,' CODES, Rome, Italy, May, 1999
  2. H. Oh and S. Ha, 'Hardware-Software Cosynth esis of Multi-Mode Multi-task Embedded Systems with Real-Time Constraints,' CODES, Estes Park, Colorado, USA, May, 2002
  3. Sungchan Kim, Chaeseok Irn, and Soonhoi Ha, 'Efficient Exploration of On-Chip Bus Architectures and Memory Allocation,' CODES+ ISSS, PP 248-253, Sep. 2004 https://doi.org/10.1145/1016720.1016779
  4. J. Liu and E. A. Lee, 'Timed Multitasking for Real-Time Embedded Software,' IEEE Control Systems Magazine, Vol.23, Issue 1. Feb. 2003, pp 65-75 https://doi.org/10.1109/MCS.2003.1172830
  5. R. P. Dick and N. K. Jha, 'MOGAC A Multiobjective Genetic Algorithm for Hardware- Software Cosynthesis of Distributed Embedded Systems,' IEEE Transaction on CAD, vol. 17, no. 10, pp. 920-935, Oct 1998 https://doi.org/10.1109/43.728914
  6. R. P. Dick and N. K. Jha, 'Multiobjective Synthesis of Low-Power Real-Time Distributed Embedded Systems,' A Dissertation of Dept. of Electronical Engineering, Princeton Uinv. 2002
  7. B. P. Dave, G. Lakshminarayana and N. K. Jha, 'COSYN: Hardware-Software Co-synthesis of Embedded Systems,' in Proc. Design Automation Conference, pp. 703-708, June 1997
  8. J. Axelsson, 'A Hardware/Software Codesign Approach to System-Level Design of Real-Time Application,' SNART97, August 21-22, 1997
  9. P. Pop, P. Eles, Z. Peng, and V. Izosimov, 'Schcdulability-Driven Partitioning and Mapping for Multi-Cluster Real-Time Systems,' Euromicron 2004
  10. Y-T, Leung, J. Whitehead, 'On the Complexity of Fixed-Priority Scheduling of Periodic Real- Time Tasks,' Performance Evaluation, 2(4): 237-250, Dec. 1982 https://doi.org/10.1016/0166-5316(82)90024-4
  11. K. Tindell, and J. Clark, 'Holistic Schedulability Analysis for Distributed Hard Real-Time Systems,' Microprocessing and Microprogrammig, Vol. 50, p. 117-134 April 1994 https://doi.org/10.1016/0165-6074(94)90080-9
  12. J. C. Palencia, and M. Gonzalez Harbour, 'Schedulability Analysis for Tasks with Static and Dynamic Offsets,' Real-Time System Symposium, 1998, Page(s):26-37 https://doi.org/10.1109/REAL.1998.739728
  13. F. Slornka, J. Zant, and L. Lambert, 'Schedulability Analysis of Performance Message Sequence Chart,' CODES/CASHE, March 1998, Page(s): 91-95
  14. T. Pop, P. Eles, and Z. Peng, 'Schedulability Analysis for Distributed Heterogeneous Time/Event Triggered Real-Time Systems,' ECRTS'03 https://doi.org/10.1109/EMRTS.2003.1212751
  15. J. Hou and W. Wolf, 'Process Partitioning for Distributed Embedded Systems,' CODES/CASHE. pp.70-76, Mar. 1996
  16. J. Axelsson, 'A Hardware/Software Codesign Approach to System-Level Design of Real-Time Application,' SNART97, August 21-22, 1997
  17. E. A. Lee and D. G. Messerschmitt, 'Static Scheduling of Synchronous Dataflow Programs for Digital Signal Processing,' IEEE Transactions on Computers, January, 1987
  18. PeaCE: Ptolemy extension as Codesign Environment, http://peace.snu.ac.kr