• 제목/요약/키워드: JVM

검색결과 93건 처리시간 0.021초

JVM 플랫폼에서 .NET 프로그램을 실행하기 위한 MSIL-to-Bytecode 번역기의 설계 및 구현 (Design and Implementation of the MSIL-to-Bytecode Translator to Execute .NET Programs in JVM Platform)

  • 이양선;황대훈;나승원
    • 한국멀티미디어학회논문지
    • /
    • 제7권7호
    • /
    • pp.976-984
    • /
    • 2004
  • 마이크로소프트사는 .NET 플랫폼을 개발하면서 자바 언어에 대응하기 위해 C# 프로그래밍 언어를 만들었다. C#과 같은 .NET 언어로 작성된 프로그램은 컴파일 과정을 거치면서 MSIL 코드를 출력하기 때문에 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서는 실행이 되지 않는다. 자바는 썬 마이크로시스템즈사가 개발한 언어로서 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 하드웨어나 운영체제에 상관없이 실행이 가능한 플랫폼 독립적인 언어이다. 본 논문에서는 .NET 언어로 작성된 프로그램을 컴파일 하여 생성된 MSIL 코드를 자바의 중간 언어인 바이트코드 코드로 변환해 줌으로서 .NET 언어로 구현된 프로그램이 .NET 플랫폼 없이 자바의 플랫폼인 JVM에 의해 실행되도록 하는 MSIL-to-Bytecode 번역기를 설계하고 구현하였다. 이와 같은 작업이 프로그래머로 하여금 프로그래밍 언어의 제약 없이 응용 프로그램을 개발할 수 있는 환경을 제공한다.

  • PDF

MapReduce에서 Reuse JVM을 이용한 대규모 스몰파일 처리성능 향상 방법에 관한 연구 (A Study on the Improving Performance of Massively Small File Using the Reuse JVM in MapReduce)

  • 최철웅;김정인;김판구
    • 한국멀티미디어학회논문지
    • /
    • 제18권9호
    • /
    • pp.1098-1104
    • /
    • 2015
  • With the widespread use of smartphones and IoT (Internet of Things), data are being generated on a large scale, and there is increased for the analysis of such data. Hence, distributed processing systems have gained much attention. Hadoop, which is a distributed processing system, saves the metadata of stored files in name nodes; in this case, the main problems are as follows: the memory becomes insufficient; load occurs because of massive small files; scheduling and file processing time increases because of the increased number of small files. In this paper, we propose a solution to address the increase in processing time because of massive small files, and thus improve the processing performance, using the Reuse JVM method provided by Hadoop. Through environment setting, the Reuse JVM method modifies the JVM produced conventionally for every task, so that multiple tasks are reused sequentially in one JVM. As a final outcome, the Reuse JVM method showed the best processing performance when used together with CombineFileInputFormat.

자바가상기계에서 데이터 이동 분석 (Analysis of Data Transfers in Java Virtual Machine)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2005년도 춘계종합학술대회
    • /
    • pp.835-838
    • /
    • 2005
  • 스택 기반 구조를 갖는 자바가상기계(JVM)에서는 전체 동작의 상당 부분이 데이터 이동에 소요되는 것으로 알려지고 있다. 따라서 효율적인 JVM의 개발을 위해서는 JVM 내부에서 데이터가 어떻게 이동되는지를 분석할 필요가 있다. 본 논문에서는 오퍼랜드 스택, 지역변수배열, 힙, 그리고 상수 풀 사이에서 데이터의 이동에 대해 바이트코드 수준에서 분석 조사하였다.

  • PDF

이기종 클러스터의 JVM 기반 단일시스템이미지 구현 (A JVM based Implementation of a Single System Image for Heterogeneous Clusters)

  • 한동헌;김양우
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 추계학술발표논문집 (하)
    • /
    • pp.981-984
    • /
    • 2000
  • 지난 10년간 인터넷은 정보화 시대의 새로운 패러다임으로 사회 전반을 변화시켜 왔다. 네트워크 요청이 크게 증가하고 대량의 정보처리가 요구되면서 이 기간 동안 고성능 컴퓨팅 환경에 대한 연구가 활발하게 진행되었다. 낮은 가격과 높은 가용성을 유지하면서 고성능 컴퓨팅 환경을 제공하려는 노력은 클러스터링 기술을 발전시켰지만, 기존 클러스터 시스템들은 운영체제 및 하드웨어에 종속적이기 때문에 높은 확장성을 제공하지 못하였다. 또한 여러 대의 시스템이 연결되는 클러스터 시스템은 각각의 운영체제를 가지고 있지만, 시스템 전체 자원을 효율적으로 이용하기 위해서는 하나의 시스템 이미지를 가지고 작업을 처리해주는 단일시스템이미지(SSI) 제공이 필요하다. 기존의 SSI 제공 기술을 JVM(Java Virtual Machine) 계층을 기준으로 살펴보면, JVM 상위계층에서 구현된 SSI는 불완전하고, JVM 하위계층에서 구현된 SSI는 Java 자체의 성능 향상 기능을 활용하지 못하는 단점을 가진다. 이러한 단점들을 해결한 JVM 계층에서의 SSI가 구현되고 현재 연구가 진행중이지만, 이 역시 동기종 클러스터 시스템에 국한되어 있다. 본 논문에서는 클러스터 시스템의 SSI 구현 방법들을 각 구현 계층별로 비교하여 살펴보고, JVM을 기반으로 SSI를 제공함으로써 이기종 클러스터 시스템에까지 SSI를 확장, 제공하는 방안을 모색하고자 한다.

  • PDF

코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법 (A Technique to Analyze Heap Usage of Java Programs Using Code Inserting)

  • 주성용;조장우
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권2호
    • /
    • pp.29-36
    • /
    • 2007
  • 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러 인터페이스를 제공한다. 그러나 자바 가상기계 구현명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 따라서 프로파일러 인터페이스를 제공하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러는 이용할 수 없다. 이러한 문제를 해결하기 위해서 코드 삽입 기법을 이용해서 프로파일러 인터페이스를 사용하지 않고 힙 사용정보를 분석하는 기법을 제안한다. 제안한 방법을 검증하기 위해서 코드 삽입기를 구현하였다. 실험은 공개되고 자주 사용되는 자바 응용 프로그램을 대상으로 하였고, 실험결과는 대상 프로그램에서 생성된 객체의 수와 최대 할당된 객체의 수 그리고 객체의 사용형태를 보여준다.

  • PDF

Intermediate Language Translator for Execution of Java Programs in .NET Platform

  • Lee, Yang-Sun;Na, Seung-Won;Hwang, Dae-Hoon
    • 한국멀티미디어학회논문지
    • /
    • 제7권6호
    • /
    • pp.824-831
    • /
    • 2004
  • This paper presents the java bytecode-to-.NET MSIL intermediate language translator which enables the execution of the java program in .NET environments without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into MSIL codes. Java, one of the most widely used programming languages recently, is the language invented by James Gosling at Sun Microsystems, which is the next generation language independent of operating systems and hardware platforms. Java source code is compiled into bytecode as intermediate code independent of each platform by compiler, and also executed by JVM. .NET language such as C# and .NET platform in Microsoft Corp. has been developed to meet the needs of programmers, and cope with Java and JVM platform of Sun Microsystems. After compiling, a program written in .NET language is converted to MSIL code, and also executed by .NET platform but not in JVM platform. For this reason, we designed and implemented the java bytecode-to-.NET MSIL translator system for programs written in java language to be executed in the. NET platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides a environment for programmers to develop application programs without limitations of programming languages.

  • PDF

JVM 기반 스마트폰의 실시간성 지원 구조 (Implementation of Real-time Support in JVM-based Smartphone System)

  • 우영주;조정욱;서의성
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.506-509
    • /
    • 2011
  • Android는 스마트폰 시스템에서 사용되는 소프트웨어 플랫폼으로 JVM(Java Virtual Machine)을 기반으로 한다. JVM은 실시간성 지원을 고려하지 않은 기술이며 이를 기반으로 한 Android 또한 실시간성을 지원하기 위한 어떠한 방법도 가지고 있지 않다. 스마트폰 시스템을 통해 QoS를 보장하면서 멀티미디어 서비스를 제공하기 위해서는 JVM 기반의 시스템을 위한 실시간성 향상 기술이 필요하다. 본 연구에서는 기존의 안드로이드 시스템에 리눅스에서 제공하는 실시간 보장기능을 적용할 수 있도록 지원하는 크로스 레이어 구조를 제안한다. 이 구조를 통해 우리는 리눅스 커널에 존재하는 실시간 스케줄러를 사용하여 태스크가 실시간으로 실행될 수 있도록 지원한다. 또한 다양한 목적을 가진 어플리케이션이 공존하는 스마트폰 시스템에서 실시간성을 요구하는 어플리케이션에 대해 차별적으로 실시간성을 보장할 수 있다. 소프트 리얼타임 특성을 가지는 멀티미디어 태스크를 실시간 태스크로 실행하고 실제 스마트폰에서 실행시켰을 때 시스템에 높은 부하가 걸릴 때에도 합리적인 실시간 보장성을 얻을 수 있다. 음악을 재생한 실험에서는 1200개의 프로세스가 백그라운드 태스크로 실행되는 상황에서도 끊김을 느낄 수 없을 정도로 QoS를 보장성이 높은것을 확인 하였다. 본 연구에서 제안하는 실시간성 지원을 위한 크로스 레이어를 통해 스마트폰은 낮은 비용으로 기존의 어플리케이션을 변경하지 않으면서 실시간 특성을 지원할 수 있다.

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

임베디드 자바가상머신을 위한 가비지 콜렉션 설계 및 구현 (Design and Implementation of Garbage Collection Based On Embedded Java Virtual Machine)

  • 백대현;박희상;양희권;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (1)
    • /
    • pp.406-408
    • /
    • 2002
  • 자바의 가장 중요한 특성 중 하나는 플랫폼 독립성이다. 즉, 자바가상머신(Java Virtual Machine: JVM)이 탑재된 모든 플랫폼에서 운영체제의 종류와 상관없이 Java로 작성된 프로그램을 수행시킬 수 있다는 것이다. 이를 위해서는 각각의 플랫폼에 맞는 JVM이 적재되어야 한다. 본 논문에서 구현하게 될 가비지 콜렉션은 JVM의 성능을 좌우하는 중요한 요소이다. 가비지 콜렉션을 구현할 때 이용되는 알고리즘에는 여러 가지가 있다. 본 논문은 stop-copy와 마크-회수 알고리즘에 대해서 설명하고, 마크-회수 알고리즘을 개선한 마크-회수 압축 알고리즘을 이용한 가비지 콜렉션의 설계 및 구현한 내용을 기술하고 있다.

  • PDF

자바 언어를 위한 중간 언어 번역기 (Intermediate Language Translator for Jave Language)

  • 정지훈;박진기;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.537-540
    • /
    • 2003
  • 자바와 .NET 언어는 프로그래머들이 프로그램을 개발하는데 가장 널리 사용되고 있는 언어이다. 프로그래머가 작성한 자바 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성한 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 그러므로 자바 프로그래머는 .NET 플랫폼 환경에 맞추어 프로그래밍하지 못하고, .NET 프로그래머는 JVM 플랫폼 환경에 맞추어 프로그래밍하지 못하는 단점이 있다. 본 논문에서 연구한 Bytecode-to-MSIL 번역기는 위의 단점을 해결한 것이다. 먼저 자바로 작성된 프로그램을 컴파일하여 생성된 클래스 파일(*.class)로부터 Oolong 역어셈블러를 이용하여 Oolong 코드를 추출한다. 추출된 Oolong 코드를 본 논문에서 연구한 Bytecode-to-MSIL 번역기로 .NET의 중간언어인 MSIL 코드로 변환하여 .NET 어셈블러로 실행파일을 만들어 자바 언어로 구현된 프로그램이 .NET 환경에서도 실행될 수 있도록 한다. 따라서, 자바 프로그래머나 .NET 프로그래머는 JVM 이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다.

  • PDF