Publications

Detailed Information

프로파일 정보를 기반으로 하는 동적 바이너리 변환의 간접 분기문 처리 최적화 : Profile-based Indirect Branch Handling for Dynamic Binary Translation

DC Field Value Language
dc.contributor.advisor문수묵-
dc.contributor.author심명보-
dc.date.accessioned2017-07-14T02:48:40Z-
dc.date.available2017-07-14T02:48:40Z-
dc.date.issued2013-02-
dc.identifier.other000000008341-
dc.identifier.urihttps://hdl.handle.net/10371/122919-
dc.description학위논문 (석사)-- 서울대학교 대학원 : 전기·컴퓨터공학부, 2013. 2. 문수묵.-
dc.description.abstract동적 바이너리 변환기는 소스 코드의 재컴파일 없이, 바이너리 파일만을 가지고 같거나 다른 ISA(Instruction Set Architecture)에서 수행하는 에뮬레이션 기술이다. 정적 바이너리 변환기에서 처리하지 못하는 여러 가지 문제점을 해결할 수 있다는 장점이 있지만, 프로그램의 수행 시간에 바이너리 파일의 명령어 번역이 일어나므로 수행 성능이 항상 문제가 된다. 수행 성능 저하의 요인으로는 많은 코드 생성 최적화를 적용할 수 없다는 점과, 레지스터 매핑, 간접 분기문의 처리 등 다양한 요인들이 있다. 그 중에서 수행 시간에 레지스터나 메모리에 저장된 주소로 분기하는 간접 분기문은 매 수행마다 타겟이 달라질 수 있으므로, 이를 처리하기 위해서는 많은 오버헤드를 유발한다. 고정된 타겟으로 분기하는 직접 분기문은 생성된 코드 사이에 직접 분기하는 반면, 간접 분기문은 생성된 코드와 동적 바이너리 변환기의 문맥 전환 및 매핑 테이블 검색 등의 오버헤드가 추가적으로 발생하기 때문이다.
간접 분기문을 효율적으로 처리하기위해서 많은 최적화 방안이 연구되었으며, 일반적으로 동적 바이너리 변환기에서 간접 분기문의 처리를 최적화하기 위해서는 타겟 주소 인라이닝 체인과 해시 테이블을 생성하는 방식을 사용한다. 먼저, 간접 분기문의 타겟 주소 중 일부를 인라이닝 체인을 형성해서 수행 시간에 간단한 비교 후 바로 타겟 주소로 점프하고, 실패할 경우에는 해시 테이블에 접근해서 타겟 주소를 검색하며, 이마저도 실패할 경우 동적 바이너리 변환기 엔진으로 돌아가서 처리하도록 한다. 따라서, 효율적인 간접 분기문 처리를 위해서는 타겟 주소 인라이닝의 대상 선택이 중요하다.
본 논문에서는 동적 바이너리 변환기의 간접 분기문 처리를 최적화하기 위해서, 효율적인 타겟 주소 인라이닝 대상 선택 방법을 제시한다. 프로그램 수행 초기 단계에 간접 분기문마다 타겟의 주소 리스트 및 수행 빈도를 프로파일링해서 관리하며, 이 정보를 인라이닝 대상을 선택하는데 활용한다. 제안된 방식을 측정하기 위한 실험을 하며, 실험에서 사용하는 동적 바이너리 변환기는 QEMU(Quick EMUlator)를 사용하고, 벤치마크는 SPEC CINT2006과 C버전으로 변환한 CaffeineMark를 사용해서 성능을 측정하였다. 제안된 방식의 성능을 평가하기 위해서 기존 연구에서 제안된 방식인, 인라이닝 대상을 순차적으로 선택하는 방법인 FIFO (First-In First-Out)방식과 비교한다. 제안된 방식을 적용한 결과 SPEC CINT2006에서는 3%, CaffeineMark에서는 2%의 성능 향상을 얻을 수 있었다. 인라이닝 체인 전체의 적중률은 각각 27%, 54%가 향상되었다. 특히, 인라이닝 체인의 첫 번째 타겟 주소의 적중률이 각각 20%, 40%가 향상되었다.
-
dc.description.tableofcontents제1장 서론 1
제2장 동적 바이너리 변환기 3
2.1 동적 바이너리 변환기 개요 3
2.2 동적 바이너리 변환기의 분기문 처리 과정 5
제3장 선행 연구 분석 8
3.1 해시 테이블 사용 8
3.2 타겟 주소 인라이닝 체인 생성 10
3.3 타겟 주소 인라이닝 체인과 해시 테이블을 혼합해서 사용 11
3.3.1 FIFO(First-in First-Out) 12
3.3.2 MRU(Most Recently Used) 13
제4장 새로운 타겟 주소 선택 알고리즘 제안 14
4.1 간접 분기문의 분석 14
4.2 새로운 알고리즘 제안 21
4.3 새로운 알고리즘의 환경 설정 변수들 23
4.3.1 프로파일링 횟수 23
4.3.2 인라이닝 체인의 길이 26
4.3.3 인라이닝 체인의 적용 여부 28
제5장 실험 결과 31
5.1 실험 환경 31
5.2 실험 결과 33
5.2.1 최적화를 적용하지 않았을 때와 비교 33
5.2.2 MRU 방식과 비교 35
5.2.3 FIFO 방식과 비교 37
제6장 결론 및 향후 과제 41
-
dc.formatapplication/pdf-
dc.format.extent1429840 bytes-
dc.format.mediumapplication/pdf-
dc.language.isoko-
dc.publisher서울대학교 대학원-
dc.subject동적 바이너리 변환기-
dc.subject간접 분기문-
dc.subject타겟 주소 인라이닝 체인-
dc.subject해시 테이블-
dc.subject.ddc621-
dc.title프로파일 정보를 기반으로 하는 동적 바이너리 변환의 간접 분기문 처리 최적화-
dc.title.alternativeProfile-based Indirect Branch Handling for Dynamic Binary Translation-
dc.typeThesis-
dc.contributor.AlternativeAuthorShim, Myeong-Bo-
dc.description.degreeMaster-
dc.citation.pages43-
dc.contributor.affiliation공과대학 전기·컴퓨터공학부-
dc.date.awarded2013-02-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share