DOI QR코드

DOI QR Code

LLVM 기반의 임베디드 시스템 성능 분석기의 연구

A Study of LLVM-based Embedded System Performance Analyzer

  • 조두산 (순천대학교 전자공학과)
  • 투고 : 2021.12.31
  • 심사 : 2022.01.08
  • 발행 : 2022.01.31

초록

새로운 임베디드 시스템을 개발할 때 응용 프로그램과 에뮬레이터, 그리고 컴파일러를 동시에 개발한다. 모든 시스템 구성요소의 성능을 최적으로 개발하기 위해서는 응용 프로그램 개발시 부분 최적화를 동시에 진행하여야 한다. 이를 위하여 소스 레벨 성능 분석기를 개발하면 응용 프로그램 소스 코드를 모듈별로 성능 평가하여 최적화하는 것이 가능하다. 일반적으로 응용 프로그램의 성능은 반복문에서 결정된다. 소스코드를 중간표현 (Intermediate Representation) 코드 생성기를 이용하여 변환하고, 변환된 중간 표현 단계의 명령어들로 실행시간을 분석 할 수 있다. 실행시간 성능 평가 결과를 바탕으로 응용 프로그램 코드를 개선하면 최종적으로 개발된 통합 플랫폼에서 더 나은 결과물을 얻을 수 있다. 본 연구에서는 새로운 임베디드 시스템의 개발중에 응용 프로그램을 동시 개발하는 과정에서 사용 가능한 소스 레벨 성능 분석기에 대하여 기술하고 있다. 성능 분석기를 사용하면 최종 임베디드 시스템의 성능을 보다 빠르게 최적화하는 것이 가능하게 된다.

For developing a new embedded system, an application program/an emulator and a compiler are developed simultaneously. In order to provide the optimal performance of all system components, local optimization should be carried out for the developing process. For this purpose, if a source-level performance analyzer is developed, it is possible to optimize the application program's source code by the performance evaluation. In general, the performance of an application program is determined in the loop iterations. The Intermediate Representation (IR) code generator generates IR code from the source code, and evaluates the execution time with the instructions in the intermediate representation code. If the source code is improved based on the evaluated result, better results can be obtained in the final application code. This study describes the source-level performance analyzer that can be used during the simultaneous development of the new embedded system and its application programs. The performance analyzer makes it possible to more quickly optimize the performance of the new embedded system.

키워드

참고문헌

  1. Online : https://llvm.org/
  2. D. Cho, "A Study on Improvement of Low-power Memory Architecture in IoT/edge Computing," Journal of the Korean Society of Industry Convergence, Vol. 24, No. 1, pp. 69-77, Feb. 2021. DOI: https://doi.org/10.21289/KSIC.2021.24.1.69
  3. J. Yoon, D. Cho, "A spill data aware memory assignment technique for improving power consumption of multimedia memory systems," Multimedia Tools and Applications, Vol. 78, No. 5, pp. 5463-5478, Mar. 2019. DOI: https://doi.org/10.1007/s11042-018-6783-x
  4. J. Cho, J. Yoon and D. Cho, "Improvement Energy Efficiency for a Hybrid Multibank Memory in Energy Critical Applications," Technical gazette, vol.27, no. 6, pp. 1946-1955, 2020.
  5. J. Yoon, D. Cho, "Improving memory system performance for multimedia applications," Multimedia Tools and Applications, Vol. 76, No. 4, pp. 5951-5963, 2017. DOI: https://doi.org/10.1007/s11042-015-2807-y
  6. J. Cho, J. Lee, D. Cho, "Efficient memory design for medical database," Basic & Clinical Pharmacology & Toxicology, Vol. 125, pp. 198, July. 2019.
  7. J. Cho, J. Lee, D. Cho, "Low-End Memory Subsystem Optimization Process," International Journal of Smart Home, Vol. 13, No. 2, pp. 11-16, Oct. 2019. DOI: http://dx.doi.org/10.21742/ijsh.2019.13.2.02
  8. J. Cho, D. Cho,, Y. Kim "Study on LLVM application in Parallel Computing System," The Journal of the Convergence on Culture Technology, Vol. 5, No. 1, pp. 395-399, Feb. 2019. https://doi.org/10.17703/JCCT.2019.5.1.395
  9. J. Cho, D. Cho, "Development of a Prototyping Tool for New Memory Subsystem," International Journal of Internet, Broadcasting and Communication, Vol. 11, No. 1, pp. 69-74, Jan. 2019. https://doi.org/10.7236/IJIBC.2019.11.1.69
  10. D. Cho, "Study on Memory Performance Improvement based on Machine Learning," The Journal of the Convergence on Culture Technology, Vol. 7, No. 1, pp. 615-619, Feb. 2021. https://doi.org/10.17703/JCCT.2021.7.1.615
  11. D. Cho, "Memory Design for Artificial Intelligence," International Journal of Internet, Broadcasting and Communication, Vol. 12, No. 1, pp. 90-94, Dec. 2020. DOI: https://doi.org/10.7236/IJIBC.2020.12.1.90