• 제목/요약/키워드: data level parallelism

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

A Study on Effect of Code Distribution and Data Replication for Multicore Computing Architectures

  • Cho, Doosan
    • International Journal of Advanced Culture Technology
    • /
    • 제9권4호
    • /
    • pp.282-287
    • /
    • 2021
  • A multicore system must be able to take full advantage of the program's instruction and data parallelism. This study introduces the data replication technique as a support technique to maximize the program's instruction and data parallelism. Instruction level parallelism can be limited by data dependency. In this case, if data is replicated to each processor core and used, instruction level parallelism can be used to the maximum. The technique proposed in this study can maximize the performance improvement effect when applied to scientific applications such as matrix multiplication operation.

Limits on the efficiency of event-based algorithms for Monte Carlo neutron transport

  • Romano, Paul K.;Siegel, Andrew R.
    • Nuclear Engineering and Technology
    • /
    • 제49권6호
    • /
    • pp.1165-1171
    • /
    • 2017
  • The traditional form of parallelism in Monte Carlo particle transport simulations, wherein each individual particle history is considered a unit of work, does not lend itself well to data-level parallelism. Event-based algorithms, which were originally used for simulations on vector processors, may offer a path toward better utilizing data-level parallelism in modern computer architectures. In this study, a simple model is developed for estimating the efficiency of the event-based particle transport algorithm under two sets of assumptions. Data collected from simulations of four reactor problems using OpenMC was then used in conjunction with the models to calculate the speedup due to vectorization as a function of the size of the particle bank and the vector width. When each event type is assumed to have constant execution time, the achievable speedup is directly related to the particle bank size. We observed that the bank size generally needs to be at least 20 times greater than vector size to achieve vector efficiency greater than 90%. When the execution times for events are allowed to vary, the vector speedup is also limited by differences in the execution time for events being carried out in a single event-iteration.

멀티코어를 이용한 차선 검출 병렬화 시스템 설계 (Design of Parallel Processing of Lane Detection System Based on Multi-core Processor)

  • 이효찬;문대철;박인학;허강
    • 한국정보통신학회논문지
    • /
    • 제20권9호
    • /
    • pp.1778-1784
    • /
    • 2016
  • 본 논문에서는 차선 검출 알고리즘에 병렬처리를 적용하여 성능을 개선하였다. 차선 검출은 지능형 보조 시스템으로써 자동차가 차선을 이탈하면 경보음 또는 핸들을 보정해줌으로써 운전자를 돕는 보조 시스템이다. 병렬 처리 알고리즘 중 데이터 레벨 병렬처리는 설계가 간단하지만 병목현상이 발생하는 문제가 있다. 제안하는 고속 데이터 레벨 병렬처리 알고리즘은 병목현상을 줄여 성능이 향상되었다. 실제 블랙박스 도로 영상을 도입하여 알고리즘을 측정한 결과 싱글 코어 경우 약 30 Frames/sec의 성능을 얻었다. 병렬처리를 적용한 결과로써 옥타코어 기준으로 데이터 레벨인 경우 약 100 Frames/sec의 성능을, 고속 데이터 레벨인 경우는 약 150 Frames/sec의 성능을 얻을 수 있다.

목적 코드 레벨에서의 벡터화 기법 (A Vectorization Technique at Object Code Level)

  • 이동호;김기창
    • 한국정보처리학회논문지
    • /
    • 제5권5호
    • /
    • pp.1172-1184
    • /
    • 1998
  • 명령어 재배치는 ILP(Instruction Level Parallelism) 프로세서의 병렬성을 활용하는 주요한 코드 최적화 기법이다. 명령어 재배치 알고리즘을 루프(loop)에 적용하면서 서로 다른 반복(iteration) 사이의 동시 수행 가능한 명령어들이 인접한 위치로 모여지는 소프트웨어 파이프라인(software pipeline)된 루프가 얻어진다. 그러나 루프로부터 병렬성을 추출하는 소프트웨어 파이프라인 방법은 주로 명령어사이의 자료 종속성에 근거하여 스케줄링을 수행하므로 그 자체에 무한한 병렬성을 가지고 있는 벡터 루프의 경우 그 병렬성을 충분히 드러내지 못한다는 문제점을 안고 있다. 본 논문에서는 이러한 벡터루프에 대해 프로그램의 목적 코드 레벨에서 행해질 수 있는 새로운 벡터 스케줄링 방법을 제안한다. 벡터 스케줄링 방법은 프로그램의 목적 코드 레벨에서 루프의 구조나 반복 조건, 그리고 자료 종속성 등에 대한 전체적인 정보에 기반하여 스케줄링을 수행함으로써 소프트웨어 파이프라인 방법보다 프로그램의 수행속도를 향상시킬 수 있다. 본 논문에서는 벡터 스케줄링을 수행한 결과를 전통적인 소프트웨어 파이프라인 방법에 대해 생산된 병렬 루프의 결과와 수행속도 측면에서 비교한다.

  • PDF

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.

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

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

  • PDF

OpenGL ES 2.0 기반 셰이더 명령어 병렬 처리를 위한 컴파일 기법 (OpenGL ES 2.0 based Shader Compilation Method for the Instruction-Level Parallelism)

  • 김종호;김태영
    • 한국게임학회 논문지
    • /
    • 제8권2호
    • /
    • pp.69-76
    • /
    • 2008
  • 본 논문에서는 최근 경향의 3D 그래픽 프로세서 아키텍처를 분석하여 모바일 환경에 적합한 프로세서 및 명령어 형식을 제시한다. 또한 모바일 환경에서의 3D 그래픽스 표준안인 OpenGL ES 2.0 명세에 따르는 컴파일 방식을 바탕으로 온/오프라인 방식의 세이더 프로그램 컴파일 구조 및 방법을 제시하고, 모바일 환경에 적합성을 고려한 다중 명령어 기반의 코드 생성 방법과 새로운 ILP(Instruction-Level Parallelism) 최적화 기법을 제시한다. 본 논문에서 제시하는 컴파일 구조 및 기법을 통하여 생성된 세이더 명령어는 동일한 코어 클럭을 가지는 프로세서에서 단일 명령어 기반 코드보다 약 1.5$\sim$2배 빠른 연산 처리결과를 보여준다.

  • PDF

고성능 마이크로프로세서에서 값 예측기의 성능평가 (Performance Evaluation of Value Predictor in High Performance Microprocessors)

  • 전병찬;김혁진;류대희
    • 한국컴퓨터정보학회논문지
    • /
    • 제10권2호
    • /
    • pp.87-95
    • /
    • 2005
  • 고성능 마이크로프로세서에서 값 예측기는 한 명령어의 결과를 미리 예측하여 명령들 간의 데이터 종속관계를 극복하고 실행함으로써 명령어 수준 병렬성(Instruction Level Parallelism, ILP)을 향상시키는 기법이다. 본 논문에서는 ILP 프로세서 명령어 수준 병렬성의 성능향상을 위하섞 값을 미리 예측하여 병렬로 이슈하고 수행하는 값 예측기를 비교 분석하여 각 테이블 갱신 시점에 따른 예측기별 평균 성능향상과 예측률 및 예측정확도를 측정하여 평가한다 이러한 타당성을 검증하기 위해 실행구동방식 시뮬레이터를 사용하여 SPECint95 벤치마크를 시뮬레이션하여 비교한다.

  • PDF

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배 빠르게 할 수 있었다.

멀티미디어 전용 명령어를 내장한 멀티코어 프로세서 구현 및 검증 (Implementation and Verification of a Multi-Core Processor including Multimedia Specific Instructions)

  • 서준상;김종면
    • 대한임베디드공학회논문지
    • /
    • 제8권1호
    • /
    • pp.17-24
    • /
    • 2013
  • In this paper, we present a multi-core processor including multimedia specific instructions to process multimedia data efficiently in the mobile environment. Multimedia specific instructions exploit subword level parallelism (SLP), while the multi-core processor exploits data level parallelism (DLP). These combined parallelisms improve the performance of multimedia processing applications. The proposed multi-core processor including multimedia specific instructions is implemented and tested using a Xilinx ISE 10.1 tool and SoCMaster3 testbed system including Vertex 4 FPGA. Experimental results using a fire detection algorithm show that multimedia specific instructions outperform baseline instructions in the same multi-core architecture in terms of performance (1.2x better), energy efficiency (1.37x better), and area efficiency (1.23x better).