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

Search Result 75, Processing Time 0.027 seconds

Copy Propagation in CTOC (CTOC에서 복사 전파)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Won-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.1 s.45
    • /
    • pp.1-8
    • /
    • 2007
  • Although the Java bytecode has numerous advantages. there ate 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. CTOC generated CFG using the existing bytecode then created the SSA Form for analysis and optimization. However. due to insertion or the ${\phi}$-function in the process of conversion into the SSA Form, the number of nodes increased. As a means of reducing the number of nodes, we performed copy propagation, which is an optimization method applicable to the SSA form. Copy propagation is the process of a value of a variable being topied to another variable. There are cases where conversion due to copy propagation alone does not yield significant effects. However, when variables are not used in the later optimization stages, copy propagation provides a means for eliminating the copy statement for the corresponding variable, making it an important step. This paper shows the copy propagation to obtain a more optimized code in SSA Form.

  • PDF

Optimization of LDPC Code Replication Scheme for Cluster File System (클러스터 파일 시스템을 위한 LDPC 코드 복제 기법 최적화)

  • Kim, Se-Hoe;Lee, Won-Joo;Jeon, Chang-Ho
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2010.07a
    • /
    • pp.15-16
    • /
    • 2010
  • 최근 이슈가 되고 있는 클라우드 컴퓨팅은 대용량의 데이터를 분산 저장하고 제공할 수 있는 클러스터 파일 시스템을 필요로 한다. 이러한 클러스터 파일 시스템은 높은 신뢰성과 고가용성을 보장하기 위해서 파일 복제 기법을 사용하고 있다. 가장 많이 쓰이고 있는 복제 기법은 전체-파일 복제 기법으로 높은 파일 가용성을 제공하지만 그만큼 스토리지 오버헤드가 크다는 단점이 있다. 또 다른 복제 기법으로는 LDPC 코드를 이용한 것으로 비교적 적은 스토리지 오버헤드를 가지면서 동시에 비슷한 수준의 파일 가용성을 제공한다. 따라서 본 논문에서는 클러스터 파일 시스템을 위한 LDPC 코드 복제 기법의 최적화 방법을 제안한다.

  • PDF

Design of Translator for 3-Address Code from Stack Based Code (스택 기반 코드에서 3-주소형태코드 생성을 위한 변환기 설계)

  • Kim, Ji-Min;Kim, Young-Kook;Jo, Sun-Moon;Kim, Ki-Tae;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.301-304
    • /
    • 2004
  • 자바의 특징 중에 한 가지는 자바 가상 기계를 기반으로 하고 있게 때문에 특정한 하드웨어나 운영체제에 영향을 받지 않고 독립적으로 수행이 가능하다는 것이다. 하지만 자바 언어로 개발된 애플리케이션은 C나 C++등 다른 언어로 작성한 프로그램에 비하여 실행이 매우 느리다는 단점을 가지게 된다. 이는 자바 가상 기계 에서 바이트코드가 인터프리터 방식으로 사용되기 때문이다. 이러한 단점을 보안하기 위하여 여러 가지 최적화 기법이 적용되고 있다. 본 논문에서는 이러한 방법으로써 바이트코드를 3주소형태 코드로 변환하는 변환기 설계에 대해서 제안할 것이다. 바이트코드에서 스택을 사용하지 않는 3주소형태 코드로의 변환하기 위하여 크게 세 단계를 걸친다. 첫째, 스택에 대한 명백한 참조를 가진 타입화된 스택기반의 중간표현을 생성한다. 둘째, 생성된 코드에서 타입에 대한 정보를 추출하고 추출된 정보를 저장하는 기억장소를 할당하여 추출된 정보를 저장시킨다. 셋째, 스택을 대신할 타입이 없는 지역변수를 생성하여 각각의 변수에 알맞은 타입을 분배함으로써 타입화되고 명백한 3주소형태 코드를 생성한다. 이러한 방식으로 스택기반 언어에서 발생하는 문제점을 해결한다.

  • PDF

Virtual Machine Code Optimization using Profiling Data (프로파일링 데이터를 이용한 가상기계 코드 최적화)

  • Shin, Yang-Hoon;Yi, Chang-Hwan;Oh, Se-Man
    • The KIPS Transactions:PartA
    • /
    • v.14A no.3 s.107
    • /
    • pp.167-172
    • /
    • 2007
  • VM(Virtual Machine) can be considered as a software processor which interprets the 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. Especially the optimizer for a virtual machine code on embedded devices requires the highly efficient performance to the ordinary optimizer in the respect to the optimized ratio about cost. Fundamentally, functions and basic blocks which influence the execution time of virtual machine is found, and then an optimization for them nay get the high efficiency. In this paper, we designed and implemented the optimizer for the virtual(or abstract) machine code(VMC) using profiling. Firstly, we defined the profiling information which is necessary to the optimization of VMC. The information can be obtained from dynamically executing the machine code. And we implemented VMC optimizer using the profiling information. In our implementation, the VMC is SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). Also, we tried a benchmark test for the VMC optimizer and obtained reasonable results.

A Study on Research in Analysis of Code Generated by Compiler Optimization (컴파일러 최적화 코드 분석 연구 조사)

  • Sang-Hun Han;Jeong-Hwan Kang;Dong-Hyun Kwon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2023.11a
    • /
    • pp.200-202
    • /
    • 2023
  • 컴파일러는 사용자가 작성한 소스 코드로부터 타겟 머신에서 동작하는 코드로 변환하기 위해 사용되는 프로그램으로 컴파일러의 구현은 몇 가지 단계로 구성된다. 그 단계 중 하나에 속하는 최적화 단계는 사용자에 의해 작성된 코드를 실행 시간, 메모리 사용량, 에너지 소모 등을 줄이기 위해 코드를 효율적으로 사용하고자 적용되는 단계이다. 그렇지만 이러한 컴파일러 최적화 기법은 사용자가 의도하지 않은 결과를 만들어 프로그램의 보안성을 낮추기도 한다. 이에 본 논문에서는 관련 연구 내용을 살펴보고 정리하고자 한다.

Java Bytecode-to-SIL Translator using an Abstract Syntax Tree (구문 트리를 이용한 자바 바이트코드에서 SIL로의 번역기)

  • Kim, Young-Koun;Kwon, Hyeok-Ju;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.519-522
    • /
    • 2004
  • 자바는 현재 가장 널리 사용되는 범용 프로그래밍 언어중 하나로 컴파일러에 의해 중간언어인 바이트코드로 변환되며 JVM(Java Virtual Machine)에 의해 실행되는 플랫폼 독립적인 언어이다. SIL(Standard Intermediate Language)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 중간언어로 가상기계인 EVM(Embedded Virtual Machine)에서 실행된다. 본 논문에서는 자바 프로그램을 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하여 자바로 구현된 프로그램이 EVM에서 실행되도록 하는 Bytecode-to-SIL 번역기 시스템을 구현하였다. 그리고 본 번역기 시스템을 다른 플랫폼에 용이하게 설치하기 위한 재목적성(retargetability)을 위해 단일패스(one-pass)을 사용하는 기존의 번역기들과 달리 AST를 이용한 컴파일러 기법을 사용하여 AST가 가지고 있는 정보에 대해 최적화 작업을 수행하여 보다 효과적인 코드 변환을 할 수 있도록 설계하였다.

  • PDF

A Study on Informediated code for Analyzing Bytecodes (바이트코드 분석을 위한 중간코드에 관한 연구)

  • Kim, Kyung-Soo;Yoo, Weon-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.11 no.1 s.39
    • /
    • pp.107-117
    • /
    • 2006
  • Java language creates class files through Java compiler. Class files include informations involved with achievement of program. We can do analysis and optimization for efficient codes by analyzing class files. This paper analyzes bytecodes using informations of Java class files. We translate stack-based Java bytecodes into 3-address codes. Then we translate into static single assignment form using the 3-address codes. Static single assignment form provides a compact representation of a variable's definition-use information. Static single assignment form is often used as an intermediate representation during code optimization. Static sing1e assignment form renames each occurrence of a variable such that each variable is defined only once.

  • PDF

Acceleration of LU-SGS Code on Latest Microprocessors Considering the Increase of Level 2 Cache Hit-Rate (최신 마이크로프로세서에서 2차 캐쉬 적중률 증가를 고려한 LU-SGS 코드의 가속)

  • Choi, J.Y.;Oh, Se-Jong
    • Journal of the Korean Society for Aeronautical & Space Sciences
    • /
    • v.30 no.7
    • /
    • pp.68-80
    • /
    • 2002
  • An approach for composing a performance optimized computational code is suggested for latest microprocessors. The concept of the code optimization, called here as localization, is maximizing the utilization of the second level cache that is common to all the latest computer system, and minimizing the access to system main memory. In this study, the localized optimization of LU-SGS (Lower-Upper Symmetric Gauss-Seidel) code for the solution of fluid dynamic equations was carried out in three different levels and tested for several different microprocessor architectures most widely used in these days. The test results of localized optimization showed a remarkable performance gain up to 7.35 times faster solution, depending on the system, than the baseline algorithm for producing exactly the same solution on the same computer system.

Energy-oriented Dalvik Bytecode Scheduling Technique (에너지-지향 달빅 바이트코드 스케줄링 기술)

  • Ko, Kwang-Man;Park, Hee-Wan;Youn, Jong-Hee;Choi, Kwang-Hoon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.101-102
    • /
    • 2012
  • 안드로이드 플랫폼에 적합한 어플리케이션 보급이 급증하면서 안드로이드 가상머신인 달빅(dalvik)의 성능 향상을 위한 연구가 다양하게 시도되고 있다. 전력 공급이 제한적인 모바일 기기에서 효율적인 어플리케이션 실행을 위한 플랫폼의 성능 향상과 더불어 전력 에너지의 최적화된 소비가 중요한 이슈가 되고 있다. 이 논문은 달빅에서 실행되는 dex 파일의 바이트코드를 에너지 소비 중심으로 스케줄링하여 Java 어플리케이션의 전력 에너지 소비를 최적화하고자 하는 시도이다. 에너지 지향적인 스케줄링 기법은 전통적인 리스트-인스트럭션 스케줄링 기법을 기반으로 하였으며 스케줄링 전 후의 실험 결과를 제시하여 이 연구의 효과를 입증한다.

An Optimization Technique to Improve Readability of CSS (CSS 가독성 향상을 위한 최적화기법)

  • Jung, Woo-Sung;Lee, Eun-Joo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.15 no.7
    • /
    • pp.99-108
    • /
    • 2010
  • For effective maintenance for web applications, it is necessary to improve the readability of the source pages. Though CSS(Cascading Style Sheet) belongs to pure presentation layer in various web constituent entities, CSS codes are often used by inlning and they are sometimes automatically generated by web development tools. The existing studies on CSS optimization have only focused on reducing the size of codes and they did not incorporate the readability or the reusability. In this paper, CSS codes are structured and several criteria for readability are defined to improve the readabilty and reusability. Based on them, the algorithm to improve the readability are proposed. Finally, case study are presented to show the applicability of the proposed algorithm.