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

Search Result 103, Processing Time 0.026 seconds

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

Implementation of Lock-Free shared_ptr and weak_ptr for C++11 multi-thread programming (C++11 멀티스레드 프로그래밍을 위한 Lock-Free shared_ptr와 weak_ptr의 구현)

  • Ku, TaeKyun;Jung, NaiHoon
    • Journal of Korea Game Society
    • /
    • v.21 no.1
    • /
    • pp.55-66
    • /
    • 2021
  • Multi-thread programming is essential in high performance game programming. But, the widely used C++11 shared_ptr and weak_ptr have malfunction and performance problems in multi-thread environments. In this paper, we propose Lock-Free shared_ptr and weak_ptr, which have higher performance than current error preventing methods. These use a non-blocking algorithm to prevent data race in multi-thread environments. As a result of experimenting in an 8 thread environment, performance has improved up to 7424% in a situation where competition between threads is low, and 3767% in high competition.

A Simulator for Performance Evaluation of Multithreaded Memory Allocation Operation in Multi-Core Environment (멀티코어 환경에서의 멀티스레드 기법을 이용한 메모리 할당 연산의 성능 평가를 위한 시뮬레이터)

  • Kim, Ho-Young;Huang, Dada;Han, Sang-Hyuck;Kim, Young-Kuk
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.245-247
    • /
    • 2012
  • 최근 멀티코어 프로세서의 활용이 대중화되고 있다. 멀티코어 시스템에서는 소프트웨어가 동시에 여러 코어를 사용하여 동작을 수행 할 때 성능 향상 효과를 얻을 수 있다. 즉, 하나의 소프트웨어가 여러 코어를 동시에 사용할 수 있는 멀티스레드 프로그래밍 기법을 사용할 때 성능을 높일 수 있다. 이러한 환경에서 효율적인 메모리 할당은 데스크톱, 서버 및 과학 등과 같은 응용에 매우 중요하다. 하지만, 동적으로 메모리를 할당하는 것은 메모리 할당 연산과 반환 연산 및 어떤 스레드가 다른 스레드의 힙 영역에 접근하는 것을 처리하기 위한 동기화 문제로 인한 오버헤드가 발생하여 성능에 영향을 끼치는 문제가 발생하게 된다. 따라서 이와 같은 환경에서 실제로 성능에 어느 정도 영향을 끼칠 것인가를 측정할 수 있는 도구가 필요하다. 이에 멀티코어 환경에서 멀티스레드 기법을 사용하여 메모리 할당 연산이 성능에 어떠한 영향을 끼치는지를 측정 및 평가할 수 있는 시뮬레이터인 MAES(Memory Allocation Evaluation Simulator)를 설계하고 구현한다.

Enhanced Memory Allocator for Scalability Improvement On Multicore (멀티코어 환경에서의 확장성 향상을 위한 메모리 할당자)

  • Cho, Youngjoong;Kim, Inhyuk;Eom, Young Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.05a
    • /
    • pp.164-165
    • /
    • 2013
  • 멀티프로세서에서 시스템의 병렬성을 향상시키기 위해서 멀티스레드 프로그램을 이용한다. 이러한 멀티스레드 프로그램은 스레드간 역할을 분담하여 작업을 진행하게 된다. 멀티스레드 프로그램에는 생산자-소비자 구조가 있다. 기존 메모리할당자들은 생산자-소비자 구조에 대한 연구가 진행되지 않고, 크리티컬 섹션이 긴 락을 사용하여 성능상에 문제가 있다. 우리는 이러한 문제점을 독특한 메모리 해제 방법을 통해 해결하였고, 실험을 통해 메모리 할당자의 속도가 향상되는 것을 검증하였다.

Design and Implementation of the Multi-threaded News Casting Sever (다중 스레드 뉴스 캐스팅 서버의 설계 및 구현)

  • 김연정;조동섭
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2003.05b
    • /
    • pp.118-121
    • /
    • 2003
  • 사용자가 원하는 뉴스를 보다 쉽고 빠르게 전송하고 전송 받을 수 있는 다중 스레드 뉴스 캐스팅 서버를 디자인하고 구현하였다. 뉴스 캐스팅 서버는 서버에 접속한 두 명의 뉴스 메이커가 자신들이 원하는 하나의 뉴스 그룹을 만들고 새로운 뉴스를 만들어서 서버를 통해 신속하게 그 뉴스 그룹에 속한 뉴스 캐스팅 클라이언트에게 브로드캐스팅한다. 뉴스 캐스팅 클라이언트는 이 정보를 받아 웹서버의 데이터 베이스에 전달한다. 웹서버는 사용자의 요청이 있을 때 새로운 뉴스를 전송하게 된다. 이 서버는 멀티 스레드의 가장 효과적인 연결 리스트를 이용하여 각 그룹파 사용자를 통합 관리하고 있으며 각 그룹은 스레드를 사용하여 생성해서 서버의 효율을 증가 시켰다.

  • PDF

On-the-fly Monitoring Tool for Detecting Data Races in Multithread Programs (멀티 스레드 프로그램의 자료경합 탐지를 위한 수행 중 감시 도구)

  • Paeng, Bong-Jun;Park, Se-Won;Kuh, In-Bon;Ha, Ok-Kyoon;Jun, Yong-Kee
    • Journal of KIISE
    • /
    • v.42 no.2
    • /
    • pp.155-161
    • /
    • 2015
  • It is difficult and cumbersome to figure out whether a multithread program runs with concurrency bugs, such as data races and atomicity violations, because there are many possible executions of the program and a lot of the defects are hard to reproduce. Hence, monitoring techniques for collecting and analyzing the information from program execution, such as thread executions, memory accesses, and synchronization information, are important to locate data races for debugging multithread programs. This paper presents an efficient and practical monitoring tool, called VcTrace, that analyzes the partial ordering of concurrent threads and events during an execution of the program based on the vector clock system. Empirical results on C/C++ benchmarks using Pthreads show that VcTrace is a sound and practical tool for on-the-fly data race detection as well as for analyzing multithread programs.

The CG Binding of Multi-Threaded Process for CC-NUMA System (CC-NUMA 시스템을 위한 다중 스레드 프로세스의 CG 바인딩)

  • 김정녀;김해진;윤석한;이철훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10c
    • /
    • pp.155-157
    • /
    • 1999
  • 본 논문에서는 CC-NUMA 시스템인 고성능 멀티미디어 서버(MX Server)상에서 다중 스레드 프로세스의 CG(CPU Group) 바인딩 설계 및 구현 내용을 소개한다. 고성능 멀티미디어 서버의 컴퓨팅 서버용 운영체제인 COSMIX(cache COherent Shared Memory unIX)에서는 서버의 플랫폼에 알맞은 하드웨어 및 시스템 관련하여 CC-NUMA 시스템에 적합한 운영체제 기능을 설계하였다. 고성능 멀티미디어 서버에서는 데이터의 지역성을 고려하여 한 노드인 CG에 프로세스를 바인드 하는 기능이 있으나, 다중 스레드로 구성된 프로세스의 바인딩 기능은 없었다. Oracle8i와 같은 인터넷 DBMS에서는 하나의 프로세스내의 다중 스레드가 일정한 노드의 디스크를 점유하여 사용할 수 있으므로 이와 같은 다중 스레드의 프로세스를 해당 디스크가 있는 하나의 CG에 바인딩 하는 기능이 필요하다. 현재는 가용한 플랫폼이 없어서 MX Server 대신 PC 태스트베드인 CC-NUMA 시스템 시뮬레이션 환경에서 다중 스레드의 CG 바인딩 기능을 구현하고 그 시험을 완료하였다.

  • 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

Method of Multi Thread Management based on Shader Instruction for Mobile GPGPU (GPGPU를 위한 쉐이더 명령어기반 멀티 스레드 관리 기법)

  • Lee, Kwang-Yeob;Park, Tae-Ryong
    • Journal of IKEEE
    • /
    • v.16 no.4
    • /
    • pp.310-315
    • /
    • 2012
  • This thesis is intended to design multi thread mobile GPGPU optimized in mobile environment, and to verify an effective thread management method of the multi thread mobile processor. In thread management, there is no management hardware and implement with software instructions. For the verification of the multi thread management method, Lane detection algorithm was implemented to compare nVidia's CUDA Architecture and the designed GPGPU in terms of thread management efficiency. The number of thread is normalized to 48 threads. An implemented Land Detection Algorithm is composed of Gaussian filter algorithm and Sobel Edge Detection algorithm. As a result, the designed GPGPU's thread efficiency is up to 2 times higher than CUDA's thread efficiency.

Analysis of Image Processing Speed Using Multi-Threads (멀티 스레드를 이용한 영상 처리 속도 분석)

  • Hur Tai-sung;Jang Hyeong-kyu
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2023.07a
    • /
    • pp.471-472
    • /
    • 2023
  • 본 논문에서는 멀티 쓰레드를 이용하여 UI에 영상을 표현할 때, 걸리는 시간 및 적정 사용 방법을 연구하였다. 영상처리는 오픈 API인 OpenCV를 사용하여 처리하였으며, 1~4개의 스레드로 영상을 다운로드하는 시간부터 GUI에 보여주는 시간까지를 계산하는 기능을 구현하여 영상을 다운로드하고, GUI에 넣어주어야 할 때 스레드의 개수가 퍼포먼스에 관여하는 처리속도를 알아볼 수 있다.

  • PDF