• 제목/요약/키워드: OpenMP

검색결과 178건 처리시간 0.026초

단일 칩 다중 프로세서상에서 운영체제를 사용하지 않은 OpenMP 구현 및 주요 디렉티브 변환 (Implementation and Translation of Major OpenMP Directives for Chip Multiprocessor without using OS)

  • 전우철;하순회
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제34권4호
    • /
    • pp.145-157
    • /
    • 2007
  • 단일 칩 다중 프로세서의 경우 표준화된 병렬 프로그래밍 방법이 없는데 OpenMP를 사용하면 병렬 프로그래밍이 쉬우므로 OpenMP는 단일 칩 다중 프로세서를 위한 매력적인 병렬 프로그래밍 모델이다. 그런데 단일 칩 다중 프로세서 시스템의 구조는 대상 응용 프로그램에 따라 다양할 수 있다. 따라서 각 시스템마다 다른 방식으로 OpenMP를 구현해야 할 필요가 있다. 본 논문에서는 운영체제를 사용하지 않는 단일 칩 다중 프로세서를 위한 OpenMP 구현과 주요 디렉티브의 효과적인 변환을 제안하여 특수한 하드웨어에 의존하지 않고 OpenMP 디렉티브의 추가적인 확장 없이 성능을 향상 시킬 수 있게 한다. 실험은 대상 플랫폼인 CT3400에서 수행하고 그 결과를 제시한다.

ARM11MPCore에서 POSIX 쓰레드를 이용한 OpenMP 구현 (OpenMP Implementation using POSIX thread library on ARM11MPCore)

  • 이재원;전우철;하순회
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 가을 학술발표논문집 Vol.34 No.2 (B)
    • /
    • pp.414-418
    • /
    • 2007
  • 멀티프로세서 환경에서 OpenMP는 MPI 에 비해 병렬 프로그래밍을 쉽게 할 수 있다는 장점을 가지고 있고, OpenMP는 표준이 없는 병렬 프로그래밍 세계에서 실질적인 표준으로써 인정받고 있다. OPenMP는 대상 플랫폼에 따라 OpenMP 구현을 다르게 해야 하기 때문에 새로운 프로세서가 등장하면 그에 맞는 OpenMP구현을 만들어야 한다. 이 논문에선 다중 프로세서 시스템-온-칩 시스템인 ARM11MPCore 시스템 위에 POSIX 쓰레드에 기반하여 OpenMP 환경을 구축하고 그 성능을 측정한다.

  • PDF

그래프 컬러링과 OpenMP를 이용한 병렬 메쉬 스무딩 알고리즘의 성능 분석 (Performance Analysis of a Parallel Mesh Smoothing Algorithm using Graph Coloring and OpenMP)

  • 신명규;김지범
    • 전자공학회논문지
    • /
    • 제53권6호
    • /
    • pp.80-87
    • /
    • 2016
  • 본 논문에서는 그래프 컬러링과 OpenMP를 사용한 병렬 메쉬 스무딩 알고리즘을 제안하고 공유메모리 기반의 슈퍼컴퓨터를 이용하여 제안하는 병렬 메쉬 스무딩 알고리즘의 성능 분석을 수행하였다. 제안하는 병렬 메쉬 스무딩 알고리즘은 그래프 컬러링 방법을 통해 전체 메쉬를 여러 개의 독립적인 집합 (색깔)으로 나눈 후 각각의 독립적인 집합에 대하여 OpenMP 라이브러리를 사용하여 순차적으로 병렬 메쉬 스무딩을 수행하는 방법이다. 실험을 통하여 여러 가지 그래프 컬러링 방법과 색깔 순서 재배열 방법이 병렬 메쉬 스무딩의 효율성에 미치는 영향에 대해서 알아보았다. 또한, OpenMP의 루프 스케줄링 방법이 병렬 메쉬 스무딩의 효율성에 끼치는 영향에 대해서 알아보았다.

칩 멀티쓰레딩 서버에서 OpenMP 프로그램의 성능과 확장성 (Performance and Scalability of OpenMP Programs on Chip-MultiThreading Server)

  • 이명호;김용규
    • 정보처리학회논문지A
    • /
    • 제13A권2호
    • /
    • pp.137-146
    • /
    • 2006
  • 최근 Chip-level MuitiThreading(CMT) 기술을 내장한 프로세서 들이 출시되면서 그들을 기반으로 하는 공유 메모리 다중 프로세서(SMP: Shared Memory Multiprocessor) 서버 또한 그 사용이 점점 더 보편화 되고있다. OpenMP는 그 사용의 효율성으로 인하여 SMP 시스템을 위한 응용 프로그램의 병렬화를 위한 표준이 되었다. 고성능 컴퓨팅(HPC: High Performance Computing) 응용프로그램 분야에서 더욱 더 빠른 컴퓨터의 처리 능력에 대한 요구가 증가함에 따라, OpenMP 지시어를 사용하여 병렬화된 HPC 응용 프로그램 들의 성능과 확장성을 높이는 일은 그 중요성이 점차 증대되고 있다. 본 논문에서는 CMT 기술을 내장한 대용량 SMP서버인 Sun Fire E25K에서 OpenMP 지시어를 사용하여 병렬화된 HPC 응용 프로그램 들의 suite인 SPEC OMPL(OpenMP를 위한 표준 벤치마크 suite)의 성능과 확장성에 관해 연구했다. 본 논문에서는 또한 SPEC OMPL에 대한 CMT 기술의 효능을 평가하였다.

클러스터 시스템을 위한 효과적인 OpenMP 디렉티브 변환 (Efficient Translation of OpenMP Directives for Cluster Systems)

  • 기양석;하순회
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (A)
    • /
    • pp.10-12
    • /
    • 2003
  • SMP 클러스터가 고성능 계산을 위한 플랫폼으로 등장함에 따라, 이 시스템을 활용하기 위한 프로그래밍 환경에 대한 관심이 증가하고 있다. 이 논문에서 우리는 ParADE라고 부르는 쉽고, 이식성이 높으며. 고성능의 프로그래밍이 가능한 새로운 프로그래밍 환경을 소개한다. ParADE는 OpenMP 프로그래밍 환경으로 HLRC 변종 프로토콜을 구현한 다중 쓰레드 DSM 시스템을 기반으로 하고 있다. 특별히. 이 논문에서는 성능 개선을 위한 OpenMP 변환기의 역할에 중점을 둔다. OpenMP 변화기는 OpenMP 프로그램 모델과 실행 시스템의 수행 모델 사이에서 가교 역할을 한다. 특히, OpenMP 변환기는 동기화 디렉티브를 변환하고 임계 영역에 있는 작은 변수의 메모리 일관성을 유지하기 위해 집합 통신 함수를 활용한다. 동기화 디렉티브 성능 측정을 위한 마이크로벤치마크 프로그램을 통한 실험에서 ParADE 시스템은 기존의 DSM 시스템에 비해 우수한 성능을 보였다.

  • PDF

OpenMP 명세에 대한 고찰 및 분석 (Survey and Analysis of OpenMP Specifications)

  • 이종우;박찬영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 추계학술발표논문집 (상)
    • /
    • pp.621-624
    • /
    • 2000
  • 메시지 전달 방식과 공유 메모리 방식은 병렬 컴퓨터 시스템을 위한 대표적인 아키텍쳐이다. 이 중 공유 메모리 방식은 프로그래밍의 용이함으로 인해 메시지 전달 방식에 비해 많이 채택되고 있는 실정이다. 하지만 하드웨어 벤더마다 각기 다른 공유 메모리 프로그래밍 인터페이스를 제공하기 때문에, 코드 호환성이 주 관심사인 경우에는 프로그래밍의 불편함을 감수하면서 MPI 나 PVM 등을 이용한 메시지 전달 구조를 채택하는 경우가 자주 발생한다. 본 논문에서는 공유 메모리 병렬 컴퓨터 시스템을 위한 프로그래밍 인터페이스 표준인 OpenMP 명세에 대해 고찰, 분석한 결과를 제시한다. OpenMP 명세의 등장 배경 및 발전 과정 등을 기술하고, OpenMP 명세의 분분별 규정 내용을 요약한다. 또한 OpenMP 명세에 따라 기존 C 프로그램을 수정한 예도 보인다. 본 논문의 목적은 OpenMP 라는 공유 메모리 프로그래밍 인터페이스 표준을 소개하고, 이에 대한 관심을 높임으로써 관련 연구를 활성화시키는데 있다.

  • PDF

ePRO-OMP: OpenMP 응용 프로그램의 성능 및 에너지 분석 도구 (ePRO-OMP: A Tool for Performance/Energy PRofiler and Analyzer for OpenMP Applications)

  • 이영호;김지홍
    • 대한임베디드공학회논문지
    • /
    • 제6권5호
    • /
    • pp.287-293
    • /
    • 2011
  • As chip multiprocessors have been widely adopted in embedded systems, achieving both high performance and low power consumptions of parallel applications becomes challenging. In order to meet these requirements, it is crucial for developers to analyze the performance and energy consumption of parallel applications. In this paper, we propose a tool for profiling and optimizing the performance and energy consumption of OpenMP applications (energy PROfiler and analyzer for OpenMP: ePRO-OMP). The main advantage of ePRO-OMP is that it can analyze both the performance and energy consumption of each parallel region of an OpenMP application, which can help developers find the bottleneck of parallel applications in detail.

OpenMP 디렉티브 프로그램의 최초경합 탐지를 위한 도구 (A Detection Tool of First Races in OpenMP Programs with Directives)

  • 강문혜;하옥균;전용기
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제37권1호
    • /
    • pp.1-7
    • /
    • 2010
  • OpenMP 디렉티브 프로그램의 디버깅을 위해서 비결정적인 수행결과를 초래하는 경합을 탐지 하는 것은 중요하다. 특히, 프로그램 수행에서 가장 먼저 발생하는 최초경합은 이후에 발생하는 경합에 영향을 줄 수 있으므로 효과적인 디버깅을 위해서 반드시 탐지되어야 한다. 그러나 기존의 경합탐지 도구들은 최초경합의 탐지를 보장하지 못한다. 본 논문에서는 내포병렬성을 포함한 프로그램을 두 번의 수행으로만 프로그램의 수행 중에 최초경합을 탐지하는 도구를 제시한다. 본 도구의 정당성을 합성프로그램을 이용하여 보이고, 기존 경합탐지 도구와 기능성을 비교한다.

다물체 페리다이나믹 해석을 위한 MPI-OpenMP 혼합 병렬화 (MPI-OpenMP Hybrid Parallelization for Multibody Peridynamic Simulations)

  • 이승우;하윤도
    • 한국전산구조공학회논문집
    • /
    • 제33권3호
    • /
    • pp.171-178
    • /
    • 2020
  • 본 연구에서는 다물체 페리다이나믹 해석 코드의 MPI-OpenMP 혼합 병렬화를 수행하였다. 페리다이나믹 해석 모델은 복잡한 동적파괴 거동 및 불연속 특성을 모사하는데 적합하지만, 비국부 영역을 통한 절점 간 상호작용을 계산하기 때문에 유한요소 모델에 비해 계산 시간이 많이 소요된다. 또한 다중적층구조물의 다물체 페리다이나믹 해석에서 추가된 비국부 접촉 모델과 가상 층간 결합 모델을 통한 여러 물체 간 상호작용으로 계산 부담이 증가한다. 더불어 고속 충돌 파괴와 같은 복잡한 동적 파괴 거동 해석을 위해 세밀한 절점 간격과 작은 시간 간격이 요구되기 때문에 코드 최적화와 병렬화를 통한 고성능 해석 코드 개발이 필수적이다. 해석 코드는 Intel Fortran MPI compiler와 OpenMP를 사용하여 개발되었으며, 한국과학기술정보원(KISTI)의 슈퍼컴퓨팅센터 누리온(Nurion)으로 실행되었다. 다물체 해석 코드를 최적화하기 위한 핵심 요소들을 분석하고, 모델 의존성 발생 서브루틴 분석 및 프로세스 통신 데이터 분별을 통해 MPI-OpenMP 혼합 병렬 처리 구조를 적용하였다. 다물체 충돌 파괴 현상 시뮬레이션을 통해 개발된 병렬 처리 코드의 성능을 확인하였다.

OpenMP 디렉티브 프로그램을 위한 자료경합 검증도구 (A Verification Tool of Data Races in Programs with OpenMP Directives)

  • 김영주;전용기
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제34권9호
    • /
    • pp.395-406
    • /
    • 2007
  • OpenMP 디렉티브를 가진 프로그램에서 경합은 프로그램의 의도하지 않은 비결정적 수행결과를 초래하기 때문에 디버깅을 위해서 반드시 탐지되어야 한다. 하지만 이를 위한 기존의 경합탐지 도구인 Intel사의 Thread Checker는 경합의 존재를 검증하지 못하고 경합을 탐지하는 비용이 크므로 비실용적이다. 본 논문에서는 OpenMP 프로그램의 특성 및 사용자 요구사항의 분석결과를 이용하여 최적의 기능과 성능으로 경합을 검증하는 웹 기반 도구를 제시한다. 그리고 합성 프로그램을 이용하여 실험한 결과로서 Thread Checker는 경합의 존재를 검증하지 못하고 경합탐지 시에 소요되는 시간의 증가비율은 총 접근 사건수 n에 대해서 $O(n^2)$이지만 제안된 도구는 경합의 존재를 검증하고 소요되는 시간의 증가비율은 O(n)이므로 기능 및 성능적인 측면에서 실용적인 도구이다.