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

검색결과 446건 처리시간 0.039초

공유메모리 프로그램의 최초경합 탐지를 위한 접근역사 분석 (Analyzing Access Histories for Detecting First Races in Shared-memory Programs)

  • 강문혜;김영주;전용기
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제31권1_2호
    • /
    • pp.41-50
    • /
    • 2004
  • 공유메모리 병렬프로그램의 디버깅을 위해서 비결정적인 수행결과를 초래하는 경합을 탐지하는 것은 중요하다. 특히, 프로그램 수행에서 가장 먼저 발생하는 최초경합은 이후에 발생하는 경합에 영향을 줄 수 있으므로 반드시 탐지되어야 한다. 이러한 최초경합을 탐지하기 위해 최초경합에 참여할 가능성이 있는 후보사건들을 수행 중에 수집하는 기존의 기법은 접근사건들을 감시하여 후보사건들을 수집하고, 그들간의 병행성 관계만을 검사하여 경합을 보고한다. 그러나 이렇게 보고된 경합은 경차들간의 영향관계가 고려되지 않으므로 최초경합임을 보장하지 못한다 본 논문에서는 내포병렬성을 가진 병렬프로그램의 수행 중에 수집된 후보사건들을 프로그램 수행 후에 각 내포수준에서 분석하여 영향 받지 않은 경합만을 보고하는 기법을 제안한다. 제안된 기법은 임의의 내포수준까지 분석하여 보고된 최초경합이 그 내포수준 까지는 영향 받지 않은 경합임을 보장하므로, 상위 내포수준에 대한 재분석이 필요 없는 효율적인 최초경합 탐지기법이다. 본 기법은 내포병렬성에서 후보사건들만 수집되면 최초경합을 탐지할 수 있으므로 기존의 기법에 비해서 현실적이고 효과적인 디버깅을 가능하게 한다.

스레드 동기화가 없는 OpenMP 디렉티브 프로그램을 위한 효율적인 경합검증 도구 (An Efficient Tool for Verifying Races in OpenMP Directive Programs without Interthread Synchronization)

  • 하옥균;강문혜;김영주;전용기
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권3호
    • /
    • pp.301-305
    • /
    • 2008
  • OpenMP 디렉티브 프로그램에서 경합은 의도하지 않은 비결정적인 수행결과를 초래하므로 디버깅을 위해서 반드시 탐지되어야 한다. 하지만 이러한 경합을 탐지하는 기존의 도구인 Intel Thread Checker는 경합의 존재를 검증하지 못하며 경합을 탐지하는 비용이 크므로 비실용적이다. 이러한 문제를 해결하기 위해서 본 연구팀은 프로그램의 특성 및 사용자 요구사항의 분석결과를 이용하여 경합을 검증하는 도구를 개발하였으나 스레드 동기화가 없는 모델에서는 최적화되지 못하였다. 본 논문에서는 이러한 선행연구의 결과를 확장하기 위해서 스레드 동기화가 없는 프로그램 모델을 위한 효율적 레이블링 기법과 경합탐지 프로토콜 기법을 적용한다. 합성프로그램을 이용하여 실험한 결과로는 스레드 동기화가 없는 프로그램 모델에서 경합검증 시간이 기존의 도구보다 평균 250배 이상 빠르고, 총 접근사건 수가 동일하면 최대병렬성이 증가하여도 경합검증 시간이 감소함을 보인다.

수리모형 기반의 계층적 열차경합관리 설계 및 구현 (Design and Implementation of Mathematical Model based Hierarchical Conflict Detection and Resolution)

  • 김경민;홍순흠
    • 한국철도학회:학술대회논문집
    • /
    • 한국철도학회 2008년도 추계학술대회 논문집
    • /
    • pp.687-694
    • /
    • 2008
  • 일반적으로 열차경합은 사고나 인프라고장(선로, 신호기, 선로전환기 등) 등의 외란 발생으로 인하여 본래의 스케줄에 따라 열차운영을 할 수 없는 상황으로 정의 되어진다. 열차경합관리의 주요 목적은 열차 운영 중에 발생하는 열차경합을 사전에 검지하고 해소하는 것이다. 경합의 검지 방법은 선후행 열차간 운행시격과 최소 열차운행시격, 허용가능 지연시간초과, 선로 폐쇄상태의 시스템 자동검지 등 다양하며 해소 방안 역시 속도조절, 대기시간변경, 교행/대피 순서변경, 플랫폼 사용 변경 등 여러 가지가 복합적으로 적용된다. 현재 대부분의 열차운행제어체계는 중앙집중방식이며 소규모 역에서의 경합관리역시 원격으로 중앙에서 하고 있으나 CTC 차원에서 모든 역 상황을 최적으로 통제하는 것은 무리가 있다. 또한, 입환과 같은 구체적인 작업들은 CTC차원에서 파악조차 힘들기 때문에 로컬에서 수행하고 있는 실정이다. 본 연구에서는 경합관리를 계층적으로 라인경합관리, 역경합관리 2가지로 구분하고 경합검지 및 해소에서 각각의 역할분담 및 협조체계를 설계하였다. 또한, 각각의 경합관리에서는 수리모형에 기반한 최적화모델을 적용하여 현실적이고 합리적인 경합관리모델 구현방법을 제시한다.

  • 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

내부적 비결정성을 가진 공유 메모리 프로그램의 잠재적 경합 탐지 (Potential Races Detection in Shared-Memory Programs with Internal Nondeterminism)

  • 정민섭;김영주;하옥균;전용기
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 춘계학술발표대회
    • /
    • pp.553-556
    • /
    • 2008
  • 임계구역을 가진 공유 메모리 기반의 병렬 프로그램에서 발생하는 경합은 프로그래머가 의도하지 않은 비결정적인 수행 결과를 초래하므로 반드시 디버깅해야 한다. 이러한 경합을 수행 중에 탐지하는 기존의 기법들은 임계구역의 실행순서에 의해서 발생하는 내부적 비결정성이 존재하지 않는 프로그램에 대해서만 경합의 존재를 검증할 수 있다. 본 논문에서는 내부적 비결정성을 가진 프로그램에 존재하는 비결정적 접근사건을 정적으로 분석하고, 이 정보를 이용하여 수행 중에 경합을 탐지함으로써 잠재되어 있는 경합까지 탐지할 수 있는 도구를 제안한다. 제안한 도구는 비결정성이 포함된 합성프로그램과 공인된 OpenMP 벤치마크 프로그램인 Microbenchmark를 이용하여 경합 검증이 가능함을 보인다.

열차 경합 해소 시스템 구현 및 한국철도에 적용 (Implementation of Railway Conflict Resolution System)

  • 이상인;김택룡;박진배;주영훈;홍효식
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2005년도 제36회 하계학술대회 논문집 D
    • /
    • pp.2646-2648
    • /
    • 2005
  • 열차는 타 교통수단에 비하여 정시성과 안전성이 우수하다는 장점을 가지고 있다. 이러한 열차의 정시성을 유지하는데 있어서 열차 경합에 대한 대응은 매우 중요한 용소이다. 열차 경합은 열차와 열차간의 충돌로 정의된다. 이러한 열차의 경합은 두 열차의 각 역에서의 도착 및 출발시각을 변경함으로써 해결할 수 있다. 본 논문에서는 전문가 시스템 및 제약조건 만족 기법을 이용하여 열차 경합을 해소하는 알고리즘을 제시한다.

  • PDF

임계구역을 가진 공유메모리 병렬프로그램에서 효율적인 경합 탐지를 위한 사건 선택기법 (Filtering Accesses for Detecting Races in Parallel Programs with Locking)

  • 김영주;이승렬;전용기
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.630-632
    • /
    • 2000
  • 경합은 공유메모리 병렬프로그램의 비결정적인 수행결과를 초래하므로, 디버깅을 위해서 경합탐지는 중요하다. 임계구역을 가진 병렬프로그램을 위한 수행중 경합 탐지 기법은 공유 자료구조를 사용하므로, 매 접근 사건 시에 병목현상을 유발한다. 본 연구에서는 동기화가 있는 병렬프로그램에서 매 반복을 수행할 때마다 공유 자료구조의 접근 횟수를 기껏해야 임계구역의 수에 비례하도록 매 접근사건을 검사한다. 그러므로 이 기법은 수행중 경합탐지의 확장성과 효율성을 제공한다.

  • PDF

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

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

  • PDF

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)이므로 기능 및 성능적인 측면에서 실용적인 도구이다.

메시지 전달 프로그램에서의 수행 중 경합탐지 (On-the-fly Detection of Race Conditions in Message-Passing Programs)

  • 박미영;강문혜;전용기;박혁로
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제34권7호
    • /
    • pp.267-275
    • /
    • 2007
  • 메시지전달 프로그램에서 발생하는 메시지경합은 프로그램의 비결정적 수행결과를 초래하므로 효과적인 디버깅을 위하여 탐지되어야 한다. 특히 각 프로세스에서 가장 먼저 발생하는 최초경합은 동일한 프로세스 내에서 다른 경합의 발생을 초래할 수 있으므로, 효과적인 경합탐지를 위해서 우선적으로 탐지되어야 한다. 이러한 경합을 탐지하기 위한 기존의 기법들은 적어도 프로그램을 두 번 수행하거나, 메시지들의 수에 비례한 크기의 추적 파일의 분석을 요구한다. 본 논문은 추적파일을 생성하지 않으면서 단 한번의 프로그램 수행으로 각 프로세스에서 발생하는 최초경합을 탐지하는 기법을 제시하고, 실험을 통해서 본 기법이 최초경합을 정확히 탐지함을 보인다.