• Title/Summary/Keyword: 병렬 응용프로그램

Search Result 162, Processing Time 0.023 seconds

Performance Evaluation of the GPU Architecture Executing Parallel Applications (병렬 응용프로그램 실행 시 GPU 구조에 따른 성능 분석)

  • Choi, Hong-Jun;Kim, Cheol-Hong
    • The Journal of the Korea Contents Association
    • /
    • v.12 no.5
    • /
    • pp.10-21
    • /
    • 2012
  • The role of GPU has evolved from graphics-specific processing to general-purpose processing with the development of unified shader core architecture. Especially, execution methods for general-purpose parallel applications using GPU have been researched intensively, since the parallel hardware architecture can be utilized efficiently when the parallel applications are executed. However, current GPU architecture has limitations in executing general-purpose parallel applications, since the GPU is not specialized for general-purpose computing yet. To improve the GPU performance when general-purpose parallel applications are executed, the GPU architecture should be evolved. In this work, we analyze the GPU performance according to the architecture varying the number of cores and clock frequency. Our simulation results show that the GPU performance improves by up to 125.8% and 16.2% as the number of cores increases and the clock frequency increases, respectively. However, note that the improvement of the GPU performance is saturated even though the number of cores increases and the clock frequency increases continuously, since the data cannot be provided to the GPU due to the limit of memory bandwidth. Consequently, to accomplish high performance effectiveness on GPU, computational resources must be more suitably considered.

An Implementation of Fault-Tolerant Message Passing Interface on Parallel Computers (병렬 컴퓨터에서의 결함 허용 메시지 전달 인터페이스 구현)

  • Song, Dae-Ki;Lee, Cheol-Hoon
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.6 no.3
    • /
    • pp.319-328
    • /
    • 2000
  • The Message-Passing Interface(MPI) is a standard interface for parallel programming environment, based on that application programs run on the processors of a parallel computer. Processor nodes execute processes consisting the program by passing messages to one another. During executing, however, if a fault occurs on a processor node or a process, this will result an inconsistent state, and consequently, the whole program will have to be stopped. To solve this problem, in this paper, we propose a fault-tolerant message passing interface(FT-MPI) by adding a fault manager module to MPI. The proposed FT-MPI does not need any hardware support, and each application program based on MPI can run on the FT-MPI without any modification. The proposed fault tolerance scheme uses the so-called hot-spare process duplication method, and verified by simulations that application programs run despite of any fault with less than 5% overhead on execution time.

  • PDF

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

  • Lee, Eun-Ji;Lee, Sung-Ju;Chung, Yong-Wha;Lee, Myung-Ho;Min, Byoung-Ki
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.8
    • /
    • pp.863-867
    • /
    • 2010
  • Multi-core processors are becoming increasingly popular. As they are widely adopted in embedded systems as well as desktop PC's, many multimedia applications are being parallelized on multi-core platforms. However, it is difficult to parallelize applications with inherent data dependencies such as encryption algorithms for multimedia data. In order to overcome this limit, we propose a technique to overlap computation and communication using an otherwise idle core in this paper. In particular, we interpret the problem of multimedia computation and communication as a pipeline design problem at the application program level, and derive an optimal number of stages in the pipeline.

Fault-Tolerant Message Passing Interface on Parallel and Distributed Systems (병렬 및 분산환경에서의 고장 감내 메시지 전달 인터페이스)

  • 송대기;김종훈;강용호;이철훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.732-734
    • /
    • 1998
  • 본 논문에서는 메시지 전달을 기반으로 하는 병렬 분산 시스템에 고장 감내 기능을 추가하기 위한 고장 감내 기법과, 고장 복구에 따른 프로세서들간의 일관성 유지방법을 제안하였다. 메시지 전달을 기반으로 하는 병렬 컴퓨터 시스템상에서 응용 프로그램들은 수많은 노드들에 분산 배치되어 수행이 되는데, 그중 어느 한 노드 또는 작업 중인 프로세서가 고장을 일으킨다면 이로 인하여 전체 응용 프로그램이 중단 될 것이다. 이러한 문제를 해결하기 위하여 고장 감내 기능 추가가 필요하며, 그 방법으로서 동일한 작업을 수행하는 프로세서를 서로 다른 노드상에 이중화하여 하나의 프로세서에 고장이 발생하더라도 계속 작업중인 예비 프로세서를 이용함으로써 전체 응용 프로그램이 아무런 영향을 받지 않도록 하였다. 그리고 이를 MPI상에 서브 모듈로써 설계하고 구현하였다.

  • PDF

Analysis of the Interference between Parallel Socket Connections and Predictions of the Bandwidth (병렬 소켓 간의 트래픽 간섭 현상 분석 및 대역폭 예측)

  • Kim, Young-Sin;Huh, Eui-Nam;Hwang, Jun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.05a
    • /
    • pp.941-944
    • /
    • 2005
  • 최근에는 대량의 데이터가 생산되고, 저장되며, 전송되고 있다. 따라서 이러한 대량의 데이터를 보다 효율적으로 관리하는 기술, 데이터를 고속으로 전송하는 기술이 연구되고 있다. 그 중, GridFTP는 고속으로 데이터를 전송하기 위해 연구되고 있는 기술로, 병렬연결들을 생성하고 이들을 통해 동시에 데이터를 전송함으로써 보다 빠른 전송을 실현하고 있다. 그러나 그리드 환경의 VO 간에 데이터를 병렬로 전송하는 응용 프로그램들이 증가하게 된다면, VO 간에 소켓 연결 수가 증가하게 되고, 따라서 각 연결들 간에 간섭이 발생하게 된다. 따라서 본 논문에서는 소켓 연결들 간의 간섭을 실험을 통하여 분석하고, 한 응용 프로그램에 의해 생성되는 병렬연결이 할당받게 될 대역폭을 예측함으로써, VO 간의 병렬 전송을 제어하는 메커니즘의 토대를 마련하고자 한다.

  • PDF

Parallelization of Recursive Functions for Recursive Data Structures (재귀적 자료구조에 대한 재귀 함수의 병렬화)

  • An, Jun-Seon;Han, Tae-Suk
    • Journal of KIISE:Software and Applications
    • /
    • v.26 no.12
    • /
    • pp.1542-1552
    • /
    • 1999
  • 자료 병렬성이란 자료 집합의 원소들에 대하여 동일한 작업을 동시에 수행하므로써 얻어지는 병렬성을 말한다. 함수형 언어에서 자료 집합에 대한 반복 수행은 재귀적 자료형에 대한 재귀 함수에 의하여 표현된다. 본 논문에서는 이러한 재귀 함수를 자료 병렬 프로그램으로 변환하기 위한 병렬화 방법을 제시한다. 생성되는 병렬 프로그램의 병렬 수행 구조로는 일반적인 형태의 재귀적 자료형에 대하여 정의되는 다형적인 자료 병렬 연산을 사용하여 트리, 리스트 등과 같은 일반적인 재귀적 자료 집합에 대한 자료 병렬 수행이 가능하도록 하였다. 재귀 함수의 병렬화를 위해서는, 함수를 이루는 각각의 계산들의 병렬성을 재귀 호출에 의해 존재하는 의존성에 기반하여 분류하고, 이에 기반하여 각각의 계산들에 대한 적절한 자료 병렬 연산을 사용하는 병렬 프로그램을 생성하였다.Abstract Data parallelism is obtained by applying the same operations to each element of a data collection. In functional languages, iterative computations on data collections are expressed by recursions on recursive data structures. We propose a parallelization method for data-parallel implementation of such recursive functions. We employ polytypic data-parallel primitives to represent the parallel execution structure of the object programs, which enables data parallel execution with general recursive data structures, such as trees and lists. To transform sequential programs to their parallelized versions, we propose a method to classify the types of parallelism in subexpressions, based on the dependencies of the recursive calls, and generate the data-parallel programs using data-parallel primitives appropriately.

A Methodology to Simulate I/O-Intensive Applications (I/O 집약적인 응용의 시뮬레이션 방법론)

  • Eom, Hyeon-Sang
    • The KIPS Transactions:PartA
    • /
    • v.13A no.5 s.102
    • /
    • pp.445-454
    • /
    • 2006
  • We introduce a family of simulators for I/O-intensive distributed or parallel applications, and a methodology that permits selecting the most efficient simulator meeting a given user-defined accuracy requirement. This methodology consists of a series of tests to choose an appropriate simulation based on the attributes of the application. In addition, each simulator provides two estimates of application execution time: the minimum expected time and the maximum. We present the results of applying our methodology to existing applications, and show that we can accurately simulate applications tens to hundreds of tunes faster than the application execution times.

Compiler Optimization for Parallelism and Locality Improvement (병렬성 및 지역성 증진을 위한 컴파일러 최적화)

  • Jim, Jin-Mi;Byeon, Seok-U;Pyo, Chang-U;Lee, Man-Ho
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.2
    • /
    • pp.307-314
    • /
    • 1999
  • In this paper, we study on the transformation technique of sequential programs for the purpose of 'exploiting parallelism' and 'improving locality'. Based on the analysis of loop procedures of sequential programs with the factor of dependency and locality, two transformation techniques of loop distribution and loop fusion are applied to them. Transformed programs can be easily expressed as a parallel program wit thread notation, having coarse-grain parallelism and improved locality. This means that those transformations can be useful tools for optimizing and automatic-parallelizing compiler construction. Application of those techniques to SPEC95 on a solaris machine with four SPARC processors show an improvement of execution time.

  • PDF

Performance and Scalability of OpenMP Programs on Chip-MultiThreading Server (칩 멀티쓰레딩 서버에서 OpenMP 프로그램의 성능과 확장성)

  • Lee Myung-Ho;Kim Yong-Kyu
    • The KIPS Transactions:PartA
    • /
    • v.13A no.2 s.99
    • /
    • pp.137-146
    • /
    • 2006
  • Shared Memory Multiprocessor (SMP) systems adopting Chip-level MultiThreading (CMT) technology are becoming mainstream servers in commercial applications and High Performance Computining (HPC) applications as well. OpenMP has become the standard paradigm to parallelize applications for SMP mostly because of its ease of use. As the demand for more computing power in HPC applications is growing rapidly, obtaining high performance and scalability for these applications parallelized using OpenMP API's will become more important. In this paper, we study the performance and scalability of HPC applications parallelized using OpenMP, SPEC OMPL (standard OpenMP benchmark suite), on the Sun Fire E25K server which adopts CMT technology. We also study the effect of CMT on SPEC OMPL.

Trojan : A High-Performance Simulator for Shared Memory Architectures (Trojan : 공유메모리 구조를 위한 고성능 시뮬레이터)

  • Park, Dae-Yeon;An, U-Hyeon
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.26 no.4
    • /
    • pp.420-431
    • /
    • 1999
  • 이 논문은 병렬 공유 메모리 시스템의 성능을 정확하게 평가할수 있으며 MIT의 Proteus 시뮬레이터의 기능을 확장한 시뮬레이터인 Trojan 에 대해 언급한다. 이 논문에서 언급되는 trojan 의 주요한 기능으로는 다음과 같다. 첫째, Trojan 은 프로세스 기반 응용 프로그램(예를 들어 SPLASH)과 쓰레드 기반 응용 프로그램들(예를 들어 SPLASH2) 에 대해 효율적 시뮬레이션을 제공한다. 둘째, 수행 구동 시뮬레이터 중에 처음으로 가상 메모리 시뮬레이션 기능이 구현되었다. 실제 운영체제의 가상 메모리 시스템과 하드웨어 시스템과의 상호작용 및 가상 메모리 시스템의 성능을 평가할수 있게 되었다. 기존의 공유 메모리 시뮬레이터들은 공유 메모리를 참조하기위해서 시뮬레이터 자체가 제공하는 문법에 맞게 변경해야만 하는 단점이 있다. 이 논문에서처럼 Trojan 시뮬레이터는 캐쉬동작, 네트웍통신양, 다주프로세서 시스템 설계,그리고 병렬 공유 응용 프로그램동작 및 성능 연구에 효율적이고 폭넓게 사용되고 있다.