교수/연구 | Faculty/Research

연구실소개

가상머신 및 최적화 연구실

가상머신 및 최적화 연구실

Virtual Machine and Optimization Lab.

지도교수 : 문수묵 교수

연구분야 : 컴퓨터 및 VLSI 시스템

연구실 소개 자료 :



  • 연구실소개 및 연구분야
  • VMO (Virtual Machine and Optimization) 연구실은 컴파일러 기술을 기반으로 프로그래밍-언어-가상머신(programming language virtual machine)에 대한 연구를 하고 있습니다. 또한 webOS, Tizen 그리고 Android 와 같은 가상머신을 기반으로 한 소프트웨어 플랫폼의 성능 향상과 새로운 기능 확장을 연구하고 있습니다.

    현재 연구하고 있는 주제는 다음과 같습니다.

    (1) 자바(달빅) 가상머신, 자바스크립트 엔진에서의 가상머신 성능 최적화

    최근 프로그래밍 언어 분야에서는 가상머신을 기반으로 한 프로그래밍 언어가 대세를 이루고 있습니다. 대부분의 가상머신들은 바이트코드(bytecode)라 불리는 자체적인 명령어들을 가지고 있으며, 이러한 명령어들은 하드웨어에서 바로 수행되지 않고 소프트웨어의 에뮬레이션을 통해 동작하기 때문에 성능이 좋지 않습니다. 이러한 성능 문제를 보완하기 위해서 가상머신은 실제 프로그램 수행 전에 바이트코드를 하드웨어에서 직접 수행 가능한 형태인 머신 코드로 컴파일 합니다. 이러한 기법은 컴파일 시점에 따라 JITC (Just-In-Time Compilation) 또는 AOTC (Ahead-Of-Time Compilation)로 구분됩니다. 이 때 고성능 머신 코드를 효율적으로 생성하는 방법이 우리가 연구하는 주제 중의 하나입니다. 나아가 가상머신의 다른 부분들인 오브젝트 관리, 가비지 컬렉션, 예외 처리, 바이트코드의 구조를 최적화하는 방법에 대해서도 연구하고 있습니다.

    (2) 앱 로딩 시간 단축

    앱의 로딩 시간은 JITC와 같은 기존의 최적화 기법으로 개선하기 어렵습니다. 우리는 스냅샷이라는 새로운 개념을 이용해 앱의 로딩 시간을 단축하였습니다. 앱이 로딩될 때마다 같은 일을 수행한다면, 이미 로딩이 끝난 상태를 스냅샷이라는 파일로 저장하여 로딩 과정을 생략하고 스냅샷 파일로부터 바로 앱을 실행할 수 있습니다. 앱이 로딩될 때마다 반복해서 수행하는 일들에는 프레임워크 초기화, 앱 초기화 등이 있습니다. 이러한 초기화 작업들을 스냅샷으로 저장하여 산업에서 사용되고 있는 스마트 기기들에서 로딩 타임을 극적으로 단축시킬 수 있습니다.

    (3) 앱 마이그레이션

    다양한 스마트 기기에서 같은 플랫폼을 사용하는 사물인터넷 환경에서는 비디오, 오디오, 앱 등을 공유하기가 쉽습니다. 그러나 우리는 아직 우리가 공유할 수 있는 컨텐츠들이 정적인 수준에 그치고 있다고 생각하였습니다. 이보다 더 동적인 것, 예를 들면 앱의 동작 상태를 공유할 수는 없을까요? 이러한 생각으로 우리는 한 기기에서 동작하고 있던 앱을 끊임없이 이어서 다른 기기에서 동작하도록 하는 앱 마이그레이션(app migration)이라는 기술을 제안하였습니다. 앱 이동의 예로는 스마트폰에서 하고 있던 게임을 한 번의 슬라이드로 더 큰 화면을 가진 스마트 TV에서 그대로 이어서 하는 것이 있습니다. 이러한 기술은 협동적으로 동작하는 앱이나 앱의 오프로딩 등으로 확장될 수 있는 흥미로운 UX의 새로운 가능성을 제시합니다.

    우리는 이전 연구들에서 임베디드 펌웨어 상의 명령어 스케쥴링, DBI (Dynamic Binary Instrumentation) 에 관한 컴파일러 최적화 등을 다루었습니다. 이 분야는 컴파일러, 컴퓨터 구조, 운영체제가 교차하는 지점에 있으므로 이러한 지식들을 모두 아우르는 능력이 필요합니다. 우리는 시뮬레이션이나 벤치마크를 벗어나 실제 앱과 실제 기기에서의 결과를 중시합니다. 연구실에서는 IBM, Intel, Sun Microsystems, HP, SGI, Samsung, LG 와 같은 글로벌 기업들과 함께 일을 해왔으며, 지난 5년 동안 20개 이상의 연구와 프로젝트를 수행하였습니다.
  • 최근 관심분야 및 주요 연구과제
  • 우리 연구실은 IBM, SUN, INTEL, HP, 삼성전자, LG전자 등 이 분야의 국내 기업들과 많은 연구개발 프로젝트를 수행하여 왔다.

    ▶ 주요 연구과제
    - 스마트TV 실행 환경의 최적화 (삼성전자)
    - 디지털 TV 및 블루레이디스크 자바 최적화 (LG전자)
    - EPS를 이용한 데이터 캐쉬 최적화 (UIUC Gelato project - HP)
    - Inorder 수퍼스칼라 프로세서를 위한 명령어 스케쥴링 (Sun Microsystems)
    - LaTTe 공개소스 자바 가상 머신 프로젝트 (IBM Research)
    - EPIC 구조에서 명령어 수준의 병렬 처리를 위한 자바 JIT 컴파일러 (Intel)
  • 최근 주요 논문/특허
  • [1] JinSeok Oh, Soo-Mook Moon, "Snapshot-based Loading-Time Acceleration for Web Applications", 2015 International Symposium on Code Generation and Optimization (CGO), Feb 2015.
    [2] Hyeong-Seok Oh, Ji Hwan Yeo, Soo-Mook Moon, "Bytecode-to-C Ahead-of-Time Compilation for Android Dalvik Virtual Machine", Design, Automation & Test in Europe 2015 (DATE), Mar 2015.
    [3] JinSeok Oh, Jin-woo Kwon, Hyukwoo Park, Soo-Mook Moon, "Migration of Web Applications with Seamless Execution", The 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE), Mar 2015.
    [4] DONG-HEON JUNG, SOO-MOOK MOON, and HYEONG-SEOK OH, "Hybrid Compilation and Optimization for Java-Based Digital TV Platforms", ACM Transactions on Embedded Computing Systems, Vol. 13, No. 2, Jan 2014
    [5] Hyeong-Seok Oh, Soo-Mook Moon, Dong-Heon Jung, "Hybrid Java Compilation of Just-in-Time and Ahead-of-Time for Embedded Systems", Journal of Circuits, Systems, and Computers, Volume 21, Issue 2, April 2012
    [6] Seong-Won Lee, Soo-Mook Moon, "Selective Just-in-Time Compilation for Client-side Mobile JavaScript Engine", International Conference on Compilers, Architectures and Synthesis of Embedded Systems (CASES) 2011
    [7] DongHeon Jung and Soo-Mook Moon, "Hybrid Java Compilation and Optimization for Digital TV Software Platform", The International Symposium on Code Generation and Optimization (CGO) 2010

TOP