• Title/Summary/Keyword: 멀티 쓰레드

Search Result 115, Processing Time 0.03 seconds

Design and Implementation of a Multi-Process/Multi-Thread Model for the COSMOS Object Storage System (COSMOS/MT: 객체 저장 시스템 COSMOS를 위한 멀티프로세스/멀티쓰레드 모델의 설계 및 구현)

  • 김이른;이영구;장지웅;황규영
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04b
    • /
    • pp.169-171
    • /
    • 2001
  • 다수 사용자를 지원하는 프로그램에서 쓰레드의 중요성이 증가함에 따라 데이터베이스 관리 시스템의 하부구조인 객체 저장 시스템들도 쓰레드를 이용하도록 확장되고 있다. 기존의 프로세스/쓰레드 모델는 멀티프로세스/단일쓰레드 모델, 단일프로세스/멀티쓰레드 모델, 그리고 멀티프로세스/멀티쓰레드 모델로 분류할 수 있다. 이 중 멀티프로세스/멀티쓰레드 모델은 다른 모델들을 포괄할 수 있는 일반적인 형태의 구조이다. 본 논문에서는 멀티프로세스/단일쓰레드 모델로 개발된 객체 저장 시스템 COSMOS를 멀티프로세스/멀티쓰레드 모델로 확장한 COSMOS/MT를 설계하고 구현한다. 먼저 COSMOS의 트랜잭션 컨텍스트를 분석하여 공유 트랜잭션 컨텍스트와 비공유 트랜잭션 컨텍스트로 분류 후, 각 트랜잭션 컨텍스트의 유지방법을 제안한다. 그리고, 구현한 모델의 유용성을 보이기 위하여 TPC-A 벤치마크에 대해 성능 평가를 수행한다. 실험결과 1000개의 클라이언트를 서비스하는 경우 COSMOS/MT가 COSMOS에 비하여 처리율이 최고 5배까지 향상됨을 보인다. 마지막으로, 멀티프로세스/멀티쓰레드 모델의 성능을 결정하는 중요 요소인 프로세스 당 쓰레드 개수에 따른 성능 변화에 대하여 고찰하고, 실험을 통하여 프로세스당 쓰레드 개수에 따른 시스템의 성능 변화를 보인다.화를 보인다.

  • PDF

Performance Analysis of Apache 2.0 Web Server for Efficient Utilization of Multi-Process and Multi-Thread Scheme (멀티 프로세스와 멀티 쓰레드 기법의 효율적 활용을 위한 아파치 2.0웹 서버의 성능 분석)

  • 전흥석;이승원
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.316-318
    • /
    • 2003
  • 아파치 웹 서버는 사용자들에게 좀더 빠른 서비스를 제공하기 위해 멀티 프로세스 모델을 사용해 왔다. 그러나 최근 들어 웹 서비스를 사용하는 사람들이 급격히 증가함에 따라 멀티 프로세스 구조보다 더 빠르고 더 많은 요청을 처리할 수 있는 구조가 요구되어진다. 이러한 문제를 해결하기 위해서 생성 및 문맥전환 등에 있어서 오버헤드가 프로세스 보다 더 적다고 알려진 멀티 쓰레드 모델을 도입하게 된다. 하지만 멀티 쓰레드를 사용하는 것이 항상 멀티 프로세스를 사용한 것보다 더 좋은 성능을 보여주진 않는다. 본 논문에서는 멀티 프로세스와 멀티 쓰레드를 주어진 상황에 따라 어떻게 활용하는 것이 응답시간과 처리율 면에서 더 효율적인지를 알아보기 위하여 시뮬레이터를 제작하여 아파치 웹 서버의 성능을 측정한다. 실험을 통해 아파치 웹 서버의 다양한 지시자에 대한 설정 값에 따라 멀티 프로세스와 멀티 쓰레드 구조의 성능이 달라 질 수 있음을 확인하고 이의 결과를 제시한다.

  • PDF

Performance Evaluation of ARX Thread Library in Java Virtual Machine (자바 가상 머신을 통한 ARX 쓰레드 라이브러리의 성능 측정)

  • 서양민;박정근;김기정;홍기정
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.157-159
    • /
    • 1998
  • 쓰레드는 프로그램의 동시성을 표현하는데 적합하고, 프로세서 모델에 비하여 동기화나 문맥교환의 비용을 줄일 수 있어 기존의 멀티 프로세스 프로그래밍을 대체하고 있다. 운영체계에서 멀티쓰레팅 환경의 제공은 이제 필수적이며, 좋은 성능을 위해서는 운영체계의 지원이 필요하다. ARX 실시간 운영체계는 유저 레벨 멀티쓰레팅을 지원하고 있으며 쓰레드의 성능을 높이고 유저 레벨에서 실시간 스케쥴링이 가능하도록 하기 위하여 동적 가상 쓰레드 바인딩(dynamic virtual stack binding)과 스케쥴링 이벤트 업콜(scheduling event upcall)등의 기법을 지원한다. 본 논문에서는 자바 가상 머신을 통하여 ARX 운영체계의 쓰레드 라이브러리의 성능을 측정하고 다른 운영체계의 멀티쓰레드 라이브러리와 성능 비교를 하였다. 실험결과 ARX 가 제공하는 쓰레드 라이브러리가 다른 운영체계에 비해 우수한 성능을 보여줌을 확인하였다.

  • PDF

Embodimenet of Storage Server Program using Multi-threaded Software Development Process based on DEVS formalism (DEVS 형식론 기반 멀티쓰레드 소프트웨어 개발 방법을 이용한 스토리지 서버 프로그램 구현)

  • Im, Jung-Hyun;Oh, Ha-Ryoung;Soong, Yeong-Rak
    • Annual Conference of KIPS
    • /
    • 2015.04a
    • /
    • pp.544-545
    • /
    • 2015
  • 최근 스토리지 서버에 사용되는 코어가 싱글코어에서 점차 발전하여 멀티코어가 됨에 따라 스토리지 서버에 많은 기능들이 추가되었다. 이러한 기능들을 효과적으로 사용하기 위해서는 스토리지 서버를 효율적으로 관리하는 프로그램이 필요하다. 이에 멀티코어를 효과적으로 사용하여 스토리지 서버를 효율적으로 관리할 수 있도록 멀티쓰레드 프로그램으로 스토리지 서버 프로그램을 구현하였다. 멀티쓰레드 소프트웨어는 동시 동작으로 인해 개발하는데 어려움이 있으므로 이를 해결코자 DEVS 형식론 기반의 멀티쓰레드 소프트웨어 개발 방법을 이용하였다. DEVS 형식론 기반의 모델링과 시뮬레이션을 거치고 소프트웨어를 구현하여 개발의 어려움과 검증에 대한 부분을 해결하였다.

A Thread Monitoring System for Java (Java 언어를 위한 쓰레드 모니터링 시스템)

  • Moon Se-Won;Chang Byeong-Mo
    • The KIPS Transactions:PartA
    • /
    • v.13A no.3 s.100
    • /
    • pp.205-210
    • /
    • 2006
  • To assist developing robust multithreaded software, we develop a thread monitoring system for multithreaded Java programs, which can trace or monitor running threads and synchronization. We design a monitoring system which has options to select interesting threads and synchronizations. Using this tool, programmers can monitor only interesting threads and synchronization in more details by selecting options. It also provides profile information after execution, which summarizes behavior of running threads and synchronizations during execution. We implement the system based on code inlining, and presents some experimental results.

Empirical Study on Performance and Power Consumption in Multi-Core and Multi-Threaded Smartphones (데이터 송수신이 필수적인 환경에서의 스마트폰의 멀티코어와 멀티쓰레드에 따른 성능 및 전력 분석)

  • Lee, Woonghee;Kim, Hwangnam
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.39C no.8
    • /
    • pp.722-730
    • /
    • 2014
  • Due to the advance of hardware, various devices have mobility features, and many applications need the data transmission. In addition, it is essential for latest smartphones to utilize multi-cores and multi-threads because of the enhancement of Application Processor. Therefore, this paper analyzes the performance/power consumption according to transmission rate, the number of cores, and that of threads in the system that is supposed to conduct data transmission and processing simultaneously. Through the analysis, this paper provides a direction for the proper number of threads in terms of performance improvement and efficient power consumption.

Implementation and Performance Analysis of Web Server Using Java ThreadPool (자바 쓰레드 풀을 이용한 웹 서버의 구현 및 성능 분석)

  • Jeon, Sang-Hyun;Lee, Kwang-Ho;Uhmn, Saang-Yong;Sung, Yeon-Jin;Gu, Tae-Wan
    • Annual Conference of KIPS
    • /
    • 2000.10b
    • /
    • pp.1593-1596
    • /
    • 2000
  • 자바는 설계 때부터 네트워크 상의 운영을 고려하여 설계된 언어이기 때문에 소켓 바인딩과 같은 기능을 제공하고 있고, 또한 TCP/IP 프로토콜과 URL 처리 기능을 제공하고 있는 HTTP(HyperText Transfer Protocol) 프로토콜을 동시에 처리할 수 있기 때문에 WWW 서비스를 연동하는 웹서버를 구축하는데 적합한 언어이다. 현재의 인터넷은 점차적으로 발전하여 수요는 급격히 증가하고 있으나, 많은 사용자로 인해 네트워크의 성능저하와 서버의 처리 능력 한계로 인하여 사용자의 수요를 충족시키지 못하고 있다. 본 논문에서는 인터넷을 이용한 네트워킹 프로그램에 있어 멀티쓰레드를 이용하여 응용프로그램을 작성하기 위한 쓰레드의 개요를 설명하고, 쓰레드를 활용한 풀을 구성하기 위한 제반 사항을 기술한다. 또한, 응용프로그램으로 동적 쓰레드, 서버 복제, 쓰레드 풀 웹 서버를 구현하여 성능을 분석한다.

  • PDF

A Study on GPGPU Performance for the Configurations of Threads (GPGPU에서 쓰레드 구성을 위한 성능에 관한 연구)

  • Kim, Hyun Kyu;Lee, Hyo Jong
    • Annual Conference of KIPS
    • /
    • 2012.04a
    • /
    • pp.146-148
    • /
    • 2012
  • 최근 GPGPU를 활용한 병렬처리가 각광을 받고 있는 가운데 GPU의 구조적 특성인 매니코어(many core)기반에서 쓰레드(thread)의 구성이 성능에 얼마나 영향을 미치는지에 관해 수치적 해답을 얻고자 하였다. 이는 멀티코어 (multi core)기반으로 작성된 프로그램을 GPGPU로 변환하는 과정에서 쓰레드의 최대활용도를 빠르게 추측 할 수 있도록 도움을 얻고자 하는데 일차적인 목적이 있다. 현재 GPGPU의 쓰레드 구성은 입력되는 데이터의 양을 고려하여 충분한 테스트를 거쳐 경험적인 최적화 수를 지정해 주워야 한다. 이번 연구를 통해 GPGPU로 변환하는 과정에서 최적의 쓰레드 수구성 방법을 추측 할 수 있으며 더 나아가 동적으로 최적의 수를 구할 수 있도록 하는데 목적이 있다.

Implementation and Performance Evaluation of Real-Time Java Thread for Embedded Systems (내장형 시스템을 위한 실시간 자바 쓰레드의 구현 및 성능 평가)

  • 강희구;성민영;김태현;이동렬;김소영;김광영;김형수;장래혁;신현식
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.95-97
    • /
    • 2000
  • 자바는 플랫폼 독립성, 보안, 멀티 쓰레드 지원, 가베지 콜렉터 등 많은 장점을 갖고 있는 언어이다. 하지만 현재의 자바 가상 기계(JVM)는 시간 제약 조건을 갖는 주기적인 태스크 수행, 실시간 스케쥴링 등 실시간 응용을 위한 지원이 미흡한 실정이다. 본 논문에서는 실시간 운영체제인 VxWorks와 내장형 JVM인 퍼스널 자바 상에서 실시간 응용 프로그램의 지원을 위한 자바 쓰레드를 설계, 구현한다. 이를 위해 기존의 자바 쓰레드에 시작시간, 주기, 종료시한 등의 시간 속성을 삽입하고, 실시간 자바 쓰레드 API 클래스를 구현한다. 실시간 스케쥴러를 세가지 방식으로 구현한다. 첫째는, JVM을 수정하지 않고 시간 속성에 따라 쓰레드에 우선 순위를 할당하여 스케쥴링하는 방식이고, 둘째는 JVM을 수정하여 시간 속성에 따라 VxWorks 커널 스케쥴러를 통해 스케쥴링하는 방식이며, 셋째는 독립적인 스케쥴링 태스크를 구현하는 방식이다. 쓰레드 생성, 문맥 교환 등의 오버헤드와 스케쥴링 시 종료시한 초과 비율 등의 기준을 통해 각각의 성능을 비교한 결과, VxWorks 커널 스케쥴러를 이용한 방식이 가장 적합하다는 결론을 얻을 수 있었다.

  • PDF

Ring Operator Threaded-Scheduling for Improving Continuous Query Processing over Data Streams (데이터 스트림 환경에서 질의 처리 성능 향상을 위한 링 연산자 쓰레드 스케줄링 기법)

  • Young-Ki Kim;Soong-Sun Shin;Weon-Il Chung;Sung-Ha Baek;Dong-Wook Lee;Hae-Young Bae
    • Annual Conference of KIPS
    • /
    • 2008.11a
    • /
    • pp.296-299
    • /
    • 2008
  • 최근 데이터 스트림을 관리하기 위해 DSMS(Data Stream Management System)가 계속적으로 연구 되고 있다. 하지만 데이터 스트림은 방대한 양의 데이터를 처리하기 위하여 실시간성을 갖는 빠른 데이터 처리가 요구되며, 이러한 특성 때문에 데이터 처리의 효율성 증대를 위하여 메모리 관리가 중요하다. 기존 메모리 관리에 대한 연구는 쓰레드 스케줄링을 통한 관리 기법이 연구되었다. 하지만 기존의 연산자 쓰레드 스케줄링과 그래프 쓰레드 스케줄링은 쓰레드 관리의 유연성이 떨어지기 때문에 불규칙적인 데이터 스트림 환경에서는 부적합하다. 또한 하이브리드 멀티 쓰레드 스케줄링 기법은 두 가지 기법의 장점을 결합하였으나 가상 연산자의 일회성 사용으로 쓰레드 관리의 어려움 이 있다. 따라서 본 논문은 공유와 재사용이 가능한 링 연산자를 이용한 링 연산자 쓰레드 스케줄 링 기법을 제안한다. 본 기법은 링 연산자를 통해 새로 입력된 질의의 동일한 연산자 구성은 생성 되어 있는 링 연산자를 공유하거나 재사용하여 불필요한 자원 소모와 자원 할당의 과부하를 줄임으로써 기존 기법에 비해 쓰레드 할당의 수를 감소 시켜 대량의 질의 처리 시 속도를 증가 시켰다.