• 제목/요약/키워드: OpenMP 프로그램

검색결과 46건 처리시간 0.021초

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

  • 강문혜;하옥균;전용기
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제37권1호
    • /
    • pp.1-7
    • /
    • 2010
  • 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 디렉티브 프로그램을 위한 자료경합 검증도구 (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)이므로 기능 및 성능적인 측면에서 실용적인 도구이다.

클러스터 시스템을 위한 효과적인 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 구현 및 주요 디렉티브 변환 (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에서 수행하고 그 결과를 제시한다.

OpenMP프로그램의 디버깅을 위한 효과적 경합 시각화 (Effective Race Visualization for Debugging OpenMP Programs)

  • 김금희;김영주;전용기
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.13-15
    • /
    • 2004
  • OpenMP 프로그램에서 수행되는 스레드들간에 적절한 동기화 없이 적어도 하나의 쓰기 사건으로 동일한 공유변수에 접근하는 경우에 발생되는 오류인 경합은 비결정적인 수행결과를 초래하므로 디버깅을 위해서 반드시 탐지되어야 한다. 이러한 경합탐지를 위한 기존의 디버깅 도구는 프로그램의 복잡한 수행구조 및 디버깅 정보를 시각화하기 위한 공간이 제한적이므로 효과적인 시각화를 제공하지 못한다. 본 논문에서는 경합 시각화를 위해서 3차원적 시각화와 스레드 및 이벤트 둥의 추상화 기능으로 공간적 제약성을 해결하는 도구를 제안한다. 제안된 도구는 추상적 시각화 정보를 제공하므로 프로그램의 이해가 용이하고 효과적인 경합디버깅 환경을 제공한다.

  • PDF

내부적 비결정성을 가진 공유 메모리 병렬 프로그램에서 잠재적 경합탐지를 위한 전처리기 (A Preprocessor for Detecting Potential Races in Shared Memory Parallel Programs with Internal Nondeterminism)

  • 김영주;정민섭;전용기
    • 정보처리학회논문지A
    • /
    • 제17A권1호
    • /
    • pp.9-18
    • /
    • 2010
  • OpenMP와 같은 공유 메모리 기반의 병렬 프로그램에서 발생하는 경합은 프로그래머가 의도하지 않은 비결정적인 수행 결과를 초래하므로 반드시 탐지되어야한다. 이러한 경합의 존재를 수행 중에 검증하는 기존의 기법들은 내부적 비결정성이 존재하지 않는 프로그램에 대해서만 가능하다. 하지만 이 조건을 만족하지 못한다면 경합검증을 위해서 각 임계구역마다 적어도 N! 만큼의 프로그램 수행이 필요하다. 여기서 N은 탐지 대상 프로그램이 가진 최대 병렬성을 의미한다. 본 논문에서는 프로그램 슬라이싱을 이용하여 내부적 비결정성을 가진 프로그램에 존재하는 비결정적 접근사건을 정적으로 분석하고, 이 정보를 이용하여 한번의 수행으로 실제 경합뿐만 아니라 잠재적 경합까지 탐지할 수 있는 경합 전처리기를 제안한다. 제안된 도구는 OpenMP 병렬 프로그램에서 발생할 수 있는 비결정적 접근사건들에 대해서 항상 결정적으로 감시할 수 있으므로 임계구역 가진 프로그램 모델에 적용할 수 있는 어떠한 경합탐지 프로토콜을 사용하더라도 경합 검증이 가능하다. 본 도구의 실험적 증명을 위해서 비결정성이 포함된 합성 프로그램, 공인된 벤치마크 프로그램인 OpenMP Microbenchmark, NAS Parallel Benchmark, 그리고 OpenMP 응용 프로그램을 이용하여 제안된 도구의 정확성을 보인다.

OpenMP 디렉티브 병렬프로그램에서의 동적 자료경합 탐지를 위한 감시 필터링 기술의 실험적 비교 (An Empirical Comparison of Monitoring Filtering Techniques for Dynamic Data Race Detection in Parallel Programs with OpenMP Directives)

  • 조아라;하옥균
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2016년도 제54차 하계학술대회논문집 24권2호
    • /
    • pp.1-2
    • /
    • 2016
  • 다중 스레드 기반 병렬 프로그램에서의 자료경합 탐지는 동시에 수행되는 스레드 간의 비결정적인 상호작용 때문에 탐지하기 어려운 것으로 잘 알려져 있다. 동적 분석기술을 사용하여 자료경합을 탐지할 경우 프로그램 수행의 감시와 충돌하는 모든 메모리 연산의 분석을 위해 추가적인 오버헤드가 발생한다는 단점이 있다. 이러한 동적 분석의 추가적인 오버헤드를 줄이는 방법으로 감시 필터링 기술이 소개되고 있으며, 본 논문에서는 동적 자료경합 탐지를 위한 감시 필터링 기술 중 OpenMP 디렉티브 병렬 프로그램에 적용 가능한 두 기술을 대상으로 실용성과 효율성을 실험적으로 비교한다.

  • PDF

OpenMP 프로그램을 위한 경합탐지 도구의 분석 (An Analysis of Race Detection Tool for OpenMP Programs)

  • 김영주;강문혜;전용기
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.478-480
    • /
    • 2003
  • 공유메모리 기반의 OpenMP 프로그램에서 발생하는 경합은 의도하지 않은 비결정적 수행 결과를 초래하므로 효과적으로 경합을 탐지하는 도구가 필요하다. 본 연구는 OpenMP 프로그램의 경합탐지를 위한 Intel 사의 Thread Checker를 내포병렬성의 여부와 접근사건들의 분포 형태를 기준으로 개발한 커널프로그램 집합을 이용하여 분석한 결과로서, 스레드들을 순서적으로 수행하면서 내포된 스레드를 부모 스레드와 동일한 스레드로 간주하고 적어도 하나의 읽기와 쓰기 접근사건들을 유지하면서 수행중에 경합을 탐지하는 도구임을 보인다. 이 도구는 접근사건의 발생 시에 이전 접근사건들과의 경합 여부를 검사한 후에 그 접근사건의 유지 여부를 결정하므로, 논리적 병행성 관계를 반영하지 못하는 내포된 스레드가 존재하지 않으면 경합의 존재를 검증한다.

  • PDF

OpenMP를 통한 쿼드 트리 검색 병렬화 및 성능 분석 (Quad-tree Search Parallelization using OpenMP and Performance Analysis)

  • 성운;박준석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 춘계학술발표대회
    • /
    • pp.163-166
    • /
    • 2012
  • OpenMP를 이용할 경우 컴파일러 디렉티브의 삽입으로 병렬화가 가능하다. 본 논문은 쿼드 트리를 이용한 데이터베이스 검색 프로그램을 OpenMP로 병렬화하여 실험을 진행한다. 실험을 통해 논리코어의 개수와 쓰레드 개수에 따른 상관관계가 적다는 것을 알 수 있다. 또한 쓰레드 개수 증가에 따른 오버헤드 발생이 성능에 영향을 준다는 사실을 알 수 있다. 쿼드 트리 자료구조를 이용한 데이터베이스 검색 프로그램을 OpenMP를 이용해 병렬화할 경우 논리적 코어의 개수가 8개, 쓰레드 개수가 16개일 경우에 1.8배의 최대의 성능향상을 이룬다.