• Title/Summary/Keyword: 자바 다중 스레드 프로그램

Search Result 7, Processing Time 0.019 seconds

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

Design of Translator for generating Java Bytecode in Distributed environment from Thread code of Multithreaded Models (다중스레드 모델의 스레드 코드를 분산환경에서 실행 가능한 자바 바이트 코드로 변환하기 위한 번역기 설계)

  • 김기태;조선문;고훈준;이갑래;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.49-51
    • /
    • 2001
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립거인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하여 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 분산된 환경에 적합한 언어이기 때문에 본 논문에서 제안한 번역기에 의해 다중스레드 모델의 스레드 코드를 자바 언어로 변환한 후 자바의 원격 매소드 호출을 이용하여 다중스레드 모델의 스레드 코드를 분산된 환경에서 처리하였다. 본 논문은 다중스레드 코드가 로컬 컴퓨터에서 여러 스레드를 생성하여 처리하던 것을 자바의 원격 메소드 호출을 이용하여 분산된 환경에서 실행 가능하도록 한다. 다중스레드 모델의 스레드 코드를 분산 환경에서 실행 가능한 자바 바이트 코드로 변환하는 번역기를 설계, 구현한다.

An Effective Dual Threaded Java Processor Core (효율적인 이중 스레드 자자 프로세서 핵심)

  • 정준목;김신덕
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.700-702
    • /
    • 1998
  • 자바(Java)의 수행 성능을 향상시키기 위한 방법으로 자바 프로세서가 제안되었다. 그러나 현재의 자바 프로세서는 자바 가상 머신(Java Virtual Macjine)의 구조만을 고려한 것이다. 본 논문에서는 기존 자바 프로세서의 성능을 향상시키는 자바 프로그래밍에서 사용되는 다중스레드를 직접 지원하는 새로운 자바 프로세서인 동시 다중스레드 자바 칩(Simultaneous Multithreaded Java Chip SMTJC)을 제안한다. SMTJC은 두 개의 독립적인 스레드를 동시에 수행함으로써, 자바 프로그램에서의 명령어 수준 병렬성(Instruction level parallelism)을 향상시킨다. 다중스레드 수행을 위해 새로운 스택 캐쉬의 구조 및 운영 방법을 사용한다. JavaSim을 통한 시뮬레이션은 SMTJC 이 기존 자바 프로세서에 비해 이중 스택 캐쉬와 추가적 처리 유닛들로 인해 1.28~2.00의 전체적 수행 성능이 향상됨을 보여준다. 본 연구는 하드웨어와 소프트웨어의 상호 보안적인 기술적 경향을 배경으로 자바의 언어적 특성을 고려한 프로세서를 설계, 지원함으로써 자바 프로세서의 성능 향상을 도모하고 있다.

  • PDF

Transform Nested Loops into MultiThread in Java Programming Language for Parallel Processing (자바 프로그래밍에서 병렬처리를 위한 중첩 루프 구조의 다중스레드 변환)

  • Hwang, Deuk-Young;Choi, Young-Keun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.8
    • /
    • pp.1997-2012
    • /
    • 1998
  • It is necessary to find out the parallelism in tlle sequential Java program to execute it on the parallel machine. The loop is a fundamental source to exploit parallelism as it process a large portion of total execution time in sequential Java program on the parallel machine. However, a complete parallel execution can hardly be achieved due to data dependence. This paper proposes the method of exploiting the implicit parallelism by structuring a dependence graph through the analysis of data dependence in the existing Java programming language having a nested loop structure. The parallel code generation method through the restructuring compiler and also the translation method of Java source program into multithread statement. which is supported by the Java programming language itself, are proposed here. The perforance evaluatlun of the program translaed into the thread statement is conducted using the trip cunt of loop and the trip Count of luop and the thread count as parameters The resttucturing compiler provides efficient way of exploiting parallelism by reducing manual overhead conveliing sequential Java program into parallel code. The execution time for the Java program as a result can be reduced un the parallel machine.

  • PDF

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

  • 김기태;유원희
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • 2002.06a
    • /
    • pp.148-155
    • /
    • 2002
  • Multithreaded models improve the efficiency of parallel systems by combining inner parallelism, asynchronous data availability and the locality of von Neumann model. This model executes thread code which is generated by compiler and of which quality is given by the method of generation. But multithreaded models have the demerit that execution model is restricted to a specific platform. On the contrary, Java has the platform independency, so if we can translate from threads code to Java bytecode, we can use the advantages of multithreaded models in many platforms. Java executes Java bytecode which is intermediate language format for Java virtual machine. Java bytecode plays a role of an intermediate language in translator and Java virtual machine work as back-end in translator. But, Java bytecode which is translated from multithreaded models have the demerit that it is not secure. This paper, multhithread code whose feature of platform independent can execute in java virtual machine. We design and implement translator which translate from thread code of multithreaded code to Java bytecode and which check secure problems from Java bytecode.

  • PDF

Exploration of Functional Parallelism using threads (스레드를 이용한 함수 병렬성 추출)

  • 김현철;이성우;류시룡;유기영
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10c
    • /
    • pp.633-635
    • /
    • 2000
  • 본 논문에서는 프로그램을 루프 구조에 근거하여 계층적으로 표현한 HTG (Hierarchical Task Graph)의 복합 노드 태스크들을 공유 메모리 다중처리기 환경에서의 효율적 수행을 위한 새로운 스케쥴링 기법을 제안한다. 단일처리기의 멀티스레드 구조를 비롯한 여러 플랫폼에 적용하기 위해 자바의 스레드를 사용하여 구현하였으며, 기존의 HTG의 함수 병렬성을 위한 비티 벡터 알고리즘과 성능을 비교 분석하였다. 실험 결과에서 보듯이, 제안된 기법이 비트 벡트 방법에 비해 수행 시간 측면에서 효율적임을 알 수 있으며 또한, 좋은 부하 균형을 유지하였다.

  • PDF

The Design and Implementation of Automata-based Testing Environments for Multi-thread Java Programs (Java 다중 스레드 프로그램을 위한 오토마타 기반 테스팅 환경의 설계 및 구현)

  • 서희석;정인상;김병만;권용래
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.12
    • /
    • pp.883-894
    • /
    • 2002
  • Classical deterministic testing controls the execution of concurrent programs based on the equivalence between specifications and programs. However, it is not directly applicable to a situation in which synchronization sequences, being valid but infeasible, are taken into account. To resolve this problem, we had proposed automata-based deterministic testing in our previous works, where a concurrent program is executed according to one of the sequences accepted by the automaton recognizing all sequences semantically equivalent to a given sequence. In this paper, we present the automata-based testing environment for Java multi-thread programs, and we design and implement "Deterministic Executor" in the testing environment. "Deterministic Executor" transforms a Java multi-thread program by applying automata-based deterministic testing, the transformed program presents testing results. "Deterministic Executor" uses "Automata Generator", which generates an equivalent automaton of a test sequence, and "Replay Controller", which controls the execution of programs according to the sequence accepted by the automaton. By illustrating automata-based testing procedures with a gas station example, we show how the proposed approach does works in a Java multi-threaded program.roach does works in a Java multi-threaded program.