• 제목/요약/키워드: 경합탐지

검색결과 40건 처리시간 0.027초

병렬프로그램의 경합조건을 수행 중에 효율적으로 탐지하기 위한 레이블링 기법 (A Labeling Scheme for Efficient On-the-fly Detection of Race Conditions in Parallel Programs)

  • 박소희;우종정;배종민;전용기
    • 정보처리학회논문지A
    • /
    • 제9A권4호
    • /
    • pp.525-534
    • /
    • 2002
  • 병렬프로그램에서 경합 조건은 비결정적인 수행 결과를 초래하므로 디버깅을 위해 반드시 탐지되어야 한다. 이러한 경합을 수행 중에 탐지하는 기존의 기법들은 병행성 정보 생성 시에 공유 자료구조를 사용하여 심각한 병목현상을 발생시키거나, 병행성 정보 비교 시에 내포병렬성의 정도에 의존하는 비효율적인 시간 복잡도를 가진다. 본 논문에서는 개별 자료구조를 사용함으로써 병목현상을 제거하여 병행성 정보를 확장적으로 생성하며, 생성된 병행성 정보의 비교 시간을 상수적인 복잡도로 개선한 새로운 레이블링 기법을 제안한다. 그러므로 제안된 레이블링 기법의 확장성 및 효율성은 공유메모리와 메시지전달 프로그램뿐만 아니라 이를 혼합하여 사용하는 병렬프로그램에서도 효율적인 수행중 경합탐지를 가능하게 한다.

OpenMP 프로그램을 위한 효율적 병행성 정보의 생성기법 (An Efficient Scheme for Creating Concurrency Information in OpenMP Programs)

  • 하옥균;김선숙;전용기
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(C)
    • /
    • pp.534-539
    • /
    • 2010
  • OpenMP 프로그램의 수행 중에 발생하는 자료 경합과 같은 병행성 오류는 디버깅을 위하여 반드시 탐지되어야만 한다. 그러나 이를 탐지하는 것은 어려운 일이다. 접근사건의 발생 후 관계를 기반으로하는 경합 탐지 기법은 프로그램의 수행 중에 발생하는 스레드의 병행성 정보를 식별하기위한 레이블을 생성하고, 생성된 스레드의 레이블을 기반으로 공유변수에 접근하는 사건을 접근역사를 통해 감시함으로써 경합을 탐지한다. 이러한 경합 탐지의 방법에서 레이블 생성을 위한 NR 레이블링 기법은 병행성 정보생성 시에 지역자료 구조를 사용함으로써 병목현상이 발생하지 않으며, 접근역사에 저장하는 레이블의 크기가 상수 값을 갖는 공간적 효율성을 제공한다. 또한 부모스레드의 정보역사를 정렬된 리스트 형태로 가져 병행성 정보 비교 시에 이진탐색이 가능하므로 시간적 효율성을 가지는 우수한 기법이다. 그러나, NR 레이블링은 레이블의 생성시에 부모스레드의 정보역사를 유지하기 위해서 내포 병렬성의 깊이에 의존하는 시간적 비용이 요구된다. 본 논문에서는 부모스레드의 정보역사 유지를 위해 상수적인 시간 및 공간적 복잡도를 갖도록 NR 레이블링 기법을 개선한다. 합성 프로그램을 이용하여 실험한 결과에서 개선된 기법은 최대 병렬성의 증가에 따라 레이블의 생성과 유지시 기존의 기법보다 평균 4.5배 빠르고, 레이블링을 위해 평균 3배 감소된 기억공간을 요구하며, 내포 병렬성에 의존적이지 않음을 보인다.

  • PDF

병행 Java 프로그램의 공유변수 접근사건 선택을 위한 투명한 감시도구 (A Transparent Monitor for Filtering Access Events to Shared Variables in Concurrent Java Programs)

  • 구인본;김영주;강문혜;전용기
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2007년도 추계학술발표대회
    • /
    • pp.648-652
    • /
    • 2007
  • 병행 Java 프로그램의 경합은 프로그램의 비결정성을 초래하므로 반드시 탐지되어야 한다. 이러한 경합을 수행 중에 탐지하기 위해서는 모든 접근사건들을 감시할 수 있어야 한다. 기존의 경합탐지 기법들은 대상 프로그램을 수정하여 감시하므로 모든 감시지점을 인식하는 것은 현실적으로 어렵다. 본 연구에서는 JDI (Java Debug Interface)를 이용하여 모든 접근사건을 감시하여 선택할 수 있는 투명한 감시도구를 제안한다. 그리고 벤치마크 프로그램을 이용한 실험결과를 분석하여 투명성을 보인다.

  • PDF

병렬 프로그램의 동적 분석을 위한 효율적인 감시 필터링 기술 (An Efficient Filtered Monitoring Technique for Dynamic Analysis of Parallel Programs)

  • 박세원;하옥균
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2016년도 제53차 동계학술대회논문집 24권1호
    • /
    • pp.9-10
    • /
    • 2016
  • 본 논문에서는 멀티 스레드 기반 병렬 프로그램의 동적 분석을 통한 자료경합 탐지를 위해 효율적인 감시 필터링 기술을 제시한다. 제시하는 감시 필터링 기술은 자료경합과 같은 동시성 오류를 탐지하기 위해 프로그램의 수행 중에 발생하는 공유 메모리에 대한 스레드들의 접근 분석 시에 동일한 코드영역을 단순 반복하는 스레드들을 감시대상에서 제외시킴으로써 동적 분석을 위한 추가적인 오버헤드를 최소화한다. 제시하는 필터링 기술을 수행 중 자료경합 탐지 도구에 적용한 실험적 평가를 통해 개선된 수행시간 오버헤드의 제공이 가능함을 보인다.

  • PDF

멀티 스레딩 기반 병렬 프로그램의 효과적인 디버깅을 위한 추상적 시각화 (Abstract Visualization for Effective Debugging of Parallel Programs Based on Multi-threading)

  • 김영주
    • 한국정보통신학회논문지
    • /
    • 제20권3호
    • /
    • pp.549-557
    • /
    • 2016
  • 효과적인 시각화는 일반적으로 대용량의 디버깅 정보와 프로그램의 추상적 수행모델을 표현하는 것이 중요하다. 본 논문에서는 스레드들간의 논리적 병행성 관계를 나타내는 부분순서 수행그래프를 이용하여 내포병렬성과 임계구역을 가진 OpenMP 병렬 프로그램의 수행양상과 경합정보의 효과적 디버깅을 위해서 효과적으로 제공하는 추상적 시각화 도구를 제안한다. 본 도구는 수행중 추적선택 기법으로 시각화 정보를 위한 공간적 복잡성을 줄이고, 추적된 시각화 정보에 프로그램의 내포병렬성과 임계구역 동기화를 위한 그래프 추상화를 제공하여 시각적 복잡성을 해결한다. 그래프 추상화를 통한 스레드들간의 부분순서 관계와 경합탐지 정보는 프로그램의 제어흐름과 경합의 위치를 구조적으로 파악할 수 있게 하므로 프로그램 수행의 이해와 경합 탐지 및 수정에 효과적이다.

멀티 스레드 프로그램의 자료경합 탐지를 위한 수행 중 감시 도구 (On-the-fly Monitoring Tool for Detecting Data Races in Multithread Programs)

  • 팽봉준;박세원;구인본;하옥균;전용기
    • 정보과학회 논문지
    • /
    • 제42권2호
    • /
    • pp.155-161
    • /
    • 2015
  • 멀티 스레드 프로그램의 수행 중에 발생하는 자료경합과 원자성 위배 등과 같은 동시성 오류는 스레드들의 비결정적 수행으로 인해 다양한 수행 순서를 고려해야 하고 재생산 또한 어렵기 때문에 디버깅하기 어렵고 귀찮은 오류로 잘 알려져 있다. 이러한 자료경합을 디버깅하기 위해서는 스레드의 수행 순서와 메모리 접근 및 동기화 정보 등과 같은 프로그램의 수행 중에 발생한 정보를 수집 및 분석해야 한다. 본 논문에서는 멀티 스레드 프로그램의 수행 중에 벡터 클록 시스템을 기반으로 스레드의 병행성과 접근사건들 간의 순서관계를 생성 및 유지함으로써 정확하면서도 효율적인 감시와 분석이 가능한 도구인 VcTrace를 제시한다. 제시된 감시 도구를 사용하여 멀티 스레드 기반의 응용 프로그램을 대상으로 수행 중 발생한 스레드와 접근사건 등의 정보를 감시 및 유지하고, 자료경합을 탐지하는 기술과 접목하여 실용성을 분석한다.

내포병렬성을 가진 공유메모리 프로그램에서 최초경합의 수행후 탐지도구 (A Post-mortem Detection Tool of First Races to Occur in Shared-Memory Programs with Nested Parallelism)

  • 강문혜;심갑식
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권4호
    • /
    • pp.17-24
    • /
    • 2014
  • 본 논문에서는 고성능 컴퓨팅 시스템의 성능 향상을 위한 효율적인 동적 작업부하 균등화 정책을 제안한다. 이 정책은 시스템 자원인 CPU와 메모리를 효율적으로 사용하여 고성능 컴퓨팅 시스템의 처리량을 최대화하고, 각 작업의 수행시간을 최소화한다. 또한 이 정책은 수행중인 작업의 메모리 요구량과 각 노드의 부하상태를 파악하여 작업을 동적으로 할당한다. 이때 작업을 할당 받은 노드가 과부하 상태가 되면 다른 노드로 작업을 이주시켜 각 노드의 작업부하를 균등하게 유지함으로써 작업의 대기시간을 줄이고, 각 작업의 수행시간을 단축한다. 본 논문에서는 시뮬레이션을 통하여 제안하는 동적 작업부하 균등화 정책이 기존의 메모리 기반의 작업부하 균등화 정책에 비해 고성능 컴퓨팅 시스템의 성능 향상 면에서 우수함을 보인다.

무기체계 소프트웨어의 자료경합을 탐지하기 위한 프레임워크 (A Framework for Detecting Data Races in Weapon Software)

  • 오진우;최으뜸;전용기
    • 대한임베디드공학회논문지
    • /
    • 제13권6호
    • /
    • pp.305-312
    • /
    • 2018
  • Software has been used to develop many functions of the modern weapon systems which has a high mission criticality. Weapon system software must consider multi-threaded processing to satisfy growing performance requirement. However, developing multi-threaded programs are difficult because of concurrency faults, such as unintended data races. Especially, it is important to prepare analysis for debugging the data races, because the weapon system software may cause personal injury. In this paper, we present an efficient framework of analysis, called ConDeWS, which is designed to determine the scope of dynamic analysis through using the result of static analysis and fault analysis. As a result of applying the implemented framework to the target software, we have detected unintended data races that were not detected in the static analysis.