• Title/Summary/Keyword: 다중스레드 구조

Search Result 22, Processing Time 0.026 seconds

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

A Korean Morphological Analyzer Supports Multi-Threads (정보 검색용 다중 스레드 한국어 형태소 해석기)

  • Choi, Yoo-Kyung;An, Dong-Un;Chung, Sung-Jong
    • Annual Conference on Human and Language Technology
    • /
    • 2001.10d
    • /
    • pp.41-47
    • /
    • 2001
  • 본 논문에서는 한국어 형태소 해석기에 다중 스레드 기법을 도입하여 다중 처리가 가능하도륵 하였다. 기존의 여러 형태소 해석기들은 언어 분석에만 관심이 있었기 때문에 다량의 문서를 동시에 처리하는 기능을 고려하지 않았다. 그러나 형태소 해석기가 정보 검색 시스템 분야에서 사용되기 시작하면서, 다수의 사용자가 대량의 문서를 처리해야 하는 필요성이 생겼다. 스레드 간에는 메모리 영역과 같은 자원을 공유한다. 이러한 특징 때문에 자칫하면 예상치 못한 결과가 야기될 수 있다. 따라서, 다중 스레드 기법을 사용하기 위해서는 스레드의 특징을 고려한 조치가 필요하다 기존의 한국어 형태소 해석기의 소스 코드를 분석하여 자주 사용되는 전역 변수는 하나의 구조체로 구성하였다. 그리고 이러한 전역 변수와 크기가 큰 지역 변수를 사용할 때 메모리를 동적으로 할당하였다. 또한, 파일에서 입력값을 읽어오거나 파일에 결과값을 쓰는 등 여러 스레드가 접근할 때 값이 변경될 위험이 있는 부분은 조건 변수를 이용하여 동기화 시켰다. 구현된 시스템의 검증을 위하여, 단일 스레드 방식으로 순차적인 처리를 하는 원래의 형태소 해석기와 비교 실험을 실시하였다. 35Kbyte 문서 30개를 처리하는 경우, 다중 처리가 가능한 형태소 해석기가 단일 스레드 방식의 형태소 해석기보다 처리속도가 약 12% 향상되었다.

  • PDF

Unfolding Nested Loops of Functional Languages for Multithreaded Architectures (다중스레드 구조를 위한 함수형 언어의 중첩루프 펼침)

  • 하상호
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.11
    • /
    • pp.826-836
    • /
    • 2002
  • We need an enormous amount of memories for name spaces as well as additional processors if we are to effectively exploit a massively parallelism in nested loops of functional languages such as Id. If there is no sufficient amount of memories enough to exploit that parallelism, the execution of programs can be aborted during the unfolding of loops. Additionally, if loops are overunfolded, compared with the number of processors available, the system performance can be degraded severely due to the overhead of loop unfolding. This paper suggests and analyzes an algorithm which can be used to effectively unfold nested loops of functional languages on multithreaded architectures. This algorithm has a feature to unfold a given nested loop safely and near optimally, considering the system resources of processors and memories available when the loop is to be unfolded.

A Real-time Copper Foil Inspection System using Multi-thread (다중 스레드를 이용한 실시간 동판 검사 시스템)

  • Lee Chae-Kwang;Choi Dong-Hyuk
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.10 no.6
    • /
    • pp.499-506
    • /
    • 2004
  • The copper foil surface inspection system is necessary for the factory automation and product quality. The developed system is composed of the high speed line scan camera, the image capture board and the processing computer. For the system resource utilization and real-time processing, multi-threaded architecture is introduced. There are one image capture thread, 2 or more defect detection threads, and one defect communication thread. To process the high-speed input image data, the I/O overlap is used through the double buffering. The defect is first detected by the predetermined threshold. To cope with the light irregularity, the compensation process is applied. After defect detection, defect type is classified with the defect width, eigenvalue ratio of the defect covariance matrix and gray level of defect. In experiment, for high-speed input image data, real-time processing is possible with multi -threaded architecture, and the 89.4% of the total 141 defects correctly classified.

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

Multithread design of Enterprise Java Beans (EJB에서의 멀티 쓰레드 디자인)

  • 이영지;김태윤
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10c
    • /
    • pp.526-528
    • /
    • 2001
  • EJB는 Sun사에서 발표한 분산 객체 구조에 맞는 서버쪽 컴포넌트 아키텍쳐이다. EJB를 사용하면 다중 네트워크 환경에서 애플리케이tus의 디자인과 개발, 배포가 쉬워진다. 개발자는 하부 사항에 대해 신경쓰지 않고 상위 레벨에서 애플리케이션을 설계할 수 있다. EJB 1.1 명세서는 그러한 내용을 나타내고 있는 명세서이다. 하지만 이 명세에서는 멀티 스레드를 허용하지 않는다. 멀티 스레드는 프로그래밍에서 상당히 유용한 것으로 멀티 스레드를 사용하면 다른 오브젝트에 영향을 주지 않으면서 작업을 수행할 수 있는 등 여러 가지 이점이 많다. 본 논문에서는 이러한 이점을 살려서 명세서에 따르면서 멀티 스레드를 생성하는 방법에 대해 알아보고자 한다. 본 논문에서 제시하는 방법은 3가지이고 각각 장단점이 따른다 .

  • PDF

Exploiting implicit Parallelism for Single Loops in Java Programming Language (Java 프로그래밍에서 단일 루프 구조의 병렬성 검출)

  • Hwang, Deuk-Yeong;Gwon, O-Jin;Choe, Yeong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.7
    • /
    • pp.1730-1745
    • /
    • 1998
  • 순차 Java 프로그램을 병렬 시스템에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 된다. 본 논문은 기존에 작성된 단일 루프 구조를 갖는 Java 프로그래밍 언어에서 종속성 분석을 수행하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 병렬 코드를 생성하는 방법과 Java 원시 프로그램을 Java 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 스레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버헤드를 줄이고, 순차 Java 프로그램에 대한 효과적인 병렬성 검출을 가능하게 한다.

  • PDF

The Node Scheduling of Multi-Threaded Process for CC-NUMA System (CC-NUMA 시스템을 위한 다중 스레드 프로세스의 노드 스케줄링 설계 및 구현)

  • Kim, Jeong-Nyeo;Kim, Hae-Jin;Lee, Cheol-Hoon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.2
    • /
    • pp.488-496
    • /
    • 2000
  • this paper describes the design and implementation of node scheduling for MX Server that is CC-NUMA System COMSIX, the operating system of MX Server, is designed to suit for CC-NUMA Architecture. MX Server consists of up to 8 nodes, and each node is connected by SCI ring. This node scheduling scheme considers data locality for performance improvement of Oracle8i DBMS on the CC-NUMA architecture. For DBMS such as Oracle8i, a multi-threaded process may be run to tie on particular disk. We have developed a CG binding function that the multi-threaded process bound the node. Currently, We don't have an available CC-NUMA Platform. Instead of MX Server, we developed the Node scheduling scheme for multi-threaded process to suit server platform on the PC test-bed and tested completely.

  • 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

Multithread design of Enterprise Java Beans (EJB 애플리케이션을 위한 멀티 쓰레드 구현 방법에 대한 연구)

  • Lee, Young-Ji;Kim, Tae-Yoon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.10b
    • /
    • pp.1557-1560
    • /
    • 2001
  • EJB는 Sun사에서 발표한 분산 객체 구조에 맞는 서버쪽 컴포넌트 아키텍처이다. EJB를 사용하면 다중 네트워크 환경에서 애플리케이션의 디자인과 개발, 배포가 쉬워진다. 개발자는 하부 사항에 대해 신경쓰지 않고 상위 레벨에서 애플리케이션을 설계할 수 있다. EJB 1.1 명세서는 그러한 내용을 나타내고 있는 명세서이다. 하지만 이 명세에서는 멀티 스레드를 허용하지 않는다. 멀티 스레드는 프로그래밍에서 상당히 유용한 것으로 멀티 스레드를 사용하면 다른 오브젝트에 영향을 주지 않으면서 작업을 수행할 수 있는 등 여러 가지 이점이 많다. 본 논문에서는 이러한 이점을 살려서 명세서에 따르면서 멀티 스레드를 생성하는 방법에 대해 알아보고자 한다 본 논문에서 제시하는 방법은 클라이언트 쪽에서 멀티 스레딩을 생성하는 방법, 콜백 서비스를 이용하는 방법, 메세징 서비스를 이용하는 방법 3가지이고 각각에는 장단점이 따른다. 따라서 실제 구현 시에는 각자의 요구 사항에 맞춰 알맞은 방법을 찾아야 한다.

  • PDF