• Title/Summary/Keyword: 수행중 탐지

Search Result 482, Processing Time 0.025 seconds

A Labeling for on-the-fly Detection of Access Anomalies in Nested Parallel Loop Programs with Synchronization Operations (동기화 명령을 가지는 내포 병렬 루프 프로그램의 수행중 접근이상 탐지를 위한 레이블링)

  • 배상현;전용기;배종민
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10a
    • /
    • pp.712-714
    • /
    • 1998
  • 공유 메모리 병렬 프로그램의 주요 문제의 하나는 공유 변수에 접근하는 비 결정적 수행이다. 본 연구에서는 공유 메모리 병렬 프로그램의 접근이상(access anomaly)을 탐지하는 방법들중 수행중 탐지 기법을 보인다. 수행중 접근이상 탐지기법은 접근이상이 존재하면 적어도 하나는 탐지 할 수 있는 장점을 가지고 있다. 수행중 탐지 기법인 English-Hebrew Labeling 은 동기화 명령을 가지고 내포 병렬 루프 프로그램에서 적용될 수 있는 레이블링 기법으로 레이블링에 많은 저장장소를 필요로 하는 단점을 가지고 있었다. 본 연구에서는 새로운 레이블링 방법을 소개하고, 기존의 English-Hebrew Labeling과 최악의 경우에 기억 장소 복잡도의 측면과 시잔 복잡도의 측면에서 효율성을 비교, 분석하게 된다.

  • PDF

On-the-fly Detection of the First Races for Reducing Bottlenecks by Summary Report Method (요약보고 방법에 의해 병목현상을 개선한 최초경합의 수행중 탐지기법)

  • Kim, Jeong-Si;Jeon, Yong-Gi
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.26 no.9
    • /
    • pp.1042-1054
    • /
    • 1999
  • 공유메모리 병렬프로그램의 오류수정에서 경합의 탐지는 중요하다. 왜냐하면 경합은 잘못된 수행 결과를 초래할 뿐만 아니라, 의도하지 않은 프로그램의 비결정적인 수행을 유발하여 오류수정을 어렵게 하기 때문이다. 특히 최초경합의 탐지는 더욱 중요하다. 그 이유는 최초경합을 제거함으로써 나머지 경합들을 방지할 수도 있기 때문이다. 기존의 수행중 경합 탐지기법들은 접근별 보고방식을 기반으로 하는데, 이 기법들은 임의 공유변수에 대한 병행 쓰레드들의 모든 접근사건들을 검사하기 위해서 접근역사라는 유일한 공유정보를 이용하므로 탐지과정에 심각한 병목현상을 유발시킨다. 그러나, 최초경합 탐지를 위한 경우 이러한 병목현상은 크게 개선될 수 있다. 본 논문에서는, 각 접근사건 검사를 위해 각 쓰레드에 공유되지 않는 독립적인 접근역사를 별개로 두고, 경합을 보고하는 시점인 쓰레드 합류시점에서만 공유되는 접근역사를 이용하도록 함으로써 병목현상을 개선하여 최초경합을 탐지할 수 있는 새로운 수행중 탐지기법을 제안한다. 그러므로 본 기법은 최초경합을 보다 효율적으로 탐지할 수 있기 때문에 수행중 경합 탐지를 더욱 효율적이고 실용적으로 할 수 있다. Abstract Detecting races is important for debugging shared-memory parallel programs, because the races lead to unintended nondeterministic executions of the programs as well as erroneous result and then make debugging programs difficult. Especially, detecting the first races is more important. The reason is that the removal of the first races can make other races disappear. Most existing on-the-fly techniques to detect the races are based on per- access reporting method incurring the serious central bottleneck, because the techniques use unique shared information called access history for checking all accesses of concurrent threads to a shared variable. Such bottleneck, however, can be improved considerably in case of detecting first races. This paper presents a new on-the-fly technique which detects the first races with reduced bottleneck through checking each accesses with private access histories and finally reporting races with shared access histories. Therefore, this technique makes on-the-fly race detection more efficient and practical.

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

Loop Splitting for On-the-fly Race Detection of Sharded-memory Parallel Programs (공유 메모리 병렬 프로그램의 수행중 오류 탐지를 위한 루프 분리)

  • Song, Tae-Seob
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.16 no.3
    • /
    • pp.391-398
    • /
    • 2012
  • Detecting races is important for debugging shared-memory parallel programs, because the races result in unintended non-deterministic executions of the programs. Previous on-the-fly techniques to detect races in parallel programs with general inter-thread coordination show serious space overhead which depends on the maximum parallelism of the program. Therefore, this paper presents a loop splitting technique for on-the-fly race detection of parallel programs which is more efficient in space complexity than previous techniques. This loop splitting technique is the debugged program which preserves semantics of the original program. Monitering loop splitting program in on-the-fly can detect first races.

Efficient On-the-fly Detection of First Races in Shared-Memory Programs with Nested Parallelism (내포병렬성을 가진 공유메모리 프로그램의 수행중 최초경합 탐지를 위한 효율적 기법)

  • 하금숙;전용기;유기영
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.30 no.7_8
    • /
    • pp.341-351
    • /
    • 2003
  • For debugging effectively the shared-memory programs with nested parallelism, it is important to detect efficiently the first races which incur non-deterministic executions of the programs. Previous on-the-fly technique detects the first races in two passes, and shows inefficiencies both in execution time and memory space because the size of an access history for each shared variable depends on the maximum parallelism of program. This paper proposes a new on-the-fly technique to detect the first races in two passes, which is constant in both the number of event comparisons and the space complexity on each access to shared variable because the size of an access history for each shared variable is a small constant. This technique therefore makes on-the-fly race detection more efficient and practical for debugging shared-memory programs with nested parallelism.

Detecting the First Race in OpenMP Program with Nested Parallelism (내포 병렬성을 가지는 OpenMP 프로그램의 최초 경합 탐지)

  • Chon, Byoung-Gyu;Woo, Jong-Jung;Jun, Yong-Kee
    • The KIPS Transactions:PartA
    • /
    • v.8A no.3
    • /
    • pp.253-260
    • /
    • 2001
  • It is important to detect races for debugging shared-memoy parallel programs, because the races cause unintended nondeterministic program execution. Previous on-the-fly techniques to detect races can not guarantee the first race detection in nested parallel programs. Detecting the first race is important for debugging parallel programs, since the removal of the first race may make the next occurred races disappear. In this paper, we presents an on-the-fly detection technique to detect all of the first races through the reexecution of the debugged programs. We assume that the debugged parallel program may have one-way nested parallel programs. The number of reexecution is at the least the nesting depth of the program in the worst case. The space complexity is O(VT) and the time complexity to detect race in each access of access history is O(T), where V is number of shared variables and T is the maximum parallelism of the program. This efficiency of our technique in each execution is the same with the previous on-the-fly detection techniques. Therefore, this technique makes debugging parallel programs more effective and practical.

  • PDF

Scalable On-the-fly Detection of the First Races in Parallel Programs with Synchronization (동기화를 가진 공유메모리 병렬 프로그램의 최초경합을 위한 효율적인 수행중 탐지 기법)

  • 이승렬;김영주;전용기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10c
    • /
    • pp.774-776
    • /
    • 1999
  • 공유메모리 병렬프로그램에서의 경합은 프로그램 수행에서 원하지 않는 비결정성을 야기할 수 있기 때문에 반드시 탐지되어져야 한다. 기존의 탐지 기법들은 경합을 탐지하기 위해서 공유 자료구조를 사용하므로 심각한 병목현상을 일으킨다. 본 논문에서는 동기화가 있는 프로그램에서 병목현상을 줄임으로써 탐지의 효율성을 높임과 동시에, 최초로 발생한 경합을 탐지하기 위해서 감시대상이 되는 접근사건들의 수를 감소시키는 기법을 제시한다. 이러한 목적을 위해서 사건선택 알고리즘과 실제적인 실험결과를 통해 본 기법의 효율성을 보인다.

  • PDF

A Transparent Monitor Based on JDI for Scalable Race Detection of Concurrent Java Programs (병행 Java 프로그램의 확장적 경합탐지를 위한 JDI 기반의 투명한 감시도구)

  • Kim, Young-Joo;Kuh, In-Bon;Bae, Byoung-Jin;Jun, Yong-Kee
    • The KIPS Transactions:PartA
    • /
    • v.16A no.2
    • /
    • pp.55-60
    • /
    • 2009
  • Race conditions in current Java programs must be detected because it may cause unexpected result by non-deterministic executions. For detecting such races during program execution, execution flows of all threads and all access events can be monitored. It is difficult for previous race detection techniques to monitor all threads and access events in actuality because these techniques analyze the files traced during program execution or modify original source programs and then monitor these programs. This paper presents a transparent scalable monitoring tool to detect races using JDI(Java Debug Interface) where JDI is 100% pure java interface to provide in JDPA(Java Platform Debugger Architecture) and is able to provide information corresponding to events occurred in run-time of programs. This tool thus can monitor execution flows of all threads and all access events without program modification. We prove transparency of the presented tool and grasp the efficiency of it using a set of published benchmark programs. As a result of this, the suggested tool can monitor all threads and accesses of these programs without their modification, and their monitoring time is increased to more than 20 times.

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

  • Park, So-Hee;Woo, Jong-Jung;Bae, Jong-Min;Jun, Yong-Kee
    • The KIPS Transactions:PartA
    • /
    • v.9A no.4
    • /
    • pp.525-534
    • /
    • 2002
  • Race conditions, races in short, need to be detected for debugging parallel programs, because the races result in unintended non-deterministic executions. To detect the races in an execution of program, previous techniques use a centralized data structure which may incur serious bottleneck in generating concurrency information, or show inefficient time complexity which depends on the degree of nested parallelism in comparing any two of them. We propose a new labeling scheme in this paper, which is scalable in generating the concurrency information without bottleneck by using private data structure, and improves time complexity into constant in checking concurrency. The scalability and time efficiency therfore makes on-the-fly race detection efficient not only for programs with either shared-memory or message-passing, but also for programs with mixed model of the two.

Energy Efficient Security Scheme for Detecting Selective Forwarding Attacks in Wireless Sensor Networks (무선 센서 네트워크에서의 에너지 효율적인 선택적 전송 공격 탐지 기법)

  • Park, Jun-Ho;Seong, Dong-Ook;Yoo, Jae-Soo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06d
    • /
    • pp.248-251
    • /
    • 2011
  • 무선 센서 네트워크는 다양한 응용 분야와 환경에 배치되기 때문에, 악의적인 목적을 가진 사용자의 공격에 손쉽게 노출되어 있다. 선택적 전달 공격은 센서 네트워크에서 발생 할 수 있는 가장 대표적인 라우팅 공격 중의 하나로, 데이터 패킷의 정상적인 전달을 차단하여 상황 인지 및 이에 대한 대응을 지연시킨다. 기존에 제안된 탐지 기법은 패킷 전달 경로 상에 감시 노드를 선정하고, 패킷이 전송 될 때마다 인증메시지를 소스 노드에게 전송하여 공격 발생 여부를 탐지한다. 하지만, 패킷을 전송할 때 마다 공격 탐지를 수행하기 때문에 한정된 에너지를 바탕으로 동작하는 센서 네트워크에 적합하지 못하다. 본 논문에서는 탐지율을 충분히 유지하면서도 높은 에너지 효율성 위해 센서 네트워크의 특성을 고려한 선택적 전달 공격 탐지 기법을 제안한다. 제안하는 기법에서는 기존 기법에서와 같이 즉시 탐지를 수행하는 대신에 패킷 전송 시간을 고려한 네트워크 모니터링을 수행하고, 공격 받았을 가능성이 있는 경로에 대해서만 지연탐지를 수행한다. 본 논문의 우수성을 보이기 위해서 시뮬레이션을 통해 성능 평가를 수행하였으며, 그 결과 기존 기법에 비해 탐지율이 평균 약 15% 향상되었고, 네트워크의 에너지 소모량이 평균 약 54% 감소하였다.