• Title/Summary/Keyword: 비결정적 프로그램

Search Result 33, Processing Time 0.025 seconds

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

  • Jung, Min-Sub;Kim, Young-Joo;Ha, Ok-Kyoon;Jun, Yong-Kee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.05a
    • /
    • pp.553-556
    • /
    • 2008
  • 임계구역을 가진 공유 메모리 기반의 병렬 프로그램에서 발생하는 경합은 프로그래머가 의도하지 않은 비결정적인 수행 결과를 초래하므로 반드시 디버깅해야 한다. 이러한 경합을 수행 중에 탐지하는 기존의 기법들은 임계구역의 실행순서에 의해서 발생하는 내부적 비결정성이 존재하지 않는 프로그램에 대해서만 경합의 존재를 검증할 수 있다. 본 논문에서는 내부적 비결정성을 가진 프로그램에 존재하는 비결정적 접근사건을 정적으로 분석하고, 이 정보를 이용하여 수행 중에 경합을 탐지함으로써 잠재되어 있는 경합까지 탐지할 수 있는 도구를 제안한다. 제안한 도구는 비결정성이 포함된 합성프로그램과 공인된 OpenMP 벤치마크 프로그램인 Microbenchmark를 이용하여 경합 검증이 가능함을 보인다.

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

  • Kim, Young-Joo;Jung, Min-Sub;Jun, Yong-Kee
    • The KIPS Transactions:PartA
    • /
    • v.17A no.1
    • /
    • pp.9-18
    • /
    • 2010
  • Races that occur in shared-memory parallel programs such as OpenMP programs must be detected for debugging because of causing unintended non-deterministic results. Previous works which verify the existence of these races on-the-fly are limited to the programs without internal non-determinism. But in the programs with internal non-determinism, such works need at least N! execution instances for each critical section to verify the existence of races, where N is the degree of maximum parallelism. This paper presents a preprocessor that statically analyzes the locations of non-deterministic accesses using program slicing and can detect apparent races as well as potential races through single execution using the analyzed information. The suggested tool can deterministically monitor non-deterministic accesses to occur in OpenMP programs so that this tool can verify the existence of races even if it is used any race detection protocol which can apply to programs with critical section. To prove empirically this tool, we have experimented using a set of benchmark programs such as synthetic programs that involve non-deterministic accesses, OpenMP Microbenchmark, NAS Parallel Benchmark, and OpenMP application programs.

A Study on the Characteristics of Indeterminate Program based on the Philosophical Concept of Relationship in Post Structuralism (후기구조주의적 사유체계로서의 관계성에 기초한 현대건축공간의 비결정적 프로그램의 특성에 관한 연구)

  • Kim Yun-Jung;Park Chan-I1
    • Korean Institute of Interior Design Journal
    • /
    • v.14 no.6 s.53
    • /
    • pp.37-46
    • /
    • 2005
  • This study is focused on the indeterminacy of the contemporary social structure based on the philosophical concept of relationship. The purpose of this study is to present the index of the space planning that the contemporary society demands through analysis of a characteristics of the indeterminate program. As the result, we got a characteristic and a design method of the following indeterminate programs. (1)The characteristic of the interior space programs are in such cases as combined, the continuance, the pile, the juxtaposition, mixing and interference etc. (2) The characteristics of space planning are multiple changes of the space occupation, various sight experiences, folding structure, expansion of flow space, the insertion of a between spates etc. (3) The characteristic of space design expression is addition of various functions tv unification of a structural element and an element of furniture.

A Case Study on Detection of Races in Flight Control Software of Unmanned Aerial Vehicle (무인기 비행제어 소프트웨어를 위한 경합탐지 사례연구)

  • Lee, Byoung-Kwi;Kang, Mun-Hye;Jun, Yong-Kee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06b
    • /
    • pp.79-82
    • /
    • 2011
  • 무인기용 비행제어 소프트웨어는 인터럽트 핸들러에서 비결정적인 수행결과를 조래하는 경합이 발생될 수 있다. 이러한 유형의 경합을 탐지하기 위한 기존 방법은 원시 프로그램의 인터럽트 핸들러를 스레드로 변환하여 정적 경합탐지 도구를 사용하므로 프로그램 수행 시 실제 발생하지 않는 부정확한 경합(false positives)를 보고한다. 본 연구는 부정확한 경합 보고를 줄이기 위해서 원시 프로그램을 POSIX 실시간 스레브 프로그램으로 변환하고 Lockset기반 탐지기법 의해서 탐지된 공유변수를 대상으로 Happens-before 관계 분석기법을 이용하여 경합을 탐지하는 동적 경합탐지 도구를 사용한다. 제시된 방법의 실험을 위해서 Knob Assembly에 탑재되는 비행제어 소프트웨어를 대상으로 정적 경합탐지 도구와 동적 경합탐지 도구의 경합탐지 결과를 비교 분석한다.

A Study on the Characteristics of Indeterminate Program in Contemporary Architecture (현대의 건축공간에 나타난 비결정적 프로그램의 특성에 관한 연구)

  • Kim, Yun-Jung;Park, Chanl-Il
    • Proceedings of the Korean Institute of Interior Design Conference
    • /
    • 2005.10a
    • /
    • pp.155-160
    • /
    • 2005
  • This study is focused on the indeterminancy of the contemporary social structure based on the philosophical concept of relationship. The indeterminate relationship is one of the prominent characteristics of contemporary architecture. This study aims to clarity the indeterminate programs of the contemporary urban spatial structures. By tracing this new characteristics of new architectural trend, the spatial situations of could be understood in light of new conceptual frame as well as some relevant architectural project cases.

  • PDF

An Efficient Record-Replay Mechanism using Hardware Performance Counters and Debugging Facilities (하드웨어 성능 카운터와 디버깅 기능을 이용한 리코드-리플레이 방법)

  • Maeng, Ji-Chan;Ryu, Min-Soo
    • The KIPS Transactions:PartA
    • /
    • v.18A no.5
    • /
    • pp.177-180
    • /
    • 2011
  • In this paper, we present a record-replay technique based on interrupt logging and reproduction. Race conditions have been considered as the main source of nondeterminism in conventional record-replay approaches. However, interrupts are another source of nondeterministic computer system behavior, which must be reproduced at accurate time points, let alone the order of interrupt occurrence. We show that an interrupt-based replayer can be efficiently and effectively implemented by using hardware performance counters and debugging functionality. Experiments also show that the runtime overhead of the interrupt-based replayer is sufficiently low.

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

  • 김영주;이승렬;전용기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.630-632
    • /
    • 2000
  • 경합은 공유메모리 병렬프로그램의 비결정적인 수행결과를 초래하므로, 디버깅을 위해서 경합탐지는 중요하다. 임계구역을 가진 병렬프로그램을 위한 수행중 경합 탐지 기법은 공유 자료구조를 사용하므로, 매 접근 사건 시에 병목현상을 유발한다. 본 연구에서는 동기화가 있는 병렬프로그램에서 매 반복을 수행할 때마다 공유 자료구조의 접근 횟수를 기껏해야 임계구역의 수에 비례하도록 매 접근사건을 검사한다. 그러므로 이 기법은 수행중 경합탐지의 확장성과 효율성을 제공한다.

  • PDF

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

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

  • PDF

Visualizing a Partial-Order Execution Graph for Debugging Multithreaded Programs (멀티스레드 프로그램의 디버깅을 위한 부분순서 수행 그래프 시각화)

  • Hye-Rim Kim;Byung-Chul Kim;Yong-Kee Jun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.1020-1023
    • /
    • 2008
  • 멀티스레드 프로그램의 효과적인 디버깅을 위해서는 스레드의 비결정성에 의해 야기되는 다양한 수행 양상의 직관적인 이해가 중요하다. 스레드 수행 양상을 시각화하는 기존의 기법들은 공유 변수의 접근사건들 간의 부분 순서를 표현함으로써 시각적 복잡도가 높거나 이전 수행에서 결정된 락킹 순서를 표현하여 잠재되어 있는 다른 수행 양상에 대한 정보를 제공하지 못 한다. 본 논문은 프로그램 수행의 비결정적인 부분 순서는 락의 종류와 속성을 포함하는 코드 블록으로 시각화하고, 결정적인 부분 순서는 블록들을 연결하는 간선으로 시각화한다. 본 연구의 그래프는 플랫폼에 독립적인 Java Swing으로 구현하고 합성 프로그램을 사용하여 효과성을 실험한다.

Automatic Generation of Race Debugging Environment for OpenMP Programs (OpenMP프로그램을 위한 경합디버깅 환경의 자동생성)

  • 강문혜;김영주;전용기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04a
    • /
    • pp.601-603
    • /
    • 2002
  • 공유메모리 병렬프로그램에서 경합은 프로그램의 비결정적인 수행을 초래하므로 디버깅을 위해서 반드시 탐지되어져야 한다. 경합을 수행 중에 디버깅하기 위한 기존의 도구들은 경합탐지 엔진과 시각화 엔진으로 구성된 경합디버깅 엔진을 특정 프로그램 모델에 의존적으로 적용하여 경합디버깅 환경을 구성한다. 이러한 도구들은 프로그램 모델의 변경 시에 경합디버깅 환경이 최적의 경합 디버깅 엔진으로 구성되지 못한다는 문제점이 있다. 본 논문에서는 OpenMP 병렬프로그랭에서 각 프로그램 모델에 따라 효과성, 효율성, 확장성 등을 고려한 경합탐지 엔진과 추상성을 고려한 시각화 엔진으로 경합디버깅 환경을 자동으로 생성하는 도구를 제안한다. 이 도구는 디버깅 대상이 되는 프로그램의 모델에 최적인 경합디버깅 엔진을 적용하므로 경합탐지 목적에 부합하는 최적의 성능과 효과적인 시각화를 제공한다. 따라서, 본 도구는 디버깅 환경을 생성하기 위한 부담을 줄여서 효과적인 디버깅을 할 수 있게 한다.

  • PDF