Skip to main content
QUICK REVIEW

[논문 리뷰] Inferring Energy Bounds Statically by Evolutionary Analysis of Basic Blocks

Umer Liqat, Zorana Banković|arXiv (Cornell University)|2016. 01. 12.
Evolutionary Algorithms and Applications인용 수 1
한 줄 요약

이 논문은 기본 블록을 분석하고 진화 알고리즘을 활용하며 제어 흐름을 고려한 정적 분석을 통해 임베디드 프로그램의 날카운 에너지 상한 및 하한을 추론하기 위한 파rametric하고 정적인 방법을 제안한다. 이 방법은 입력 크기에 따라 변하는 에너지 상한 함수를 생성하며, 이는 에너지 예산 검증 및 최적화에 대해 정밀하고 안전한 결과를 제공한다. 이는 XMOS와 같은 마이크로프로세서에서 유용하다.

ABSTRACT

We are currently witnessing an increasing number of energy-bound devices, including in some cases mission critical systems, for which there is a need to optimize their energy consumption and verify that they will perform their function within the available energy budget. In this work we propose a novel parametric approach to estimating tight energy bounds (both upper and lower) that are practical for energy verification and optimization applications in embedded systems. Our approach consists in dividing a program into basic (branchless) blocks, establishing the maximal (resp. minimal) energy consumption for each block using an evolutionary algorithm, and combining the obtained values according to the program control flow, using static analysis, to produce energy bound functions. Such functions depend on input data sizes, and return upper or lower bounds on the energy consumption of the program for any given set of input values of those sizes, without running the program. The approach has been tested on XMOS chips, but is general enough to be applied to any microprocessor and programming language. Our experimental results show that the bounds obtained by our prototype tool can be tight while remaining on the safe side of budgets in practice.

연구 동기 및 목표

  • 제한된 전력 자원을 가진 임베디드 시스템에서 에너지 예산 검증에 대한 점점 증가하는 수요를 해결하기 위해.
  • 실행 시간이 아닌 입력 데이터 크기의 변동을 고려한 정밀한 정적 에너지 상한을 제공하기 위해.
  • 다양한 마이크로프로세서와 프로그래밍 언어에 일반화 가능한 방법을 개발하기 위해.
  • 상한과 하한이 날카우면서도 보수적인 방식으로 유지되어 신뢰할 수 있는 에너지 최적화 및 검증을 지원하기 위해.

제안 방법

  • 정밀한 에너지 분석을 위해 프로그램을 분기 없는 명령어 시퀀스인 기본 블록으로 나누기.
  • 각 기본 블록에 대해 최대 및 최소 에너지 소비를 계산하기 위해 진화 알고리즘을 사용하기.
  • 프로그램의 제어 흐름 구조에 따라 블록 수준의 에너지 상한을 조합하기 위해 정적 분석 적용하기.
  • 입력 데이터 크기에 따라 달라지는 에너지 상한 함수를 구성하고 상한/하한 에너지 값을 반환하기.
  • 실제 사용에 적합한 수준에서 가능한 한 날카롭게 유지하면서도 안전한(보수적인) 상한을 확보하기.
  • XMOS 마이크로프로세서에서 접근법을 검증하여 다른 아키텍처로의 일반화 가능성을 입증하기.

실험 결과

연구 질문

  • RQ1기본 블록의 진화적 분석이 임베디드 프로그램에 대해 날카우면서도 안전한 에너지 상한을 도출할 수 있는가?
  • RQ2정적 분석은 블록 수준의 에너지 추정치를 얼마나 정확하게 조합하여 전체 프로그램의 에너지 소비를 반영할 수 있는가?
  • RQ3유추된 에너지 상한 함수는 입력 데이터 크기에 얼마나 의존하며, 보수적인 성격을 유지하는가?
  • RQ4이 방법은 다양한 마이크로프로세서와 프로그래밍 언어로 일반화될 수 있는가?

주요 결과

  • 프로토타입 도구는 에너지 예산 준수를 보장하는 날카우면서도 안전한 에너지 상한 함수를 생성한다.
  • 이 방법은 프로그램 실행 없이도 상한 및 하한 에너지 상한을 성공적으로 추론한다.
  • XMOS 칩에서의 실험 결과는 실제 상황에서 에너지 예산의 안전한 측면을 유지함을 확인한다.
  • 이 방법은 어떤 마이크로프로세서와 프로그래밍 언어에도 적용 가능한 일반성과 충분한 유연성을 지닌다.
  • 진화 알고리즘이 기본 블록의 극단적인 에너지 소비 값을 효과적으로 식별한다.
  • 제어 흐름을 고려한 정적 조합 기법은 블록 수준 상한을 글로벌 에너지 함수로 정확하게 집계할 수 있다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.