• Title/Summary/Keyword: 병렬 라이브러리

Search Result 172, Processing Time 0.026 seconds

Implementation of Pipeline-Based Parallel Processing Library (파이프라인 기반의 병렬처리 라이브러리 구현)

  • Ha, Seungu
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2021.11a
    • /
    • pp.453-456
    • /
    • 2021
  • 본 논문에서는 fork-join과 work stealing을 이용하여 동적 병렬처리를 수행하는 라이브러리를 구현하였다. 이 라이브러리는 병렬처리를 직관적으로 할 수 있는 함수형 프로그래밍 스타일의 파이프라인 API를 제공한다. 이를 이용한 성능 테스트에서 멀티코어를 제대로 활용하는 결과를 얻을 수 있었다. 마지막으로 blocking 작업 실행 시 병렬성 유지를 위해 추가로 개선할 수 있는 방법을 제시한다.

Design and Implementation of Parallelized Linked List Class Library using Pthread Library (Pthread 라이브러리를 이용한 Linked List 병렬화 클래스 라이브러리의 설계 및 구현)

  • 김홍숙;한동수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10c
    • /
    • pp.780-782
    • /
    • 1999
  • 병렬 프로세서 시스템이 제고하는 하드웨어적인 장점을 이용하기 위해서는 병렬 프로그래밍을 통한 애플리케이션의 병렬화가 필요하다. 기존의 순차적 코드의 경우에 자동 병렬화 컴파일러 기법을 통하여 병렬 프로세서시스템이 제공하는 성능을 극대화하고 있다. 그러나 자동병렬화는 과학 기술 계산용 코드와 같은 정형성을 지닌 코드에서는 유용하지만 비즈니스 응용에서 사용되는 동적인 자료구조를 사용하는 코드에서는 포인터에 의한 별명과 이에 따른 의존성 분석에 어려움으로 인해 많이 응용되고 있지는 못하다. 본 논문은 병렬 프로세서 시스템이 제공하는 기능을 이용하기 위한 한 방법으로 비즈니스 응용에서 많이 사용되는 동적인 자료 구조 중 linked list 클래스 라이브러리의 설계와 구현에 대하여 기술한다.

  • PDF

Design and Implementation of Parallel Visualization System using VTK and OSG (VTK와 OSG를 이용한 병렬 가시화 시스템의 설계와 구현)

  • Lee, Joong-Youn
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06b
    • /
    • pp.286-289
    • /
    • 2011
  • VTK와 OSG는 컴퓨터 그래픽스 분야에서 널리 사용되는 오픈 소스 라이브러리이다. VTK는 데이터 가시화에 초점을 맞추어 개발된 라이브러리로 다양한 격자 구조의 수치 데이터를 위한 고수준의 가시화 알고리즘을 제공한다. OSG는 다수의 폴리곤으로 구성된 복잡한 전경을 빠르고 효율적으로 렌더링할 수 있도록 하는 라이브러리로 전경 그래프(scene graph)와 다양한 실시간 렌더링 기술을 제공한다. VTK와 OSG는 서로 다른 목적으로 개발된 라이브러리이기 때문에 어느 한 라이브러리만을 이용해서 대용량의 수치 데이터를 가시화하는 것은 많은 노력을 필요로 한다. 따라서 VTK의 고수준 가시화 알고리즘과 OSG의 실시간 렌더링 기술을 접목하여 대용량 데이터를 빠르게 가시화하고자 하는 시도가 여러 연구 그룹에서 꾸준히 있어왔다. 본 논문에서는 테라 스케일의 거대 용량 수치 데이터를 빠르게 가시화하기 위한 방법으로 병렬 VTK 엔진과 OSG 실시간 렌더링 엔진을 접목한 병렬 가시화 시스템을 제안하고자 한다. 또, 본 논문에서 제안하는 가시화 시스템을 이용해서 실제 테라 스케일 데이터에 적용한 사례를 소개한다.

병렬 영상처리 기반의 고속 머신 비전기술동향

  • Park, Eun-Su;Choe, Hak-Nam;Kim, Jun-Cheol;Jeong, Eum-Han;Kim, Hak-Il
    • ICROS
    • /
    • v.15 no.3
    • /
    • pp.31-39
    • /
    • 2009
  • 본 고에서는 병렬 영상처리를 이용한 고속 머신 비전(Machine Vision) 기술의 동향에 관해 다룬다. 머신 비전에서 사용되는 대표적인 고속 상용 영상처리 라이브러리인 MIL, HALCON, IPP에 대해 소개하고 현재 활발히 연구되고 있는 SSE, OpenMP, CUDA와 같은 병렬 처리 기술에 대하여 알아 본다. 이러한 병렬 처리 기술을 실제 영상처리 알고리즘에 적용하여 그 성능을 고속 상용 영상처리 라이브러리의 성능과 비교하여 소개된 병렬 처리 기술을 실제 PCB 기판 자동검사와 같은 머신 비전에 적용한 연구사례에 대해서 알아본다.

A Java Class Luibrary for Higher-Level Synchronization Mechanism (고수준 동기화를 위한 자바 클래스 라이브러리)

  • Kim, Myeong-Ho
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.2
    • /
    • pp.283-294
    • /
    • 1999
  • 병행적 프로그램 개발을 위한 Java 언어의 기능은 저수준의 기능으로 프로그래밍이 불편하고 오류를 범할 가능성이 높다. 본 논문에서는 병렬 알고리즘에서 빈번히 활용되는 세마포어, 여러 유형의 버퍼와 버퍼그룹, 베리어 작업 영역등의 동기화 제어구조를 클래스 라이브러리의 형태로 개발하였다. 이 라이브러리를 활용하면 동기화 기능의 구현에 관한 복잡한 내용이 제어구조 클래스에 효과적으로 은폐되고, 병렬 알고리즘의 구조와 이를 구현하기 위한 제어가 분리될 수 있다. 단일 목적의 동기화 기능을 위하여 복수 구현이 제공되므로 알고리즘의 구조를 수정하지 않으면서도 보다 적절한 구현을 선택하도록 프로그램을 변경할수도 있다.

Implementation and analysis of a parallel suffix tree construction algorithm using TBB and Cilk Plus (TBB, Cilk Plus를 이용한 병렬 접미사 트리 생성 알고리즘 구현 및 성능 분석)

  • Seo, Jun-Ho;Na, Joong-Chae
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.403-405
    • /
    • 2012
  • 접미사 트리는 문자열 압축, 텍스트 처리, 생물정보학 등 다양한 응용 분야에서 사용되는 인덱스 자료구조이다. 최근 64bit 하드웨어와 멀티코어 CPU가 보급됨에 따라 메모리상에서 병렬로 접미사 트리를 생성하는 알고리즘이 활발히 연구되고 있다. 본 논문에서는 McCreight의 선형시간 알고리즘과 Chen의 병렬 알고리즘을 기반으로 메모리상에서 접미사 트리를 병렬로 생성하는 구현 방법을 보였으며, TBB, Cilk Plus와 같은 병렬 프로그래밍 라이브러리를 이용하여 병렬 알고리즘을 구현하였다. 알고리즘 실험 결과 병렬로 수행한 알고리즘이 직렬로 수행한 결과보다 최대 4배 가량 성능 향상을 얻을 수 있었으며, 병렬 라이브러리를 사용함으로써 가지는 오버헤드는 극히 적은 것으로 나타났다.

The Mixed Finite Element Analysis for Nearly Incompressible and Impermeable Porous Media Using Parallel Algorithm (병렬알고리즘 이용한 비압축, 비투과성 포화 다공질매체의 혼합유한요소해석)

  • Tak, Moon-Ho;Kang, Yoon-Sik;Park, Tae-Hyo
    • Journal of the Computational Structural Engineering Institute of Korea
    • /
    • v.23 no.4
    • /
    • pp.361-368
    • /
    • 2010
  • In this paper, the parallel algorithm using MPI(Message-Passing Interface) library is introduced in order to improve numerical efficiency for the staggered method for nearly incompressible and impermeable porous media which was introduced by Park and Tak(2010). The porous media theory and the staggered method are also briefly introduced in this paper. Moreover, we account for MPI library for blocking, non-blocking, and collective communication, and propose combined the staggered method with the blocking and nonblocking MPI library. And then, we present how to allocate CPUs on the staggered method and the MPI library, which is related with the numerical efficiency in order to solve unknown variables on nearly incompressible and impermeable porous media. Finally, the results comparing serial solution with parallel solution are verified by 2 dimensional saturated porous model according to the number of FEM meshes.

An implementation and performance measurement of Matlab matrix operation library for parallel computing on dual CPU PC (이중 CPU PC에서 병렬 계산을 위한 Matlab 행렬 연산 라이브러리의 구현 및 성능 측정)

  • 김철민;이정훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10c
    • /
    • pp.871-873
    • /
    • 2001
  • 본 논문에서는 전기 단층 촬영 기법과 같이 많은 양의 데이터에 대해 산술 계산을 수행하는 응용의 수행속도를 개선하기 위하여 이중 CPU PC 상에서 Matlab의 기본연산, 즉 행렬 곱하기, 역행렬 계산, 의사 역행렬 계산 등을 병렬로 수행하는 라이브러리 프로그램을 구현하고 그 성능을 측정한다. 구현된 라이브러리는 행렬의 곱하기, 역행렬 계산, 의사 역행렬 계산 등 기본적인 행렬 연산에 대해 각 CPU에서 수행될 쓰레드를 생성하고 이 쓰레드에 분할 행렬을 인자로 넘겨줌으로써 병렬 계산을 실행하도록 하고 부분 결과를 합성하여 최종적인 결과를 산출하게 된다. 구현된 코드를 수행시켜 속도를 측정한 결과 행렬의 곱하기는 최대 69%, 역행렬은 34.8 %, 의사 역행렬은 52 % 까지 수행시간을 단축시켰다. 이에 의해 전기 단층 촬영 프로그램은 한번의 전류 주입에 대해 영상 복원에 소요되는 시간을 48 %로 감소시켰다.

  • PDF

Deterministic Parallelism for Symbolic Execution Programs based on a Name-Freshness Monad Library

  • Ahn, Ki Yung
    • Journal of the Korea Society of Computer and Information
    • /
    • v.26 no.2
    • /
    • pp.1-9
    • /
    • 2021
  • In this paper, we extend a generic library framework based on the state monad to exploit deterministic parallelism in a purely functional language Haskell and provide benchmarks for the extended features on a multicore machine. Although purely functional programs are known to be well-suited to exploit parallelism, unintended squential data dependencies could prohibit effective parallelism. Symbolic execution programs usually implement fresh name generation in order to prevent confusion between variables in different scope with the same name. Such implementations are often based on squential state management, working against parallelism. We provide reusable primitives to help developing parallel symbolic execution programs with unbound-genercis, a generic name-binding library for Haskell, avoiding sequential dependencies in fresh name generation. Our parallel extension does not modify the internal implementation of the unbound-generics library, having zero possibility of degrading existing serial implementations of symbolic execution based on unbound-genecrics. Therefore, our extension can be applied only to the parts of source code that need parallel speedup.

Implementation and Performance Analysis of High Performance Computing Library for Parallel Processing (병렬처리를 위한 고성능 라이브러리의 구현과 성능 평가)

  • 김영태;이용권
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.31 no.7
    • /
    • pp.379-386
    • /
    • 2004
  • We designed a portable parallel library HPCL(High Performance Computing Library) with following objectives: (1) to provide a close relationship between the parallel code and the original sequential code that will help future versions of the sequential code and (2) to enhance performance of the parallel code. The library is an interface written in C and Fortran programming languages between MPI(Message Passing Interface) and parallel programs in Fortran. Performance results were determined on clusters of PC's and IBM SP4.