• Title/Summary/Keyword: 멀티스레드 소프트웨어

Search Result 15, Processing Time 0.026 seconds

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.

A Simulator for Performance Evaluation of Multithreaded Memory Allocation Operation in Multi-Core Environment (멀티코어 환경에서의 멀티스레드 기법을 이용한 메모리 할당 연산의 성능 평가를 위한 시뮬레이터)

  • Kim, Ho-Young;Huang, Dada;Han, Sang-Hyuck;Kim, Young-Kuk
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.245-247
    • /
    • 2012
  • 최근 멀티코어 프로세서의 활용이 대중화되고 있다. 멀티코어 시스템에서는 소프트웨어가 동시에 여러 코어를 사용하여 동작을 수행 할 때 성능 향상 효과를 얻을 수 있다. 즉, 하나의 소프트웨어가 여러 코어를 동시에 사용할 수 있는 멀티스레드 프로그래밍 기법을 사용할 때 성능을 높일 수 있다. 이러한 환경에서 효율적인 메모리 할당은 데스크톱, 서버 및 과학 등과 같은 응용에 매우 중요하다. 하지만, 동적으로 메모리를 할당하는 것은 메모리 할당 연산과 반환 연산 및 어떤 스레드가 다른 스레드의 힙 영역에 접근하는 것을 처리하기 위한 동기화 문제로 인한 오버헤드가 발생하여 성능에 영향을 끼치는 문제가 발생하게 된다. 따라서 이와 같은 환경에서 실제로 성능에 어느 정도 영향을 끼칠 것인가를 측정할 수 있는 도구가 필요하다. 이에 멀티코어 환경에서 멀티스레드 기법을 사용하여 메모리 할당 연산이 성능에 어떠한 영향을 끼치는지를 측정 및 평가할 수 있는 시뮬레이터인 MAES(Memory Allocation Evaluation Simulator)를 설계하고 구현한다.

Method of Multi Thread Management based on Shader Instruction for Mobile GPGPU (GPGPU를 위한 쉐이더 명령어기반 멀티 스레드 관리 기법)

  • Lee, Kwang-Yeob;Park, Tae-Ryong
    • Journal of IKEEE
    • /
    • v.16 no.4
    • /
    • pp.310-315
    • /
    • 2012
  • This thesis is intended to design multi thread mobile GPGPU optimized in mobile environment, and to verify an effective thread management method of the multi thread mobile processor. In thread management, there is no management hardware and implement with software instructions. For the verification of the multi thread management method, Lane detection algorithm was implemented to compare nVidia's CUDA Architecture and the designed GPGPU in terms of thread management efficiency. The number of thread is normalized to 48 threads. An implemented Land Detection Algorithm is composed of Gaussian filter algorithm and Sobel Edge Detection algorithm. As a result, the designed GPGPU's thread efficiency is up to 2 times higher than CUDA's thread efficiency.

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.

A Design of Healing Data Races using Software Transactional Memory (소프트웨어 트랜잭셔널 메모리를 이용한 자료경합 치유 기술 설계)

  • Choi, Eu-Teum;Ha, Ok-Kyoon;Jun, Yong-Kee
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2016.07a
    • /
    • pp.3-4
    • /
    • 2016
  • 멀티스레드 프로그램의 수행 중에 발생할 수 있는 자료경합은 프로그래머가 의도하지 않은 비결정적 수행으로 인해 신뢰할 수 없는 프로그램의 결과를 발생시킨다. 이러한 자료경합의 디버깅을 위해서 시간 및 자원적 비용이 과도하게 발생하기 때문에 프로그램의 수행 중에 이를 용인하고 치유하는 것이 중요하다. 본 논문은 멀티스레드 프로그램을 대상으로 소프트웨어 트랜잭셔널 메모리(STM)를 사용하여 공유변수에 대한 트랜잭션 영역을 설정하고 공유변수에 대한 이벤트 충돌 유형에 따른 자료경합 치유기법을 설계한다. 최종적으로는 프로그램 수행 중에 자료경합을 치유하는 기법의 실현가능성을 확인한다.

  • PDF

The Implementation of Real-time Performance Monitor for Multi-thread Application (멀티스레드 어플리케이션을 위한 실시간 성능모니터의 구현)

  • Kim, Jin-Hyuk;Shin, Kwang-Sik;Yoon, Wan-Oh;Lee, Chang-Ho;Choi, Sang-Bang
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.48 no.3
    • /
    • pp.82-90
    • /
    • 2011
  • Multi-core system is becoming more general with development of microprocessors. Due to this change in performance improvement paradigm, switching conventional single thread applications with multi thread applications. Performance monitoring tools are used to optimize application performance because of complexity in development of multi thread applications. Conventional performance monitoring tools are focused on performance itself rather than user friendliness or real-time support. Real-time performance monitor identify the problem while multi-threaded applications should be performed as well as check real-time operating status of the application. So it can be used as an effective tool compared to non-real-time performance monitor that only with simple performance indicators to find the cause of the problem. In this paper, we propose RMPM(Real-time Multi-core Performance Monitor) which is real-time performance monitoring tool for multi-core system. Observation period is optimized by comparing relation between overhead due to performance evaluation period and accuracy. Our performance monitor shows not only amount of CPU usage of whole system, memory usage, network usage but also aspect of overhead distribution per thread of an application.

Design and Implementation of Component Based Multi-Thread Lightweight Sensor OS (컴포넌트 기반 멀티 스레드 지원 초경량 운영체제 설계 및 구현)

  • Kim, Tae-Hoon;Seo, Dae-Hong;Lee, Seung-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.05a
    • /
    • pp.1753-1756
    • /
    • 2005
  • 센서 네트워크 환경에서 센서 노드에게 가장 큰 이슈는 저전력이다. 이러한 센서 노드에서 저전력화를 제공하는 것은 하드웨어 뿐만 아니라 소프트웨어에서도 중요하다. 유휴 시간에 마이크로 컨트롤러가 활성 상태로 대기 하는 대신 마이크로 컨트롤러가 제공하는 파워 슬립 모드를 이용하여 모든 주변 장치의 전원을 차단함으로서 저전력을 실현할 수 있다. 그러나 빈번한 슬립 모드 진입은 오히려 더 많은 전력을 소비하기 때문에 슬립 모드로 들어가는 시기와 나오는 시기를 적절하게 제어 하는 것은 쉬운 일이 아니다. 그러므로 본 논문에서는 타이머 인터럽트를 활용하여 슬립 모드 제어 정책을 포함하는 컴포넌트 기반의 멀티 스레드 지원 센서 OS를 구현하였다. 코드 크기의 최적화로 성능 향상을 꾀하였으며, 이로서 전력 소비도 줄일 수 있다. 또한, 컴포넌트 기반의 구조는 다양한 하드웨어를 쉽게 지원할 수 있으며, 응용 분야에 따라 다양한 어플리케이션을 쉽게 제작할 수 있도록 설계하였다.

  • PDF

A Technique to Generate Information of Safe Interleavings for On-the-fly Atomicity Violation Repairing in Airborne Software (항공기 소프트웨어의 원자성위배 자율수리 도구를 위한 안전한 인터리빙 정보를 생성하는 기법)

  • Baek, Hyoung-Jin;Choi, Eu-Teum;Lee, Keon-Pyo;Jun, Yong-Kee
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2019.01a
    • /
    • pp.11-12
    • /
    • 2019
  • 본 논문은 멀티스레드를 지원하는 항공기 소프트웨어에 적용될 수 있는 자율수리 도구의 문제의 해결방법을 제안하는 논문이다. 기존의 연구는 프로그램의 반복수행을 통해 안전한 인터리빙을 수집하여 프로그램의 동작을 제한한다. 하지만 테스트 단계에서 수집되지 않은 안전한 인터리빙을 잘못된 인터리빙으로 처리하여 수리를 수행함으로써 불필요한 오버헤드가 발생한다. 본 논문은 원자성위배 패턴을 사용하여 안전한 인터리빙을 예측하여 생성시키는 기법을 사용하여 수리기법에서 불필요한 수리로 인한 오버헤드를 감소하기 위한 안전한 인터리빙 정보를 생성하는 기법을 제안한다.

  • PDF

OBD2 Vehicle Operation Information Black Box System for Accident Preparedness (사고 발생에 대비한 OBD2 차량 운행 정보 블랙박스)

  • Jun-Young Kim;Jun-Hee Kim;Hyung-Seong Oh;Jae-Hyung Choi;Kyung-Ho Ko;Myung-Chun Ryoo
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2024.01a
    • /
    • pp.279-280
    • /
    • 2024
  • 본 논문에서는 주행 중 차량의 상태를 실시간으로 모니터링함과 동시에, 페달 조작 여부를 확인할 수 있는 영상 촬영 및 저장 시스템을 제안한다. 개발된 차량 운행 정보 블랙박스는 블루투스 OBD2 커넥터를 통해 차량의 PID 값을 식별하고 수집한다. 이 데이터는 비동기 방식으로 처리되며, 라즈베리파이와 7인치 터치 디스플레이를 이용해 운전자에게 한눈에 보일 수 있는 형태로 정보를 제공한다. 특히, 멀티스레드를 활용하여 ECU 정보를 페달 조작 여부 영상에 표시하는 동시에 녹화하고, CSV 파일로 SD 카드에 실시간으로 저장한다. 수집된 차량 데이터와 영상 데이터는 예기치 못한 사고 발생 시 운전자의 과실 비율 측정과 대처행동을 입증하는 데 중요한 역할을 할 것으로 기대되며, 차량 정비 시 참고 자료로 활용될 수 있다.

  • PDF

Auromated Schedulability-Aware Implementation of Real-Time Object-Oriented Models (실시간 객체 지향 모델의 스케줄 가능성을 고려한 구현 자동화)

  • 김세화;조석제;홍성수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.569-571
    • /
    • 2000
  • 객체지향 디자인 방법론과 이에 대한 CASE 툴은 실시간 소프트웨어 개발 분야에서 널리 사용되고 있다. 객체 지향 CASE 툴은 객체 지향 모델로부터 테스크들을 생성하는 단계를 거쳐야 한다. 그러나 객체와 테스크는 근본적으로 차이가 있으며, 또한 실시간 특성을 반영하도록 테스크를 구성하는 것은 매우 어려운 일이므로, 현재의 CASE 툴들은 개발자가 개체와 테스크의 매핑을 직접하도록 하고 있다. 본 논문은 실시간 객체지향 모델을 스케줄 가능성을 고려해 멀티 스레드 테스크로 자동적으로 매핑하는 방법을 제안하고 본 방법의 스케줄 가능성 케스트 방법을 제시한다. 본 논문에서 제안하는 방법은 실시간 객체 지향 모델에서 서로 다른 주기와 데드라인을 갖는 트랜젝션을 추출하고, 이를 스케줄 가능하도록 그룹화하여 스레드로 만드는 것이다.

  • PDF