• 제목/요약/키워드: 병렬 라이브러리

검색결과 172건 처리시간 0.023초

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

  • 하승우
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 추계학술발표대회
    • /
    • pp.453-456
    • /
    • 2021
  • 본 논문에서는 fork-join과 work stealing을 이용하여 동적 병렬처리를 수행하는 라이브러리를 구현하였다. 이 라이브러리는 병렬처리를 직관적으로 할 수 있는 함수형 프로그래밍 스타일의 파이프라인 API를 제공한다. 이를 이용한 성능 테스트에서 멀티코어를 제대로 활용하는 결과를 얻을 수 있었다. 마지막으로 blocking 작업 실행 시 병렬성 유지를 위해 추가로 개선할 수 있는 방법을 제시한다.

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

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

  • PDF

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

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

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

  • 박은수;최학남;김준철;정음한;김학일
    • 제어로봇시스템학회지
    • /
    • 제15권3호
    • /
    • pp.31-39
    • /
    • 2009
  • 본 고에서는 병렬 영상처리를 이용한 고속 머신 비전(Machine Vision) 기술의 동향에 관해 다룬다. 머신 비전에서 사용되는 대표적인 고속 상용 영상처리 라이브러리인 MIL, HALCON, IPP에 대해 소개하고 현재 활발히 연구되고 있는 SSE, OpenMP, CUDA와 같은 병렬 처리 기술에 대하여 알아 본다. 이러한 병렬 처리 기술을 실제 영상처리 알고리즘에 적용하여 그 성능을 고속 상용 영상처리 라이브러리의 성능과 비교하여 소개된 병렬 처리 기술을 실제 PCB 기판 자동검사와 같은 머신 비전에 적용한 연구사례에 대해서 알아본다.

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

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

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

  • 서준호;나중채
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • 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)

  • 탁문호;강윤식;박대효
    • 한국전산구조공학회논문집
    • /
    • 제23권4호
    • /
    • pp.361-368
    • /
    • 2010
  • 본 논문에서는 Park and Tak(2010)이 제안한 다공질매체 스태거드 방법의 효율성을 제고하기 위해 MPI(Message- Passing Interface) 라이브러리를 통한 병렬해석이 소개된다. 이를 위해 비압축, 비투과성 포화 다공질매체와 FEM을 통한 스태거드 방법이 간략히 소개된다. 그리고 병렬해석을 위한 MPI 라이브러리를 소개하고 스태거드 방법에 블록킹, 논블록킹 MPI 라이브러리를 접목시킨 병렬해석 알고리즘을 제안한다. 여기서는 변위와 간극수압 계산에서의 CPU 할당방법과 MPI 통신 규약을 통한 효율적인 프로그래밍 방법을 제시하고, 수치효율성을 검증하기 위한 2차원 모델의 순차해석과 병렬 해석 결과 값들을 요소개수에 따라 계산시간이 비교 검증된다.

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

  • 김철민;이정훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (3)
    • /
    • 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
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권2호
    • /
    • pp.1-9
    • /
    • 2021
  • 본문에서는 순수 함수형 언어인 하스켈로 작성된 심볼릭 실행의 병렬화를 위한 상태 모나드 기반의 라이브러리에 결정적 병렬화를 적용하기 편리한 API를 설계/구현하고 멀티코어 컴퓨터에서 벤치마크를 통해 실제 성능을 향상을 확인해 본다. 일반적으로 순수 함수형 프로그램은 병렬화가 쉽다고 알려져 있으나 실제 구현에서 핵심 알고리듬 외적인 부분에서 의도치 않은 순차적 데이터 의존성의 발생으로 병렬화가 어려워질 수 있다. 심볼릭 실행 구현에서는 지금껏 사용했던 변수와 겹치지 않는 새 이름을 생성함으로써 서로 다른 범위의 이름이 같은 변수끼리 혼동하는 착오를 피하는 방식을 종종 활용한다. 그런데 이를 순차적 상태 관리로 구현한 경우가 많아 병렬화에 걸림돌이 된다. 이 논문에서는 하스켈의 범용적 이름 관리 라이브러리인 unbound-generics의 새 이름 생성 기능에 순차적 의존성을 회피할 수 있는 확장 기능을 제공함으로써 병렬적 심볼릭 실행 구현을 간소화하는 데 기여하였다. 우리가 구현한 병렬화 확장의 특징은 기존 unbound-generics 라이브러리의 내부 구현을 그대로 유지한 상태의 확장이라는 점으로, 기존에 unbound-generics로 작성된 순차적 심볼릭 실행기의 성능 저하 우려가 전혀 없다는 점이다. 따라서 병렬화가 필요한 부분에만 확장 기능을 적용하는 방식으로 활용하여 성능을 개선할 수 있다.

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

  • 김영태;이용권
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제31권7호
    • /
    • pp.379-386
    • /
    • 2004
  • 본 연구에서는 병렬프로그램을 효율적으로 개발할 수 있고 병렬처리 프로그램의 성능을 향상시키는 이식성을 갖는 고성능 병렬 라이브러리인 HPCL(High Performance Computing Library)을 구현하였다. HPCL은 C 언어와 Fortran 언어로 구현되었으며, Fortran 프로그램에서 메시지 전송 인터페이스인 MPI(Message Passing Interface)를 효율적으로 사용할 수 있도록 하였다. 성능 분석은 PC 클러스터와 상업용 슈퍼컴퓨터인 IBM SP4를 이용하여 병렬프로그램의 성능 향상 및 통신 오버헤드 등에 대하여 다양하게 이루어졌다.