DOI QR코드

DOI QR Code

Code Visualization Approach for Low level Power Improvement via Identifying Performance Dissipation

성능 저하 식별을 통한 저전력 개선용 코드 가시화 방법

  • 안현식 (홍익대학교 전자전산공학과) ;
  • 박보경 (홍익대학교 전자전산공학과) ;
  • 김영철 (홍익대학교 소프트웨어융합학과) ;
  • 김기두 (한국정보통신기술협회 디지털인프라팀)
  • Received : 2020.07.22
  • Accepted : 2020.09.01
  • Published : 2020.10.31

Abstract

The power consumption and performance of hardware-based mobile and IoT embedded systems that require high specifications are one of the important issues of these systems. In particular, the problem of excessive power consumption is because it causes a problem of increasing heat generation and shortening the life of the device. In addition, in the same environment, software also needs to perform stable operation in limited power and memory, thereby increasing power consumption of the device. In order to solve these issues, we propose a Low level power improvement via identifying performance dissipation. The proposed method identifies complex modules (especially Cyclomatic complexity, Coupling & Cohesion) through code visualization, and helps to simplify low power code patterning and performance code. Therefore, through this method, it is possible to optimize the quality of the code by reducing power consumption and improving performance.

높은 사양이 필요한 하드웨어 기반의 모바일 및 IoT 임베디드 시스템은 저전력과 성능에 중요한 이슈를 갖고 있다. 이는 전력 소비로 발열량 증가 및 기기의 수명 단축 문제가 발생된다. 이러한 환경에서 소프트웨어도 제한된 전력, 메모리 등에서 안정적인 동작을 수행해야하므로 디바이스의 소비전력이 증가한다. 이를 해결하고자, 코드 관점에서 성능을 저하시키는 모듈을 식별하고, 그 모듈의 전력 최소화를 통한 성능 개선 가시화 방법을 제안한다. 이는 코드 가시화를 통해 복잡한 모듈(특히 Cyclomatic complexity, Coupling & Cohesion)을 식별하고, 저전력 코드 패턴화와 성능 코드를 간결화 한다. 이런 코드로 소비전력을 감소 및 성능 개선 함으로써 코드의 품질을 최적화 할 수 있다.

Keywords

References

  1. A. Vetro, L. Ardito, G. Procaccianti, and M. Morisio, "Definition, Implementation and Validation of Energy Code Smells: an Exploratory Study on an Embedded System," The Third International Conference on Smart Grids, pp.34-39, 2013.
  2. Jae-Wuk Lee, Doohwan Kim, and Jang-Eui Hong, "Code Refactoring Techniques Based on Energy Bad Smells for Reducing Energy Consumption," KIPS Tr. Software and Data Eng. Vol.5, No.5, pp.209-220, 2016. https://doi.org/10.3745/KTSDE.2016.5.5.209
  3. HyunSik Ahn, WonYoung Lee, and R. Young Chul Kim, "Guideline of extracting Low Power-Consumpted Code Mechanism with Power Consumption in High-Level Code," 2019 ICT Platform 2019, pp.15-18, 2019.
  4. Bo Kyung Park, Geon-Hee Kang, Hyun Seung Son, Byung- Kook Jeon, and R. Young Chul Kim, "Code Visualization for Performance Improvement of Java Code for Controlling Smart Traffic System in the Smart City," Applied Sciences, Vol.10, Issue 8, pp.1-22, 2020.
  5. 강건희, 박보경, 장우성, 황준순, 권하은, 이한솔, 이현준, 김영철, 소프트웨어 성능 가시화를 위한 툴 체인 개발, KCSE 2016, Vol. 18, No.1, pp.395-398, 2016.
  6. Source Navigator NG. http://sourcenav.sourceforge.net/
  7. Graphviz, http://www.graphviz.org/
  8. CppCheck http://cppcheck.sourceforge.net/
  9. Bo Kyung Park, Byungkook Jeon, and R. Young Chul Kim, "Improvement Practices in the Performance of a CPS Multiple-Joint Robotics Simulator," Applied Sciences, Vol.10, pp.185-198, 2019. https://doi.org/10.3390/app10010185