• Title/Summary/Keyword: 병렬 구현

Search Result 1,474, Processing Time 0.031 seconds

Parallelization of a Purely Functional Bisimulation Algorithm

  • Ahn, Ki Yung
    • Journal of the Korea Society of Computer and Information
    • /
    • v.26 no.1
    • /
    • pp.11-17
    • /
    • 2021
  • In this paper, we demonstrate a performance boost by parallelizing a purely functional bisimulation algorithm on a multicore processor machine. The key idea of this parallelization is exploiting the referential transparency of purely functional programs to minimize refactoring of the original implementation without any parallel constructs. Both original and parallel implementations are written in Haskell, a purely functional programming language. The change from the original program to the parallel program is minuscule, maintaining almost original structure of the program. Through benchmark, we show that the proposed parallelization doubles the performance of the bisimulation test compared to the original non-parallel implementation. We also shaw that similar performance boost is also possible for a memoized version of the bisimulation implementation.

Comparison of Parallelization for HEVC SAO (HEVC의 SAO 병렬화 성능 비교)

  • Jo, Hyunho;Sim, Donggyu
    • Proceedings of the Korean Society of Broadcast Engineers Conference
    • /
    • 2013.06a
    • /
    • pp.117-118
    • /
    • 2013
  • 본 논문에서는 HEVC (High Efficiency Video Coding) SAO (Sample Adaptive Offset)의 병렬화 성능을 비교한다. HEVC 의 참조 소프트웨어인 HM-10.0 에서는 SAO 수행 과정의 연산량 및 메모리 접근을 최소화하고 카테고리 계산 과정에서 SAO 수행 전의 픽셀값을 사용하기 위해서 라인 버퍼를 사용한다. 그러나 이러한 라인버퍼의 사용은 SAO 에 대해 데이터-레벨의 병렬화를 적용하기 어렵게 만드는 주요 요인이다. 본 논문에서는 HEVC 디블록킹 필터가 적용된 픽쳐를 추가 메모리에 복사하는 구현 방식과 HM-10.0 의 SAO 구현 방식 각각에 대해 데이터-레벨 병렬화를 적용하고 각각의 성능을 비교 분석하였다. 실험 결과, HEVC 디블록킹 필터가 적용된 픽쳐를 추가 메모리에 복사하는 구현 방식은 데이터-레벨 병렬화의 구현은 쉽지만, 디블록킹 필터링 된 픽쳐를 추가 메모리에 복사하는 부분 때문에 HM-10.0 기반의 병렬화보다 복호화 성능이 저하될 수 있음을 확인하였다. 이에 반해 CTU 의 행 단위로 병렬 수행될 영역을 분할하는 방식은 구현의 용이성과 병렬화 성능을 동시에 얻을 수 있음을 확인하였다.

  • PDF

The Implementation of Parallel Bidirectional Search on MPI environment (MPI환경에서의 양방향 병렬 탐색의 구현)

  • 차광호;홍정우;곽재승;변옥환
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10c
    • /
    • pp.346-348
    • /
    • 2002
  • 인공 지능 분야 문제의 특성으로 인하여 병렬 처리 기법의 적용이 자주 고려되고 있다. 특히 순차적인 문제 해결 알고리즘이 병렬 처리 개념과 접목되면서 새로운 특징을 갖는 알고리즘으로 발전될 수 있는데 양방향 병렬 탐색을 그 예로 들 수 있으며 특정 슈퍼컴퓨터를 대상으로 한 구현 결과도 보고 된 바 있다. 본 논문에서는 양방향 병렬 탐색 알고리즘을 보다 보편적인 메시지 패싱 인터페이스(MPI)를 이용하여 구현하고 두 종류의 병렬 시스템을 대상으로 테스트함으로서, MPI 환경에서의 양방향 병렬 탐색의 성능을 비교 분석하였다.

  • PDF

A Design and Implementation of Parallel Programming Environment using Graphical User Interface (그래픽 사용자 인터페이스를 이용한 병렬 프로그래밍 환경 설계 및 구현)

  • 이원용;박두순
    • Journal of Korea Multimedia Society
    • /
    • v.4 no.6
    • /
    • pp.579-587
    • /
    • 2001
  • In this paper, we design and implement a parallel programming environment using graphicial user interface. Parallel program must be written according to the characters of various hardwares or programs. So it is difficult to write the parallel program. In this paper, we design and implement a parallel programming environment which solved this problem. The traditional parallel compiler provides the parallel information in the text environment. But this paper provides the parallel information using graphicial user interface so that the user may use it more easily. This parallel environment provide functions such as, data dependence analysis, CFG, HTF, and loop transformation.

  • PDF

A study on the m-Parallel Nonlinear Combine functions for the Parallel Stream Cipher (병렬 스트림암호를 위한 m-병렬 비선형 결합함수에 관한 연구)

  • 이훈재;문상재
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.27 no.4A
    • /
    • pp.301-309
    • /
    • 2002
  • In this paper, we propose the effective implementation of various nonlinear combiners using by PS-LFSR: m-parallel memoryless-nonlinear combiner, m-parallel memory-nonlinear combiner, m-parallel nonlinear filter function, and m-parallel clock-controlled function. Finally, we propose m-parallel LILI-128 stream cipher as an example of the parallel implementation, and we determine its cryptographic security and performance.

A Design and Implementation of Parallel Programming Environment using Graph Type Intermediate Representation Form (그래프 중간표현 형태를 기반으로 한 병렬 프로그래밍 환경의 설계 및 구현)

  • 이원용;박두순;송상주
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10c
    • /
    • pp.850-852
    • /
    • 2001
  • 본 논문에서는 사용자의 병렬 프로그램 작성을 도와주는 병렬 프로그래밍 환경을 제공한다. 병렬 프로그램은 다양한 하드웨어의 특성에 따라 또는 프로그램의 특성에 따라 사용자가 병렬 프로그램을 작성하여야 하기 때문에 병렬프로그램을 작성하는 것이 매우 어렵다. 본 논문에서는 많은 병렬화 연구에서 제시되고 있는 그래프 중간 표현 형태를 그래프 사용자 인터페이스로 구현하였다. 이 병렬 환경에서는 프로그램 편집기능, 종속성 분석기능, 루프 변환기능, CFG, DPG, HTG등 중간 코드를 그래프 중간 표현 형태를 통해 보여 줌으로 최적의 병렬프로그래밍 환경을 제공한다.

  • PDF

Design and Implementation of PCI-based Parallel Fuzzy Imference System (PCI 기반 병렬 퍼지추론 시스템의 설계 및 구현)

  • 이병권;김종혁;손기성;이상구
    • Proceedings of the Korean Institute of Intelligent Systems Conference
    • /
    • 2001.12a
    • /
    • pp.103-108
    • /
    • 2001
  • 본 논문은 대량의 퍼지 데이터를 고속으로 전송 및 추론하기 위한 PCI 기반 병렬 퍼지 시스템을 구현한다. 많은 퍼지 데이터의 고속전송을 위해 PCI 인터페이스를 사용하고, 병렬 퍼지 추론 시스템을 위한 병렬 퍼지 모듈들을 FPGA로 설계하여 PCI 타겟 코어로서 병렬로 동작하게 한다. 이러한 시스템을 VHDL을 사용하여 설계 및 구현하였다. 본 시스템은 고속의 퍼지추론을 요하는 시스템 또는 대규모의 퍼지 전문가 시스템 등에 활용될 수 있다.

  • PDF

A Parallel Implementation of Purge Process for Lustre File System (Lustre 파일 시스템을 위한 Purge 기능의 병렬화 구현)

  • Kwon, Min-Woo;Yoon, Jun-Weon;Hong, Tae-Young;Park, Chan-Yeol
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2016.10a
    • /
    • pp.64-65
    • /
    • 2016
  • 슈퍼컴퓨터는 대용량의 데이터를 효율적으로 관리하기 위해 Lustre 파일 시스템과 같은 고성능의 병렬 파일 시스템을 이용한다. 한국과학기술정보연구원의 슈퍼컴퓨터 4호기 Tachyon 2차 시스템과 같이 다수의 사용자가 접속하는 슈퍼컴퓨터는 사용자의 데이터가 한없이 누적됨으로 Lustre 파일 시스템의 성능이 저하되는 이슈가 있다. 본 논문에서는 사용자의 데이터가 누적되는 것을 방지하기 위해 장기간 사용하지 않는 데이터를 자동 삭제하는 기능인 Purge기능을 구현하였다. 특히, 기하급수적으로 늘어나는 병렬 파일 시스템의 용량에 대처하기 위해 병렬 컴퓨팅 기술을 이용해 고속 Purge 기능을 구현하였다. 단일 컴퓨팅 노드와 병렬 환경에서 구현한 결과를 비교하였을 때, 단일 컴퓨팅 노드에서는 1,517GB 용량을 지우는데 221.2초가 걸렸으며 16개의 컴퓨팅 노드를 이용한 병렬 환경에서는 49.9초가 걸렸다. 이 결과를 비교했을 때 단일 컴퓨팅 노드에서 구현한 결과 대비 병렬 환경에서 구현했을 때 약 4.4배의 성능향상을 얻을 수 있었다.

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.

Optimized Implementation of PIPO Lightweight Block Cipher on 32-bit RISC-V Processor (32-bit RISC-V상에서의 PIPO 경량 블록암호 최적화 구현)

  • Eum, Si Woo;Jang, Kyung Bae;Song, Gyeong Ju;Lee, Min Woo;Seo, Hwa Jeong
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.11 no.6
    • /
    • pp.167-174
    • /
    • 2022
  • PIPO lightweight block ciphers were announced in ICISC'20. In this paper, a single-block optimization implementation and parallel optimization implementation of PIPO lightweight block cipher ECB, CBC, and CTR operation modes are performed on a 32-bit RISC-V processor. A single block implementation proposes an efficient 8-bit unit of Rlayer function implementation on a 32-bit register. In a parallel implementation, internal alignment of registers for parallel implementation is performed, and a method for four different blocks to perform Rlayer function operations on one register is described. In addition, since it is difficult to apply the parallel implementation technique to the encryption process in the parallel implementation of the CBC operation mode, it is proposed to apply the parallel implementation technique in the decryption process. In parallel implementation of the CTR operation mode, an extended initialization vector is used to propose a register internal alignment omission technique. This paper shows that the parallel implementation technique is applicable to several block cipher operation modes. As a result, it is confirmed that the performance improvement is 1.7 times in a single-block implementation and 1.89 times in a parallel implementation compared to the performance of the existing research implementation that includes the key schedule process in the ECB operation mode.