프로파일을 이용한 부분 인라이닝 최적화 방법

Title
프로파일을 이용한 부분 인라이닝 최적화 방법
Authors
김재진문수묵
Issue Date
2010-12-16
Publisher
한국과학기술연구원; 서울대학교산학협력단
Abstract
본 발명은 프로파일을 이용한 부분 인라이닝 최적화 방법에 관한 것으로서, 보다 구체적으로는 (1) LLVM 중간 코드에 대하여 프로파일을 수행하는 단계; (2) LLVM에서 호출하는 함수에 포함되는 기본 블록을 파악하여, 시작 블록에서 바로 종료 블록을 호출하는지 여부를 판단하는 단계; (3) 시작 블록에서 바로 종료 블록을 호출하는 경우, 상기 프로파일 정보를 통해 경로의 수행 횟수를 파악하여 상기 경로가 핫 패스인지를 판별하는 단계; 및 (4) 상기 경로가 핫 패스일 경우 상기 경로 부분을 분할하여 부분 인라이닝 최적화를 적용하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.본 발명에서 제안하고 있는 프로파일을 이용한 부분 인라이닝 최적화 방법에 따르면, LLVM에서 호출하는 함수를 여러 기본 블록(Basic Block)으로 분할하되, 시작 블록(entry block)에서 곧바로 함수의 끝인 종료 블록(exit block)을 호출 하는 경로가 핫 패스(hot path)일 경우, 또는 시작 블록에서 몇 블록 떨어져 있지 않은 종료 블록으로 향하는 경로에 핫 패스가 존재하는 경우에, 핫 패스 부분을 분할하여 호출함수에 인라이닝 되도록 하는 방식으로 부분 인라이닝 최적화를 구현함으로써 최적화의 효율을 혁신적으로 향상시킬 수 있다.또한, 본 발명에 따른 프로파일을 이용한 부분 인라이닝 최적화 방법은, LLVM 프로파일러를 활용하여 LLVM 중간 코드에 프로파일을 수행한 뒤, 프로파일 결과를 바탕으로 시작 블록에서 바로 종료 블록으로 향하는 경로가 핫 패스인지 여부를 확인하거나, 또는 종료 블록으로 향하는 경로의 빈도를 정확히 측정하여 핫 패스를 추출함으로써, 부분 인라이닝의 부작용을 최소화할 수 있다.
URI
Go to Link
Appears in Collections:
KIST Patent > 2010
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE