Abstract:
PURPOSE: A system, a method, and storing medium storing the method capable of detecting a material race in an OpenMP program are provided to exactly determine whether access events are parallel. CONSTITUTION: A preprocessor(20) generates a transformed target code. An on-the-fly analyzer(30) classifies access events about a plurality of concurrent threads. The on-the-fly analyzer detects a previous access event and access event having a parallel relation as a race. The on-the-fly analyzer generates a race detecting result.
Abstract:
OpenMP 프로그램에서 자료 경합을 탐지하기 위한 방법, 시스템, 및 기록 매체가 개시된다. 본 발명에 따른 경합 탐지 시스템은 사용자로부터 경합 탐지 대상인 프로그램의 원시 코드 및 경합 탐지를 수행할 분석 속성을 수신하고, 소정의 네트워크를 통하여 서버로부터 수신된 경합 탐지 결과를 출력하는 클라이언트 및 네트워크에 접근 가능하며, 분석 속성에 따라서 프로그램의 수행중에 경합을 탐지하여 경합 탐지 결과를 생성하는 서버를 포함한다. 서버는 분석 속성에 따른 경합 탐지를 위하여 원시 코드를 변형시켜 변형된 목적 코드를 생성하는 전처리부와 변형된 목적 코드의 실행중 생성되는 복수 개의 병행 스레드에 대한 접근 사건들을 동기화 명령어 포함 여부를 기준으로 분류하고, 공유 변수에 대한 각 접근 사건들 중 접근 역사에 저장된 이전의 접근 사건과 병행성 관계에 있는 접근 사건을 경합으로 탐지하여 경합 탐지 결과를 생성하기 위한 수행중 분석부(on-the-fly analyzer)를 포함한다. 본 발명에 의하여 병렬 프로그램의 자료 경합을 효과적으로 탐지하고, 탐지 결과를 직관적으로 이해되도록 시각화할 수 있다. OpenMP 병렬 프로그램, 경합 검증, 3차원 확장적 시각화, 병행성 관계, 레이블링, 프로토콜, 합성 프로그램
Abstract:
병렬 프로그램에서의 공유 변수에 대한 접근을 3차원 원추 상에 시각화하기 위한 방법, 장치, 및 저장 매체가 개시된다. 시각화 방법은 프로그램에 대한 경합 탐지 결과를 수신하는 단계, 경합 탐지 결과를 분석하여 프로그램의 내포 깊이를 획득하고, 3차원 원추를 시각화한 뒤 내포 깊이에 상응하도록 3차원 원추의 높이를 등분하는 원추 시각화 단계, 프로그램의 실행 중 생성되는 복수 개의 병행 스레드 중 동일한 내포 수준의 스레드를 원추의 동일한 높이에 위치한 원주 상에 시각화하는 스레드 시각화 단계 및 경합 탐지 결과를 분석하여 스레드들 중 공유 변수에 대한 접근 사건들이 발생한 스레드들을 읽기 및 쓰기 접근 사건의 발생 유무 및 발생 선후에 따라 분류하고, 분류된 스레드들을 서로 구별되도록 시각화하는 접근 사건 시각화 단계를 포함한다. OpenMP 병렬 프로그램, 경합 검증, 3차원 확장적 시각화, 병행성 관계
Abstract:
PURPOSE: A method and device for visualizing an access of an openMP program at an expanded type 3d circular cone, and storing medium storing the method are provided to shorten a development time of a program by clearly graphing a competition sensing result of a parallel program. CONSTITUTION: A user interface receives a competition detection result about a program. A cone visualization module(910) analyzes the competition detection result to obtain connotation depth of the program an visualize a 3D cone. The cone visualization module equally divides the height of a 3D cone in order to correspond to the connotation depth. A thread visualization module(920) visualizes the same thread of the level among parallel threads which is generated during execution of the program on a circumference located on same height of the circumference.