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

검색결과 1,474건 처리시간 0.036초

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

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

PARAFRASE I I 분석을 통한 병렬 컴파일러에 관한 연구 (A Study on Parallel Compiler Using PARAFRASE II Analysis)

  • 이상헌;박두순
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 1998년도 춘계학술발표논문집
    • /
    • pp.349-354
    • /
    • 1998
  • 정보화 시대를 맞이해서 다량의 자료와 다양한 형태의 자료를 빠르게 처리함이 요구됨에 따라서 좀더 성능이 좋은 컴퓨터를 요구하였으며, 이러한 요구사항에 충족하기 위하여 병렬 컴퓨터가 등장하였다. 그러나, 병렬 컴퓨터에서 수행되는 병렬 프로그램을 사용자가 작성하기란 용이한 작업이 아니다. 사용자에게 편의를 제공하고, 기존의 프로그램들을 병렬 컴퓨터에서 직접 수행시키기 위하여 병렬 컴파일러가 등장하였다. 이러한 병렬 컴파일러를 만드는데는 상당한 시간과 노력이 요구된다. 본 논문에서는 PARAFRASE-2 병렬 컴파일러의 분석을 통하여 병렬 컴파일어의 구조를 살펴보고 간단한 병렬 컴파일러를 설계, 구현한다.

  • PDF

병렬 연관규칙 마이닝을 위한 동적 부하 분산 설계 및 구현 (Effective Dynamic Load Balancing for Association Rule Mining)

  • 김현민;김지혜;안창욱
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (A)
    • /
    • pp.655-657
    • /
    • 2002
  • 데이터 마이닝 기술 중 하나인 연관규칙 마이닝의 병렬 알고리즘들은 동형질의 병렬 컴퓨팅 시스템을 대상으로 하여 개발되었다. 그러나, 이러한 병렬 알고리즘들은 클러스터 시스템 또는 Network Of Workstation(NOW)과 같은 저가의 프로세서들로 구성된 집합적인 병렬 컴퓨팅 시스템에서는 부적당하다. 이는 이들 시스템이 다른 성능을 가진 프로세서로 구성되어 있거나 여러 사용자의 접근을 허용하는 등의 이형성을 가지기 때문이다. 결과적으로 이러한 환경을 고려하지 않은 기존의 병렬 연관규칙 알고리즘들은 전체 시스템의 성능을 활용하지 못하게 되어 성능저하를 피할 수 없다. 본 논문에서는 대표적인 병렬 연관규칙 알고리즘인 Data Distribution 알고리즘을 위만 효과적이고 확장성 있는 동적 부하분산 알고리즘의 설계와 구현을 다룬다.

  • PDF

매니코어 병렬프로그래밍 모델 (Parallel Programming Model for Manycore)

  • 김진미;변석우;김강호;고광원;차승준;정연정;정성인
    • 전자통신동향분석
    • /
    • 제30권4호
    • /
    • pp.36-45
    • /
    • 2015
  • 매니코어는 단순한 기능을 가진 수백~수천 개 코어를 하나의 CPU에 집적하여 성능을 구현하는 것으로 근본적으로 이를 활용할 병렬프로그래밍이 필요하다. 단순히 속도를 높이는 방향으로 발전하던 하드웨어는 병렬성을 증대하는 방향으로 발전하고 있고 이에 따라 프로그래밍 패러다임 역시 변하고 있다. 병렬화를 위한 여러 기술이 하드웨어에 구현되고 프로그래머가 이를 보다 적극적으로 활용할 수 있게 하는 유용한 병렬프로그래밍 모델이 필요하다. 또한, 컴퓨팅 환경은 자원의 활용도를 중시하는 시스템 중심에서 응용 및 서비스 중심으로 변화하고 있으므로, 그 도메인에 적합하게 프로그래밍할 수 있는 환경이 요구된다. 매니코어에서 병렬시스템 구조를 활용하는 방법을 결정하는 병렬프로그래밍 모델은 그 목적에 유연하게 제공되고 또한 컴퓨팅 환경 변화에 따라 새로운 개념의 모델을 정립하는 데 있어 유용해야 한다.

  • PDF

워크스테이션 클러스터에서 순차적 부하가 병렬 부하에 미치는 영향에 대한 연구 (A Study on Effects of Sequential Workloads on Parallel Workloads in Workstation Clusters)

  • 장영민;심영철
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.2137-2153
    • /
    • 1998
  • 네트워크로 연결된 워크스테이션들인 NOW(Network of Workstations)가 순차 프로그램과 병렬 프로그램들을 모두 효율적으로 수행할 수 있는 환경을 제공하려면 이 두 종류의 프로그램들이 어떻게 상호 영향을 주는지 이해할 필요가 있다. 본 논문에서는 순차 프로그램의 부하의 변화에 따른 병렬 프로그램의 성능 변화를 알아보았다. 이러한 목적으로 NOW 시뮬레이터를 구현하고 실험을 하였다. 구현에서 순차 프로그램과 병렬 프로그램들은 합성 부하를 사용하였고 병렬 프로그램의 수행 환경으로는 코스케쥴링과 프로세스 이주가 가능하다고 가정하였다. 실험을 통해서 순차 프로그램들에 의해 변하는 유휴 워트스테이션의 수가 병렬 프로그램의 성능에 어떠한 영향을 미치는지와 동시에 수행되는 여러 개의 병렬 프로그램들이 서로의 성능에 어떠한 영향을 미치는 가에 대해 결과를 수집하고 분석하였다.

  • PDF

오디세우스 대용량 검색 엔진을 위한 병렬 웹 크롤러의 구현 (Implementation of a Parallel Web Crawler for the Odysseus Large-Scale Search Engine)

  • 신은정;김이른;허준석;황규영
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권6호
    • /
    • pp.567-581
    • /
    • 2008
  • 웹의 크기가 폭발적으로 증가함에 따라 인터넷에서 정보를 얻는 수단으로서 검색 엔진의 중요성이 부각되고 있다. 검색 엔진은 사용자에게 최신의 정보를 검색 결과로서 제공하기 위해 웹 페이지를 주기적으로 수집하고 이를 데이타베이스에 저장한다. 웹 크롤러는 이러한 목적으로 웹 페이지를 수집하는 프로그램이다. 대부분의 검색 엔진은 제한된 시간 내에 많은 수의 웹 페이지를 수집하기 위해 다수의 머신을 사용하는 병렬 웹 크롤러를 이용한다. 그러나, 병렬 웹 크롤러의 아키텍처와 세부 구현 방법이 잘 알려져 있지 않기 때문에 실제로 병렬 웹 크롤러를 구현하는 데에 어려움이 많다. 본 논문에서는 병렬 웹 크롤러(parallel web crawler)의 아키텍처와 세부 구현 방법을 제시한다. 병렬 웹 크롤러는 다수의 머신에서 웹 페이지를 병렬적으로 수집하기 위해 조정자(coordinator) 대리자(agent) 구조의 2-티어(tier) 모델을 사용한다. 조정자/대리자 모델은 각 머신에서 웹 페이지를 수집하기 위한 다수의 대리자들과 이 대리자들을 관리하기 위한 하나의 조정자로 구성된다. 병렬 웹 크롤러는 웹 페이지를 수집하기 위한 크롤링(crawling) 모듈, 수집한 웹 페이지를 데이타베이스 로딩 포맷으로 변환하기 위한 컨버팅(converting) 모듈, 수집된 웹 페이지의 중요도를 계산하기 위한 랭킹(ranking) 모듈로 구성된다. 본 논문에서는 병렬 웹 크롤러의 각 모듈들을 설명하고, 세부 구현 방법을 설명한다. 마지막으로, 실험을 통해 병렬 웹 크롤러의 성능을 평가하였다. 실험 결과, 제안된 병렬, 웹 크롤러가 수집해야할 웹 페이지 개수와 머신 개수에 따라 확장 가능함을 보였다.

64-bit ARM 프로세서 상에서의 블록암호 PIPO 병렬 최적 구현 (Optimized implementation of block cipher PIPO in parallel-way on 64-bit ARM Processors)

  • 엄시우;권혁동;김현준;장경배;김현지;박재훈;심민주;송경주;서화정
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 춘계학술발표대회
    • /
    • pp.163-166
    • /
    • 2021
  • ICISC'20에서 발표된 경량 블록암호 PIPO는 비트 슬라이스 기법 적용으로 효율적인 구현이 되었으며, 부채널 내성을 지니기에 안전하지 않은 환경에서도 안정적으로 사용 가능한 경량 블록암호이다. 본 논문에서는 ARM 프로세서를 대상으로 PIPO의 병렬 최적 구현을 제안한다. 제안하는 구현물은 8평문, 16평문의 병렬 암호화가 가능하다. 구현에는 최적의 명령어 활용, 레지스터 내부 정렬, 로테이션 연산 최적화 기법을 사용하였다. 구현은 A10x fusion 프로세서를 대상으로 한다. 대상 프로세서상에서, 기존 레퍼런스 PIPO 코드는 64/128, 64/256 규격에서 각각 34.6 cpb, 44.7 cpb의 성능을 가지나, 제안하는 기법은 8평문 64/128, 64/256 규격에서 각각 12.0 cpb, 15.6 cpb, 16평문 64/128, 64/256 규격에서 각각 6.3 cpb, 8.1 cpb의 성능을 보여준다. 이는 기존 대비 각 규격별로 8평문 병렬 구현물은 약 65.3%, 66.4%, 16평문 병렬 구현물은 약 81.8%, 82.1% 더 좋은 성능을 보인다.

GPGPU의 멀티 쓰레드를 활용한 고성능 병렬 LU 분해 프로그램의 구현 (Implementation of high performance parallel LU factorization program for multi-threads on GPGPUs)

  • 신봉희;김영태
    • 인터넷정보학회논문지
    • /
    • 제12권3호
    • /
    • pp.131-137
    • /
    • 2011
  • GPGPU는 원래 그래픽 계산을 위한 프로세서인 GPU를 일반 계산에 활용하여 저전력으로 고성능의 효율을 보이는 신개념의 계산 장치이다. 본 논문에서는 GPGPU에서 계산을 하기 위한 병렬 LU 분해법의 알고리즘을 제안하였다. Nvidia GPGPU에서 프로그램을 실행하기 위한 CUDA 계산 환경에서는 계산하고자 하는 데이터 도메인을 블록으로 나누고 각 블록을 쓰레드들이 동시에 계산을 하는데, 이 때 블록들의 계산 순서는 무작위로 진행이 되기 때문에 블록간의 데이터 의존성을 가지는 LU 분해 프로그램에서는 결과가 정확하지 않게 된다. 본 논문에서는 병렬 LU 분해법에서 블록간의 계산 순서를 인위적으로 정하는 구현 방식을 제안하며 아울러 LU 분해법의 부분 피벗팅을 계산하기 위한 병렬 reduction 알고리즘도 제안한다. 또한 구현된 병렬프로그램의 성능 분석을 통하여 GPGPU의 멀티 쓰레드 기반으로 고성능으로 계산할 수 있는 병렬프로그램의 효율성을 보인다.

한국어와 영어의 명사구 기계 번역 (Korea-English Noun Phrase Machine Translation)

  • 조희영;서형원;김재훈;양성일
    • 한국정보과학회 언어공학연구회:학술대회논문집(한글 및 한국어 정보처리)
    • /
    • 한국정보과학회언어공학연구회 2006년도 제18회 한글 및 한국어 정보처리 학술대회
    • /
    • pp.273-278
    • /
    • 2006
  • 이 논문에서 통계기반의 정렬기법을 이용한 한영/영한 양방향 명사구 기계번역 시스템을 설계하고 구현한다. 정렬기법을 이용한 기계번역 시스템을 구축하기 위해서는 않은 양의 병렬말뭉치(Corpus)가 필요하다. 이 논문에서는 병렬 말뭉치를 구축하기 위해서 웹으로부터 한영 대역쌍을 수집하였으며 수집된 병렬 말뭉치와 단어 정렬 도구인 GIZA++ 그리고 번역기(decoder)인 PARAOH(Koehn, 2004), RAMSES(Patry et al., 2002), MARIE(Crego et at., 2005)를 사용하여 한영/영한 양방향 명사구 번역 시스템을 구현하였다. 약 4만 개의 명사구 병렬 말뭉치를 학습 말뭉치와 평가 말뭉치로 분리하여 구현된 시스템을 평가하였다. 그 결과 한영/영한 모두 약 37% BLEU를 보였으나, 영한 번역의 성공도가 좀더 높았다. 앞으로 좀더 많은 양의 병렬 말뭉치를 구축하여 시스템의 성능을 향상시켜야 할 것이며, 지속적으로 병렬 말뭉치를 구축할 수 있는 텍스트 마이닝 기법이 개발되어야 할 것이다. 무엇보다도 한국어 특성에 적합한 단어 정렬 모델이 연구되어야 할 것이다. 또한 개발된 시스템을 다국어 정보검색 시스템에 직접 적용해서 그 효용성을 평가해보아야 할 것이다.

  • PDF

멀티코어 시스템에서 최적화된 소프트웨어 개발을 위한 병렬처리 프로그래밍 기법 조사 (The Survey of Parallel Programming Techniques for Developing Optimized Software in Multi-core System)

  • 이기홍;김지홍;엄영익
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.36-38
    • /
    • 2012
  • 이제 멀티코어 CPU가 보편화 되었지만 대다수의 프로그래밍 언어가 단일 코어를 대상으로 발전되었기 때문에 병렬화에 어려움이 있다. 이를 해결하고자 병렬처리 기법들이 연구되고 있지만 오히려 개발자는 여러 기법들 사이에서 혼란스러울 수 있다. 본 논문에서는 개발자들이 처한 상황에서 적절한 기법을 선택하는데 도움이 되고자 주요 병렬처리 기법인 OpenMP, Threading Building Blocks, Cilk Plus, Parallel Patterns Library를 비교 및 평가하였다. 각 기법마다 지원 기능, 지원 방식, 스케줄링 기법 등 개발자가 프로그램을 개발함에 있어 고려해야 할 특징들이 서로 다르고 각기 장단점이 존재한다. 따라서 병렬처리 기법을 선택하고 구현함에 있어 특정한 하나의 기법에 의존하는 것보다는 여러 기법들의 특성을 파악하여 상황에 맞는 기법을 선택한다면 보다 효율적이면서도 쉽게 병렬처리를 구현할 수 있다.