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

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

자바 프로그래밍에서 병렬처리를 위한 중첩 루프 구조의 다중스레드 변환 (Transform Nested Loops into MultiThread in Java Programming Language for Parallel Processing)

  • 황득영;최영근
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.1997-2012
    • /
    • 1998
  • 병렬 시스템에서 순차 자바 프로그램을 재 사용할 수 있기 위해서는 자바 프로그램 내에 존재하는 병렬성을 찾아내는 것이 중요하다. 자바 프로그램을 병렬 시스템에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 되지만 데이터 종속으로 인하여 완전한 병렬 수행을 쉽게 이룰 수 없다. 따라서, 본 논문은 기존의 중첩 루프 구조를 갖는 자바 프로그래밍에서 데이터 종속성 분석에 의한 종속 그래프를 구성하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 자바 원시 프로그램을 자바 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하여 병렬 시스템에서 실행하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 스레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버해드를 줄이고, 순차 자바 프로그램에 대한 효과적인 병렬성 검출을 가능하게 하여 병렬 시스템에서 실행 시간을 단축할 수 있다.

  • PDF

전신체조를 병행한 입 체조 프로그램이 노인의 정신건강에 미치는 영향 (The effect of an oral exercise program including whole-body exercises on the mental health of the elderly)

  • 정은서;서수연;이경희
    • 한국치위생학회지
    • /
    • 제22권1호
    • /
    • pp.21-28
    • /
    • 2022
  • Objectives: This study investigated the influence of oral exercise programs with whole-body exercises on the mental health of the elderly. Methods: Elderly individuals aged 65 years or older were assigned to an experimental group and a control group. Oral exercises with whole-body exercises were conducted in the experimental group for 40 minutes, twice weekly, during 5 weeks from May to June 2021. To evaluate the effectiveness of the program, the oral health related quality of life (OHIP-14, GOHAI), mental health, happiness, and social support of the elderly were explored both before and after the execution of the program in the experimental group. A paired sample t-test was performed to check the changes in the factors investigated, both before and after the execution of the program in the two groups. Results: The values of difference between the experimental and control group were compared in relation to the dependent variables, before and after the execution of the oral exercise program with the whole-body exercises. It was found that statistically significant differences in the OHIP-14 (p=0.163), GOHAI (p=0.156), and feelings of happiness in the elderly (p=0.280) were not evident in the experimental group. However, statistically significant differences emerged with regard to the mental health and provision of social support of the elderly (p<0.05). Conclusions: It was found that the oral exercise program with whole-body exercises executed in this study were effective in improving the mental health and social support of the elderly. However, no significant differences were shown in oral health relating to quality of life and feelings of happiness. It is considered that these findings need to be verified by means of future long-term studies.

HP 2100S Computer에 의한 Alpha-Computer의 Program Assembly를 위한 Cross-Assembier의 개발 (A Cross-Assembler for Assembly of Programs for an Alpha-Computer on a HP 2100S Computer)

  • 홍옥수
    • 대한전자공학회논문지
    • /
    • 제16권3호
    • /
    • pp.36-48
    • /
    • 1979
  • HP 2100 S computer의 disc operating system 을 사용한 본cross-assembler는 alpha-minicomputer 의 assembly language program을 source 입력으로 하여 이 alpha-computer 에 의한 실행 (execution)을 목적으로 16진수 code의 등가 object program 을 출력토록 설계되어 있다.

  • PDF

소스코드와 실행코드의 상관관계 분석을 통한 최악실행시간 측정 방법 (Measuring Method of Worst-case Execution Time by Analyzing Relation between Source Code and Executable Code)

  • 서용진;김현수
    • 인터넷정보학회논문지
    • /
    • 제17권4호
    • /
    • pp.51-60
    • /
    • 2016
  • 내장 소프트웨어는 실시간성 및 실행 환경으로부터의 독립성을 요구사항으로 갖는다. 실시간성 요구사항은 탑재된 태스크의 최악 실행 시간으로부터 영향을 받는다. 따라서 실시간성을 보장하기 위해서는 정적 분석 기반의 최악 실행 시간 분석 방법을 사용하여 프로그램의 최악 실행 시간을 파악하여야 한다. 그러나 기존의 최악 실행 시간 분석은 실행 환경으로부터 독립성을 고려하지 않는다. 이에 우리는 실행 환경으로부터 독립성을 제공하기 위해 소스코드로부터 실행 시간을 측정하는 방법을 제시한다. 이를 위해 실행 코드가 아닌 소스코드로부터 생성된 제어 흐름 그래프를 통해 실행 시간을 측정한다. 또한 소스코드로부터 생성된 제어 흐름 그래프에는 실행 시간 정보가 존재하지 않기 때문에, 이를 제공하기 위해 소스코드의 문장과 실행코드의 명령어와의 관계를 분석한다. 결과적으로 실행 시간 측정이 가능한 제어 흐름 그래프를 생성할 수 있다. 이를 통해 프로세서로부터 종속적인 부분을 매개변수화할 수 있기 때문에, 최악 실행 시간 분석 도구의 유연성을 향상시킬 수 있다.

자바 프로그램을 위한 복합 디버깅 시스템의 설계 (Design of Hybrid Debugging System for Java Programs)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제9권1호
    • /
    • pp.81-88
    • /
    • 2009
  • 기존 연구에서는 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDTS를 제안했었다. HDTS는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 그리고 분할 기술을 이용하여 오류를 포함하고 있는 메소드 내의 문장 중에서 디버깅에 관련이 없는 문장과 실행트리에서 불필요한 노드를 제거하여 노드의 수를 줄임으로서 사용자가 디버깅하는 횟수를 최소화할 수 있는 프로그램 디버깅 기술이다. 본 논문은 자바 프로그램을 디버깅할 수 있는 HDTS 시스템을 구현하기 위한 설계를 한다. 먼저, 자바의 부분언어를 정의하고 자바 원시 코드를 번역할 수 있는 번역기와 실행할 수 있는 가상머신을 설계한다. 그리고 사용자가 디버깅하기 위한 사용자 그래픽 인터페이스를 설계한다.

동적 분석을 이용한 난독화 된 실행 프로그램의 함수 호출 그래프 생성 연구 (The Generation of the Function Calls Graph of an Obfuscated Execution Program Using Dynamic)

  • 천세범;김대엽
    • 전기전자학회논문지
    • /
    • 제27권1호
    • /
    • pp.93-102
    • /
    • 2023
  • 악성코드 분석을 위한 기술 중 하나로 실행 프로그램의 함수 호출 관계를 시퀀스 또는 그래프 작성한 후, 그 결과를 분석하는 기술이 제안되었다. 이러한 기술들은 일반적으로 실행 프로그램 파일의 정적 분석을 통해 함수 호출 코드를 분석하고, 함수 호출 관계를 시퀀스 또는 그래프로 정리한다. 그러나 난독화 된 실행 프로그램의 경우, 실행 프로그램 파일의 구성이 표준구성과 다르기 때문에 정적분석 만으로는 함수 호출관계를 명확히 분석하기 어렵다. 본 논문에서는 난독화 된 실행 프로그램의 함수 호출관계를 분석하기 위한 동적 분석 방법을 제안하고, 제안된 기술을 이용하여 함수 호출관계를 그래프로 구성하는 방법을 제안한다.

자율개체와 이벤트 프로그래밍 (Autonomous Agents and Event Programming)

  • 조은상;고형석
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제4권2호
    • /
    • pp.57-68
    • /
    • 1998
  • 가상 현실의 궁극적인 목표중의 하나는 참여자가 가치 있는 경험을 얻을 수 있도록 하는 것이다. 경험의 내용은 순차적인 이벤트들로서 구성될 수 있으며 본 논문은 이런 이벤트들을 저작(event authoring)하기 위한 알고리듬을 개발하는 것을 목적으로 한다. Event authoring을 위해서 우리는 우선, 가상환경에 포함되는 개체들의 구조를 제안한다. 그리고, event-program을 기술하여 실험을 행할 수 있게 하는 수단인 event authoring language와 event-program 실행 시에 핵심이 되는 event execution manager를 구현한다. 마지막으로, 몇 가지 실험을 통하여 본 논문에서 제시된 접근방법이 유효함을 증명한다.

  • PDF

동적 기호 실행을 이용한 힙 메모리 OOB 취약점 자동 탐지 방법 (Automated Method for Detecting OOB Vulnerability of Heap Memory Using Dynamic Symbolic Execution)

  • 강상용;박성현;노봉남
    • 정보보호학회논문지
    • /
    • 제28권4호
    • /
    • pp.919-928
    • /
    • 2018
  • OOB(Out-Of-Bounds)는 힙 메모리에서 발생하는 취약점 중 가장 강력한 취약점 중 하나이다. OOB 취약점을 이용하면 Array의 길이를 속여 해당 길이만큼의 메모리를 읽기 혹은 쓰기가 가능하기 때문에 공격자는 기밀 정보에 대한 무단 액세스를 악용할 수 있다. 본 논문에서는 동적 기호 실행과 쉐도우 메모리 테이블을 활용하여 힙 메모리에서 발생하는 OOB 취약점을 자동으로 탐지하는 방법을 제안한다. 먼저, 힙 메모리 할당 및 해제 함수 후킹을 통해 쉐도우 메모리 테이블을 구축한다. 이후 메모리 액세스가 발생할 때, 쉐도우 메모리를 참조하여 OOB가 발생할 수 있는지를 판단하고, 발생 가능성이 존재할 경우 크래시를 유발하는 테스트케이스를 자동으로 생성한다. 제안하는 방법을 활용할 경우, 취약한 블록 탐색에 성공한다면 반드시 OOB를 유발하는 테스트케이스를 생성할 수 있다. 뿐만 아니라 전통적인 동적 기호 실행과는 다르게 명확한 목표 지점을 설정하지 않더라도 취약점 탐색이 가능하다.

병행 Java 프로그램의 확장적 경합탐지를 위한 JDI 기반의 투명한 감시도구 (A Transparent Monitor Based on JDI for Scalable Race Detection of Concurrent Java Programs)

  • 김영주;구인본;배병진;전용기
    • 정보처리학회논문지A
    • /
    • 제16A권2호
    • /
    • pp.55-60
    • /
    • 2009
  • 병행 Java 프로그램의 경합은 프로그램의 비결정성을 초래하므로 반드시 탐지되어야 한다. 이러한 경합을 수행 중에 탐지하기 위해서는 스레드에 대한 수행양상과 모든 접근사건들을 감시할 수 있어야 한다. 기존의 경합탐지 기법들은 프로그램의 수행중에 기록된 파일들을 분석하거나 대상 프로그램을 수정하여 감시하므로 스레드나 모든 접근사건들에 대한 감시가 현실적으로 어렵다. 본 연구에서는 JDI(Java Debug Interface)를 이용하여 스레드에 대한 수행양상과 모든 접근사건을 감시하여 확장적 경합탐지를 할 수 있는 투명한 감시도구를 제안한다. 여기서 JDI는 JDPA(Java Platform Debugger Architecture)에서 제공하는 상위 레벨의 100% 순수 자바 인터페이스로써 자바프로그램의 수행중에 특정 정보를 제공할 수 있다. 그리고 제안된 도구의 투명성을 입증하기 위해서 벤치마크 프로그램으로 실험한 결과, 모든 스레드와 접근사건들을 프로그램 수정없이 감시할 수 있었고 프로그램의 감시시간이 20배 이상 증가되었다.

실행시간 적응에 의한 병렬처리시스템의 성능개선 (Performance Improvement of Parallel Processing System through Runtime Adaptation)

  • 박대연;한재선
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권7호
    • /
    • pp.752-765
    • /
    • 1999
  • 대부분 병렬처리 시스템에서 성능 파라미터는 복잡하고 프로그램의 수행 시 예견할 수 없게 변하기 때문에 컴파일러가 프로그램 수행에 대한 최적의 성능 파라미터들을 컴파일 시에 결정하기가 힘들다. 본 논문은 병렬 처리 시스템의 프로그램 수행 시, 변화하는 시스템 성능 상태에 따라 전체 성능이 최적화로 적응하는 적응 수행 방식을 제안한다. 본 논문에서는 이 적응 수행 방식 중에 적응 프로그램 수행을 위한 이론적인 방법론 및 구현 방법에 대해 제안하고 적응 제어 수행을 위해 프로그램의 데이타 공유 단위에 대한 적응방식(적응 입도 방식)을 사용한다. 적응 프로그램 수행 방식은 프로그램 수행 시 하드웨어와 컴파일러의 도움으로 프로그램 자신이 최적의 성능을 얻을 수 있도록 적응하는 방식이다. 적응 제어 수행을 위해 수행 시에 병렬 분산 공유 메모리 시스템에서 프로세서 간 공유될 수 있은 데이타의 공유 상태에 따라 공유 데이타의 크기를 변화시키는 적응 입도 방식을 적용했다. 적응 입도 방식은 기존의 공유 메모리 시스템의 공유 데이타 단위의 통신 방식에 대단위 데이타의 전송 방식을 사용자의 입장에 투명하게 통합한 방식이다. 시뮬레이션 결과에 의하면 적응 입도 방식에 의해서 하드웨어 분산 공유 메모리 시스템보다 43%까지 성능이 개선되었다. Abstract On parallel machines, in which performance parameters change dynamically in complex and unpredictable ways, it is difficult for compilers to predict the optimal values of the parameters at compile time. Furthermore, these optimal values may change as the program executes. This paper addresses this problem by proposing adaptive execution that makes the program or control execution adapt in response to changes in machine conditions. Adaptive program execution makes it possible for programs to adapt themselves through the collaboration of the hardware and the compiler. For adaptive control execution, we applied the adaptive scheme to the granularity of sharing adaptive granularity. Adaptive granularity is a communication scheme that effectively and transparently integrates bulk transfer into the shared memory paradigm, with a varying granularity depending on the sharing behavior. Simulation results show that adaptive granularity improves performance up to 43% over the hardware implementation of distributed shared memory systems.