• 제목/요약/키워드: Thread-Level Parallelism

검색결과 24건 처리시간 0.022초

자바 스레드와 네트워크 자원을 이용한 병렬처리 (Thread-Level Parallelism using Java Thread and Network Resources)

  • 김태용
    • 한국항행학회논문지
    • /
    • 제14권6호
    • /
    • pp.984-989
    • /
    • 2010
  • 본 논문에서는 초소형 정밀 마이크로 흐름센서를 설계하기 위해 Java 멀티스레드를 이용한 병렬 프로그래밍 기법을 도입하여 센서 모듈의 성능 분석과 개선이 가능한 병렬처리형 설계 툴을 개발하였다. 연산에 따른 기본 성능을 측정하기 위하여 열운송 방정식에 지배되는 포텐셜 문제를 두 개의 실험모델로 나누어 실험을 수행하였다. 시뮬레이션 결과 네트워크 PC의 수를 증가시키면 이와 비례하는 속도향상 특성이 나타났다. 따라서 본 연구에서 제안하는 병렬화 방안은 대규모 연산모델에도 적용 가능함을 확인하였다.

멀티코어 시스템에서 쓰레드 수에 따른 병렬 색변환 성능 검증 (A Performance Evaluation of Parallel Color Conversion based on the Thread Number on Multi-core Systems)

  • 김정길
    • 한국위성정보통신학회논문지
    • /
    • 제9권4호
    • /
    • pp.73-76
    • /
    • 2014
  • 멀티 코어 프로세서의 보급 확산으로 최근에는 임베디드 시스템에서도 채택되고 있다. 따라서 일반적으로 대규모의 컴퓨팅과 메모리 접근을 필요로 하는 멀티미디어 응용은 멀티 코어 플랫폼 기반의 병렬화가 가능하다. 본 논문에서는 멀티 코어 CPU을 이용한 효율적 색 공간 변환을 위한 스레드 수준 병렬 기법의 성능 향상을 검증하였다. 스레드 수준 병렬화 특히 멀티 코어 프로세서기반 공유 메모리 컴퓨팅 시스템에서는 매우 유용한 병렬 처리 패러다임이 되고 있다. 본 구현에서 스레드 수준 병렬화는 각 스레드에 다른 입력 픽셀을 할당하여 실행하였다. 성능 평가를 위해 직렬 및 병렬 구현들 사이의 처리 속도의 비교에 기초하여 대표적 멀티 코어 프로세서에서 색 변환을 위한 성능 향상 정도를 평가하였다. 결과는 스레드 수준의 병렬 구현에 관계없이 다른 멀티 코어에서 전반적으로 비슷한 성능 향상의 비율을 보여주었다.

JAVA 프로그래밍 언어에서 단일루프구조의 무시적 병렬성 검출 (Exploiting Implicit Parallelism for Single Loops in Java Programming Language)

  • 권오진
    • 정보관리연구
    • /
    • 제29권3호
    • /
    • pp.1-26
    • /
    • 1998
  • 순차 Java 프로그램을 병렬 머쉰에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 된다. 본 논문은 기존에 작성된 단일 루프 구조를 갖는 Java 프로그래밍 언어에서 종속성 분석을 수행하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 병렬 코드를 생성하는 방법과 Java 원시 프로그램을 Java 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 쓰레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버헤드를 줄이고, 순차 Java 프로그램에 대한 효과적인 병렬성 검출을 가능하게 한다.

  • PDF

임베디드 응용 프로그램 성능 분석 (Performance Analysis of Embedded Applications)

  • 김선욱;오재근;한영선;최홍욱;김철우
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2003년도 하계종합학술대회 논문집 Ⅲ
    • /
    • pp.1355-1358
    • /
    • 2003
  • This paper presents performance analysis of the embedded application, called EEMBC consisting of 5 categories and total 34 applications. We measured various performance metrics, such as code sizes, TLP(Thread Level Parallelism) using OpenMP API and ILP(Instruction Level Parallelism) on ARM-modeled SimpleScalar in detail. We show that the embedded applications have the similar characteristics as integer applications to deliver low ILP and TLP in our environment. They have many small loops, which result in large instruction overhead in TLP and loop control overhead in ILP.

  • PDF

자바 스레드 기반 고속 전자계 해석 (Electromagnetic Field Analysis based on Java Multi-Threads)

  • 김태용;이훈재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2013년도 춘계학술대회
    • /
    • pp.53-55
    • /
    • 2013
  • 마이크로파 소자 및 각종 전파환경 해석을 위해서는 MoM, TLM, FEM, BEM 등의 다양한 전자계해석 수법을 이용할 수 있다. 본 연구에서는 자바 기반 병렬화 기법을 토대로 구현된 수치 시뮬레이터를 개발하고 그 성능을 평가하였다.

  • PDF

멀티코어 프로세서의 쓰레드-수준 병렬성을 활용한 AES-CCM 계산-통신 중첩화 (Computation-Communication Overlapping in AES-CCM Using Thread-Level Parallelism on a Multi-Core Processor)

  • 이은지;이성주;정용화;이명호;민병기
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권8호
    • /
    • pp.863-867
    • /
    • 2010
  • 최근 멀티코어 프로세서들이 범용 PC 뿐만 아니라 임베디드 시스템에서도 탑재될 만큼 그 사용이 보편화되고 있는 상황에서, 많은 멀티미디어 응용 프로그램이 이들을 활용하여 병렬화 되고 있다. 그러나 멀티미디어 데이터의 암호화와 같이 응용 프로그램에 데이터 종속성이 내재한 경우에는 멀티코어를 이용한 효과적인 병렬처리가 어렵다는 문제가 있다. 본 논문에서는 이러한 한계를 극복하기 위하여 유휴 코어를 이용하여 계산과 통신을 중첩시키는 병렬처리 기법을 제안한다. 특히, 주어진 멀티미디어 데이터를 처리하고 전송하는 문제를 응용 프로그램 수준의 파이프라인 설계 문제로 해석하여 최적의 파이프라인 단계수를 도출하는 방법을 제안한다.

Speculative Parallelism Characterization Profiling in General Purpose Computing Applications

  • Wang, Yaobin;An, Hong;Liu, Zhiqin;Li, Li;Yu, Liang;Zhen, Yilu
    • Journal of Computing Science and Engineering
    • /
    • 제9권1호
    • /
    • pp.20-28
    • /
    • 2015
  • General purpose computing applications have not yet been thoroughly explored in procedure level speculation, especially in the light-weighted profiling way. This paper proposes a light-weighted profiling mechanism to analyze speculative parallelism characterization in several classic general purpose computing applications from SPEC CPU2000 benchmark. By comparing the key performance factors in loop and procedure-level speculation, it includes new findings on the behaviors of loop and procedure-level parallelism under these applications. The experimental results are as follows. The best gzip application can only achieve a 2.4X speedup in loop level speculation, while the best mcf application can achieve almost 3.5X speedup in procedure level. It proves that our light-weighted profiling method is also effective. It is found that between the loop-level and procedure-level TLS, the latter is better on several cases, which is against the conventional perception. It is especially shown in the applications where their 'hot' procedure body is concluded as 'hot' loops.

타일 및 프레임 수준의 HEVC 병렬 부호화 (Tile-level and Frame-level Parallel Encoding for HEVC)

  • 김연희;석진욱;정순흥;김휘용;최진수
    • 방송공학회논문지
    • /
    • 제20권3호
    • /
    • pp.388-397
    • /
    • 2015
  • 고화질 비디오에 대한 시장의 요구가 높아짐에 따라 고화질 비디오를 기존 보다 낮은 데이터 량으로 압축할 수 있는 새로운 비디오 부호화 표준 기술인 HEVC(High Efficiency Video Coding)가 최근에 개발 완료되었다. 즉 HEVC로 압축한 데이터의 양은 기존 비디오 부호화 표준인 AVC/H.264로 압축한 데이터의 양의 동일 화질 대비 약 50%로 보고되고 있다. 압축 성능이 개선된 새로운 부호화 표준에 대한 시장의 관심은 뜨겁지만 시장에 바로 활용되기 위하여서는 응용 서비스에서 요구하는 수준의 처리속도를 만족시켜야 한다. 다수의 코어가 탑재된 컴퓨터 시스템이 널리 보급된 오늘날의 개발 환경에서 부호화 처리 속도를 개선시키기 위해서 여러 각도의 병렬 부호화 적용이 필수이다. 본 논문에서는 HEVC 부호화기에 화면 분할 병렬화와 프레임 수준의 병렬화를 조합하여 적용할 때 코딩 효율 대비 병렬화로 인한 더 높은 속도 향상 결과를 가져올 수 있는 방법을 제안하였다. 즉 시스템 자원과 병렬로 처리할 프레임에 따라 화면을 적응적으로 분할하게 함으로써 코딩 효율 대비 속도 향상을 개선시킬 수 있었다. 한 화면 안에서는 다수의 타일(Tile) 단위로 병렬처리하고, 참조되지 않는 프레임(Frame)들을 병렬로 부호화하도록 본 논문을 통해 구현하였으며 Full-HD 및 4K UHD 영상을 이용하여 제안하는 방법이 코딩 효율 대비 병렬화로 인한 속도 향상이 개선되었음을 보여주었다.

GPGPU 자원 활용 개선을 위한 블록 지연시간 기반 워프 스케줄링 기법 (A Novel Cooperative Warp and Thread Block Scheduling Technique for Improving the GPGPU Resource Utilization)

  • ;최용;김종면;김철홍
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제6권5호
    • /
    • pp.219-230
    • /
    • 2017
  • 멀티스레딩 기법이 적용된 GPGPU는 내부 병렬 자원들을 기반으로 데이터를 고속으로 처리하고 메모리 접근시간을 감소시킬 수 있다. CUDA, OpenCL 등과 같은 프로그래밍 모델을 활용하면 스레드 레벨 처리를 통해 응용프로그램의 고속 병렬 수행이 가능하다. 하지만, GPGPU는 범용 목적의 응용프로그램을 수행함에 있어 내부 하드웨어 자원들을 효과적으로 사용하지 못한다는 단점을 보이고 있다. 이는 GPGPU에서 사용하는 기존의 워프/스레드 블록 스케줄러가 메모리 접근시간이 긴 명령어를 처리하는데 있어서 비효율적이기 때문이다. 이와 같은 문제점을 해결하기 위해 본 논문에서는 GPGPU 자원 활용률을 개선하기 위한 새로운 워프 스케줄링 기법을 제안하고자 한다. 제안하는 워프 스케줄링 기법은 스레드 블록의 워프들 중 긴 메모리 접근시간을 가진 워프와 짧은 메모리 접근시간을 가진 워프들을 구분한 후, 긴 메모리 접근시간을 가진 워프를 우선 할당하고, 짧은 메모리 접근시간을 가진 워프를 나중에 할당하여 처리한다. 또한, 메모리와 내부 연결망에서 높은 경합이 발생했을 때 동적으로 스트리밍 멀티프로세서의 수를 감소시켜 워프 스케줄러를 효과적으로 사용할 수 있는 기법도 제안한다. 실험결과에 따르면, 15개의 스트리밍 멀티프로세서를 가진 GPGPU 플랫폼에서 제안된 워프 스케줄링 기법은 기존의 라운드로빈 워프 스케줄링 기법과 비교하여 평균 7.5%의 성능(IPC)이 향상됨을 확인할 수 있다. 또한, 제안된 두 개의 기법을 동시에 적용하였을 경우에는 평균 8.9%의 성능(IPC) 향상을 보인다.

Latency Hiding based Warp Scheduling Policy for High Performance GPUs

  • Kim, Gwang Bok;Kim, Jong Myon;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제24권4호
    • /
    • pp.1-9
    • /
    • 2019
  • LRR(Loose Round Robin) warp scheduling policy for GPU architecture results in high warp-level parallelism and balanced loads across multiple warps. However, traditional LRR policy makes multiple warps execute long latency operations at the same time. In cases that no more warps to be issued under long latency, the throughput of GPUs may be degraded significantly. In this paper, we propose a new warp scheduling policy which utilizes latency hiding, leading to more utilized memory resources in high performance GPUs. The proposed warp scheduler prioritizes memory instruction based on GTO(Greedy Then Oldest) policy in order to provide reduced memory stalls. When no warps can execute memory instruction any more, the warp scheduler selects a warp for computation instruction by round robin manner. Furthermore, our proposed technique achieves high performance by using additional information about recently committed warps. According to our experimental results, our proposed technique improves GPU performance by 12.7% and 5.6% over LRR and GTO on average, respectively.