ETRI-Knowledge Sharing Plaform

KOREAN
연구보고서 검색
Type Funding Org. Research Org.
Year ~ Keyword

Detail

Web 기반 어플리케이션 최적화 가상 머신 가속 엔진 개발 (최종)
Download 59 time
Participants
박민, 김천수, 어익수, 유현규, 강동우, 한선호, 최장홍, 구본태, 김덕환, 이자열
Published
201704
Type
Final Report
Keyword
웨어러블 디바이스, WoT, Web of Things
Funding Org.
산업통상자원부
Research Org.
한국전자통신연구원
Project Code
16PB1600, Development of Optimized Virtual Machine Acceleration Engine for Web Application Platform, Koo Bon Tae
Abstract
□ 핵심기술
o 웹 어플리케이션 실행속도와 전력효율 최적화를 위한 자바스크립트 가상머신 가속화 알고리즘
o 자바스크립트 가상머신 가속엔진 시뮬레이터 및 최적화 설계코드
o 자바스크립트 엔진 프로파일링 및 전력효율 측정 도구

□ 최종목표
o Web 어플리케이션 실행속도(<16.7ms)와 전력효율(<1W) 최적화를 위한 멀티코어 CPU 기반 가상머신(JS엔진) SW/HW IP 기반 가속화 기술 개발
- Web App 실행속도와 전력효율 최적화 위한 자바스크립트 가속 엔진 SW/HW IP
- 자바스크립트 가속엔진 성능 프로파일링, 전력 측정용 도구
- 자바스크립트 가속엔진 검증 위한 FPGA 플랫폼 시스템
- Web of Things (WoT) 응용 시스템 개발

□ 개발내용 및 결과
개발기술, 제품에 대한 기술적인 원리, 연구내용 등 설명
o 가상머신 자바스크립트엔진의 가속화 SW/HW 기술
- 컴파일 오버해드를 감소하여 가속화하는 ATOC(Ahead-of-Time Compilation) 구조
- 가상머신 가속엔진의 인라인 캐싱 구조
- Concurrent 파싱 및 컴파일 기술 이용한 병렬화 기술
- 실행 코드 Snapshot 기법 이용한 고속 로딩 기술

o 가상머신 자바스크립트엔진 성능 및 에너지효율 개선기술
- Built-in Object API 기반 SW/HW IP 기술
- 웹과 연산서버 Off-loading 기술
- Snapshot을 이용한 Web Migration/Offloading 기술
- WoT(Web of Things) 환경에서 웹 플랫폼 가속 최적화

o 자바스크립트 엔진 프로파일링 분석 및 전력 측정 도구 개발
- SW 병목지점 및 전력 과다지점 추적 및 분석
- 자바스크립트엔진 프로파일링 및 전력 측정 시스템
- 자바스크립트엔진 프로파일링 및 전력 측정 시스템

o 가상머신 가속엔진 플랫폼 개발 환경 구축
- 자바스크립트 엔진 시뮬레이션을 위한 SW 플랫폼 구축
- 가상머신 SW/HW 가속엔진 시뮬레이션 플랫폼 보드 개발 및 시스템 구축

□ 기술개발 배경
기술개발의 필요성 및 의의를 포함한 연구배경, 개발동기 등
o 연구 배경
- 글로벌 웹 표준인 HTML5 기반의 웹 플랫폼이 부각되고 있었으며, 별도의 다운로드 없이 앱과 같은 기능을 실시간으로 처리하며, 안드로이드나 iOS와 같은 다양한 기종에서 모든 사용자를 끌어들일 수 있다는 장점이 있음

o 기술 개발의 필요성 및 개발동기
- HTML5기반의 웹 앱은 안드로이드나 iOS 전용 앱에 비해 성능이 떨어지며, 속도가 느려 복잡한 앱을 구현할 수 없는 문제점을 극복하여 웹 앱의 선도 필요
- HTML5 기반의 웹 플랫폼에서 자바스크립트 및 렌더링(Rendering) 처리하는 프로세싱이 실행시간의 대부분을 차지하고 있으며, 렌더링은 GPU HW를 통해 가속화를 실현하지만 자바스크립트엔진은 SW적으로 해결하며, 가속화 방안이 활발하지 않음
- 따라서, 웹 플랫폼에서 웹 앱을 처리하는데 많은 실행시간이 소요되는 자바스크립트를 네이티브 앱에 버금가는 성능과 모바일 웹에서 요구되는 전력효율 개선을 위한 자바스크립트 가상머신 가속엔진 최적화 구조 개발이 핵심 연구가 됨
- 사물인터넷(IoT) 애플리케이션과 서비스 개발자 네트워크를 확대하려는 노력의 일환으로 삼성전자가 '제리스크립트(Jerryscript)'라는 자바스크립트 엔진과 'IoT.js'라는 서비스프레임워크를 오픈소스로 공개(‘15.7)
* 램 용량은 64킬로바이트(KB), 롬 용량도 200KB
- 덕테입(duktape), MuJS, 타이니JS(tiny-js)같은 유사 프로젝트나 IoT 영역에서 루아(Lua)같은 타 언어등이 출현됨
- 구글의 크롬 브라우저와 안드로이드 브라우저는 V8 자바스크립트 엔진을 사용하며, 바이트코드(bytecode)로 컴파일하거나 인터프리트(interpret)하는 대신 실행하기 전 직접적인 기계어(x86, ARM, 또는 MIPS)로 컴파일(compile)하여 성능을 향상시키고, 추가적인 속도향상을 위해 인라인 캐싱(inline caching)과 같은 최적화 기법을 적용
- 애플이 사파리에 사용되는 오픈소스 브라우저 엔진'웹킷(WebKit)'에서 웹어셈블리(C++ 같은 언어에 적합하게 컴파일할 수 있도록 설계된 저수준 바이러니 포맷)를 완전하게 지원하기로 함(‘17.6)
* 구글과 마이크로소프트, 모질라 등 다른 주요 브라우저 개발 업체 지원
- 자바스크립트를 판단하기 위해 제트스트림(JetStream),이제 지원이 중단된 옥태인(Octane) 2.0,선스파이더(SunSpider) 1.0.2 벤치마킹 도구를 사용

□ 핵심개발 기술의 의의
신규개발 여부, 이전 모델의 업그레이드 여부, 개발난이도, 국 산화 정도, 해외기술 도입을 통한 개발여부, 기술수출 가능성
o 신규개발: Built-in object API 개발로 가속화 및 표준화 실현
* built-in object API 기반 SW/HW IP기술
(국내표준 2건, 국외표준 MPEG-IoMT분과 WD추진, 기고서 7건)
o 이전모델의 업그레이드 : inline caching 확장, parallel parsing 확장, AoTC기술 등을 통한 자바스크립트엔진 가속화 방안제시 (국내외논문=26건, SCI논문=4건)
o 원천성 및 기술수출 가능성
■ 기존의 자바스크립트엔진에 제안하는 Built-in object API 기반으로 SW IP/ HW IP 구현을 가능하게 하였으며, javasc ript SW기반의 처리성능에 비해 2~10배이상의 처리성능을 향상시킴
■ offloading 기술과 snapshot기반 web migration 기술로 웹플랫폼 N-screen 달성
■ 스마트글래스의 WoT 응용분야에 적용

□ 적용 분야
- Web of Things(WoT) 제품에 활용
(예: 스마트글래스, 위치인식 시스템, N-Screen, 얼굴인식,제스처인식등의 인식분야)

( 출처 : 최종보고서초록 - 3. 개발결과 요약 11p )