• 제목/요약/키워드: Program Execution

검색결과 614건 처리시간 0.031초

멀티 스레드 프로그램의 자료경합 탐지를 위한 수행 중 감시 도구 (On-the-fly Monitoring Tool for Detecting Data Races in Multithread Programs)

  • 팽봉준;박세원;구인본;하옥균;전용기
    • 정보과학회 논문지
    • /
    • 제42권2호
    • /
    • pp.155-161
    • /
    • 2015
  • 멀티 스레드 프로그램의 수행 중에 발생하는 자료경합과 원자성 위배 등과 같은 동시성 오류는 스레드들의 비결정적 수행으로 인해 다양한 수행 순서를 고려해야 하고 재생산 또한 어렵기 때문에 디버깅하기 어렵고 귀찮은 오류로 잘 알려져 있다. 이러한 자료경합을 디버깅하기 위해서는 스레드의 수행 순서와 메모리 접근 및 동기화 정보 등과 같은 프로그램의 수행 중에 발생한 정보를 수집 및 분석해야 한다. 본 논문에서는 멀티 스레드 프로그램의 수행 중에 벡터 클록 시스템을 기반으로 스레드의 병행성과 접근사건들 간의 순서관계를 생성 및 유지함으로써 정확하면서도 효율적인 감시와 분석이 가능한 도구인 VcTrace를 제시한다. 제시된 감시 도구를 사용하여 멀티 스레드 기반의 응용 프로그램을 대상으로 수행 중 발생한 스레드와 접근사건 등의 정보를 감시 및 유지하고, 자료경합을 탐지하는 기술과 접목하여 실용성을 분석한다.

A Tool for On-the-fly Repairing of Atomicity Violation in GPU Program Execution

  • Lee, Keonpyo;Lee, Seongjin;Jun, Yong-Kee
    • 한국컴퓨터정보학회논문지
    • /
    • 제26권9호
    • /
    • pp.1-12
    • /
    • 2021
  • 본 논문은 GPU 프로그램의 메모리의 상태 및 접근사건과 배리어 위치 정보를 감시하고, 실제 메모리 쓰기를 배리어 영역 종료 직전에 발생시키거나 배리어 영역을 재수행시켜 원자성 위배를 수행 중에 수리하는 도구인 ARCAV (Atomatic Recovery of CUDA Atomicity violation)를 제시한다. 기존의 연구들은 Lock과 Sleep 명령어를 사용하여 원자성 위배를 진단 및 수리하도록 구현되었기 때문에 지원되는 명령어와 동기화 기법이 CPU (Central Processing Unit) 프로그램과 다른 GPU (Graphics Processing Unit) 프로그램에는 적용될 수 없었고, GPU 프로그램에서는 원자성 위배의 탐지에 대한 연구만 수행되었다. 제안하는 ARCAV는 GPU 프로그램의 실행모델에서 수행될 수 있도록 설계되어 스레드 구성과 메모리 계층에 무관하게 실세계에서 발생한 원자성 위배를 대표하는 네 가지 패턴의 원자성 위배를 실시간으로 탐지하고 수리할 수 있다. 실험 결과 동시에 실행되는 스레드 개수와 구성에 무관하게 일정한 오버헤드를 보였다. 원자성 위배를 프로그램 수행 중에 실시간으로 탐지하고 수리하기 위해 소요되는 오버헤드는 네 개의 실세계 GPU 커널에서 실험되었고, 원본 프로그램 대비 평균 2.1배의 수행시간으로 동작하였다.

전문대학생용 학습전략 프로그램 개발 및 효과 (The Development and effectiveness of Learning Strategy Program for Junior College Students)

  • 황재규
    • 문화기술의 융합
    • /
    • 제9권1호
    • /
    • pp.299-311
    • /
    • 2023
  • 본 연구는 전문대학생들을 위한 학습전략 프로그램의 개발과정과 그 효과성을 검증하기 위한 것이다. 전문대학생들을 위한 학습전략 프로그램의 필요성과 타당성은 선행연구를 통해 확인하고 검토되었으며, 프로그램 개발과정을 프로그램 계획, 프로그램 개발, 프로그램 실행, 프로그램 평가의 4단계로 구분하여 프로그램 개발 관리로 통합하었다. 1단계 프로그램 계획단계에서는 개발방향 설정, 목적과 목표를 설정하였다. 2단계 프로그램 개발 단계에서는 선행연구 분석, 내용 선정, 프로그램 조직, 평가계획을 하였다. 3단계 실행단계에서는 프로그램을 실행하였고, 4단계 평가단계에서는 프로그램 평가를 실시하여 프로그램을 개발하였다. 프로그램의 효과를 검증하기 위하여 전문대학생용 학습전략 진단 척도로 검사를 실시하여 자료를 수집하였고, 사전·사후·추후검사 점수에 대하여 효과 검증을 실시하였다.

영상정보를 이용한 병렬 프로그램내의 병행성 판별 (Check of Concurrency in Parallel Programs using Image Information)

  • 박명철;하석운
    • 한국정보통신학회논문지
    • /
    • 제10권12호
    • /
    • pp.2132-2139
    • /
    • 2006
  • 내포 병렬성을 포함하는 병렬 프로그램은 복잡한 수행 양상을 가지며, 태스크들은 병행적으로 수행되는 경향이 있다. 이러한 병행성은 대부분의 오류을 유발하는 근본적인 원인이 된다. 본 논문은 병렬 프로그램 수행양상을 영상화하여 두 태스크간의 병행성을 판별할 수 있는 새로운 방법을 제안한다. 기존의 방법들은 전역적인 구조를 보이는데 제약이 있고 과다한 추상화로 인하여 수행양상의 직관성을 저해하는 경향이 있다. 본 논문에서 제안한 기법은 영상 가시화에 적합한 레이블링 기법을 제안하고, 제안한 레이블링 기법을 적용하여 산출된 각 태스크의 레이블정보를 2차원 평면상에서 분할된 영역으로 표현한다. 이를 토대로 각 태스크의 순서화 관계를 식별할 수 있는 독립된 영상을 생성한다. 결과로 생성된 영상은 관련 태스크의 의미론적 분석을 간소화하고 전체 프로그램의 전역적 수행 구조의 개요를 사용자에게 효과적으로 제공한다.

교사 참여형 교육프로그램(TPEP)을 경험한 초등교사의 과학 수업 전문성 변화 사례 - 시각적 주의를 중심으로 - (The Case Study of Elementary School Teachers Who Have Experienced Teacher Participation-oriented Education Program (TPEP) for Elementary School Teachers to Improve Class Expertise in Science Classes - Focusing on Visual Attention -)

  • 김장환;신원섭;신동훈
    • 한국초등과학교육학회지:초등과학교육
    • /
    • 제39권1호
    • /
    • pp.133-144
    • /
    • 2020
  • The purpose of this study is to identify the effect of Teacher Participation-oriented Education Program (TPEP) for Elementary School Teachers to Improve Class Expertise in Science Classes with a focus on visual attention. The participants were two elementary school teachers in Seoul and taught science subjects. The lesson topic applied to this study were 'Structure and Function of Our Body' in the second semester of fifth grade and 'Volcano and Earthquake' in the second semester of fourth grade. The mobile eye tracker SMI's ETG 2w, which is a binocular tracking system was used in this study. In this study, the actual practice time, participant's visual attention, visual intake time average, and visual intake time average were analyzed by class phase. The results of the study are as follows. First, as a result of analyzing the actual class execution time, the actual class execution time was almost in line with the lesson plan after the TPEP application. Second, visual attention in the areas related to teaching and learning activities was high after applying TPEP. Factors affecting the progress of the class and cognitive burdens were identified quantitatively and objectively through visual attention. Third, as a result of analyzing the visual intake time average of participants, there was a statistically significant difference in all classes. Fourth, as a result of analyzing the visual intake time average of participants, the results were statistically significant in the introduction(video), activity 1, activity 2, and activity 3 stages in the lecture type class. The Teacher Participation-oriented Education Program (TPEP) for Elementary School Teachers to Improve Class Expertise in Science Classes can extend elementary science class expertise such as self-class analysis, eye tracking, linguistic, gesture, and class design beyond traditional class analysis and consulting.

모바일 소프트웨어를 위한 고급수준 난독처리 기법의 전력 소모량 분석 (Power Consumption Analysis of High-Level Obfuscation for Mobile Software)

  • 이진영;장혜영;조성제
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권12호
    • /
    • pp.1008-1012
    • /
    • 2009
  • 난독처리(obfuscation)는 프로그램의 의미를 그대로 유지하면서, 프로그램 코드를 이해/분석하기 어렵게 만드는 기술로, 악의적인 역공학(reverse engineering) 공격으로부터 소프트웨어를 방어하는 가장 효과적인 기술 중의 하나이다. 하지만, 난독처리로 인해 원본 프로그램에 비해 난독처리된 프로그램의 코드 크기 및 실행 시간이 증가될 수 있다. 모바일 기기에서 코드크기 및 수행시간 증가는 전력소모 증가 등 자원낭비로 이어진다. 본 논문에서는 ARM 프로세서가 장착된 임베디드 보드 상에서 몇 가지 고급수준 난독처리 알고리즘을 구현하고, 각 난독처리 알고리즘의 유효성 및 전력 소모량을 분석하여, 프로그램의 특성에 따라 실행시간이나 전력소모 면에서 효율적인 난독처리 기법이 있음을 보였다.

실시간 다중 프로세스 트레이스 스트림 디코더 구현에 관한 연구 (A Study on Implementation of Real-Time Multiprocess Trace Stream Decoder)

  • 김현철;김영수;김종현
    • 융합보안논문지
    • /
    • 제18권5_1호
    • /
    • pp.67-73
    • /
    • 2018
  • 소프트웨어 공학 관점에서 트레이싱은 프로그램의 실행 정보를 기록하는 로깅의 특수한 형태이다. 엄청난 데이터를 실시간으로 생성하고 디코딩해야 하는 트레이서의 특징상 전용 하드웨어를 사용하는 트레이서가 많이 사용되고 있다. Intel(R) PT는 전용 하드웨어를 사용하여 각 하드웨어 쓰레드에서 소프트웨어 실행에 대한 모든 정보를 기록한다. 소프트웨어 실행이 완료되면 PT는 해당 소프트웨어의 트레이스 데이터를 처리하여 정확한 프로그램 흐름을 재구성할 수 있다. 하드웨어 트레이스 프로그램은 운영체제에 통합되어 사용할 수 있으나 윈도우 시스템의 경우에는 커널 개방과 같은 문제로 인하여 긴밀한 통합은 이루어지지 않고 있다. 또한, 단일 프로세스만 트레이스 할 수 있고 다중 프로세스 스트림을 트레이스 하는 방법은 제공하고 있지 않다. 본 논문에서는 이러한 단점을 극복하고자 윈도우 환경에서 다중 프로세스 스트림을 트레이스 지원이 가능하도록 기존의 PT 트레이스 프로그램을 확장하는 방안을 제안하였다.

  • PDF

임베디드 시스템에서 네트워크 분할을 이용한 프로그램 최적화 (Program Osptimality Using Network Partiton in Embedded System)

  • 최강희;신현덕
    • 한국컴퓨터산업학회논문지
    • /
    • 제7권3호
    • /
    • pp.145-154
    • /
    • 2006
  • 본 논문에서는 프로그램 최적화를 위해 개선된 추론적 부분 중복 제거(SPRE) 알고리즘을 제안했다. 본 논문에서 제안한 SPRE 기법은 컴파일러의 프로필링 기법 등을 통해 얻어진 실행 빈도에 대한 정보를 이용하여 실행 속도 최적화를 수행한다. 제안하는 알고리즘의 첫 번째 목적은 프로그램 실행 시 요구되는 메모리의 감소이며 두 번째는 실행 시간을 감소시키는 것이다. 단지 프로그램의 실행 속도만을 고려하는 경우에는 메모리 요구가 크게 증가하기 때문에 메모리 감소에 대한 고려도 중요하다. 이것은 프로그램을 실행하는데 요구되는 메모리의 크기가 실행 속도 보다 더 중요한 임베디드 시스템에 적합한 최적화 기법이다. 본 논문에서는 제어흐름그래프를 네트워크로 구성하여 분할하는데 사용하는 Min-Cut 알고리즘을 구현한다.

  • PDF

실행 시간 프로파일을 이용한 저전력 경성 실시간 프로그램용 동적 전압 조절 알고리즘 (A Dynamic Voltage Scaling Algorithm for Low-Energy Hard Real-Time Applications using Execution Time Profile)

  • 신동군;김지홍
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제29권11호
    • /
    • pp.601-610
    • /
    • 2002
  • 태스크내부에서 공급 전압을 조절하는 태스크내 전압 스케쥴링(IntraVS)은 저전력 프로그램을 구현하는 데 효과적인 방법이다. 본 논문에서는 경성 실시간 응용프로그램에서 평균 실행 시간에 대한 정보를 이용하여 전력 소모를 효과적으로 줄이는 새로운 태스크내 전압 스케쥴링 알고리즘을 제시한다. 최악 실행 시간을 사용하여 전압 조절의 결정을 내렸던 기존의 태스크내 전압 스케줄링과는 달리, 제안된 알고리즘은 평균 실행 시간에 바탕을 두고 실행 속도를 조절함으로써 주어진 시간 제약 조건을 만족시키면서도 기존 방법보다 에너지 효율성을 높일 수 있다. MPEG-4 디코더를 이용한 실험 결과, 제안된 알고리즘은 기존의 태스크내 전압 스케줄링에 비해서 전력 소모를 최대 34% 감소시켰다.

자바프로그램 분석을 위한 바이트코드 시뮬레이터 (Bytecode Simulator for Analyzing Java Programs)

  • 김도우;정민수
    • 한국정보처리학회논문지
    • /
    • 제7권7호
    • /
    • pp.2086-2094
    • /
    • 2000
  • 자바의 같이 객체지항 언어로 작성된 프로그램은 프로그램의 실행과 관련된 정보들과 제어의 흐름이 숨겨져 있기 때문에 분석하기가 쉽지 않다. 그러나, 자바의 겨우는 컴파일 과정을 통해 생성된 클레스 파일에 프로그램의 수행과 관련된 벙보가 포함되어 있다. 자바 가상 기계는 클레스 파일에 포함된 바이트코드를 실행시킨다. 따라서 바이트코드가 실행되는 과정을 살펴보면 자바소스 프로그램에 대해 보다 명확한 분석과 쉬운 이해가 가능해 진다. 본 논문에서는 자바 프로그램의 구조와 객체들 사이의 제어의 흐름을 이해하는데 도움을 준다.

  • PDF