• Title/Summary/Keyword: 컴퓨터 코드 최적화

Search Result 78, Processing Time 0.027 seconds

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

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

  • PDF

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

  • Kim, Eun-Kyoung;Yun, Sung-Lim;Oh, Se-Man
    • Annual Conference of KIPS
    • /
    • 2004.05a
    • /
    • 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 (수명적, 계산적 최적화를 위한 희소코드모션 알고리즘)

  • Sim, Son-Kweon
    • Journal of the Korea Computer Industry Society
    • /
    • v.5 no.9
    • /
    • pp.1079-1088
    • /
    • 2004
  • Generally, the code motion algorithm accomplishes the run-time optimal connected with the computational optimifation and the register overhead This paper proposes a sparse code motion, which considers the code size, in addition to computational optimization and lifetime optimization. The BCM algorithm carries out the optimal code motion computationally and the LCM algorithm reduces the register overhead in a sparse code motion algorithm. A sparse code motion algorithm is optimum algorithm computationally and lifetime because of suppression unnecessary code motion This algorithm improves runtime and efficiency of the program than the previous work through the performance test.

  • PDF

Performance Evaluation of Code Optimization Strategies for ARM Processors (ARM 프로세서 하에서의 코드 최적화 전략에 대한 성능 평가)

  • Choi, Kwang-Won;Sun, Ju-Teak;Lee, Jeong-Gun
    • Annual Conference of KIPS
    • /
    • 2009.11a
    • /
    • pp.43-44
    • /
    • 2009
  • 임베디드 소프트웨어의 경우, 시스템 제약으로 인해서 일반 소프트웨어에 비해 최적화의 역할이 상대적으로 매우 중요하다. 본 논문에서는 임베디드 시스템 환경에서 다양한 코드 최적화 기법을 적용하고 각 최적화 기법의 성능 향상기여도를 평가하여, 다양한 최적화 전략에 대한 효율성을 분석하였다. 이는 향후 임베디드 소프트웨어 엔지니어를 위한 코드 최적화 가이드라인으로 활용되거나, 자동화된 최적 임베디드 코드 생성을 위한 기초 자료로 사용될 수 있을 것으로 기대한다.

Design and Implementation of Code Optimization Profiler for Embedded system (임베디드 시스템의 코드 최적화를 위한 프로파일러 설계 및 구현)

  • Jang, Woo-Sung;Son, Hyun-Seung;Kim, Woo-Yeol;Kim, R. Young-Chul
    • Annual Conference of KIPS
    • /
    • 2010.04a
    • /
    • pp.72-74
    • /
    • 2010
  • 임베디드 시스템은 하드웨어 리소스가 매우 작다. CPU속도가 느리고 메모리 크기도 작다. 이런 환경에서의 소프트웨어는 최적화된 크기를 가지고 수행속도가 빠르며 병목 현상이 없어야한다. 이렇게 코드를 최적화하기 위해서는 현재 코드의 문제를 찾아내야 한다. 이것은 정적 분석으로 만으로는 부족하고 프로그램을 수행시켜가면서 정보를 수집하는 프로파일러가 필요하다. 기존의 프로파일러는 윈도우, 리눅스 상에서 수행되는 응용프로그램을 위한 것이기 때문에 저급 임베디드 시스템에서 프로파일러를 수행할 수 없다. 본 논문에서는 이러한 문제를 해결하기 위해서 임베디드용 프로파일러를 설계 및 구현 한다.

Profiling for Optimization of Virtual Machine Codes (가상기계 코드 최적화를 위한 프로파일링)

  • Shin, Yang-Hoon;Yi, Chang-Hwan;Oh, Se-Man
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10b
    • /
    • pp.562-565
    • /
    • 2006
  • 가상기계(Virtual Machine)는 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 컴퓨터이기 때문에 그 수행 속도와 필요 저장 공간 측면에서 성능이 떨어질 수 밖에 없다. 따라서 가상기계의 성능에 있어서 보다 효율적인 코드로의 최적화가 중요하다. 본 논문에서는 가상기계 코드(Virtual Machine Code) 최적화를 위해 코드를 실행하여 얻을 수 있는 동적 정보인 프로파일링 데이터(Profiling Data)를 정의하고, 프로파일링 시스템을 설계하여 프로파일링 데이터를 가상기계 코드 최적화에 적용 할 수 있는 기반을 마련하였다. 나아가 EVM(Embedded Virtual Machine)에서 실행되는 SIL(Standard Intermediate Language) 코드를 대상으로 프로파일링 시스템을 구현하여 실제 가상 기계 코드에 대하여 프로파일링 데이터를 추출하였다.

  • PDF

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

  • Yi Chang-Hwan;Oh Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.9 no.9
    • /
    • pp.1247-1256
    • /
    • 2006
  • VM(Virtual Machine) can be considered as a software processor which interprets the abstract machine code. Also, it is considered as a conceptional computer that consists of logical system configuration. But, the execution speed of VM system is much slower than that of a real processor system. So, it is very important to optimize the code for virtual machine to enhance the execution time. In this paper, we designed and implemented the optimizer for the virtual(or abstract) machine code(VMC) which is actually SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). The optimizer uses the pattern matching optimization techniques reflecting the characteristics of the VMC as well as adopting the existing optimization methodology. Also, we tried a benchmark test for the VMC optimizer and obtained reasonable results.

  • PDF

Local and Global Optimization Techniques for Power Consumption Optimization (전력 소비 최적화를 위한 지역 및 전역 최적화 기술)

  • Kim, Seongjin;Youn, Jonghee M.;Ko, Kwangman
    • Annual Conference of KIPS
    • /
    • 2012.04a
    • /
    • pp.10-13
    • /
    • 2012
  • 임베디드 시스템은 여러 분야에서 사용되고 있으며, 그 범위는 더욱더 다양하게 늘어나고 있다. 이러한 다양성은 임베디드 시스템이 사용되는 목적에 따라 새로운 아키텍처를 요구하게 되면서, 아키텍처 구조, 동작에 대한 변경 또는 새로운 설계에 대해 개발 시간과 비용을 줄이기 위한 재목적 컴파일러의 개발 필요성과 중요성이 강조되고 있다. 더욱이 전력이 제한적인 모바일 기기에서 동작하는 어플리케이션의 최적화와 이러한 최적화를 위한 컴파일러 개발은 매우 중요한 이슈가 되고 있으며, 특히 어플리케이션 성능에 직접적인 영향을 주는 컴파일러 후단부는 다양한 방법론들이 적용되어 있고 많은 연구가 수행되고 있다. 이 논문에서는 EXPRESSION의 재목적 컴파일러인 EXPRESS의 후단부에서 코드 최적화를 위해 적용된 기법을 분석하고, 기존 코드 스케줄링과 더불어 성능 개선을 위해서 기본 블록 스케줄링을 추가한 모델을 설계하고 성능평가 방법을 제시한다.

Implementation of SSA Form for Array in CTOC (CTOC에서 배열을 위한 SSA Form 의 구현)

  • Kim, Je-Min;Kim, Ki-Tae;Yoo, Weon-Hee
    • Annual Conference of KIPS
    • /
    • 2007.05a
    • /
    • pp.1531-1534
    • /
    • 2007
  • 자바 바이트코드는 인터넷에서 바로 내려 받아 사용할 수 있는 형태로서 많이 사용된다. 따라서 그것에 대한 최적화가 중요하다. 따라서 이를 효율적으로 수행하기 위한 CTOC 프레임워크를 구현하였다. CTOC 에서 자바 바이트코드에 대한 스칼라 변수에 대한 최적화는 이미 많이 존재하지만, 배열에 대한 최적화는 그렇지 않다. 이 논문에서는 기존의 CTOC 에서의 배열 최적화를 위한 SSA form 에 대한 적용과 구현을 위해 기존에 있는 Array SSA form 과 Region Array SSA 의 사용을 보다 간단하게 하는 방법을 제안한다.

Implementation of Dead Code Elimination in CTOC (CTOC에서 죽은 코드 제거 구현)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Won-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.1-8
    • /
    • 2007
  • Although the Java bytecode has numerous advantages, there are also shortcomings such as slow execution speed and difficulty in analysis. Therefore, in order for the Java class file to be effectively executed under the execution environment such as the network, it is necessary to convert it into optimized code. We implements CTOC. In order to statically determine the value and type, CTOC uses the SSA Form which separates the variable according to assignment. Also, it uses a Tree Form for statements. But, due to insertion of the $\phi$-function in the process of conversion into the SSA Form, the number of nodes increased. This paper shows the dead code elimination to obtain a more optimized code in SSA Form. We add new live field in each node and achieve dead code elimination in tree structures. We can confirm after dead code elimination though test results that nodes decreases.

  • PDF