• Title/Summary/Keyword: 코드 최적화

Search Result 476, Processing Time 0.029 seconds

Extended Null-Pointer Check Elimination using Specialization (Specialization을 이용한 확장된 널 포인터 검사 제거)

  • Choi, Hyung-Kyu;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06b
    • /
    • pp.391-394
    • /
    • 2011
  • 기존 자바 가상 머신의 성능을 향상시키는 대표적인 기법들로 Just-in-time compiler와 Ahead-oftime compiler가 있다. 그리고 이러한 기법들은 전통적인 최적화 외에도 자바에 특화된 최적화 기법을 적용하여 효율적인 코드를 생성한다. 자바에 특화된 최적화 기법으로 대표적으로 널 포인터 검사 제거 기법이 있으며 이는 오래 전부터 자바 가상 머신에서는 필수적인 최적화로 여겨지며 그 성능 향상 또한 충분하다고 여겨졌다. 본 논문에서는 specialization기법을 도입하여 기존의 널 포인터 검사 기법을 확장하여 추가적으로 널 포인터 검사를 제거하는 기법을 제안하려고 한다. 그리고 이 기법은 기존의 널 포인터 검사 기법 자체를 수정하지 않아도 되며 Just-in-time compiler와 Ahead-of-time compiler에 모두 적용 가능하다. 실험 결과 메소드 호출이 많은 어플리케이션에서는 성능을 향상시킬 수 있었으며 일반적인 연산이 많은 어플리케이션에서도 일부 성능 향상을 얻을 수 있었다.

Design Optimization of NREL 1.5MW HAWT considering the operating life (작동 수명을 고려한 NREL 1.5MW 급 수평축 풍력터빈 블레이드의 최적설계)

  • Jeong, Jihoon;Park, Kyunghyun;Jun, Sangwook;Cho, Junho;Choi, Sun;Lee, Dongho
    • 한국신재생에너지학회:학술대회논문집
    • /
    • 2011.05a
    • /
    • pp.60.1-60.1
    • /
    • 2011
  • 본 연구에서는 풍력 터빈 블레이드의 다분야 통합 최적 설계를 위하여, 진동하는 비정상 공력하중에 의한 작동 수명을 고려한 최적화 과정을 수행하였다. 최적화 대상으로는 NREL의 1.5MW 급 풍력터빈을 baseline 으로 하였고, NREL의 FAST 프로그램을 이용하여 발전기의 정격 출력 및 블레이드에 작용하는 비정상 공력 하중 특성을 분석하였다. 최적화 수행 시 블레이드 형상의 효율적인 구현을 위해 형상모델링 함수를 이용하여 코드 길이와 트위스트 분포를 모델링하였다. 그리고 상용 MDO Framework 인 Piano를 이용하여 블레이드 루트부의 비정상 공력하중 조건을 완화시키는 최적화 설계를 수행하였다. 정격출력을 유지하면서도 Out of Plain 방향의 하중 조건을 개선하여 보다 긴 작동 수명을 기대할 수 있는 블레이드 형상을 설계하였다.

  • PDF

The Study and Implementation of a Real-Time Clock Module interface optimizer based on the uClinux (uClinux기반의 Real-Time Clock 모듈 인터페이스 최적화 방안에 관한 연구 및 구현)

  • Ha, Sung-Jun;Kim, Hong-Kyu;Moon, Seung-Jin
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.937-940
    • /
    • 2007
  • 오늘날 대부분의 임베디드 시스템에서 사용하는 uClinux에서 기본적으로 프로세스가 이용할 수 있는 범위의 시스템 클럭은 10m/s 이상이다. 기존에는 무리하게 시스템 클럭의 속도를 무리하게 높여 더 높은 정밀도를 요구하는 프로세스를 처리해 왔다. 이는 시스템 리소스를 많이 사용함과 동시에 타이머 인터럽트를 처리하는 오버헤드도 상대적으로 증가하여 전체적으로 시스템의 성능과 안정성에 좋지 못했다. 이에 본 논문에서는 uClinux기반의 임베디드 장치와 Real-Time Clock(RTC)모듈과의 인터페이스 최적화 방안에 관하여 제안한다. 이로써 시스템 클럭을 사용하지 않고, RTC 자체의 인터럽트를 사용해서 작업을 진행해 나가기 때문에 시스템 리소스를 적게 사용하며, 시스템의 성능에 영향을 적게 준다. 또한 알고리즘적인 최적화를 사용 코드최적화를 사용하여 임베디드 시스템에서 가장 효율적으로 관리해야할 리소스인 메모리를 절약, 기존의 방식과 차별을 두었다.

  • PDF

Alias Analysis for JavaScript Program Optimization (자바스크립트 프로그램 최적화를 위한 별칭 분석)

  • Jo, Gang-Won;Kim, Hong-June;Lee, Joo-Hwan;Nah, Jeong-Ho;Lee, Jae-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06c
    • /
    • pp.462-465
    • /
    • 2011
  • 웹 애플리케이션의 사용이 늘어남에 따라 자바스크립트 프로그램의 성능을 높이는 것이 중요한 문제가 되었다. 자바스크립 프로그램에 대해 별칭 분석을 수행하면 더 많은 최적화가 가능해지지만, 자비스크립트가 가지는 동적인 특성으로 인해 분석 방법을 고안하는 데 어려움이 있었다. 본 논문에서는 자바스크립트의 주요한 동적 특성을 온전하게 다루는 별칭 분석 알고리즘을 최초로 제안한다. 제안한 방법은 별칭 그래프를 생성하여 프로그램 내의 별칭 관계를 완전하게 찾아내며, 또한 실행시킬 코드가 동적으로 추가될 때마다 이전에 이루어졌던 최적화가 유효한지 검사한다. 별칭 분석 결과를 이용하여 V8 자바스크립트 엔진에서 추가적으로 최적화를 수행한 결과, 유의미한 수행 시간 감소를 확인할 수 있었다.

Design Optimization of Brake System Using Multi-Rate Spring (Multi-Rate 스프링을 이용한 제동장치의 최적설계)

  • Jung, Eui-Man;Won, Jun-Ho;Choi, Joo-Ho;Shim, In-Seob
    • Proceedings of the Computational Structural Engineering Institute Conference
    • /
    • 2011.04a
    • /
    • pp.407-410
    • /
    • 2011
  • 본 연구에서는 탑승객의 안전과 국내 환경에 적합한 제동거리 확보를 위해 새로운 개념의 스프링을 사용한 제동장치를 설계하고자 한다. 새로운 제동장치에 사용되는 스프링은 변위에 따라 감쇠 성능 특성을변화시키는 Multi-Rate 변위 감응형 스프링을 최적화하여 적용하였다. 이를 위한 최적화 기법으로는 비선형 최적화 기법인 순차적 2차계획법(Sequential Quadratic Programming, SQP)을 사용하였으며 먼저 Ziprider의 운동을 제동거리와 제동시 발생하는 회전각의 관계로 표현 가능한 수치모델을 개발하였다. 또한 개발된 수치모델은 Matlab을 이용하여 코드화하고 그 결과를 RecurDyn과 비교 분석하였다.

  • PDF

Register Promotion for SFX ARM Just-in-time Compiler (SFX의 ARM 적시 컴파일러를 위한 레지스터 프로모션)

  • Oh, Jin-Seok;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.535-538
    • /
    • 2011
  • 최근 모바일 기기가 활성화되면서 자바스크립트의 성능 향상이 이슈가 되고 있다. 적시 컴파일러를 탑재한 자바스크립트 엔진들이 등장하면서 이러한 요구를 충족하고 있다. 대표적 웹 브라우징 엔진인 WebKit의 자바스크립트 엔진인 SquirrelFish Extreme(SFX)는 콘텍스트 쓰레딩 방식의 적시 컴파일러를 사용하고 있다. 하지만 모바일 환경에서의 성능은 여전히 문제가 된다. 모바일 환경에서 많이 사용되는 ARM CPU를 위한 SFX의 적시 컴파일러는 가상 레지스터를 머신 코드에서 사용하기 위해 많은 수의 메모리 로드와 스토어를 사용하고 있다. 또한 ARM 아키텍처가 제공하는 레지스터를 제대로 사용하지 못하고 사용되지 않는 레지스터가 존재하고 있다. 사용되지 않는 레지스터를 활용하여 메모리 로드와 스토어를 줄이는 레지스터 프로모션을 적용하였다. 루프에서 머신 코드로 수행되는 바이트 코드를 중심으로 가상레지스터를 실제 머신 레지스터로 할당하여 메모리 로드와 스토어를 줄이고 일부 벤치마크에서 성능향상이 나타남을 확인 했다. 레지스터 프로모션의 효과를 더 증대하기 위해 레지스터 프로모션의 범위를 함수 전체로 넓히고 핸들러 함수 호출에서 발생하는 오버헤드를 줄이는 최적화가 필요할 것으로 보인다.

Design and Implementation of EJB Wrapper Component Supporting Cobol Code Analyzer for Legacy System (레거시 시스템을 위한 EJB 레퍼 컴포넌트 지원 코볼 코드 분석기 설계 및 구현)

  • Joo, Sang-Hyun;Im, Dong-Ki;Jung, Min-Soo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11c
    • /
    • pp.1559-1562
    • /
    • 2003
  • 최근에 기존 레거시 시스템의 새로운 컴퓨팅 환경으로의 전환을 위해, 재개발, 변환, 래핑 등의 방법을 사용하고 있으며, 이러한 경향은 레거시 시스템의 현대화를 촉진시키고 있다. 레거시 시스템을 컴포넌트화 함으로써 기존의 시스템을 재사용하고 개발기간의 단축 및 시스템의 유지 보수가 용이하도록 한다. 본 논문에서는 레거시 시스템에서 사용되는 시스템의 핵심 변수와 패턴 식별에 사용되는 정보 저장소를 생성하여 레거시 시스템을 컴포넌트 기반 시스템으로 변환하는데 용이하도록 하였다. 정보 저장소의 보다 효율적인 구성을 위해서 코볼 코드의 릴레이션간의 릴레이션 중복을 방지하는 최적화된 코볼 코드 분석기를 설계하고 구현함으로써 보다 효율적인 정보 저장소를 구성할 수 있도록 하였다.

  • PDF

Instruction Set Design for Accelerating the LLVM Interpreter (LLVM의 해석기 가속을 위한 명령어 셋 디자인)

  • Jung, Dong-Heon;Lee, Seok-Young;Kim, Jae-Jin;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06c
    • /
    • pp.545-549
    • /
    • 2010
  • LLVM(Low-level Virtual machine)은 최적화된 컴파일 코드 생성을 위한 컴파일러 프레임워크를 목적으로 제작되었다. LLVM은 C언어로 작성된 코드를 효과적으로 머신에 비종속적인 중간코드로 표현하여 사용하므로 이를 잘 활용한다면 C언어를 위한 머신 비종속적인 '가상머신'으로 사용할 수 있다. 하지만 LLVM은 효과적인 컴파일러라는 원래의 설계목적 때문에 전반적으로 동적 수행에 대해 큰 고민 없이 디자인되었다. 이러한 디자인상의 한계는 가상 머신으로서의 성능에는 좋지 않은 영향을 끼치므로 이에 대한 보안이 필요하다. 우리는 LLVM의 명령어 셋에 추가명령어를 제안하여 LLVM 해석기의 성능향상을 얻어낼 것이다.

  • PDF

A Study for an Optimization of Prepass Code Scheduling (선코드 스케줄링의 최적화를 위한 연구)

  • 최준기
    • Journal of the Korea Society of Computer and Information
    • /
    • v.5 no.3
    • /
    • pp.1-8
    • /
    • 2000
  • Prepass code scheduling(code scheduling before register allocation), the register lifetimes may be lengthened, which may increase the amount of data dependence relations. So, it makes difficult to allocate the registers because of complex interference graph. In this paper, to improve that defect, propose an 2-phase coloring method. At first phase-1 assign the registers to variables which have long live ranges. Secondly, phase-2 allocate the registers to remained variables to minimize the register allocation cost. Experimental results shown that proposed method is more efficient scheme than Chaitin's scheme when prepass code scheduling.

  • PDF

Code Visualization Approach for Low level Power Improvement via Identifying Performance Dissipation (성능 저하 식별을 통한 저전력 개선용 코드 가시화 방법)

  • An, Hyun Sik;Park, Bokyung;Kim, R.Young Chul;Kim, Ki Du
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.9 no.10
    • /
    • pp.213-220
    • /
    • 2020
  • The power consumption and performance of hardware-based mobile and IoT embedded systems that require high specifications are one of the important issues of these systems. In particular, the problem of excessive power consumption is because it causes a problem of increasing heat generation and shortening the life of the device. In addition, in the same environment, software also needs to perform stable operation in limited power and memory, thereby increasing power consumption of the device. In order to solve these issues, we propose a Low level power improvement via identifying performance dissipation. The proposed method identifies complex modules (especially Cyclomatic complexity, Coupling & Cohesion) through code visualization, and helps to simplify low power code patterning and performance code. Therefore, through this method, it is possible to optimize the quality of the code by reducing power consumption and improving performance.