• Title/Summary/Keyword: Multi-threaded program

Search Result 12, Processing Time 0.03 seconds

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

  • Ha, Ok-Kyoon;Yoo, Hongseok
    • Journal of the Korea Society of Computer and Information
    • /
    • v.22 no.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.

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

  • Chung, In-Sang
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.6
    • /
    • pp.607-617
    • /
    • 2000
  • Concurrent programs, which are composed of threads that can operate concurrently, are intrinsically nondeterministic. Therefore, we can not directly apply classical testing or debugging techniques developed for sequential programs to concurrent programs because of the nonreproducibility due to nondeterminism. In this paper, we present a source tranformation method to guarantee the reproducibility of multi-threaded programs written in Java programming language. Once a mutli-threaded program has been transformed according to the transformation rules, we can force the program's execution to follow the given sequence of synchronized methods repeatedly and reduce the efforts to find the source of the errors. In addition, we present a method for checking the feasibility of the synchronized method sequence to be replayed.

  • PDF

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

  • Lee, Min;Kwon, Gi-Hwon
    • The KIPS Transactions:PartD
    • /
    • v.15D no.1
    • /
    • pp.99-106
    • /
    • 2008
  • Recently developed compilers perform some optimizations in order to speed up the execution time of source program. These optimizations require the reordering of the sequence of program statements. This reordering does not give any problems in a single-threaded program. However, the reordering gives some significant errors in a multi-threaded program. State-of-the-art model checkers such as JavaPathfinder do not consider the reordering resulted in the optimization step in a compiler since they just consider a single memory model. In this paper, we develop a new verification tool to verify Java source program based on Java Memory Model. And our tool is capable of handling the reordering in verifying Java programs. As a result, our tool finds an error in the test program which is not revealed with the traditional model checker JavaPathFinder.

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

  • Dong-Uk Kwon;Hye-Won Son;So-Yeon Jeon;Won Il Lee
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.19 no.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.

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

  • Lee, Tae-Hoon;Kwon, Gi-Hwon
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.1
    • /
    • pp.62-66
    • /
    • 2009
  • Recently developed compilers perform some optimizations in order to speed up the execution time of source program. These optimizations require the transformation of the sequence of program statements. This transformation does not give any problems in a single-threaded program. However, the transformation gives some significant errors in a multi-threaded program. State-of-the-art model checkers such as Java-Pathfinder do not consider the transformation resulted in the optimization step in a compiler since they just consider a single memory model. In this paper, we describe a new technique which is based on SMT solver. The Java Memory Model Simulator based on SMT Solver can compute all possible output of given multi-thread program within one second which, in contrast, Traditional Java Memory Model Simulator takes one minute.

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

  • 서희석;정인상;김병만;권용래
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.12
    • /
    • pp.883-894
    • /
    • 2002
  • Classical deterministic testing controls the execution of concurrent programs based on the equivalence between specifications and programs. However, it is not directly applicable to a situation in which synchronization sequences, being valid but infeasible, are taken into account. To resolve this problem, we had proposed automata-based deterministic testing in our previous works, where a concurrent program is executed according to one of the sequences accepted by the automaton recognizing all sequences semantically equivalent to a given sequence. In this paper, we present the automata-based testing environment for Java multi-thread programs, and we design and implement "Deterministic Executor" in the testing environment. "Deterministic Executor" transforms a Java multi-thread program by applying automata-based deterministic testing, the transformed program presents testing results. "Deterministic Executor" uses "Automata Generator", which generates an equivalent automaton of a test sequence, and "Replay Controller", which controls the execution of programs according to the sequence accepted by the automaton. By illustrating automata-based testing procedures with a gas station example, we show how the proposed approach does works in a Java multi-threaded program.roach does works in a Java multi-threaded program.

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

  • Lee, Gil-Beom;Jung, Sang-Jin;Kim, Tae-Hwan;Lee, Myeong-Jin
    • Journal of the Institute of Electronics and Information Engineers
    • /
    • v.50 no.12
    • /
    • pp.141-149
    • /
    • 2013
  • This paper presents a high-speed intrusion detection process for multi-core video surveillance systems. The high-speed intrusion detection was designed to a parallel process. Based on the analysis of the conventional process, a parallel intrusion detection process was proposed so as to be accelerated by utilizing multiple processing cores in contemporary computing systems. The proposed process performs the intrusion detection in a per-frame parallel manner, considering the data dependency between frames. The proposed process was validated by implementing a multi-threaded intrusion detection program. For the system having eight processing cores, the detection speed of the proposed program is higher than that of the conventional one by up to 353.76% in terms of the frame rate.

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

  • Im, Jung-Hyun;Oh, Ha-Ryoung;Soong, Yeong-Rak
    • Annual Conference of KIPS
    • /
    • 2015.04a
    • /
    • pp.544-545
    • /
    • 2015
  • 최근 스토리지 서버에 사용되는 코어가 싱글코어에서 점차 발전하여 멀티코어가 됨에 따라 스토리지 서버에 많은 기능들이 추가되었다. 이러한 기능들을 효과적으로 사용하기 위해서는 스토리지 서버를 효율적으로 관리하는 프로그램이 필요하다. 이에 멀티코어를 효과적으로 사용하여 스토리지 서버를 효율적으로 관리할 수 있도록 멀티쓰레드 프로그램으로 스토리지 서버 프로그램을 구현하였다. 멀티쓰레드 소프트웨어는 동시 동작으로 인해 개발하는데 어려움이 있으므로 이를 해결코자 DEVS 형식론 기반의 멀티쓰레드 소프트웨어 개발 방법을 이용하였다. DEVS 형식론 기반의 모델링과 시뮬레이션을 거치고 소프트웨어를 구현하여 개발의 어려움과 검증에 대한 부분을 해결하였다.

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

  • Ban, Tae-Hak;Jeong, Han-Gil;Song, Hyun-Ok;Yuk, Jung-Soo;Jung, Hoe-Kyung
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2015.05a
    • /
    • pp.561-563
    • /
    • 2015
  • The majority of current streaming services are particular S/W I a separate setup program supports real-time streaming service a reality, will be stored until the end of the video, save for a video about editing and is not available. In this paper, allows the user to save and apply the multi threaded techniques for video based on a system without a separate plug-ins, or installation of programs HTML5 by taking advantage of Web content authoring, real-time streaming system using a Web browser. This saves the video streaming in real time can be used for editing and, on real-time communications and media sharing and streaming Web service you need and will be utilized in the field.

  • PDF

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

  • Lee Sang-Yun;Won Hee-Sun;Choi Byung-Uk
    • The KIPS Transactions:PartA
    • /
    • v.13A no.4 s.101
    • /
    • pp.295-304
    • /
    • 2006
  • Java has been established as one of the most widely-used languages owing to its support of object-oriented concepts, safety, and flexibility. Garbage collection in the Java virtual machine is a core component that relieves application programmers of difficulties related to memory management. In this paper, we propose a memory manager and a garbage collector that is implemented on a embedded java virtual machine. The memory manager divide a heap into various-sized cells and manages it as blocks of same-sized cells. So it is possible to allocate and free memory fast. We adopted the 3-color based Mark & Sweep garbage collector as our base algorithm and we propose 4-color based Mark & Sweep garbage collector for supporting multi-threaded program. The proposed garbage collector occurs memory fragmentation but we show through a experiment that the fragmentation ratio is almost fixed according as we create objects continuously.