• 제목/요약/키워드: Multi-threaded program

검색결과 12건 처리시간 0.024초

A Study on Filtering Techniques for Dynamic Analysis of Data Races in Multi-threaded Programs

  • Ha, Ok-Kyoon;Yoo, Hongseok
    • 한국컴퓨터정보학회논문지
    • /
    • 제22권11호
    • /
    • pp.1-7
    • /
    • 2017
  • In this paper, we introduce three monitoring filtering techniques which reduce the overheads of dynamic data race detection. It is well known that detecting data races dynamically in multi-threaded programs is quite hard and troublesome task, because the dynamic detection techniques need to monitor all execution of a multi-threaded program and to analyse every conflicting memory and thread operations in the program. Thus, the main drawback of the dynamic analysis for detecting data races is the heavy additional time and space overheads for running the program. For the practicality, we also empirically compare the efficiency of three monitoring filtering techniques. The results using OpenMP benchmarks show that the filtering techniques are practical for dynamic data race detection, since they reduce the average runtime overhead to under 10% of that of the pure detection.

프로그램 변환을 통한 Java 다중 스레드 프로그램의 결정적 테스팅 (Deterministic Testing of Java Multi-Threaded Programs through Program Transformation)

  • 정인상
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제27권6호
    • /
    • pp.607-617
    • /
    • 2000
  • 동시에 수행 가능한 여러 개의 스레드들로 구성된 병렬 프로그램은 본질적으로 비결정성을 내포하고 있다. 따라서, 이러한 비결정성에 기인한 비반복성때문에 순차적 프로그램을 위해 개발되었던 기존의 테스팅 테스팅 방법이나 디버깅 방법을 병렬 프로그램에 그대로 적용할 수 없다. 이 논문에서는 Java 다중 스레드 프로그램의 재수행성을 보장하기 위하여 대상이 되는 프로그램을 원시코드 수준에서 변환하는 방법을 제시한다. 일단 변환 규칙에 따라 변경이 된 프로그램은 주어진 동기화 메소드 시퀀스를 강제적으로 반복 수행할 수 있어 오류의 원인을 찾는 노력을 줄일 수 있다. 또한, 재실행하고자 하는 동기화 메소드 시퀀스가 실제 주어진 프로그램에서 수행 가능한지를 판별하는 방법을 제시한다.

  • PDF

자바 메모리 모델을 이용한 멀티 스레드 자바 코드 검증 (Verification for Multithreaded Java Code using Java Memory Model)

  • 이민;권기현
    • 정보처리학회논문지D
    • /
    • 제15D권1호
    • /
    • pp.99-106
    • /
    • 2008
  • 최신의 컴파일러는 실행 속도를 높이기 위해서 최적화 작업을 수행한다. 그러나 최적화 작업 중에 프로그램 구문의 실행 순서가 바뀔 수 있다. 단일 스레드 소프트웨어 에서는 최적화가 실행 결과에 영향을 주지 않지만 멀티 스레드 소프트웨어에서는 최적화로 인해서 기존의 실행 과정을 계산하는 방법으로는 설명할 수 없는 실행 결과가 발생할 수 있다. 이 문제점을 해결하기 위해서 자바 메모리 모델이 제안되었다. 자바 메모리 모델은 구문의 재배치를 고려하여 멀티 스레드 소프트웨어의 가능한 실행 과정을 명세하고 있다. 현재 자바 메모리 모델은 자바의 표준 메모리 모델로 정의되어 있다. 하지만 대부분의 멀티스레드 소프트웨어 검증 도구는 자바 표준 메모리 모델인 자바 메모리 모델 대신에 순차 일관성메모리 모델만을 고려하고 있다. 순차 일관성 메모리모델에서는 구문의 재배치를 고려하지 않는다. 본 논문에서는 자바 메모리 모델을 이용한 소프트웨어 모델 체킹 기법을 설명한다. 이를 이용하여 기존 소프트웨어 검증 도구인 JavaPathFinder 에서 오류가 없다고 한 소프트웨어의 오류를 찾아내었다.

영상 처리를 이용한 디스플레이 화질 결함 자동 검출시스템 (Automatic Display Defect Detection System Using Image Processing)

  • 권동욱;손혜원;전소연;이원일
    • 대한임베디드공학회논문지
    • /
    • 제19권5호
    • /
    • pp.259-265
    • /
    • 2024
  • In this paper, we propose an automatic display defect detection system using image processing. The existing inspection by operators has the disadvantage that human errors may occur due to the operator's skill level, fatigue, etc., and that standardization and quantification are difficult. It also has disadvantages such as the limited inspection speed and the cost of the operator's education. The proposed system automatically detects various display defects through image processing algorithms. It was developed based on the Jetson Nano, one of the most popular SBCs (Single Board Computers), and it has a conveyor belt to automatically moves the display to the inspection position. By providing a human machine interface (HMI), the operator can check the inspection information in real time, and control the inspection flow. By storing the inspection results as a log file, the operator can check the inspection results at any time, such as the time taken to perform each algorithm and the location of the detected defects. In addition, a multi-threaded structure was adopted. The camera's operations and inspection algorithms are executed in parallel in different threads, which can shorten the inspection time compared to the system based on a single-threaded structure. The experimental results prove the defect detection capability of the system and the efficiency of the inspection time.

SMT 해결기를 이용한 자바 메모리 모델 시뮬레이션 (Java Memory Model Simulation using SMT Solver)

  • 이태훈;권기현
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권1호
    • /
    • pp.62-66
    • /
    • 2009
  • 많은 컴파일러는 속도를 높이기 위해서 최적화를 수행한다. 최적화의 결과로 프로그램의 구문이 변경된다. 단일 스레드 소프트웨어에서는 변경된 구문이 영향을 받지 않지만 멀티스레드 소프트웨어에서는 변경된 구문 때문에 예상하지 못한 실행 결과가 발생할 수 있다. 멀티 스레드자바 소프트웨어는 스레드들 간에 메모리를 통한 상호작용을 자바 메모리 모델을 통해서 명세 한다. 자바 메모리 모델은 자바언어의 표준 메모리 모델이다. 하지만 현재까지 나와 있는 어떠한 자바 모델 체킹 도구도 자바 메모리 모델을 지원하지 않는다. 본 논문에서는 자바 메모리 모델을 지원하는 모델 체킹 도구를 개발하기 위해서 자바 메모리 모델을 지원하는 시물레이터를 많은 모델 체킹 도구에서 사용되는 SMT 기반으로 구현했다. SMT 기반 메모리 모델 시뮬레이터는 기존의 메모리 모델 시뮬레이터에서 몇분이 걸리는 계산 결과를 1초 이내에 계산하였다. 또한 이를 통해 기존 소프트웨어 모델 체킹에서 표현할 수 없는 실행 결과를 빠르게 표현할 수 있다.

Java 다중 스레드 프로그램을 위한 오토마타 기반 테스팅 환경의 설계 및 구현 (The Design and Implementation of Automata-based Testing Environments for Multi-thread Java Programs)

  • 서희석;정인상;김병만;권용래
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권12호
    • /
    • pp.883-894
    • /
    • 2002
  • 고전적인 결정적 테스팅 방법은 명세와 프로그램의 동치 관계를 기반으로 병행 프로그램의 수행 경로를 제어한다. 따라서, 주어진 시퀀스를 직접 구현하지 않고, 그와 의미적으로 동일한 다른 시퀀스를 구현한 프로그램에 대해서는 결정적 테스팅 방법을 적용하기 어렵다. 이를 해결하기 위해서, 우리는 테스트 시퀀스와 의미적으로 동일한 모든 시퀀스들을 허용하는 동치 집합 오토마타를 이용한 오토마타 기반 테스팅 방법을 제안하였었다. 이 논문에서는 Java 다중 스레드 프로그램에 대한 오토마타 기반 테스팅 환경을 제안하고, 테스팅 환경 내의 테스트 수행 지원 도구를 설계하고 구현하는 방법을 제안한다. 테스트 수행 지원 도구에서는 주어진 Java 다중 스레드 프로그램을 오토마타 기반의 결정적 테스팅 방법이 적용된 프로그램으로 변환하고, 이 변환된 프로그램을 수행함으로써 테스트의 결과를 알 수 있다. 이를 위해서 테스트 수행 지원 도구 내에서 동치 집합 오토마타를 생성하는 오토마타 생성기와 프로그램의 수행을 제어하기 위한 재연 제어기를 설계하고 구현한다. 그리고, 가스 충전소 예제를 이용하여 오토마타 기반의 결정적 테스팅의 과정 및 효과를 기술한다.

멀티 코어 프로세서 기반의 영상 감시 시스템을 위한 침입 탐지 처리의 가속화 (Acceleration of Intrusion Detection for Multi-core Video Surveillance Systems)

  • 이길범;정상진;김태환;이명진
    • 전자공학회논문지
    • /
    • 제50권12호
    • /
    • pp.141-149
    • /
    • 2013
  • 본 논문은 멀티 코어 프로세서 기반의 영상 감시 시스템을 위한 침입 탐지 처리의 가속화를 제안한다. 침입 탐지 처리의 가속화를 위해 병렬화를 진행하였고, 이를 위해 기존 침입 탐지 알고리즘을 분석하고 데이터 의존성을 고려하여 프레임 단위의 병렬화된 처리 구조를 설계하였다. 병렬화된 침입 탐지 처리의 유효성을 검증하기 위하여 다중 쓰레드 기반의 프로그램으로 구현하여 침입 탐지의 가속화 정도를 측정하였다. 구현한 침입 탐지 처리 프로그램의 탐지 속도는 논리적 쓰레드를 8개까지 구현할 수 있는 환경에서 기존 단일 쓰레드 처리 대비 최대 353.76%가 향상되었다.

DEVS 형식론 기반 멀티쓰레드 소프트웨어 개발 방법을 이용한 스토리지 서버 프로그램 구현 (Embodimenet of Storage Server Program using Multi-threaded Software Development Process based on DEVS formalism)

  • 임정현;오하령;성영락
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 춘계학술발표대회
    • /
    • pp.544-545
    • /
    • 2015
  • 최근 스토리지 서버에 사용되는 코어가 싱글코어에서 점차 발전하여 멀티코어가 됨에 따라 스토리지 서버에 많은 기능들이 추가되었다. 이러한 기능들을 효과적으로 사용하기 위해서는 스토리지 서버를 효율적으로 관리하는 프로그램이 필요하다. 이에 멀티코어를 효과적으로 사용하여 스토리지 서버를 효율적으로 관리할 수 있도록 멀티쓰레드 프로그램으로 스토리지 서버 프로그램을 구현하였다. 멀티쓰레드 소프트웨어는 동시 동작으로 인해 개발하는데 어려움이 있으므로 이를 해결코자 DEVS 형식론 기반의 멀티쓰레드 소프트웨어 개발 방법을 이용하였다. DEVS 형식론 기반의 모델링과 시뮬레이션을 거치고 소프트웨어를 구현하여 개발의 어려움과 검증에 대한 부분을 해결하였다.

HTML5을 활용한 실시간 영상 스트리밍 시스템 (A Study on HTML5 using Real-time Video Streaming System)

  • 반태학;정한길;송현옥;육정수;정회경
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2015년도 춘계학술대회
    • /
    • pp.561-563
    • /
    • 2015
  • 현재 대다수 스트리밍 서비스들은 특정 S/W나 별도의 프로그램 설치를 통해 실시간 스트리밍 서비스를 지원하는 실정이고, 저장되는 영상에 대해 저장의 종료 전까지는 영상에 대해 편집 및 사용이 불가능 하였다. 이에 본 논문에서는 사용자가 저장하고 있는 영상에 대해 멀티스레드 기법을 적용한 시스템을 기반으로 별도의 플러그인이나 프로그램의 설치 없이 HTML5을 활용하여 웹 콘텐츠를 제작, 웹 브라우저를 이용한 실시간 스트리밍 시스템을 기술한다. 이는 스트리밍 실시간으로 저장되는 영상에 대해 편집 및 사용이 가능하며, 실시간 커뮤니케이션 및 미디어 공유를 필요로 하는 웹 서비스 및 스트리밍 분야에 활용될 것이다.

  • PDF

EVM에서의 자바 동적 메모리 관리기 및 쓰레기 수집기의 구현 및 성능 분석 (Implementation and Performance Analysis of the EVM's Java Dynamic Memory Manager and Garbage Collector)

  • 이상윤;원희선;최병욱
    • 정보처리학회논문지A
    • /
    • 제13A권4호
    • /
    • pp.295-304
    • /
    • 2006
  • 자바 언어는 객체지향성, 안전성, 유연성으로 인하여 현재 가장 널리 쓰이는 프로그래밍 언어의 하나가 되었으며, 자바 가상머신이 제공해주는 메모리 관리기 및 가비지 컬렉터로 인하여 프로그래머는 메모리 관리에 관한 많은 고민이 줄어들었다. 본 논문에서는 임베디드용 자바 가상 머신에서 구현된 메모리 관리기 및 가비지 컬렉터에 대해서 제안한다. 메모리 관리기는 힘을 다양한 크기의 셀로 분할한 후 통일한 셀의 집단인 블록 단위로 관리하여 빠른 메모리 할당과 해제가 가능하다. 가비지 컬렉션 방법으로는 3-색상 기반 표기-쓸어담기 가비지 컬렉터를 기반 알고리즘으로 채택하였으며 멀티쓰레드를 지원하기 위해 새로운 4-색상 기반 표기-쓸어 담기 가비지 컬렉터를 제안한다. 제안하는 기법은 메모리 단편화가 발생하지만 객체 생성수가 많아짐에 따라 단편화율이 거의 일정함을 실험을 통해 보인다.