• Title/Summary/Keyword: 다중스레드 모델

Search Result 19, Processing Time 0.027 seconds

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

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

The thread scheduling method based on the priority of threads on the multithread models (다중 스레드 모델에서 스레드 우선 순위에 따른 스레드 스케쥴링 기법)

  • 이정호;고훈준;양창모;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10c
    • /
    • pp.659-661
    • /
    • 2000
  • 폰 노이만 모델의 지역성과 데이터플로우 모델의 병렬성을 결합하여 등장한 모델이 다중 스레드 모델이다. 다중스레드 모델의 목적은 통신시간과 계산 시간을 겹침으로써 프로세서의 활용도를 높이고자 하는 것이다. 기존의 대부분의 다중 스레드 모델의 스레드 스케쥴링 기법은 FIFO 혹은 FILO 방식을 사용하고 있다. 본 논문에서는 프로세서의 활용도를 높이고 프로세서의 휴지 시간을 줄이기 위해서 원격 함수 호출 혹은 원격 메모리 참조 기능의 스레드(이후로는 원격 스레드라 부름)와 계산 기능의 스레드가 동시에 활성화되었을 때 원격 스레드들을 먼저 수행하는 것이 프로세서의 지연 시간을 줄이고 병렬성을 높이는 데 효과적임을 제안한다. 이것을 구현하기 위해서 프레임 내부의 지속 벡터(CV)를 CCV(call continuation vector)와 LCV(local continuation vector) 둘로 구분하였다. 스레드가 활성화될 때 CCV에는 원격 스레드들을, LCV에는 계산 스레드들을 저장한 후, CCV에 저장된 스레드들을 먼저 수행하고 LCV를 나중에 수행한다.

  • PDF

Performance Comparisons of Multi-Process and Multi-Thread based Web Servers on Multiple Operating System Platforms (다양한 운영체제에서의 다중 프로세스와 스레드 모델의 웹 서버 성능 비교)

  • 도인환;김경중;정규헌;전기훈;노삼혁
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.04d
    • /
    • pp.94-96
    • /
    • 2003
  • 맡은 사용자 영역의 프로그램들이 확장성과 성능 향상을 목적으로 다중 프로세스 모델에서 다중 스레드 모델로 바뀌고 있다. 웹 서버도 폭발적으로 증가하는 사용자 요청을 수용할 수 있도록 확장성과 성능 향상을 위해서 다중 스레드 모델을 적용하였다. 본 논문에서는 다중 프로세스 모델을 적용한 웹 서버와 다중 프로세스/다중 스레드 모델을 적용한 웹 서버에 대한 성능을 여러 운영체제 환경에서 평가하였다. 실험 결과 전체적으로 다중 프로세스 모델이 다중 스레드 모델보다 더 좋은 성능과 안정성을 보였다.

  • PDF

Performance Measurement and Analysis of the Web Server Using Multi-Process and Multi-Thread (다중 프로세스와 스레드 모델의 웹 서버 성능 비교 분석)

  • 정기훈;염미령;노삼혁
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04a
    • /
    • pp.277-279
    • /
    • 2002
  • 다중 스레드 모델은 다중 프로세스 모델에 비하여 확장성이 좋은 것으로 알려졌다. 이에 따라서 초당 수백내지 수 천개의 컨넥션들을 처리해야 하는 웹 서버에 다중 스레드 모델을 채택해야 하는 것을 긍정적으로 생각해 볼 수 있다. 하지만 다중 프로세스 모델을 적용한 웹 서버와 두 종류의 혼합형 다중 프로세스/스레드 모델을 적용시킨 웹 서버의 성능을 평가하였다. 실험은 Pentium-III 750의 Linux 2.4.5에서 진행하였으며, 실험 결과 다중 스레드 모델이 다중 프로세스 모델에 비하여 항상 확장성이 있다고 할 수 없으며, 다중 프로세스 모델이 다중 스레드 모델보다 더 좋은 안정성을 보이는 것으로 나타났다.

  • PDF

A Thread Partitioning of Conditional Expression of Non-Strict Programs for Multithreaded Models (다중스레드 모델을 위한 Non-Strict 프로그램의 조건식 스레드 분할)

  • 조선문;김기태;고훈준;이갑래;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.67-69
    • /
    • 2001
  • 다중스레드 모델은 긴 메모리 참조 지체 시간과 동기화의 문제점을 해결할 수 있다는 점에서 대규모 병렬 시스템에 매우 효과적이다. 다중스레드 병렬기계를 위하여 Non-Strict 함수 프로그램을 번역할 때 가장 중요한 것은 순차적으로 수행될 수 있는 부분을 찾아내어 스레드로 분할하는 것이다. 스레드 분할의 목적은 스레드의 크기를 크게 만들어 Non-Strict 함수 프로그램이 수행되는 동안 발생하는 동기화 횟수와 스레드간의 문맥 전환 횟수를 최소화하는 것이다. 본 논문에서는 Non-Strict 함수 프로그램을 보다 큰 스레드로 분할하는 조건식의 스레드 분할 알고리즘을 제안한다.

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

Shortest-Frame-First Scheduling Algorithm of Threads On Multithreaded Models (다중스레드 모델에서 최단 프레임 우선 스레드 스케줄링 알고리즘)

  • Sim, Woo-Ho;Yoo, Weon-Hee;Yang, Chang-Mo
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.5
    • /
    • pp.575-582
    • /
    • 2000
  • Because FIFO thread scheduling used in the existing multithreaded models does not consider locality in programs, it may result in the decrease of the performance of execution, caused by the frequent context switching overhead and delay of execution of relatively short frames. Quantum unit scheduling enhances the performance a little, but it still has the problems such as the decrease in the processor utilization and the longer delay due to its heavy dependency on the priority of the quantum units. In this paper, we propose shortest-frame-first(SFF) thread scheduling algorithm. Our algorithm selects and schedules the frame that is expected to take the shortest execution time using thread size and synchronization information analyzed at compile-time. We can estimate the relative execution time of each frame at compile-time. Using SFF thread scheduling algorithm on the multithreaded models, we can expect the faster execution, better utilization of the processor, increased throughput and short waiting time compared to FIFO scheduling.

  • PDF

Design and Evaluation of Flexible Thread Partitioning System (융통성 있는 스레드 분할 시스템 설계와 평가)

  • Jo, Sun-Moon
    • Journal of Internet Computing and Services
    • /
    • v.8 no.3
    • /
    • pp.75-83
    • /
    • 2007
  • Multithreaded model is an effective parallel system in that it can reduce the long memory reference latency time and solve the synchronization problems. When compiling the non-strict functional programs for the multithreaded parallel machine, the most important thing is to find an set of sequentially executable instructions and to partitions them into threads. The existing partitioning algorithm partitions the condition of conditional expression, true expression and false expression into the basic blocks and apply local partitioning to these basic blocks. We can do the better partitioning if we modify the definition of the thread and allow the branching within the thread. The branching within the thread do not reduce the parallelism, do not increase the number of synchronization and do not violate the basic rule of the thread partitioning. On the contrary, it can lengthen the thread and reduce the number of synchronization. In the paper, we enhance the method of the partition of threads by combining the three basic blocks into one of two blocks.

  • PDF

Array Localization for Multithreaded Code Generation (다중스레드 코드 생성을 위한 배열 지역화)

  • Yang, Chang-Mo;Yu, Won-Hui
    • The Transactions of the Korea Information Processing Society
    • /
    • v.3 no.6
    • /
    • pp.1407-1417
    • /
    • 1996
  • In recent researches on thread partitioning algorithms break a thread at the long latency operation and merge threads to get the longer threads under the given constraints. Due to this limitation, even a program with little parallelism is partitioned into small-sized threads and context-swithings occur frequently. In the paper, we propose another method array localization about the array name, dependence distance(the difference of accessed element index from loop index), and the element usage that indicates whether element is used or defined. Using this information we can allocate array elements to the node where the corresponding loop activation is executed. By array localization, remote accesses to array elements can be replaced with local accesses to localized array elements. As a resuit,the boundaries of some threads are removed, programs can be partitioned into the larger threads and the number of context switchings reduced.

  • PDF