Program Execution Speed Improvement using Executable Compression Method on Embedded Systems

임베디드 시스템에서 실행 가능 압축 기법을 이용한 프로그램 초기 실행 속도 향상

  • 전창규 (아주대학교 전자공학과) ;
  • 류경식 (아주대학교 전자공학과) ;
  • 김용득 (아주대학교 전자공학과)
  • Received : 2011.12.01
  • Accepted : 2012.01.02
  • Published : 2012.01.25

Abstract

The performance improvement of the secondary storage is very slow compared to the main memory and processor. The data is loaded from secondary storage to memory for the execution of an application. At this time, there is a bottleneck. In this paper, we propose an Executable Compression Method to speed up the initial loading time of application. and we examined the performance. So we implemented the two applications. The one is a compressor for Execution Binary File. and The other is a decoder of Executable Compressed application file on the Embedded System. Using the test binary files, we performed the speed test in the six files. At the result, one result showed that the performance was decreased. but others had a increased performance. the average increasing rate was almost 29% at the initial loading time. The level of compression had different characteristics of the file. And the performance level was dependent on the file compressed size and uncompress time. so the optimized compression algorithm will be needed to apply the execution binary file.

주 기억 장치인 메모리의 전송 속도와 프로세서의 처리 성능 향상에 비해 보조 기억 장치의 속도 향상은 매우 느리다. 응용프로그램의 실행을 위해서는 보조 저장 장치에서 메모리로의 적재 과정을 거쳐야 하며 이 구간에서 병목현상이 발생한다. 본 논문은 응용 프로그램의 초기 적재 시간의 감소를 위하여 실행 가능한 압축 기법을 구현하고 이의 성능 향상 정도를 실험하였다. 이를 위해서 퍼스널 컴퓨터 상에서 실행하는 실행 바이너리 파일 압축기와 임베디드 환경에서 실행되는 압축 해제기를 각각 구현하였다. 파일의 크기가 다른 6개의 테스트 바이너리 파일을 이용하여 실험한 결과 파일의 크기가 작아 성능이 감소한 경우를 제외하고 평균 약 29%의 프로그램 초기 실행 시간이 감소되었다. 각 파일의 특성에 따라 압축률이 다르고 성능 향상 정도가 다르기 때문에 해당 파일의 특성에 최적화된 압축 알고리즘의 적용이 필요할 것으로 보인다.

Keywords

References

  1. 우장복, 최병창, 서효중, "임베디드 시스템을 위한 효율적인 메모리 압축 기법", 한국정보과학회 제32 회 추계학술발표회 논문집, Vol.32, No.2(I), 871-873쪽, 2005.
  2. 장영준 외, "임베디드 운영체제 보안 기술 동향", 전자통신동향분석, 제 23권 제1호, 1-11쪽, 2008. 2.
  3. E.-h.Yang and J. C. Kieffer, "On the redundancy of the fixed database Lempel-Ziv algorithm for mixing sources.", IEEE Trans. Inform. Theory, vol.43, pp. 1101-1111, July 1997. https://doi.org/10.1109/18.605570
  4. P. Deutsch, "Deflate Compressed Data Format Specification version", Internet RFC 1951, Networking Working Group, May 1996.
  5. 김인홍, 강진구, 이인환, "임베디드 시스템에서의 메모리 압축 스왑 기법", 한국정보과학회 2010 한국컴퓨터 학술발표논문집, 제37권 제2호(B), pp. 304-308, 2010. 11.
  6. "Ultimate Packer for eXecutables Overview". http://upx.sourceforge.net/