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

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

블록 암호화 알고리즘 RC6 및 Rijndael에서의 병렬성 활용 (Exploiting Parallelism in the Block Encryption Algorithms RC6 and Rijndael)

  • 정용화;정교일;손승원
    • 정보보호학회논문지
    • /
    • 제11권2호
    • /
    • pp.3-12
    • /
    • 2001
  • 현재 대부분의 상용 마이크로프로세서는 슈퍼스칼라 구조를 채택하고 있으나, 반도체 집적도가 증가함에 따라 슈퍼 스칼라 구조를 대신할 새로운 마이크로프로세서 구조가 제안되고 있다. 본 논문에서는 최근 새로운 마이크로프로세서 구조로 급부상하고 있는 다중처리 마이크로프로세서 구조가 차세대 블록 암호화 알고리즘에 적합한지를 분석한다. 즉, 차세대 블록 암호화 알고리즘인 RC6와 Rijndael에서의 병렬성을 분석하기 위하여 프로그램 구동방식의 시뮬레이션을 수행한 결과, 명령어 수준 병렬성만으로는 성능의 한계를 갖지만 쓰레드 수준 병렬성을 동시에 활용함으로써 추가적인 성능 향상을 얻을 수 있음을 확인하였다

Study of an In-order SMT Architecture and Grouping Schemes

  • Moon, Byung-In;Kim, Moon-Gyung;Hong, In-Pyo;Kim, Ki-Chang;Lee, Yong-Surk
    • International Journal of Control, Automation, and Systems
    • /
    • 제1권3호
    • /
    • pp.339-350
    • /
    • 2003
  • In this paper, we propose a simultaneous multithreading (SMT) architecture that improves instruction throughput by exploiting instruction level parallelism (ILP) and thread level parallelism (TLP). The proposed architecture issues and completes instructions belonging to the same thread in exact program order. The issue and completion policy greatly reduces the design complexity and hardware cost of our architecture, compared with others that employ out-of-order issue and completion. On the other hand, when the instructions belong to different threads, the issue and completion orders for those instructions may not necessarily be identical to the fetch order. The processor issues instructions simultaneously from multiple threads to functional units by exploiting ILP and TLP, and by dynamic resource sharing. That parallel execution notably improves performance and resource utilization with minimal additional hardware cost over the conventional superscalar processors. This paper proposes an SMT architecture with grouping as well as one without grouping. Without grouping, all threads dynamically and flexibly share most resources. On the other hand, in the SMT architecture with grouping, in which resources and threads are divided into several groups for design simplification, resources are shared only among threads belonging to the same group as those resources. Simulation results show that our processors with four and eight threads improve performance by three or more times over the conventional superscalar processor with comparable execution resources and policies, and that reasonable grouping reduces the design complexity of SMT processors with little negative effect on performance.

멀티-코어 서버의 성능 분석 및 특성화 (Performance Analysis and Characterization of Multi-Core Servers)

  • 이명호;강준석
    • 정보처리학회논문지A
    • /
    • 제15A권5호
    • /
    • pp.259-268
    • /
    • 2008
  • 멀티-코어 프로세서는 최근 마이크로프로세서 시장의 주류 제품으로 자리 잡았다. 이러한 멀티-코어 프로세서를 기반으로 하는 서버들은 고성능 컴퓨팅 분야와 상용 응용 프로그램 분야에서 그 사용 범위를 넓혀가고 있다. 멀티-코어 프로세서는 높아진 병렬성으로 인하여 응용 프로그램의 성능도 한 단계 더 높여줄 것으로 기대된다. 하지만, 칩 내부의 여러 코어들이 공유 자원들을 사용하면서 발생하는 경쟁과 충돌이 성능에 병목으로 작용하기도 한다. 그러므로 멀티-코어 서버 상에서 높은 성능과 확장성을 얻기 위해서는 공유 자원의 사용을 최적화 하는 것이 필수적이다. 본 논문에서는 코어들 간의 공유 자원 사용에서 발생하는 긍정적/부정적인 효과들이 실제 응용 프로그램의 성능에 어떻게 반영되는지 실험을 통하여 분석해 본다. 또한 이러한 분석을 통하여 멀티-코어 서버의 성능을 특성화한다.

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

분기 동시 수행을 이용한 단일 칩 멀티프로세서의 성능 개선 (Performance Improvement of Single Chip Multiprocessor using Concurrent Branch Execution)

  • 이승렬;김준식;최재혁;최상방
    • 대한전자공학회논문지SD
    • /
    • 제44권2호
    • /
    • pp.61-71
    • /
    • 2007
  • 프로세서 성능향상에 일반적으로 이용되어 오던 명령어 수준의 병렬성은 이제 그 한계를 드러내고 있다. 명령어 수준의 병렬성을 이용하는데 장애가 되는 요인 중에 하나는 분기문에 의한 제어 흐름의 변화이다. 단일 칩 멀티프로세서는 쓰레드 수준의 병렬성을 이용하는 프로세서이다. 그러나 다중 쓰레드를 고려하지 않고 작성된 프로그램을 수행하는 경우에는 단일 칩 멀티프로세서의 성능을 최대한 사용할 수 없는 단점이 있다. 이와 같은 두 가지 성능 저하 요인을 극복하기 위해 본 논문에서는 다중 경로 수행 기법을 단일 칩 멀티프로세서에 적용한 분기 동시 수행 기법을 제안한다. 제안된 방법에서는 유휴 중인 프로세서를 이용하여 조건 분기의 두 흐름을 모두 수행하게 한다. 이를 통하여 분기문에 의한 제어 흐름이 끊기는 것을 막고 유휴 시간을 줄여서 프로세서의 효율을 높일 수 있다. 시뮬레이션을 통하여 본 논문에서 제시한 분기 동시 수행의 효과를 분석한 결과 분기 동시 수행으로 약 20%의 유휴 시간이 감소하였고, 분기 예측 성공률은 최대 10% 향상 되었다. 전체적으로 일반적인 단일 칩 멀티프로세서에 비해 최대 39%의 성능 향상을 이루었고, 슈퍼스칼라 프로세서에 비해 최대 27%의 성능 향상을 이루었다.

Exploiting Thread-Level Parallelism in Lockstep Execution by Partially Duplicating a Single Pipeline

  • Oh, Jaeg-Eun;Hwang, Seok-Joong;Nguyen, Huong Giang;Kim, A-Reum;Kim, Seon-Wook;Kim, Chul-Woo;Kim, Jong-Kook
    • ETRI Journal
    • /
    • 제30권4호
    • /
    • pp.576-586
    • /
    • 2008
  • In most parallel loops of embedded applications, every iteration executes the exact same sequence of instructions while manipulating different data. This fact motivates a new compiler-hardware orchestrated execution framework in which all parallel threads share one fetch unit and one decode unit but have their own execution, memory, and write-back units. This resource sharing enables parallel threads to execute in lockstep with minimal hardware extension and compiler support. Our proposed architecture, called multithreaded lockstep execution processor (MLEP), is a compromise between the single-instruction multiple-data (SIMD) and symmetric multithreading/chip multiprocessor (SMT/CMP) solutions. The proposed approach is more favorable than a typical SIMD execution in terms of degree of parallelism, range of applicability, and code generation, and can save more power and chip area than the SMT/CMP approach without significant performance degradation. For the architecture verification, we extend a commercial 32-bit embedded core AE32000C and synthesize it on Xilinx FPGA. Compared to the original architecture, our approach is 13.5% faster with a 2-way MLEP and 33.7% faster with a 4-way MLEP in EEMBC benchmarks which are automatically parallelized by the Intel compiler.

  • PDF

SMT 프로세서에 최적화된 명령어 페치 전략에 관한 연구 (An Optimal Instruction Fetch Strategy for SMT Processors)

  • 홍인표;문병인;김문경;이용석
    • 한국통신학회논문지
    • /
    • 제27권5C호
    • /
    • pp.512-521
    • /
    • 2002
  • 최근에 성능의 한계를 드러내고 있는 수퍼스칼라 RISC를 대체할 새로운 프로세서 구조로서 SMT(Simultaneous Multi-Threading)이 활발히 연구되고 있다. SMT는 하나의 프로세서에 여러 개의 스레드가 하드웨어 자원을 동적으로 공유하며 동시에 수행되는 구조이다. 이러한 환경에서는 프로세서 안에 존재하는 여러 스레드로부터 명령어를 원활하게 공급하여 주는 것이 중요하다. SMT 프로세서는 기존의 프로세서에 비하여 사이클 당 실제 처리되는 명령어 수가 월등히 많기 때문에, 사이클 당 명령어 페치량과 페치된 명령어를 임시 저장하는 페치 큐의 엔트리수가 신중하게 결정되어야 한다. 또한 사이클마다 페치할 스레드와 각 스레드의 페치량을 결정하는 것이 성능에 큰 영향을 미친다. 따라서 본 논문에서는 이러한 요소들이 프로세서 전체의 성능에 미치는 영향을 분석하고 그 결과를 바탕으로 SMT 프로세서에 최적화된 명령어 페치 전략에 대하여 논한다.

멀티코어 프로세서에서의 H.264/AVC 디코더를 위한 데이터 레벨 병렬화 성능 예측 및 분석 (Data Level Parallelism for H.264/AVC Decoder on a Multi-Core Processor and Performance Analysis)

  • 조한욱;조송현;송용호
    • 대한전자공학회논문지SD
    • /
    • 제46권8호
    • /
    • pp.102-116
    • /
    • 2009
  • 최근 멀티코어 프로세서의 이용이 증가함에 따라, 멀티코어환경에서 고성능 H.264/AVC 코덱을 구현하기 위한 다양한 병렬화 기법들이 제안되고 있다. 이러한 기법들은 병렬화 기법 적용 방식에 따라 태스크 레벨 병렬화 기법과 데이터 레벨 병렬화 기법으로 구분된다. 태스크 레벨 병렬화 기법을 이용한 파이프라인 병렬화 기법은 H.264 알고리즘을 파이프라인 단계로 나누어 구현하며, 일반적으로 화면 사이즈가 작고 복잡도가 낮은 비트스트림에 유리하다. 그러나 프로세싱 모듈별 수행시간 차이가 커서 로드밸런싱이 좋지 않고, 파이프라인 단계의 수가 제한적이라 성능 확장성에 제한이 있어 HD 비디오같이 해상도가 큰 비트스트림 처리에는 적합하지 않은 단점이 있다. 본 논문에서는 로드밸런싱 및 성능 확장성을 고려하여 매크로블록 라인 단위로 쓰레드를 할당하는 수평적 데이터 레벨 병렬화 기법을 제안하고, 이에 대한 성능 예측 수식 모델을 통하여 성능을 예상한다. 또한 성능 예측의 정확성을 검증하기 위해 JM 13.2 레퍼런스 디코더에 대한 데이터 레벨 병렬화 기법을 ARM11 MPCore 환경에서 구현하고 이에 대한 성능 검증을 수행하였다. SoCDesigner를 이용한 사이클 단위의 성능 측정 결과, 본 논문에서 제시하는 쓰레드 증가에 대한 병렬화 기법의 성능 변화를 비교적 높은 수준의 정확도로 예측 가능하였다.

On-Chip Multiprocessor with Simultaneous Multithreading

  • Park, Kyoung;Choi, Sung-Hoon;Chung, Yong-Wha;Hahn, Woo-Jong;Yoon, Suk-Han
    • ETRI Journal
    • /
    • 제22권4호
    • /
    • pp.13-24
    • /
    • 2000
  • As more transistors are integrated onto bigger die, an on-chip multiprocessor will become a promising alternative to the superscalar microprocessor that dominates today's microprocessor marketplace. This paper describes key parts of a new on-chip multiprocessor, called Raptor, which is composed of four 2-way superscalar processor cores and one graphic co-processor. To obtain performance characteristics of Raptor, a program-driven simulator and its programming environment were developed. The simulation results showed that Raptor can exploit thread level parallelism effectively and offer a promising architecture for future on-chip multi-processor designs.

  • PDF

Full Search Equivalent Motion Estimation Algorithm for General-Purpose Multi-Core Architectures

  • Park, Chun-Su
    • 반도체디스플레이기술학회지
    • /
    • 제12권3호
    • /
    • pp.13-18
    • /
    • 2013
  • Motion estimation is a key technique of modern video processing that significantly improves the coding efficiency significantly by exploiting the temporal redundancy between successive frames. Thread-level parallelism is a promising method to accelerate the motion estimation process for multithreading general-purpose processors. In this paper, we propose a parallel motion estimation algorithm which parallelizes the motion search process of the current H.264/AVC encoder. The proposed algorithm is implemented using the OpenMP application programming interface (API) and can be easily integrated into the current encoder. The experimental results show that the proposed parallel algorithm can reduce the processing time of the motion estimation up to 65.08% without any penalty in the rate-distortion (RD) performance.