• 제목/요약/키워드: Multi Thread

검색결과 188건 처리시간 0.021초

다중 스레드 파이프라인 병렬처리를 통한 실시간 시뮬레이션 시각화의 성능 향상 해석 및 적용 (Analysis and Application of Performance Improvement of a Real-time Simulation Visualization based on Multi-thread Pipelining Parallel Processing)

  • 이준희;송희강;김탁곤
    • 한국시뮬레이션학회논문지
    • /
    • 제26권3호
    • /
    • pp.13-22
    • /
    • 2017
  • 본 연구는 시뮬레이션을 진행하면서 그 결과를 실시간으로 시각화하는 경우에 파이프라이닝 병렬처리 기법을 적용하여 성능을 개선할 수 있음을 보인다. 일반적으로 실시간 시각화를 포함한 시뮬레이션에서는 모델을 실행하는 프로세스와, 시뮬레이션 결과를 시각화 도구로 전송하는 프로세스, 결과를 받아서 시각화 하는 3개의 프로세스가 있다. 만약 이 프로세스들을 직렬화해서 실행하면 전체 실행시간이 매우 길어져서 시각화의 성능이 저하될 수밖에 없다. 본 연구에서는 기존의 직렬 방식 대신에 파이프라이닝 병렬처리 기법을 적용하여 성능을 개선하고자 한다. 추가적으로 각 프로세스에 다중 스레드 기능을 더하여 더 큰 성능의 개선이 있음을 보인다. 이를 위해 본 논문은 제안된 기법에 대한 이론적 성능모델을 세우고 최대, 최소 성능 향상 조건을 이론적으로 해석하였으며 모의실험하였다. 이 이론을 바탕으로 실시간으로 시각화하는 실시간 공중전 시뮬레이션에 적용한 결과 기존의 직렬화된 실행 성능보다 제안된 이론을 적용한 후의 실행 성능이 크게 향상되었음을 보였다.

멀티코어 시스템을 위한 멀티스레드 H.264/AVC 병렬 디코더 (Multi-Threaded Parallel H.264/AVC Decoder for Multi-Core Systems)

  • 김원진;조걸;정기석
    • 대한전자공학회논문지SD
    • /
    • 제47권11호
    • /
    • pp.43-53
    • /
    • 2010
  • 고해상도의 동영상 서비스가 보편화 되면서 동영상을 빠르게 처리를 위한 연구가 활발히 이루어지고 있다. 멀티코어 프로세서의 사용이 증가하고 멀티코어 시스템에서 H.264/AVC 디코더를 구현하기 위하여 다양한 병렬화 방법이 제안되고 있다. 하지만 H.264/AVC 디코더를 병렬화 하는 경우, 각 스레드에서 처리하는 데이터의 처리 시간 차이로 인하여 지속적으로 스레드의 동기를 확인해야 하는데, 이는 병렬화를 통한 디코더의 성능 향상의 걸림돌이 된다. 이러한 병렬화 과정에서 발생하는 문제점을 해결하기 위해 우리가 제안하는 Multi -Threaded Parallelization(MTP) 방법은 프레임을 매크로 블록 묶음으로 나누어 병렬화 한다. 그리고 병렬화 과정에서 스레드를 처리하는 방법을 개선하고, 메모리를 재사용함으로써 디코더의 성능을 향상 시켰다. 본 논문에서는 FFmpeg H.264/AVC 디코더를 인텔 쿼드 코어 기반의 멀티코어 시스템에서 멀티 스레드로 구현하여 실험이 진행되었다. 그 결과, MTP 방법을 적용하여 병렬화 방법 적용하지 않은 H.264/AVC 디코더와 비교하여 최대 53%의 성능향상을 보였으며, 2Dwave 병렬화 방법의 메모리 사용량에 비해 HD 영상에서 65%, FHD 영상에서 81%의 메모리 사용량을 줄 일 수 있었다.

스마트폰을 활용한 여성의 기초체온 가시화 및 주파수 스펙트럼 분석 (Visualization of Basal Body Temperature and Its Frequency Spectrum Analysis Using an Android Platform Smartphone)

  • 박상은;김정환;서은아;최희정;김경섭
    • 전기학회논문지
    • /
    • 제63권7호
    • /
    • pp.934-939
    • /
    • 2014
  • The daily recording of basal body temperature is the most useful method of determining the term of ovulation by resolving the rise in temperature. To support this aim, Graphical User Interface (GUI) system is designed and implemented to visualize the basal body temperature variations on daily basis by using android platform smartphone with programming multi-thread Java modules. To estimate the occurrence of ovulation cycle, a new method of analyzing the low-frequency features including a DC level and the second largest peak in frequency spectrum domain is proposed with interpreting the prominent features into the average basal-body temperature variations and a menstrual cycle.

OpenCL을 활용한 CPU와 GPU 에서의 CMMB LDPC 복호기 병렬화 (Parallel LDPC Decoder for CMMB on CPU and GPU Using OpenCL)

  • 박주열;홍정현;정기석
    • 대한임베디드공학회논문지
    • /
    • 제11권6호
    • /
    • pp.325-334
    • /
    • 2016
  • Recently, Open Computing Language (OpenCL) has been proposed to provide a framework that supports heterogeneous computing platforms. By using an OpenCL framework, digital communication systems can support various protocols in a unified computing environment to achieve both high portability and high performance. This article introduces a parallel software decoder of Low Density Parity Check (LDPC) codes for China Multimedia Mobile Broadcasting (CMMB) on a heterogeneous platform. Each step of LDPC decoding has different parallelization characteristics. In this paper, steps suitable for task-level parallelization are executed on the CPU, and steps suitable for data-level parallelization are processed by the GPU. To improve the performance of the proposed OpenCL kernels for LDPC decoding operations, explicit thread scheduling, loop-unrolling, and effective data transfer techniques are applied. The proposed LDPC decoder achieves high performance by using heterogeneous multi-core processors on a unified computing framework.

안드로이드 기반 스마트폰 연동 심박변이도 추정 (Estimation of Heart Rate Variability with an Android Smart Phone Platform)

  • 김정환;신승원;김현태;윤태호;김경섭;이정환;엄광문
    • 전기학회논문지
    • /
    • 제61권6호
    • /
    • pp.865-871
    • /
    • 2012
  • In this study, ambulatory electrocardiogram(ECG) signal and the rhythms of heart beats are visualized in terms of R-R intervals and Heart Rate Variability(HRV) in the environment of an android plaform. With this aim, Graphical User Interface(GUI) is implemented by executing multi-thread Java programming modules including ECG, heart-beats, tachogram and visualization unit. ECG signals are acquired in an android device by receiving the data from ambulatory ECG sensory system. Finite Impulse Response(FIR) filters are implemented to eliminate the baseline wandering noises contained in the ambulatory signals and DC-offset level in R-R interval data. With simulating the normal or stress emotional state of a subject, we can find the fact that HRV can be successfully estimated and visualized in an android smart phone platform.

Multicore-Aware Code Co-Positioning to Reduce WCET on Dual-Core Processors with Shared Instruction Caches

  • Ding, Yiqiang;Zhang, Wei
    • Journal of Computing Science and Engineering
    • /
    • 제6권1호
    • /
    • pp.12-25
    • /
    • 2012
  • For real-time systems it is important to obtain the accurate worst-case execution time (WCET). Furthermore, how to improve the WCET of applications that run on multicore processors is both significant and challenging as the WCET can be largely affected by the possible inter-core interferences in shared resources such as the shared L2 cache. In order to solve this problem, we propose an innovative approach that adopts a code positioning method to reduce the inter-core L2 cache interferences between the different real-time threads that adaptively run in a multi-core processor by using different strategies. The worst-case-oriented strategy is designed to decrease the worst-case WCET among these threads to as low as possible. The other two strategies aim at reducing the WCET of each thread to almost equal percentage or amount. Our experiments indicate that the proposed multicore-aware code positioning approaches, not only improve the worst-case performance of the real-time threads but also make good tradeoffs between efficiency and fairness for threads that run on multicore platforms.

HD-Tree: 고성능 Lock-Free NNS KD-Tree (HD-Tree: High performance Lock-Free Nearest Neighbor Search KD-Tree)

  • 이상기;정내훈
    • 한국게임학회 논문지
    • /
    • 제20권5호
    • /
    • pp.53-64
    • /
    • 2020
  • KD-Tree에서 NNS의 구현은 다차원 데이터를 다루는 응용 프로그램에서 필수적이다. 본 논문에서는 자료구조의 동시 수정, 검색이 일어나는 멀티스레드 상황에서 NNS를 지원하는 고성능 Lock-Free KD-Tree인 HD-Tree를 제안한다. HD-Tree는 동기화에 사용되는 노드 수를 최소화하고, 사용하는 원자 연산자의 수를 감소시켜 성능을 개선하였다. 실험 결과 HD-Tree는 8코어 16스레드의 멀티코어 시스템에서 기존의 NNS보다 성능이 최대 95% 향상되었고, 삽입/삭제연산은 코어보다 스레드가 많은 상황에서 기존 알고리즘보다 최대 15%향상된 성능을 보여준다.

타일 기반 그래픽 파이프라인 구조를 사용한 SIMT 구조 GP-GPU 설계 (Design of a SIMT architecture GP-GPU Using Tile based on Graphic Pipeline Structure)

  • 김도현;김치용
    • 전기전자학회논문지
    • /
    • 제20권1호
    • /
    • pp.75-81
    • /
    • 2016
  • 본 논문은 SIMT(Single Instruction Multi Thread)구조 GP-GPU(General Purpose Graphic Processing Unit)에서 그래픽 어플리케이션 성능을 향상시키기 위해 타일 기반 그래픽 파이프라인 구조를 제안한다. 타일 기반 그래픽 파이프라인 구조는 병렬적으로 Rasterization 단계를 처리하고, 불필요한 그래픽 처리 연산은 수행하지 않는다. SIMT구조를 통해 대용량 데이터를 병렬로 처리하여 연산 성능을 향상시켰고, 이는 3D 그래픽 파이프라인 처리의 성능을 향상하였다. 제안하는 구조를 통해 3D 그래픽 어플리케이션을 처리할 때 3D 모델을 구성하는 정점 데이터가 많아 질수록 높은 효율을 보인다. 제안하는 구조는 'RAMP'와 기존의 선행 연구를 비교하여 약 1.18배에서 최대 3배까지의 처리 성능 향상을 확인하였다.

유한 요소 접촉 해석법에 의한 나사 체결부 설계 개선에 관한 연구 (A parametric study of bolt-nut joints by the method of finite element contact analysis)

  • 이병채;김영곤
    • 대한기계학회논문집
    • /
    • 제13권3호
    • /
    • pp.353-361
    • /
    • 1989
  • 본 논문에서는 유한 요소법을 이용하여 접촉을 고려한 나사 체결 문제를 해석하고 여러 다른 체결조건이 각 나사산에 걸리는 하중 분담율에 미치는 영향을 살펴보고, 이 하중 분담율이 보다 균일화 될 수 있는 체결 조건을 찾고, 또 그때의 응력 분포를 살펴보는 것을 목적으로 한다.

GPU를 이용한 Quantum-Inspired Evolutionary Algorithm 가속 (GPU-Based Acceleration of Quantum-Inspired Evolutionary Algorithm)

  • 류지현;박한민;최기영
    • 대한전자공학회논문지SD
    • /
    • 제49권8호
    • /
    • pp.1-9
    • /
    • 2012
  • Quantum-Inspired Evolutionary Algorithm(QEA)은 알고리즘 자체에 충분한 data-level parallelism이 내재되어 있어 GPU를 이용한 가속에 용이하다. 그러나 효과적인 실행시간의 단축을 위해서는 CPU와 GPU에의 적절한 task-mapping이 필요하다. 이때 단순히 함수 자체의 병렬성만을 고려하는 것이 아니라 CPU와 GPU간의 데이터 전송도 고려하여 task-mapping을 할 필요가 있다. 또한 추가적인 성능향상을 위하여 zero-copy host memory와 적절한 execution configuration의 사용, 그리고 memory coalescing 등을 이용할 수 있다. 그 결과 30,000개의 item수를 가진 0-1 knapsack problem에 대한 QEA의 수행을 multi-threading CPU에 비해 평균 3.69배 빠르게 할 수 있었다.