• 제목/요약/키워드: 코드 최적화

검색결과 476건 처리시간 0.034초

바이트코드 프레임워크 설계 (Design of Bytecode Framework)

  • 김영국;김기태;조선문;이갑래;유원희
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2004년도 춘계 종합학술대회 논문집
    • /
    • pp.330-334
    • /
    • 2004
  • 자바 바이트코드는 스택기반 코드이다. 스택기반 코드는 스택 접근 명령어를 사용하기 때문에 분석과 최적화를 어렵게 한다. 따라서 스택기반 코드 최적화에서 생기는 문제점인 코드의 단편화, 타입정보의 상실, 불필요한 적재와 저장이 나타날 수 있다. 바이트코드의 최적화와 분석의 어려운 문제점의 해결 방안으로 바이트코드 프레임워크를 설계한다. 본 논문은 바이트코드의 최적화와 분석의 문제점을 지적하고, 기존의 바이트코드 최적화 기술에 대한 연구 내용을 서술한다. 바이트코드의 분석과 최적화를 단순화하기 위한 대안으로 바이트코드 프레임워크를 제안한다.

  • PDF

CTOC에서 3주소 코드를 효율적인 스택 기반 코드로의 변환기 설계 (Design of Translator for Efficient Stack Based Codes from 3-Address Codes in CTOC)

  • 김영국;김기태;조선문;김웅식;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.766-768
    • /
    • 2004
  • 자바는 객체 지향 언어이고, 분산 환경을 지원하고, 플랫폼에 독립적인 장정을 갖지만 다른 C나 C++같은 컴파일언어에 비해서는 실행속도가 느리다는 단점을 가진다. 이러한 단점을 극복하기 위한 방법으로 네이티브 코드로의 변환, 코드 최적화, JIT 컴파일 방법 등을 이용한다. 그러나 이전 방법들은 다음과 같은 한계점을 가진다. 클래스 파일을 네이티브 코드로의 변환은 플랫폼의 종속되고, 코드 최적화 방법은 고유의 최적화 방법만을 적용할 수 있었고, JIT컴파일 방법은 한 번의 실행 후 다음 실행해야 속도향상을 꾀할 수 있었다. 본 논문은 바이트 코드를 최적화하기 위한 자바최적화 프레임워크를 설명하고 자바최적화 프레임워크의 구성을 하는 부분 중 3주소형식의 중간코드를 스택기반 코드로 변환하는 부분을 설계하고. 3주소 코드로 변환한 중간 코드를 스택 기반 코드로 변환하면서 생기는 과다한 load/store의 문제점을 지적하고 그것을 해결할 수 있는 변환기를 제안한다.

  • PDF

DFA 를 이용한 코드 최적화 (Code Optimization Using DFA)

  • 윤성림;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 춘계학술발표대회
    • /
    • pp.525-528
    • /
    • 2005
  • 원시 프로그램에 대한 컴파일 과정 중 최적화 단계에서는 프로그램의 실행 속도를 개선시키고 코드 크기를 줄일 수 있는 다양한 최적화 기법을 수행한다. 특히, 핍홀 ��적화는 비효율적인 명령어의 순서를 구별해 내고 연속되는 명령어의 순서를 의미적으로 동등하면서 좀 더 효율적인 코드로 개선하는 방법이다. 최적화 패턴 매칭 방법 중 스트링 패턴 매칭 방법은 중간 코드에 대응하는 최적의 패턴을 찾기 위한 방법으로 과다한 최적화 패턴 검색 시간으로 비효율적이고, 트리 패턴 매칭은 패턴 결정시 중복 비교가 발생할 수 있으며, 코드의 트리 구성에 많은 비용이 드는 단점을 가지고 있는 방법들이다. 본 논문에서는 기존의 최적화 방법들의 단점을 극복하기 위한 방법으로 DFA(Deterministic Finite Automata)를 이용한 코드 최적화 방법을 제안한다. 이 방법은 다른 패턴 매칭 기법보다 오토마타(Automata)로 구성하기 때문에 비용은 적어지고, 오토마타를 통해 결정적으로 패턴이 확정됨에 따른 패턴 선택 비용이 줄어들며, 최적화 패턴 검색 시간도 빨라지는 효율적인 방법이다.

  • PDF

GVM SAL 코드 최적화 (GVM SAL Code Optimization)

  • 김은경;윤성림;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.625-628
    • /
    • 2004
  • GVM(General Virtual Machine)은 무선 단말기 상에서 동적인 응용프로그램을 실행할 수 있는 가상 기계(Virtual Machine) 플랫폼이다. 가상 기계를 이용한 응용프로그램의 실행은 플랫폼 독립적인 실행이 가능하며 또한 효과적인 다운로드 솔루션을 통한 동적인 실행이 가능하다. GVM은 SGS 파일을 다운로드 받아 실행되는 시스템이므로, 성능의 저하없이 실행되기 위해서는 효율적인 최적화와 실행 시스템이 요구된다. 본 논문은 SGS 파일이 시스템 리소스의 제한이 큰 무선 단말기 상에서 보다 효율적으로 실행되기 위해서 SAL 코드에 대한 최적화를 수행하였다. SAL 코드 최적화 단계를 수행한 GS 파일은 부분적으로 SGS 파일의 최적화를 가져와 전체 SGS 파일의 크기를 줄이고, 실행될 때 수행 속도 면에서 좀 더 빠른 실행 속도를 가지게 된다. 존재하는 최적화 방법론에 관한 연구를 통하여 SAL 코드의 특성을 고려한 최적화 방법론을 제시하고, 최적화된 SAL 코드를 생성하기 위한 코드 최적화기에 관하여 설계하고 구현하였다.

  • PDF

수명적, 계산적 최적화를 위한 희소코드모션 알고리즘 (A Sparse Code Motion Algorithm forlifetime and computational optimization)

  • 심손권
    • 한국컴퓨터산업학회논문지
    • /
    • 제5권9호
    • /
    • pp.1079-1088
    • /
    • 2004
  • 일반적으로 코드 모션 알고리즘은 계산적 최적화와 레지스터 과부하와 연관되는 실행시간 최적화를 수행 한다. 본 논문은 계산적 최적화와 수명적 최적화에 더하여 코드의 크기를 고려하는 희소 코드 모션 알고리즘을 제안한다. 희소 코드 모션 알고리즘에서 BCM 알고리즘은 계산적으로 최적 코드 모션을 수행하고, LCM 알고리즘은 레지스터 과부하를 감소시킨다. 희소 코드 모션 알고리즘은 블필요한 코드 모션을 억제시키기 때문에 계산적으로나 수명적으로 최적인 알고리즘이다. 희소 코드 모션 알고리즘은 성능평가를 통하여 기존의 연구보다 프로그램의 능률 및 실행시간을 향상시켰다.

  • PDF

스택 기반 코드 변환기 설계 (Design of Translator for Stack-Based Code)

  • 김경수;김기태;조선문;심현진;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.337-340
    • /
    • 2004
  • 자바는 객체 지향언어로 네트워크 기반의 환경에서 응용프로그램을 효율적으로 개발을 위해 설계되었으며 특정 하드웨어나 운영체제에 영향을 받지 않고 동작 할 수 있는 높은 이식성을 가지고 있다. 하지만 자바 언어로 응용프로그램을 개발하면 다른 언어로 작성하는 것 보다 일반적으로 실행이 느리다는 단점이 발생하게 된다. 이를 극복하기 위해 자바 언어에 대한 최적화가 필요하다. 일반적으로 많이 쓰는 최적화 방법으로는 JIT와 같이 실행시간에 필요에 따라 컴파일하여 실행하는 방법과 바이트코드를 수행하고자 하는 특정 프로세서에 적합한 네이티브 코드를 생성하는 방법을 사용하고 있다. 하지만 이러한 방법들은 고유의 최적화 기법과 구현된 프로그램을 이용해서만이 최적화가 가능했고 또한 코드의 추출부터 최적화를 위한 모든 부분까지 구현해야하는 문제점이 있다. 또한 자바 바이트코드는 스택기반의 코드로써 명령어가 많고 표현이 명백하지 않다는 문제점을 가지고 있다. 따라서 분석과 변환이 어렵기 때문에 자바 바이트코드를 스택 기반이 아닌 분석과 최적화가 용이한 3-주소 형태로 변환하여 최적화 기법을 적용해야 한다 본 논문에서는 자바 바이트코드와 3-주소 형태의 중간 코드인 CTOC-B에 대해서 설계한다.

  • PDF

패턴 매칭 기법을 이용한 SIL 코드 최적화기 (SIL Code Optimizer Using Pattern Matching Technique)

  • 박성환;라황균;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 춘계학술발표대회
    • /
    • pp.541-544
    • /
    • 2005
  • EVM(Embedded Virtual Machine)은 모바일 디바이스, 디지털 TV 등 임베디드 컴퓨팅 환경에서 동적인 응용프로그램을 실행할 수 있는 가상기계 플랫폼(Virtual Machine Platform)이다. 가상기계를 이용한 응용프로그램은 플랫폼 독립적인 실행 및 효과적인 다운로드 솔루션을 통한 동적인 실행이 가능하다. EVM을 위한 가상기계 코드인 SIL(Standard Intermediate Language)은 언어/기계 독립적으로 설계되었다. 본 논문은 SIL 코드가 시스템 리소스의 제한이 큰 임베디드 시스템상에서 보다 효율적으로 실행되기 위하여 최적화를 수행하였다. 기존의 최적화 방법론에 관한 연구를 통하여 SIL 코드 특성을 고려한 최적화 방법론을 제시하고, 최적화된 코드를 생성하기 위한 코드 최적화기를 설계하고 구현현하였다. SIL 코드 최적화기는 컴파일러에 의해 생성된 SIL 코드를 입력으로 받아 효율적인 코드로 변환하여, 전체 코드의 크기를 줄이고 수행 속도의 개선효과를 얻을 수 있다.

  • PDF

CTOC에서 코드 최적화 수행 (Processing of Code Optimization in CTOC)

  • 김기태;유원희
    • 한국멀티미디어학회논문지
    • /
    • 제10권5호
    • /
    • pp.687-697
    • /
    • 2007
  • 자바 바이트코드는 많은 장점을 가지고 있지만, 수행속도가 느리고 프로그램 분석이나 최적화에 적절한 표현이 아니라는 단점이 존재한다. 따라서 네트워크와 같은 실행 환경에서 효율적으로 수행되기 위해서는 최적화된 코드로 변환이 필요하다. 따라서 우리는 최적화된 코드로의 변환을 위해 CTOC를 구현하였다. 최적화 과정에서 CTOC는 정적으로 값과 타입을 결정하기 위해 변수를 배정에 따라 분리하는 SSA From을 사용하였다. 하지만 SSA Form변환 과정에서 ${\phi}$-함수의 추가에 의해 오히려 노드의 수가 증가되는 문제점이 발생하였다. 이를 해결하기 위해 본 논문에서는 SSA Form에서 복사 전파와 죽은 코드 제거 최적화를 수행한다. 또한 기존의 SSA Form은 표현식보다는 주로 변수에 관련된 것이라는 단점이 존재한다. 따라서 본 논문에서는 SSA Form 형태의 표현식에 대해 복사 전파와 죽은 코드 제거와 같은 최적화를 적용한 후 다시 중복된 표현식을 제거하는 과정을 추가로 수행한다.

  • PDF

DFA 패턴 매칭을 위한 코드 최적화기의 자동적 생성 (Automatic Generation of Code Optimizer for DFA Pattern Matching)

  • 윤성림;오세만
    • 정보처리학회논문지A
    • /
    • 제14A권1호
    • /
    • pp.31-38
    • /
    • 2007
  • 주어진 입력 프로그램과 의미적으로 동등하면서 좀 더 효율적인 코드로 바꾸는 것을 코드 최적화라 하며, 이런 과정은 코드 최적화기예 의해 수행된다. 본 논문에서는 코드 최적화기를 자동적으로 생성하는 도구인 코트 최적화긴 생성기를 설계하고 구현하였다. 즉 패턴 형식에 대한 표현을 입력으로 받아 기술된 형태의 최적화 코드를 찾아내는 DFA 패턴 매칭을 위한 코드 최적화기를 자동적으로 생성하는 것이다. DFA 패턴 매칭은 패턴들의 정규화 과정을 통해 패턴 검색 시 발생하는 중복 비교를 제거하여, 패턴 형태의 단순화 및 구조를 개선함으로 비용이 적게든다. DFA 패턴 매칭을 위한 코드 최적화기의 자동적 생성은 다양한 형태의 중간코드로 바뀌더라도 해당하는 코트 최적화기를 만들어야 하는 수고를 덜어줌으로써 코드 최적화에 대한 정형화(formalism)를 할 수 있다. 또한, DFA로 구성되어 최적화를 하기 때문에 최적화 속도가 빠르고, 코드 최적화기를 만드는데 필요한 시간과 비용을 절약할 수 있는 장점을 가진다.

가상 기계 코드를 위한 패턴 매칭 최적화기 (Pattern Matching Optimizer for Virtual Machine Codes)

  • 이창환;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제9권9호
    • /
    • pp.1247-1256
    • /
    • 2006
  • 가상 기계란 하드웨어로 이루어진 물리적 시스템과는 달리 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 개념적인 컴퓨터이다. 그러나 가상 기계는 실제 프로세서로 처리하는 것보다 실행 속도가 매우 느리기 때문에 실행되는 코드의 최적화가 매우 중요하다. 본 논문은 가상 기계 코드 최적화기의 실험대상으로 EVM(Embedded Virtual Machine)의 중간 코드인 SIL(Standard Intermediate Language)을 이용하였다. 현존하는 최적화 방법론에 관한 연구를 통하여 가상 기계 코드 특성을 고려한 최적화 방법론을 제시하고, 최적화된 코드를 생성하기 위한 코드 최적화기를 설계하고 구현하였다. 가상 기계 코드 최적화기는 주어진 패턴을 찾아서 패턴에 해당하는 부분을 최적화 코드로 바꾸어, 전체 코드의 크기를 줄이고 실행 속도의 개선효과를 가진다. 또한, 구현된 최적화기의 실험 결과를 도출하였다.

  • PDF