• Title/Summary/Keyword: 자바 가상 머신

Search Result 102, Processing Time 0.032 seconds

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

  • Kim, Jae-Jin;Jung, Dong-Heon;Kim, Su-Hyun;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06c
    • /
    • pp.560-565
    • /
    • 2010
  • 가상 머신은 중간코드로 컴파일 되어 한 프로그램을 여러 플랫폼에서 수행 가능하게 한다. 이러한 가상 머신에는 이미 널리 알려진 썬 마이크로시스템즈의 자바 가상 머신과 구글의 안드로이드 플랫폼의 달빅 가상 머신 그리고 애플이 지원하는 LLVM 등이 있으며, 파이어폭스의 TraceMonkey, 구글 크롬의 v8, 사파리의 SquirrelFish Extreme 같은 자바스크립트 엔진도 일종의 가상 머신으로 볼 수 있다. 가상 머신은 필연적으로 성능 저하를 동반하게 되는데, 이는 가상 머신의 주요 이슈 중 하나이다. 본 논문에서는 간단한 벤치마크를 통해서 이들 가상 머신간의 성능을 비교하고, 각 가상 머신의 특징을 알아본다. LLVM은 여러 단계에 걸친 컴파일 전략으로 JIT 컴파일을 사용하였을 때 높은 성능을 보이나 JIT 컴파일을 사용하지 않았을 경우는 매우 낮은 성능을 보인다. 달빅 가상 머신은 인터프리터 모드에서 자바 가상 머신 보다 조금 나았으나, 아직 개발된 지 얼마 되지 않아 JIT 컴파일러가 없다는 것이 약점이다. 자바스크립트 엔진들은 동적 언어인 자바스크립트를 지원하는 특성상 최적화를 적용하지 못해 비교적 낮은 성능을 보였다.

  • PDF

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

  • Won, Hee-Sun;Bae, Yu-Suk;Lee, Ji-Hyun;Moon, Kyung-Duk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11b
    • /
    • pp.1639-1642
    • /
    • 2002
  • 자바가상머신은 제한적인 자원을 갖는 내장형 시스템에서 기업용 서버에 이르기까지 다양한 플랫폼에서 사용되고 있으므로, 각 플랫폼과 응용분야에 최적화된 자바가상머신을 만드는 것은 중요하다. 본 논문에서는 자바가상머신 스펙 1.2 를 지원하도록 구현한 자바가상머신의 전체적인 구조와 주요 부분의 구현 내용을 설명하고, 다양한 플랫폼과 응용 분야에 따라 최적화된 자바가상머신을 생성하기 위하여 자바가상머신 내부의 핵심 데이터 구조와 모듈을 재구성하는 연구 방향에 대해서도 소개한다.

  • PDF

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

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

  • PDF

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

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

  • PDF

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

  • Seo, Young-Jun;Lee, Sung-Young;Song, Young-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11c
    • /
    • 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 (내장형 실시간 기반 자바가상머신 개발을 위한 컴포넌트 모델에 관한 연구)

  • Seo, Young-Jun;Ko, Jong-Won;Lee, Sung-Young;Song, Young-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05c
    • /
    • pp.1813-1816
    • /
    • 2003
  • 최근 이동내장형 시스템 기술이 차세대 정보통신 산업의 주력으로 급부상함에 따라 다양한 이기종 제품간의 호환성과 이식성 제공의 핵심 역할을 수행하는 자바가상머신(Java Virtual Machine)이 주목 밭고 있다. 가상머신을 컴포넌트 기반 소프트웨어 기술을 사용하여 구축한다면, 재사용과 재구성이 용이해 저렴하고 신뢰성 있는 가상러신 개발이 가능해진다. 이러한 이유로 인하여, 자원이 제한된 내장형 실시간 시스템 개발사용에 적합한 컴포넌트 모델의 필요성이 동시에 증대되고 있다. 따라서, 본 논문에서는 기존에 제안된 내장형 실시간 컴포넌트 보델인 PBO(Port-Based Object) 모델을 내장형 실시간 환경에서 수행되는 자바가상머신에 적합하도록 개선하여 증가된 신뢰성과 감소된 시스템 복잡도를 갖는 자바가상머신 시스템을 제안하였다.

  • PDF

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

  • 김효남
    • Journal of the Korea Society of Computer and Information
    • /
    • v.6 no.4
    • /
    • pp.100-103
    • /
    • 2001
  • The best solution to improve the execution speed of Java program is to make use of the high speed JVM(Java Virtual Machine). The performance of JVM depends on the difference of its implementation. One of the technologies to enhance JVM performance is a JIT(Just-in-Time) code generator. The JIT code generator transforms Java byte code to the native machine code in accordance with computer system platform. The native machine code is faster than the existing interpreter method, since it can reduce the time to analyze the Java byte code. But the JIT code generator have the problem of increasing the traffic between stack and register because of using many register. Therefore, this paper suggests how to reduce the traffic by applying the policy of stack allocation to JIT code generation, as one of the methods to enhance the performance of JVM.

  • PDF

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

  • Lee, Ji-Hyun;Won, Hee-Sun;Moon, Kyung-Doek;Kim, Young-Kuk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11b
    • /
    • pp.1387-1390
    • /
    • 2002
  • 자바가상머신은 플랫폼에 독립적인 실행을 위해서 바이트코드라고 하는 스택(stack) 기반의 가상 기계어를 사용하므로 실행 속도가 느리다는 단점이 있다. 특히 루프문을 포함하는 자바프로그램을 자바가상머신에서 수행 시키면 루프에 관련된 몇 개의 동일한 바이트코드가 루프의 실행 횟수만큼 반복적으로 인터프리트해서 수행하므로 상당한 성능 저하를 유발한다. 본 논문에서는 이런 비효율적인 성능상의 문제점을 개선하기 위해 루프를 수행하는 새로운 바이트코드를 정의 및 구현하고, 이를 실제 클래스 파일에 적용하기 위한 코드 변경 절차와 방법을 제시한다. 제안된 바이트코드를 사용해서 루프의 처리 속도를 개선할 경우, 클래스 파일의 크기를 줄일 수 있을 뿐만 아니라 간단한 성능 평가를 통해서 자바가상머신의 성능 개선 효과를 확인할 수 있다.

  • PDF

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

  • Son, Jae-Woong;Kim, Young-Pill;Yoo, Hyuck
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.11a
    • /
    • pp.1475-1478
    • /
    • 2005
  • 최근 다양한 내장형 시스템에서 이식성, 신뢰성, 재사용성에서 장점을 가지는 자바가 많이 사용되고 있다. 또한, 내장형 시스템 환경에서 서비스들에 대한 사용자의 요구와 하드웨어 플랫폼이 다양해지고 있다. 내장형 시스템의 플랫폼과 사용자 요구가 다양해짐에 따라 이를 효율적으로 반영하기 위하여 자바 가상 머신의 동적 재구성이 필요하다. 그러나 기존의 자바 가상 머신 재구성에 관한 연구는 컴포넌트 기반 재구성 방법이 대부분이고 이 방법은 컴포넌트의 일부분이 교체될 때 오버헤드가 발생한다. 따라서 본 연구에서는 기존 연구의 단점을 해결할 수 있는 동적 재구성이 가능한 자바 가상 머신 모델을 제안한다.

  • PDF

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

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

  • PDF