Proceedings of the Korean Information Science Society Conference (한국정보과학회:학술대회논문집)
- 2007.10c
- /
- Pages.530-535
- /
- 2007
- /
- 1598-5164(pISSN)
Research of Call Overheads Between Java Ahead-of-Time Compiler and Interpreter
자바 Ahead-of-Time 컴파일러와 해석기 간의 호출 오버헤드에 관한 연구
- Kim, Ik-Hyun (School of Electrical Engineering of Seoul National University) ;
- Jung, Dong-Heon (School of Electrical Engineering of Seoul National University) ;
- Oh, Hyung-Sk (School of Electrical Engineering of Seoul National University) ;
- Moon, Soo-Mook (School of Electrical Engineering of Seoul National University)
- Published : 2007.10.26
Abstract
내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다. 그리고 두 호출 인터페이스의 장점을 살릴 수 있는 새로운 호출 인터페이스를 제안하고자 한다.
Keywords