• 제목/요약/키워드: 자바 가상 머신

검색결과 102건 처리시간 0.043초

가상 머신간 성능 비교 (A Performance Comparison of Various Virtual Machines)

  • 김재진;정동헌;김수현;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(C)
    • /
    • pp.560-565
    • /
    • 2010
  • 가상 머신은 중간코드로 컴파일 되어 한 프로그램을 여러 플랫폼에서 수행 가능하게 한다. 이러한 가상 머신에는 이미 널리 알려진 썬 마이크로시스템즈의 자바 가상 머신과 구글의 안드로이드 플랫폼의 달빅 가상 머신 그리고 애플이 지원하는 LLVM 등이 있으며, 파이어폭스의 TraceMonkey, 구글 크롬의 v8, 사파리의 SquirrelFish Extreme 같은 자바스크립트 엔진도 일종의 가상 머신으로 볼 수 있다. 가상 머신은 필연적으로 성능 저하를 동반하게 되는데, 이는 가상 머신의 주요 이슈 중 하나이다. 본 논문에서는 간단한 벤치마크를 통해서 이들 가상 머신간의 성능을 비교하고, 각 가상 머신의 특징을 알아본다. LLVM은 여러 단계에 걸친 컴파일 전략으로 JIT 컴파일을 사용하였을 때 높은 성능을 보이나 JIT 컴파일을 사용하지 않았을 경우는 매우 낮은 성능을 보인다. 달빅 가상 머신은 인터프리터 모드에서 자바 가상 머신 보다 조금 나았으나, 아직 개발된 지 얼마 되지 않아 JIT 컴파일러가 없다는 것이 약점이다. 자바스크립트 엔진들은 동적 언어인 자바스크립트를 지원하는 특성상 최적화를 적용하지 못해 비교적 낮은 성능을 보였다.

  • PDF

자바 가상 머신의 개발 및 활용 (Development of Java Virtual Machine and its Use)

  • 원희선;배유석;이지현;문경덕
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 추계학술발표논문집 (중)
    • /
    • pp.1639-1642
    • /
    • 2002
  • 자바가상머신은 제한적인 자원을 갖는 내장형 시스템에서 기업용 서버에 이르기까지 다양한 플랫폼에서 사용되고 있으므로, 각 플랫폼과 응용분야에 최적화된 자바가상머신을 만드는 것은 중요하다. 본 논문에서는 자바가상머신 스펙 1.2 를 지원하도록 구현한 자바가상머신의 전체적인 구조와 주요 부분의 구현 내용을 설명하고, 다양한 플랫폼과 응용 분야에 따라 최적화된 자바가상머신을 생성하기 위하여 자바가상머신 내부의 핵심 데이터 구조와 모듈을 재구성하는 연구 방향에 대해서도 소개한다.

  • PDF

실시간 속성 중심의 자바가상머신 명세도구의 설계 및 구현 (A Tools for Specification of Real-time Property centric Java Virtual Machine Components)

  • 고종원;송영재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.257-260
    • /
    • 2004
  • 임베디드 시스템에 탑재될 자바가상머신을 기능별 모듈로 컴포넌트화 하여 이식될 플랫폼의 요구사항에 맞추어 재구성한다면 컴포넌트 기술의 장점인 소프트웨어의 재사용과 재구성을 통한 빠르고 신뢰성있는 자바가상머신 개발이 가능하다. 이러한 자바가상머신 컴포넌트 재구성을 위한 컴포넌트 모델의 정의 및 명세를 위한 지원도구가 필요하며, 명세도구의 지원 하에 보다 시각적인 컴포넌트 구성 및 각 명세요소 정의를 바탕으로 한 자바가상머신 컴포넌트의 재구성에 요구되는 여러 제약조건이나 각 컴포넌트 간의 관계정의 등이 명세 되어질 수 있다. 또한 임베디드 시스템이 가지는 실시간 속성에 대해서 정의하여 이를 명세도구를 통해서 속성명세 및 설계 시에 예측성을 지원하기 위한 WCET 계산이나 우선순위 정의 등을 명세할 수 있다. 따라서, 본 논문에서는 명세방법을 제안하고 실시간 속성 중심의 자바가상머신 컴포넌트 명세도구를 설계하고 구현하였으며, 기존에 제안된 내장형 실시간 컴포넌트 개발 도구와 비교하였다.

  • PDF

다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하기 위한 번역기 설계 (Design of Translator for generating Java Bytecode from Thread code of Multithreaded Models)

  • 김기태;이갑래;양창모;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.68-70
    • /
    • 2000
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상 시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정 되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립적인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하면 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 원시 언어를 중간 언어 형태의 바이트 코드로 변환하여 각 아키텍처에 맞게 설계된 자바 가상 머신이 설치된 시스템에서 자바 언어를 수행한다. 이러한 자바 언어의 바이트 코드는 번역기의 중간 언어와 같은 역할을 수행하고, 자바 가상 머신은 번역기의 후위부와 같은 역할을 한다. 본 논문은 다중스레드 코드가 플랫폼에 독립적인 특성을 갖출 수 있도록 다중스레드 코드를 자바 가상 머신에서 실행 가능하도록 한다. 즉, 다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하는 번역기를 설계, 구현하고, 자바 가상 머신의 실행을 분석한다.

  • PDF

컴포넌트기반 자바가상머신 개발 툴셋 설계 (A Design of Toolset for Component-based Java Virtual Machine Development)

  • 서영준;이승룡;송영재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 추계학술발표논문집 (하)
    • /
    • pp.2075-2078
    • /
    • 2002
  • 최근 이동내장형 시스템 기술이 차세대 정보통신 산업의 주력으로 급부상함에 따라 다양한 이기종 제품간의 호환성과 이식성 제공의 핵심 역할을 수행하는 자바가상머신(Java Virtual Machine)이 주목받고 있다. 가상머신을 컴포넌트 기반 소프트웨어 기술을 사용하여 구축한다면, 재사용과 재구성이 용이해 저렴하고 신뢰성 있는 가상머신 개발이 가능해진다. 이러한 이유로 인하여, 컴포넌트기반 내장형 실시간 시스템을 효과적이고 체계적으로 개발하고 검증하기 위한 개발 툴셋의 중요성도 동시에 증대되고 있다. 따라서 본 논문에서는 PBO(Port-Based Object) 모델을 확장하여 자바가상머신 컴포넌트들을 툴셋에서 제공하는 구성 툴에 의해 조립과 검사를 수행하며, 빠르게 재사용성과 신뢰성을 지원하는 자바가상머신을 개발할 수 있는 환경를 제안한다.

  • PDF

내장형 실시간 기반 자바가상머신 개발을 위한 컴포넌트 모델에 관한 연구 (A Study on Component Model for Java Virtual Machine Development based on Embedded Real-Time)

  • 서영준;고종원;이승룡;송영재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 춘계학술발표논문집 (하)
    • /
    • pp.1813-1816
    • /
    • 2003
  • 최근 이동내장형 시스템 기술이 차세대 정보통신 산업의 주력으로 급부상함에 따라 다양한 이기종 제품간의 호환성과 이식성 제공의 핵심 역할을 수행하는 자바가상머신(Java Virtual Machine)이 주목 밭고 있다. 가상머신을 컴포넌트 기반 소프트웨어 기술을 사용하여 구축한다면, 재사용과 재구성이 용이해 저렴하고 신뢰성 있는 가상러신 개발이 가능해진다. 이러한 이유로 인하여, 자원이 제한된 내장형 실시간 시스템 개발사용에 적합한 컴포넌트 모델의 필요성이 동시에 증대되고 있다. 따라서, 본 논문에서는 기존에 제안된 내장형 실시간 컴포넌트 보델인 PBO(Port-Based Object) 모델을 내장형 실시간 환경에서 수행되는 자바가상머신에 적합하도록 개선하여 증가된 신뢰성과 감소된 시스템 복잡도를 갖는 자바가상머신 시스템을 제안하였다.

  • PDF

JIT Code Generator 상의 스택할당 정책 적용에 관한 연구 (A study of the stack allocation policy on JIT Code Generator)

  • 김효남
    • 한국컴퓨터정보학회논문지
    • /
    • 제6권4호
    • /
    • pp.100-103
    • /
    • 2001
  • 자바프로그램의 실행속도를 빠르게 하는데 있어서 가장 좋은 방법은 빠른 자바가상머신(JVM : Java Virtual Machine)을 사용하는 것이다. 자바가상머신의 성능은 구현 차이에 따라 성능차이가 많이 난다. 자바가상머신을 구현하는데 있어서 가장 중요한 성능 향상의 기술은 JIT(Just-in-Time) 코드 생성기(Code Generator)이다. JIT 코드 생성기는 자바 바이트 코드를 플랫폼에 맞는 native machine code로 변환해 준다. 이 native code들은 자바가상머신에서 각 바이트 코드를 분석하는데 걸리는 시간을 단축할 수 있기 때문에 기존의 방식보다 빠르게 동작한다. 그러나 JIT 코드 생성기는 많은 레지스터를 사용하기 때문에 스택과 레지스터간의 traffic이 가중되는 문제가 있다. 그러므로 본 논문에서는 자바가상머신의 성능 향상을 위한 방안으로 효율적인 stack allocation 정책을 JIT 코드 생성기에 적용하여 레지스터와의 traffic을 감소시킬 수 있는 방안을 제시하였다.

  • PDF

루프 바이트코드의 정의를 통한 자바가상머신의 성능 개선 (A Definition of Loop Byteocode for Performance Improvement of Java Virtual Machine)

  • 이지현;윈희선;문경덕;김영국
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 추계학술발표논문집 (중)
    • /
    • pp.1387-1390
    • /
    • 2002
  • 자바가상머신은 플랫폼에 독립적인 실행을 위해서 바이트코드라고 하는 스택(stack) 기반의 가상 기계어를 사용하므로 실행 속도가 느리다는 단점이 있다. 특히 루프문을 포함하는 자바프로그램을 자바가상머신에서 수행 시키면 루프에 관련된 몇 개의 동일한 바이트코드가 루프의 실행 횟수만큼 반복적으로 인터프리트해서 수행하므로 상당한 성능 저하를 유발한다. 본 논문에서는 이런 비효율적인 성능상의 문제점을 개선하기 위해 루프를 수행하는 새로운 바이트코드를 정의 및 구현하고, 이를 실제 클래스 파일에 적용하기 위한 코드 변경 절차와 방법을 제시한다. 제안된 바이트코드를 사용해서 루프의 처리 속도를 개선할 경우, 클래스 파일의 크기를 줄일 수 있을 뿐만 아니라 간단한 성능 평가를 통해서 자바가상머신의 성능 개선 효과를 확인할 수 있다.

  • PDF

동적 인스트루먼테이션을 이용한 자바 가상 머신 재구성 모델 (Reconfigurable Java Virtual Machine Model Using Dynamic Instrumentation)

  • 손재웅;김영필;유혁
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 추계학술발표대회 및 정기총회
    • /
    • pp.1475-1478
    • /
    • 2005
  • 최근 다양한 내장형 시스템에서 이식성, 신뢰성, 재사용성에서 장점을 가지는 자바가 많이 사용되고 있다. 또한, 내장형 시스템 환경에서 서비스들에 대한 사용자의 요구와 하드웨어 플랫폼이 다양해지고 있다. 내장형 시스템의 플랫폼과 사용자 요구가 다양해짐에 따라 이를 효율적으로 반영하기 위하여 자바 가상 머신의 동적 재구성이 필요하다. 그러나 기존의 자바 가상 머신 재구성에 관한 연구는 컴포넌트 기반 재구성 방법이 대부분이고 이 방법은 컴포넌트의 일부분이 교체될 때 오버헤드가 발생한다. 따라서 본 연구에서는 기존 연구의 단점을 해결할 수 있는 동적 재구성이 가능한 자바 가상 머신 모델을 제안한다.

  • PDF

소형 기기들을 위한 자바가상머신의 성능향상을 위한 캐시의 설계 및 구현 (A Design and Implementation of a Cache for the Performance Improvement of Java Virtual Machine for Small Devices)

  • 백대현;류현수;이정원;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.679-681
    • /
    • 2004
  • 최근 들어 IT 산업이 급속도로 발전하면서, 리소스가 제한된 작은 기기들의 사용이 비약적으로 증가하는 추세에 있다. 이러한 임베디드 시스템이나 모바일 시스템과 같이 자원이 제한적인 기기들에 자바 환경을 적용하기 위해서 연구가 지속적으로 이루어지고 있다. 많은 기업들은 이러한 기기들에 실행되는 작은 크기의 Java$^{TM}$ Virtual Machine 구현하기 위해 CLDC(Connected, Limited Device Configuration) 표준에 기초하여 자바 가상 머신을 설계하고 구현한다. 작은 크기의 자바 가상머신은 크기뿐만 아니라, 속도 또한 중요한 요소 중 하나이다 본 논문에서는 Sun 의 CLDC를 준수하는 자바 가상 머신의 속도 향상과 파워(Power) 절감 방법 중 하나인 캐시(Cache)를 설계하고 구현한 내용을 기술한다.

  • PDF