http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
자바 복합 내장형 시스템을 위한 Just-in-Time 컴파일러
이재목(Jaemok Lee),김진철(Jin-Chul Kim),김성무(Sung-Moo Kim),신진우(Jin-Woo Shin),정동헌(Dong-Heon Jeong),문수묵(Soo-Mook Moon),이상규(Sang-Gyu Lee),박종목(Jong-Mok Park) 한국정보과학회 2006 한국정보과학회 학술발표논문집 Vol.33 No.1
내장형 시스템에서 많이 채택되고 있는 자바 가상 머신의 성능을 향상시키기 위해 interpreter, just-intime 컴파일러 (JITC), ahead-of-time 컴파일러 (AOTC) 세가지 방식을 모두 지원하는 자바 가상 머신을 설계하고 구현하였다. 특히 이런 환경을 지원하기 위한 효율적인 JITC와 시스템의 idle 시간에 JITC 모듈을 활용하기 위한 client-AOTC의 설계와 구현에 대해 살펴보고 현재까지의 실험 결과를 보고한다.
캐시 프로파일을 활용한 향상된 소프트웨어 파이프라인 스케쥴링
이석영(Seok-Young Lee),이재목(JaeMok Lee),문수묵(Soo-Mook Moon) 한국정보과학회 2009 한국정보과학회 학술발표논문집 Vol.36 No.2B
복잡한 제어흐름의 루프(loop)는 명령어 병렬화뿐 아니라 캐쉬(cache) 최적화에도 많은 어려움을 준다. 향상된 파이프라인 스케쥴 기법(Enhanced Pipeline Schedule)은 명령어 레벨의 병렬화를 루프 수준에서 실현하는 소프트웨어 파이프라이닝 기법으로, 제어흐름(control flows)의 모양과는 상관없이 루프의 병렬화를 수행할 수 있는 강점을 가진다. 본 논문에서는 캐쉬 프로파일링(profiling) 정보를 EPS에 반영하여 복잡한 구조의 루프에서 명령어 병렬화와 캐쉬 최적화를 함께 해낼 수 있는 방안을 모색해 보고자한다. 이를 위해 캐쉬미스가 빈번한 로드명령어의 정보를 가지고 로드(load)와 유즈(use) 명령어가 서로 먼 위치에 스케쥴되도록 스케쥴링 휴리스틱(heuristic)을 구현하였다. SPEC2000 벤치마크 중에 EPS가 적용 가능하고, 캐쉬미스(cache miss)가 빈번히 일어나는 루프들을 선정하여 실험해본 결과 평균 12%의 명령어 정체 감소와 평균 2.5% 가량의 전체 성능향상을 얻었다.
자바 Ahead-of-Time 컴파일러에서의 효율적인 예외처리 방법
정동헌(Dong-Heon Jung),박종국(JongKuk Park),이재목(Jaemok Lee),배성환(SungHwan Bae),문수묵(Soo-Mook Moon) 한국정보과학회 2005 한국정보과학회 학술발표논문집 Vol.32 No.2
자바는 이식성과 보안의 장점으로 인하여 내장형 시스템에서 널리 사용되고 있으나 인터프리터를 통한 바이트코드의 수행으로 인하여 성능이 저하되는 문제를 포함하고 있다. 이를 해결하기 위한 한 방법으로 수행시간 전에 바이트코드를 기계어 코드로 미리 번역하여 수행시간에는 기계어 코드가 수행되도록 하는 Ahead-of-Time 컴파일러 (AOTC)가 사용되고 있다. 특히 바이트코드를 C 코드로 변환한 다음 기존의 컴파일러를 이용하여 기계어 코드를 생성하는 방식을 많이 택하고 있다. 본 논문에서는 AOTC에서 효율적인 예외처리 (exception handling) 기법을 제안한다. 기존의 AOTC 에서는 예외를 발생하는 메쏘드와 예외를 처리하는 메쏘드가 다른 경우 setjmp/longjmp를 이용하여 예외처리를 수행하고 있으나 우리는 메쏘드 호출 후의 예외 검사를 통해 예외처리를 수행한다. 우리는 제안된 예외처리 방법은 Sun의 CDC 가상 머신을 위해 개발된 AOTC 에 구현되었으며 SPECjvm98 벤치마크에서의 실험을 통해 setjmp/longjmp 방식에 비해 1.3%에서 154%까지의 성능향상이 가능함이 확인되었다.
박종국(JongKuk Park),정동헌(Dong-Heon Jung),배성환(SungHwan Bae),이재목(Jaemok Lee),문수묵(Soo-Mook Moon) 한국정보과학회 2005 한국정보과학회 학술발표논문집 Vol.32 No.2
우리는 내장형 시스템에서 자바의 성능 문제를 해결하기 위해 수행시간 이전에(ahead-of-time) 자바 바이트코드를 기계어 코드로 변환하는 AOTC를 개발하였다. 우리가 개발한 AOTC는 자바 클래스 파일을 읽어서 C코드로 변환한 후에 이를 C컴파일러로 컴파일하는 방식으로 동작한다. 이러한 방법으로 짧은 기간안에 하드웨어 아키텍처에 종속적이지 않으면서도 안정적인 고성능의 자바 실행 환경을 구축할 수 있었다. 본 논문에서는 AOTC의 전체 구조에서부터 C코드를 생성하는 방법 및 예외 처리와 쓰레기 수집기(GC)를 지원하기 위한 방법들에 대해서 다룬다. 또한, C컴파일러에 의한 최적화의 한계를 극복하기 위해 자바에 특화된 최적화를 AOTC에 포함하였는데 이에 대해서도 설명한다. 우리의 AOTC를 Sun Microsystems의 J2ME CDC VM인 CVM위에 적용해본 결과 벤치마크에 따라서 평균 5~14배의 성능 향상을 관찰 할 수 있었다.