• Title/Summary/Keyword: 병렬 구현

Search Result 1,474, Processing Time 0.027 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 작업 실행 시 병렬성 유지를 위해 추가로 개선할 수 있는 방법을 제시한다.

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

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

  • PDF

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

  • ;;;R.S. Ramakrishna
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04a
    • /
    • pp.655-657
    • /
    • 2002
  • 데이터 마이닝 기술 중 하나인 연관규칙 마이닝의 병렬 알고리즘들은 동형질의 병렬 컴퓨팅 시스템을 대상으로 하여 개발되었다. 그러나, 이러한 병렬 알고리즘들은 클러스터 시스템 또는 Network Of Workstation(NOW)과 같은 저가의 프로세서들로 구성된 집합적인 병렬 컴퓨팅 시스템에서는 부적당하다. 이는 이들 시스템이 다른 성능을 가진 프로세서로 구성되어 있거나 여러 사용자의 접근을 허용하는 등의 이형성을 가지기 때문이다. 결과적으로 이러한 환경을 고려하지 않은 기존의 병렬 연관규칙 알고리즘들은 전체 시스템의 성능을 활용하지 못하게 되어 성능저하를 피할 수 없다. 본 논문에서는 대표적인 병렬 연관규칙 알고리즘인 Data Distribution 알고리즘을 위만 효과적이고 확장성 있는 동적 부하분산 알고리즘의 설계와 구현을 다룬다.

  • PDF

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

  • Kim, J.M.;Byun, S.W.;Kim, K.H.;Koh, K.W.;Cha, S.J.;Jeong, Y.J.;Jung, S.I.
    • Electronics and Telecommunications Trends
    • /
    • v.30 no.4
    • /
    • pp.36-45
    • /
    • 2015
  • 매니코어는 단순한 기능을 가진 수백~수천 개 코어를 하나의 CPU에 집적하여 성능을 구현하는 것으로 근본적으로 이를 활용할 병렬프로그래밍이 필요하다. 단순히 속도를 높이는 방향으로 발전하던 하드웨어는 병렬성을 증대하는 방향으로 발전하고 있고 이에 따라 프로그래밍 패러다임 역시 변하고 있다. 병렬화를 위한 여러 기술이 하드웨어에 구현되고 프로그래머가 이를 보다 적극적으로 활용할 수 있게 하는 유용한 병렬프로그래밍 모델이 필요하다. 또한, 컴퓨팅 환경은 자원의 활용도를 중시하는 시스템 중심에서 응용 및 서비스 중심으로 변화하고 있으므로, 그 도메인에 적합하게 프로그래밍할 수 있는 환경이 요구된다. 매니코어에서 병렬시스템 구조를 활용하는 방법을 결정하는 병렬프로그래밍 모델은 그 목적에 유연하게 제공되고 또한 컴퓨팅 환경 변화에 따라 새로운 개념의 모델을 정립하는 데 있어 유용해야 한다.

  • PDF

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

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

  • PDF

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

  • Shin, Eun-Jeong;Kim, Yi-Reun;Heo, Jun-Seok;Whang, Kyu-Young
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.14 no.6
    • /
    • pp.567-581
    • /
    • 2008
  • As the size of the web is growing explosively, search engines are becoming increasingly important as the primary means to retrieve information from the Internet. A search engine periodically downloads web pages and stores them in the database to provide readers with up-to-date search results. The web crawler is a program that downloads and stores web pages for this purpose. A large-scale search engines uses a parallel web crawler to retrieve the collection of web pages maximizing the download rate. However, the service architecture or experimental analysis of parallel web crawlers has not been fully discussed in the literature. In this paper, we propose an architecture of the parallel web crawler and discuss implementation issues in detail. The proposed parallel web crawler is based on the coordinator/agent model using multiple machines to download web pages in parallel. The coordinator/agent model consists of multiple agent machines to collect web pages and a single coordinator machine to manage them. The parallel web crawler consists of three components: a crawling module for collecting web pages, a converting module for transforming the web pages into a database-friendly format, a ranking module for rating web pages based on their relative importance. We explain each component of the parallel web crawler and implementation methods in detail. Finally, we conduct extensive experiments to analyze the effectiveness of the parallel web crawler. The experimental results clarify the merit of our architecture in that the proposed parallel web crawler is scalable to the number of web pages to crawl and the number of machines used.

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

  • Eum, Si-Woo;Kwon, Hyeok-Dong;Kim, Hyun-Jun;Jang, Kyung-Bae;Kim, Hyun-Ji;Park, Jae-Hoon;Sim, Min-Joo;Song, Gyeong-Ju;Seo, Hwa-Jeong
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2021.05a
    • /
    • 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% 더 좋은 성능을 보인다.

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

  • Shin, Bong-Hi;Kim, Young-Tae
    • Journal of Internet Computing and Services
    • /
    • v.12 no.3
    • /
    • pp.131-137
    • /
    • 2011
  • GPUs were originally designed for graphic processing, and GPGPUs are general-purpose GPUs for numerical computation with high performance and low electric power. In this paper, we implemented the parallel LU factorization program for GPGPUs. In CUDA, which is computational environment for Nvidia GPGPUs, domains are divided into blocks, and multi-threads compute each sub-blocks Simultaneously. In LU factorization program, computation order should be artificially decided due to the data dependence. To resolve the data dependancy, we suggested a parallel LU program for GPGPUs, and also explained parallel reduction algorithm for partial pivoting of LU factorization. We finally present performance analysis to show efficiency of the parallel LU factorization program based on multi-threads on GPGPUs.

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

  • Cho, Hee-Young;Seo, Hyung-Won;Kim, Jae-Hoon;Yang, Sung-Il
    • Annual Conference on Human and Language Technology
    • /
    • 2006.10e
    • /
    • 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 (멀티코어 시스템에서 최적화된 소프트웨어 개발을 위한 병렬처리 프로그래밍 기법 조사)

  • Lee, Ki-Hong;Kim, Jee-Hong;Eom, Young-Ik
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.36-38
    • /
    • 2012
  • 이제 멀티코어 CPU가 보편화 되었지만 대다수의 프로그래밍 언어가 단일 코어를 대상으로 발전되었기 때문에 병렬화에 어려움이 있다. 이를 해결하고자 병렬처리 기법들이 연구되고 있지만 오히려 개발자는 여러 기법들 사이에서 혼란스러울 수 있다. 본 논문에서는 개발자들이 처한 상황에서 적절한 기법을 선택하는데 도움이 되고자 주요 병렬처리 기법인 OpenMP, Threading Building Blocks, Cilk Plus, Parallel Patterns Library를 비교 및 평가하였다. 각 기법마다 지원 기능, 지원 방식, 스케줄링 기법 등 개발자가 프로그램을 개발함에 있어 고려해야 할 특징들이 서로 다르고 각기 장단점이 존재한다. 따라서 병렬처리 기법을 선택하고 구현함에 있어 특정한 하나의 기법에 의존하는 것보다는 여러 기법들의 특성을 파악하여 상황에 맞는 기법을 선택한다면 보다 효율적이면서도 쉽게 병렬처리를 구현할 수 있다.