Quantitative Analyses of System Level Performance of Dynamic Memory Allocation In Embedded Systems

내장형 시스템 동적 메모리 할당 기법의 시스템 수준 성능에 관한 정량적 분석

  • 박상수 (서울대학교 전기 컴퓨터공학부) ;
  • 신현식 (서울대학교 전기 컴퓨터공학부)
  • Published : 2005.12.01

Abstract

As embedded system grows in size and complexity, the importance of the technique for dynamic memory allocation has increased. The objective of this paper is to measure the performance of dynamic memory allocation by varying both hardware and software design parameters for embedded systems. Unlike torrent performance evaluation studies that have presumed the single threaded system with single address spate without OS support, our study adopts realistic environment where the embedded system runs on Linux OS. This paper contains the experimental performance analyses of dynamic memory allocation method by investigating the effects of each software layer and some hardware design parameters. Our quantitative results tan be used to help system designers design high performance, low power embedded systems.

내장형 컴퓨터의 규모가 커지고 기능이 복잡해짐에 따라 동적 메모리 할당 기법은 전체 시스템의 성능을 좌우하는 중요한 요인으로 등장하였다. 본 논문의 목적은 내장형 시스템에서 동적 메모리 할당 기법을 사용할 때 하드웨어, 소프트웨어 구성에 따른 성능을 측정하는데 있다. 기존의 연구가 운영체제를 탑재하지 않은 단일 스레드의 단일 메모리 주소 공간을 갖는 시스템을 대상으로 한 반면 본 논문은 실제 환경과 같이 리눅스 운영체제를 탑재한 내장형 시스템을 사용한다 이러한 시스템 기반에서 소프트웨어의 각 계층과 하드웨어 설계 인자의 변화에 따른 동적 메모리 할당의 수행시간을 실험적으로 분석하였다. 본 논문의 정량적인 성능분석 결과는 시스템 설계자에게 유용한 데이터를 제공함으로써 보다 효율적인 고성능 저전력 내장형 시스템의 구현을 가능하게 할 것이다.

Keywords

References

  1. Wolfgang A. Halang, and Alexander D. Stoyenko, Real-Time Computing, Springer-Verlag, 1992
  2. Isabelle Puaut, 'Real-Time Performance of Dynamic Memory Allocation Algorithms,' Proc. of Euromicro Conference on Real-Time Systems (ECRTS'02), Vienna, Austria, Jun. 2002
  3. Steven M. Donahue, and Matthew P. Hampton, Morgan Deters, Jonathan M. Nye, Ron K. Cytron, and Krishna M. Kavi, 'Storage Allocation for Real-Time, Embedded Systems,' Proc. of International Workshop on Embedded Software (EMSOFT'01), Tahoe City, CA, USA, Oct. 2001
  4. M. Masmano, I. Ripoll, and A. Crespo, 'Dynamic storage allocation for real-time embedded systems,' WIP Session International Real-Time Systems Symposium (RTSS'03), Cancun, Mexico, Dec. 2003
  5. M. Masmano, I. Ripoll, A. Crespo, and J. Real, 'TLSF: a new dynamic memory allocator for real-time systems,' Proc. of Euromicro Conference on Real-Time Systems (ECRTS'04), Catania, Italy, Jun. 2004 https://doi.org/10.1109/EMRTS.2004.1311009
  6. W. Wolf, Computers as Components: Principles of Embedded Computing System Design. Morgan Kaufmann, 2001
  7. J. A. Darringer, R. Bergamaschi, S. Bhattacharya, D. Brand, A. Herkersdorf, J. Morell, I. I. Nair, P. Sagmeister, and Y. Shin, 'Early analysis tools for system-on-a-chip design,' IBM Journal of Research and Development, vol. 6, no. 6, pp. 20 - 38, 2002
  8. Hyok-Sung Choi, and Hee-Chul Yun, 'Context Switching and IPC Performance Comparison between uClinux and Linux on the ARM9 based Processor,' Proc. Of SAMSUNG Tech Conference, 2005
  9. Dave Dice, and Alex Garthwaite, 'Mostly Lock-Free Malloc,' Proc of International Symposium on Memory Management (ISMM'02), Berlin, Germany, Jun. 2002
  10. Dirk Grunwald, Benjamin Zorn, and Robert Henderson, 'Improving the Cache Locality of Memory Allocation,' Proc. of ACM SIGPLAN Conference on Programming language design and implementation, Albuquerque, New Mexico, Jun. 1993 https://doi.org/10.1145/155090.155107
  11. Steve Furber, ARM System-on-Chip Architecture. Addison-Wesley, 2000
  12. S. Swan, 'An introduction to system-level modeling in SystemC 2.0,' Open SystemC Initiative, Tech. Rep., 2001
  13. ARM, 'Benchmarking with armulator,' Application Note, Mar. 2002
  14. R. Klein, K. Travilla, and M. Lyons, 'Performance estimation of MPEG-4 algorithms on arm based designs using co-verification,' Proc. Embedded Systems Conference, San Francisco, USA, 2002
  15. Tim Hopes, 'Hardware/Software Co-verification, an IP Vendors Viewpoint,' Proc. IEEE International Conference on Computer Design (ICCD'98), Austin, TX, Oct. 1998 https://doi.org/10.1109/ICCD.1998.727057
  16. Francesco Menichelli, Mauro Olivieri, Luca Benini, Monica Donno, and L. Bisdounis, 'A Simulation-Based Power-Aware Architecture Exploration of a Multiprocessor System-on-Chip Design,' Proc. Design, Automation and Test in Europe Conference and Exposition (DATE'04), Paris, France, Feb. 2004 https://doi.org/10.1109/DATE.2004.1269256
  17. http://www.eembc.org/
  18. Mathew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown, 'MiBench: A free, commercially representative embedded benchmark suite,' Proc. IEEE Annual Workshop on Workload Characterization, Austin, TX, Dec. 2001
  19. Emery D. Berget, B. G. Zorn, and K. S. McKinley, 'Reconsidering Custom Memory Allocation,' Proc. ACM Conference on Object-Oriented Programming Systems (OOPSLA'02), Seattle, WA. Nov. 2002 https://doi.org/10.1145/582419.582421
  20. Daniel P. Bovet, and Marco Cesati, Understanding the Linux Kernel 2nd Ediotion. O'Reilly, 2003
  21. J. B. Chen, and B. N. Bershad, 'The impact of operating system structure on memory system performance,' Proc. ACM Symposium on Operating System Principles (SOSP'93), Asheville, NC, Dec. 1993 https://doi.org/10.1145/168619.168629
  22. C. Lever, M. Eriksen, and S. Molloy, 'An Analysis of the TUX Web Server,' CITI U. of Michigan Technical Report, 2000
  23. E. G. Bradford, Runtime: High Performance Programming Techniques on Linux and Windows 2000. IBM Developer Works, 2001