• Title/Summary/Keyword: JVM

Search Result 93, Processing Time 0.024 seconds

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

  • Lee, Yang-Sun;Whang, Dae-Hoon;Na, Seung-Won
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.7
    • /
    • pp.976-984
    • /
    • 2004
  • 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. 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. This paper presents the MSIL-to-Bytecode intermediate language translator which enables the execution of the program written in .NET language such as C or C# in JVM(Java Virtual Machine) environment, translating MSIL code produced by compiling .NET program into java bytecode. This work provides an environment for programmers to develop application programs without limitations of programming languages.

  • PDF

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

  • Choi, Chul Woong;Kim, Jeong In;Kim, Pan Koo
    • Journal of Korea Multimedia Society
    • /
    • v.18 no.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 (자바가상기계에서 데이터 이동 분석)

  • Yang, Hee-jae
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • v.9 no.1
    • /
    • pp.835-838
    • /
    • 2005
  • It is widely known that most operations performed in JVM belongs to data transfers at all times as JVM is based on abstract stack machine. Hence it is necessary to analyze the fashion of internal data transfers in JVM to develop a more efficient machine. We have analyzed in this paper the data transfer operations between operand stack, local variable array, heap, and constant pool in bytecode level.

  • PDF

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

  • Han, Dong-Hun;Kim, Yang-Woo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.10b
    • /
    • 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 (코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법)

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.29-36
    • /
    • 2007
  • In the Java a profiler interface such as JVM TI is provided for communication between a Java virtual machine and a profiler. The JVM TI specification, however does not require an implementation of a profiler interface. Consequently the JVM without an implementation of a profiler interface cannot use a profiler with the JVM TI. For solving the problem, we propose a technique which analyzes heap usage without a profiler interface. This technique inserts codes to extract heap usage into source files in the Java. We implemented a code inserter to verify the proposed technique. We experimented with Java programs that are frequently used and opened. the experimental result presents the number of created objects. the maximum number of allocated objects, and the used pattern of the objects.

  • PDF

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

  • Lee, Yang-Sun;Na, Seung-Won;Hwang, Dae-Hoon
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.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

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

  • Woo, Young-Joo;Cho, Jung-Wook;Seo, Eui-Seong
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.506-509
    • /
    • 2011
  • Android는 스마트폰 시스템에서 사용되는 소프트웨어 플랫폼으로 JVM(Java Virtual Machine)을 기반으로 한다. JVM은 실시간성 지원을 고려하지 않은 기술이며 이를 기반으로 한 Android 또한 실시간성을 지원하기 위한 어떠한 방법도 가지고 있지 않다. 스마트폰 시스템을 통해 QoS를 보장하면서 멀티미디어 서비스를 제공하기 위해서는 JVM 기반의 시스템을 위한 실시간성 향상 기술이 필요하다. 본 연구에서는 기존의 안드로이드 시스템에 리눅스에서 제공하는 실시간 보장기능을 적용할 수 있도록 지원하는 크로스 레이어 구조를 제안한다. 이 구조를 통해 우리는 리눅스 커널에 존재하는 실시간 스케줄러를 사용하여 태스크가 실시간으로 실행될 수 있도록 지원한다. 또한 다양한 목적을 가진 어플리케이션이 공존하는 스마트폰 시스템에서 실시간성을 요구하는 어플리케이션에 대해 차별적으로 실시간성을 보장할 수 있다. 소프트 리얼타임 특성을 가지는 멀티미디어 태스크를 실시간 태스크로 실행하고 실제 스마트폰에서 실행시켰을 때 시스템에 높은 부하가 걸릴 때에도 합리적인 실시간 보장성을 얻을 수 있다. 음악을 재생한 실험에서는 1200개의 프로세스가 백그라운드 태스크로 실행되는 상황에서도 끊김을 느낄 수 없을 정도로 QoS를 보장성이 높은것을 확인 하였다. 본 연구에서 제안하는 실시간성 지원을 위한 크로스 레이어를 통해 스마트폰은 낮은 비용으로 기존의 어플리케이션을 변경하지 않으면서 실시간 특성을 지원할 수 있다.

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

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

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

  • PDF

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

  • 정지훈;박진기;이양선
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2003.11b
    • /
    • 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