Skip to main content
QUICK REVIEW

[논문 리뷰] Proactive bottleneck performance analysis in parallel computing using openMP

Vibha Rajput, Alok Katiyar|arXiv (Cornell University)|2013. 11. 08.
Parallel Computing and Optimization Techniques참고 문헌 10인용 수 3
한 줄 요약

이 논문은 공통적인 원인인 임계 섹션과 장벽 등을 분석하여 OpenMP 기반 병렬 응용 프로그램에서 성능 저하 요인을 사전에 식별하고 완화하는 능동적인 접근 방식을 제시한다. 스레드 경쟁을 줄이고 동기화 오버헤드를 최소화하는 최적화 기법을 적용함으로써, 저자들은 공유 메모리 병렬 작업 하중에서 실행 시간을 크게 감소시키고 확장성을 향상시켰음을 입증한다.

ABSTRACT

The aim of parallel computing is to increase an application performance by executing the application on multiple processors. OpenMP is an API that supports multi platform shared memory programming model and shared-memory programs are typically executed by multiple threads. The use of multi threading can enhance the performance of application but its excessive use can degrade the performance. This paper describes a novel approach to avoid bottlenecks in application and provide some techniques to improve performance in OpenMP application. This paper analyzes bottleneck performance as bottleneck inhibits performance. Performance of multi threaded applications is limited by a variety of bottlenecks, e.g. critical sections, barriers and so on. This paper provides some tips how to avoid performance bottleneck problems. This paper focuses on how to reduce overheads and overall execution time to get better performance of application.

연구 동기 및 목표

  • 동기화 버팀목으로 인한 멀티스레드 OpenMP 응용 프로그램의 성능 저하 문제를 해결하기 위해.
  • 공유 메모리 병렬 프로그램에서 임계 섹션, 장벽, 스레드 경쟁과 같은 주요 성능 저하 원인을 식별하기 위해.
  • 실행 시간에 심각한 영향을 미치기 전에 버팀목을 사전에 탐지하고 해결하기 위한 능동적인 방법론을 개발하기 위해.
  • 효과적인 OpenMP 최적화 전략을 통해 총 실행 시간을 줄이고 확장성을 향상시키기 위해.
  • OpenMP 기반 병렬 컴퓨팅에서 성능을 향상시키기 위해 개발자들이 실천 가능한 기법을 제공하기 위해.

제안 방법

  • 스케일러비리티를 제한하는 임계 섹션과 장벽을 포함한 OpenMP 응용 프로그램에서 흔히 발생하는 성능 저하 요인을 분석하기 위해.
  • 임계 섹션 사용을 최소화하고 동기화 지점의 빈도를 줄이는 등의 최적화 기법을 적용하기 위해.
  • 스레드 수준의 로드 밸런싱을 활용하고 가짜 공유를 줄여 경쟁 오버헤드를 낮추기 위해.
  • 실행 이전에 코드 내 고오버헤드 영역을 사전에 탐지하기 위해 성능 프로파일링을 사용하기 위해.
  • 동기화를 최소화하고 데이터 수준 병렬성을 극대화하기 위해 병렬 영역을 재구조화하기 위해.
  • 대표적인 병렬 워크로드에서의 실험적 평가를 통해 개선 사항을 검증하기 위해.

실험 결과

연구 질문

  • RQ1OpenMP로 병렬화된 응용 프로그램에서 성능 저하 요인의 주요 원인은 무엇인가요?
  • RQ2임계 섹션과 장벽과 같은 동기화 구조는 어떻게 최적화하여 오버헤드를 줄일 수 있나요?
  • RQ3성능 저하가 발생하기 전에 개발자가 버팀목을 사전에 탐지하고 해결하기 위해 사용할 수 있는 능동적 기법은 무엇인가요?
  • RQ4공유 메모리 병렬 프로그램에서 동기화 오버헤드를 줄이면 총 실행 시간에 얼마나 기여할 수 있나요?
  • RQ5최적화 전략은 멀티스레드 OpenMP 응용 프로그램에서 확장성과 로드 밸런싱에 어떻게 영향을 미치나요?

주요 결과

  • 과도한 임계 섹션과 장벽 사용은 스레드 경쟁과 순차화로 인해 OpenMP 응용 프로그램의 성능을 심각하게 저하시킨다.
  • 임계 섹션의 범위와 빈도를 줄이면 실행 시간과 확장성 향상에 측정 가능한 개선 효과가 있다.
  • 버팀목 유발 가능성이 높은 코드 영역을 사전에 식별함으로써 개발자는 성능 문제가 악화되기 전에 대상 최적화를 적용할 수 있다.
  • 코드 재구조화를 통해 동기화 오버헤드를 최소화하면 더 빠른 실행과 더 나은 자원 활용도를 달성할 수 있다.
  • 로드 밸런싱과 가짜 공유 감소 등의 최적화 기법은 성능 향상과 경쟁 감소에 기여한다.
  • 실험 결과, 제안된 접근 방식이 대표적인 병렬 워크로드에서 상당한 성능 향상을 이끌어냈다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.