• 제목/요약/키워드: 병렬 구현

검색결과 1,469건 처리시간 0.031초

Parallelization of a Purely Functional Bisimulation Algorithm

  • Ahn, Ki Yung
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권1호
    • /
    • pp.11-17
    • /
    • 2021
  • 본 논문에서는 순수 함수형 언어로 작성된 쌍방시뮬레이션 알고리듬의 성능을 멀티코어 프로세서 컴퓨터에서 병렬화로 향상시키는 방법을 연구한다. 이 병렬화에 있어 핵심 아이디어는 순수 함수형 프로그램의 참조 투명성을 십분 활용하면 병렬화가 전혀 고려되지 않고 작성된 초기 구현으로부터 최소한의 수정만으로 성능 개선 효과를 기대할 수 있다는 것이다. 초기 구현과 병렬화 구현 둘 다 순수 함수형 언어인 하스켈로 작성되었다. 초기 구현을 병렬화할 때 변화는 아주 적어서 병렬화된 구현에서도 초기 구현의 프로그램 구조가 거의 그대로 유지되었다. 벤치마크를 통해 제시된 간단한 병렬화만으로도 초기 구현과 비교해 두 배 이상의 성능 개선을 확인했다. 또한, 병렬화와는 별개의 최적화 기법인 메모이제이션이 적용된 버전의 쌍방시뮬레이션 구현에도 같은 방식의 병렬화를 적용함으로써 마찬가지로 성능을 개선할 수 있음을 확인하였다.

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

  • 조현호;심동규
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2013년도 하계학술대회
    • /
    • 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

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

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

  • PDF

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

  • 이원용;박두순
    • 한국멀티미디어학회논문지
    • /
    • 제4권6호
    • /
    • pp.579-587
    • /
    • 2001
  • 본 논문은 그래픽 사용자 인터페이스를 이용하여 병렬 프로그래밍 환경을 설계하고 구현하였다. 병렬 프로그램은 다양한 하드웨어의 특성에 따라 또는 프로그램의 특성에 따라 사용자가 병렬 프로그램을 작성하여야 하기 때문에 사용자가 병렬 프로그램을 작성하는 것은 매우 어렵다. 본 논문에서는 이런 문제를 도와주기 위하여 기존의 병렬 컴파일러에서 제공되고 있는 텍스트 위주의 병렬화 정보 대신에 그래픽 사용자 인터페이스를 이용하여 편안하고 쉽게 병렬화 정보를 제공하는 병렬 프로그래밍 환경을 제안하고, 구현하였다. 본 논문의 병렬 프로그래밍 환경은 종속성 분석, CFG, HTG, 루프 병렬화 등의 기능을 제공한다.

  • PDF

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

  • 이훈재;문상재
    • 한국통신학회논문지
    • /
    • 제27권4A호
    • /
    • pp.301-309
    • /
    • 2002
  • 본 논문에서는 병렬 이동형 PS-LFSR을 활용한 여러 가지 형태의 m-병렬 비선형 결합함수에 대하여 제안하고, 이들의 효율적인 구현 방안을 검토하였다. 즉, m-병렬 비메모리-비선형 결합함수, m-병렬 메모리-비선형 결합함수, m-병렬 비선형 필터함수 및 m-병렬 클럭 조절형 결합함수 등 4가지 형태의 m-병렬 비선형 결합함수와 이들의 효율적인 병렬 구현 방안을 제안하였고, 마지막으로 클럭 조절형 LILI-128의 병렬구현 기법을 예시하여 안전성과 성능을 분석하였다.

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

  • 이원용;박두순;송상주
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (3)
    • /
    • pp.850-852
    • /
    • 2001
  • 본 논문에서는 사용자의 병렬 프로그램 작성을 도와주는 병렬 프로그래밍 환경을 제공한다. 병렬 프로그램은 다양한 하드웨어의 특성에 따라 또는 프로그램의 특성에 따라 사용자가 병렬 프로그램을 작성하여야 하기 때문에 병렬프로그램을 작성하는 것이 매우 어렵다. 본 논문에서는 많은 병렬화 연구에서 제시되고 있는 그래프 중간 표현 형태를 그래프 사용자 인터페이스로 구현하였다. 이 병렬 환경에서는 프로그램 편집기능, 종속성 분석기능, 루프 변환기능, CFG, DPG, HTG등 중간 코드를 그래프 중간 표현 형태를 통해 보여 줌으로 최적의 병렬프로그래밍 환경을 제공한다.

  • PDF

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

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

  • PDF

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

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

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

  • 엄시우;장경배;송경주;이민우;서화정
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제11권6호
    • /
    • pp.167-174
    • /
    • 2022
  • PIPO 경량 블록암호는 ICISC'20에서 발표된 암호이다. 본 논문에서는 32-bit RISC-V 프로세서 상에서 PIPO 경량 블록암호 ECB, CBC, CTR 운용 모드의 단일 블록 최적화 구현과 병렬 최적화 구현을 진행한다. 단일 블록 구현에서는 32-bit 레지스터 상에서 효율적인 8-bit 단위의 Rlayer 함수 구현을 제안한다. 병렬 구현에서는 병렬 구현을 위한 레지스터 내부 정렬을 진행하며, 서로 다른 4개의 블록이 하나의 레지스터 상에서 Rlayer 함수 연산을 진행하기 위한 방법에 대해 설명한다. 또한 CBC 운용모드의 병렬 구현에서는 암호화 과정에 병렬 구현 기법 적용이 어렵기 때문에 복호화 과정에서의 병렬 구현 기법 적용을 제안하며, CTR 운용모드의 병렬 구현에서는 확장된 초기화 벡터를 사용하여 레지스터 내부 정렬 생략 기법을 제안한다. 본 논문에서는 병렬 구현 기법이 여러 블록암호 운용모드에 적용 가능함을 보여준다. 결과적으로 ECB 운용모드에서 키 스케줄 과정을 포함하고 있는 기존 연구 구현의 성능 대비 단일 블록 구현에서는 1.7배, 병렬 구현에서는 1.89배의 성능 향상을 확인하였다.