• Title/Summary/Keyword: 코드 캐시

Search Result 22, Processing Time 0.031 seconds

A Fast Vector Quantization using Subregion-based Caches of Codeword Indexes (부영역 기반 코드워드 인덱스 캐시를 사용한 고속 벡터 양자화)

  • Kim, Yong-Ha;Kim, Dae-Jin;Bang, Seung-Yang
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.4
    • /
    • pp.369-379
    • /
    • 2001
  • 본 논문은 부영역 분할과 코드워드 인텍스의 캐시 개념을 이용하여 벡터 양자화를 위한 고속코드북 생성 및 부호화 방법을 제안한다. 제안한 방법은 인접한 입력 벡터는 대개 코드북내 특정 코드워드에 의해 나타내어지는 국부성에 바탕을 두고 있다. 초기에 모든 학습 벡터가 거리에 기반한 근접성을 이용하여 정해진 수의 부영역으로 분할된다. 각 부영역에 하나의 코드워드 인덱스 캐시가 할당되는데 이 캐시는 학습 초기에는 전체 코드북 크기에 대응하는 코드워드 인덱스를 갖는다. 학습이 진행되면서 입력 벡터가 갖는 국부성 때문에 각 부영역내 캐시중 사용되지 않는 코드워드 인덱스가 점차 발생하게 되므로 이들은 LRU(Least Recently Used) 삭제 알고리즘에 의해 제거된다. 학습이 진행됨에 따라 부영역 캐시에는 주어진 입력 벡터에 의해 참조되는 코드워드 인덱스만이 남게 되므로 한 학습 주기 동한 필요한 학습 시간이 점차 짧아지게 되어 전체적으로 코드북 생성 시간을 크게 줄일 수 있게 된다. 제안한 방법은 매 학습주기마다, 코드워드 인덱스 삭제 후보 중 주어진 부영역 중심으로부터 거리에 의해 멀리 떨어진 것부터 반만을 제거함에 따라. 복원된 영상의 화질 열화가 거의 없다. 시뮬레이션 결과 제안한 방법은 기존의 LBG 방법에 비해 화질 열화는 거의 없지만 코드북 생성 (또는 부호화) 속도를 2.6-5.4배 (또는3.7-18.8배) 향상시킨다.

  • PDF

Expanding Code Caches for Embedded Java Systems using Client Ahead-Of-Time Compilation (내장형 자바 시스템을 위한 클라이언트 선행 컴파일 기법을 이용한 코드 캐시 확장)

  • Hong, Sung-Hyun;Kim, Jin-Chul;Shin, Jin-Woo;Kwon, Jin-Woo;Lee, Joo-Hwan;Moon, Soo-Mook
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.8
    • /
    • pp.868-872
    • /
    • 2010
  • Many embedded Java systems are equipped with limited memory, which can constrain the code cache size provided for Java just-in-time compilation, affecting the Java performance. This paper proposes expanding the limited code cache when it is full, by saving the machine code for some methods in the code cache into the file system of the permanent storage and reloading it to the code cache when they are re-invoked later. This is applying the client ahead-of-time compilation during the execution time for the purpose of enlarging the code cache. Our experimental results indicate that the proposed execution method can improve the performance by as much as 1.6 times compared to the conventional method, when the code cache size is reduced by half.

Cost-Aware Cache Algorithm for Dynamic XIP (eXecute In Place) (동적 XIP(eXecute In Place)를 위한 비용 인식 캐시 알고리즘 설계)

  • Dohun Kim;Chanik Park
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.820-823
    • /
    • 2008
  • 본 논문은 기존의 XIP 기법에서 발생할 수 있는 메모리 접근 성능저하를 해결하기 위한 동적 XIP 기법을 제안하였다. 동적 XIP 기법은 상대적으로 성능저하가 적을 것으로 예상되는 코드 페이지들을 동적으로 선택하여 XIP 영역으로 설정하고, 성능저하가 크게 나타날 것으로 예상되는 코드 페이지들을 램 캐시에 캐싱하여 성능을 향상시킨다. 본 논문은 램 캐시를 관리하기 위해 MIN 캐시 알고리즘 및 메모리 접근 비용을 고려한 오프라인 캐시 알고리즘과, 페이지 접근에 대한 최신성(Recency) 및 슬라이딩 윈도우에 저장된 페이지 접근 기록에 기반하여 메모리 접근 비용을 예측하는 온라인 캐시 알고리즘, 온라인 캐시 알고리즘의 램 캐싱 판단의 정확성을 높이는 기법을 제안하였다. 본 논문은 온·오프라인 알고리즘의 성능비교를 위해 시뮬레이터를 통해 성능을 평가하였고, 유용성을 시험하기 위해 온라인 알고리즘을 리눅스를 기반으로 구현하여 성능을 평가하였다. 본 논문에서 제안한 동적 XIP는 실제 구현한 환경에서 실험한 결과, 작은 크기의 캐시를 사용하고도 수행시간에서는 최대 27%, 에너지 소모량에서는 최대 24%의 성능이 향상됨을 보였다.

Efficient Caching Technique for Replacement of Execution Code on Active Network Environment (액티브 네트워크 환경에서 실행 코드 교체를 위한 효율적인 캐싱 기법)

  • 조정희;김동혁;장창복;조성훈;최의인
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2004.05a
    • /
    • pp.438-441
    • /
    • 2004
  • 인터넷의 급속한 발전과 컴퓨터 성능의 발달로 많은 사용자들은 네트워크를 통해 정보를 획득하고 이용하고 있다. 이에 따라 사용자의 요구도 빠르게 증가하고 있으며, 이러한 사용자 요구를 해결하기 위해 액티브 네트워크와 같은 기술들이 활발하게 연구되고 있다. 액티브 네트워크란 라우터나 스위치가 프로그램 실행 능력을 가지고 있어서 프로그램을 포함하고 있거나 중간 노드의 프로그램을 실행하도록 하는 패킷을 다양하고 유동적으로 처리할 수 있는 환경을 말한다. 이러한 액티브 네트워크의 중간 노드(Active Node)는 단순한 패킷 전달(forwarding) 기능 이외에 사용자의 실행 코드를 저장하고, 처리할 수 있는 기능을 가지고 있다. 따라서 액티브 노드에서 패킷을 실행하기 위해서는 각 패킷을 처리하는데 필요한 실행 코드가 요구되고, 이러한 실행 코드는 이전의 액티브 노드나 코드 서버에 요청함으로써 얻을 수 있다. 하지만 이러한 실행 코드를 이전 액티브 노드나 코드 서버에서 가져오게 되면 실행코드가 전달될 때까지의 시간지연이 발생하므로 사용되었던 실행 코드를 액티브 노드의 캐시에 저장하여 코드의 실행 속도를 증가 시킬 필요가 있다. 따라서 본 논문에서는 액티브 노드 상에 실행 코드를 효율적으로 캐시 함으로써 실행코드 요청의 횟수를 줄이고 패킷 처리 속도를 향상시킬 수 있는 캐싱 기법을 제안하였다.

  • PDF

Performance of the Finite Difference Method Using Cache and Shared Memory for Massively Parallel Systems (대규모 병렬 시스템에서 캐시와 공유메모리를 이용한 유한 차분법 성능)

  • Kim, Hyun Kyu;Lee, Hyo Jong
    • Journal of the Institute of Electronics and Information Engineers
    • /
    • v.50 no.4
    • /
    • pp.108-116
    • /
    • 2013
  • Many algorithms have been introduced to improve performance by using massively parallel systems, which consist of several hundreds of processors. A typical example is a GPU system of many processors which uses shared memory. In the case of image filtering algorithms, which make references to neighboring points, the shared memory helps improve performance by frequently accessing adjacent pixels. However, using shared memory requires rewriting the existing codes and consequently results in complexity of the codes. Recent GPU systems support both L1 and L2 cache along with shared memory. Since the L1 cache memory is located in the same area as the shared memory, the improvement of performance is predictable by using the cache memory. In this paper, the performance of cache and shared memory were compared. In conclusion, the performance of cache-based algorithm is very similar to the one of shared memory. The complexity of the code appearing in a shared memory system, however, is resolved with the cache-based algorithm.

MFU-based Page Coloring Scheme through Application Code Profiles (실행 코드 영역 프로파일링을 통한 MFU 기반 페이지 컬러링 기법)

  • Kim, Jung-Hoon;Kim, In-Hyuk;Eom, Young-Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.04a
    • /
    • pp.246-249
    • /
    • 2011
  • 페이징을 이용한 가상 메모리 환경에서는 프로세스가 사용하는 가상 페이지가 임의의 물리 페이지로 매핑이 되므로 캐시 인덱스 충돌로 인한 캐시 미스율이 증가한다. 이를 하드웨어의 지원 없이 해결하기 위해 페이지 컬러링 기술은 처음 연구되기 시작하였고, 지금까지도 꾸준히 연구되고 있다. 이러한 페이지 컬러링 기술은 컬러링 정책을 먼저 정해놓고 컬러링을 하는 정적 페이지 컬러링, 그리고 동적프로파일링을 통해 프로세스의 데이터 영역 접근 패턴을 파악하고 이를 통해 실시간 컬러링을 하는 동적 페이지 컬러링으로 나눌 수 있다. 하지만 두 가지 방법 모두 다음과 같은 단점이 존재한다. 먼저 정적 페이지 컬러링은 프로세스의 동작을 프로파일링 할 수 없기 때문에 컬러링으로 인한 효율을 극대화시킬 수 없고, 동적 페이지 컬러링은 동적 프로파일링을 하고 이를 통해 재컬러링(recoloring) 하는 오버헤드가 존재한다. 이러한 문제를 해결하기 위해서, 본 논문에서는 실행 코드 영역 프로파일링을 통한 MFU(Most Frequently Used) 기반 페이지 컬러링 기법을 제안한다. 이 기법은 동적으로 프로세스 코드 영역을 프로파일링 하여 실행 점유율이 높은 영역을 알아낸 뒤, 이를 기반으로 정적 페이지 컬러링을 하는 방식이다. 따라서 본 논문에서 제안한 기법은 기존의 기법들이 가진 단점을 해결하고, 캐시 성능을 향상시킬 것으로 기대된다.

Performance Improvement of a VLIW ARchitecture without Pipeline-Stall during Instruction Cache Miss (명령어 캐시미스중에서도 파이프라인의 고착을 피할 수 있는 VLIW 구조의 성능향상)

  • Ji, Seung-Hyeon;Park, No-Gwang;Kim, Seok-Il
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.26 no.3
    • /
    • pp.301-312
    • /
    • 1999
  • 본 논문에서는 명령어 수준의 병렬성을 다루는 세 가지 프로세서 모델을 정의하고 각 모델별로 명령어 파이프라인을 운용하는 방법에 다른 실행사이클의 변화를 연구하였다. 본 논문에서 고려한 세가지 모델은1) 긴 명령어 인출시 캐시미스가 발생하면 명령어 파이프라인이 정지되는 전통적인 VLIW 구조, 2) 전통적인 VLIW 구조와 같이 긴 명령어 인출시 캐시미스가 발생하면 명령어 파이프라인이 정지되나 실시간에 긴 명령어를 실행 유니트로 스케줄링할 수있으므로 목적 코드에서 LNOP를 제거할 수 있는 구조 및 3)2)의 구조에서 긴 명령어를 인출하는 과정에서 캐시미스가 발생하더라도 LNOP을 분석 유니트로 제공하여 명령어 파이프라인을 계속 진행시키는 구조의 세 가지이다. 연구결과, 세 번째 구조에서 발생되는 LNOP 의 수는 첫 번째 구조와 두 번째 구조에 비하여 적어서 동일한 응용 프로그램을 처리하는데 필요한 실행사이클의 수가 가장 짧았다. 여러 가지 벤치 마크들에 대한 모의 실험에서도 세 번째 구조가 다른 구조의 프로세서에 비하여 실행사이클의 수가 가장 짧음을 확인할 수 있었다.

An On-chip Cache and Main Memory Compression System Optimized by Considering the Compression rate Distribution of Compressed Blocks (압축블록의 압축률 분포를 고려해 설계한 내장캐시 및 주 메모리 압축시스템)

  • Yim, Keun-Soo;Lee, Jang-Soo;Hong, In-Pyo;Kim, Ji-Hong;Kim, Shin-Dug;Lee, Yong-Surk;Koh, Kern
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.31 no.1_2
    • /
    • pp.125-134
    • /
    • 2004
  • Recently, an on-chip compressed cache system was presented to alleviate the processor-memory Performance gap by reducing on-chip cache miss rate and expanding memory bandwidth. This research Presents an extended on-chip compressed cache system which also significantly expands main memory capacity. Several techniques are attempted to expand main memory capacity, on-chip cache capacity, and memory bandwidth as well as reduce decompression time and metadata size. To evaluate the performance of our proposed system over existing systems, we use execution-driven simulation method by modifying a superscalar microprocessor simulator. Our experimental methodology has higher accuracy than previous trace-driven simulation method. The simulation results show that our proposed system reduces execution time by 4-23% compared with conventional memory system without considering the benefits obtained from main memory expansion. The expansion rates of data and code areas of main memory are 57-120% and 27-36%, respectively.

Performance Analysis of Caching Instructions on SVLIW Processor and VLIW Processor (SVLIW 프로세서와 VLIW 프로세서의 명령어 캐싱에 따른 성능 분석)

  • Ji, Sung-Hyun;Park, No-Kwang;Kim, Suk-Il
    • Journal of IKEEE
    • /
    • v.1 no.1 s.1
    • /
    • pp.101-110
    • /
    • 1997
  • SVLIW processor architectures can resolve resource collisions and data dependencies between the instructions while scheduling VLIW instructions at run-time. As a result, long NOP word instructions can be removed from the object code produced for the processor. Thus, the occurrence of cache misses on the SVLIW processor would be lesser than that on the same cache size VLIW processor. Less frequent cache misses on the SVLIW processor would incur less frequent memory access, and thus, the total execution cycles to complete an application would be shortened compared with cases on the VLIW processor. Such a feature eventually compromises effects of longer instruction pipeline stages than those of the VLIW processor. In this paper, we formulate and compare two execution cycle models of the two architectures. A simulation results show that the longer memory access cycles when cache miss occurs, the total execution cycles of SVLIW processor would be shorter than those of VLIW processor.

  • PDF

Call Optimization on Just-in-Time Compiler of V8 JavaScript Engine (V8 자바스크립트 엔진 적시 컴파일러의 함수 호출 코드 생성 최적화)

  • Jung, Won-Ki;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.135-138
    • /
    • 2011
  • 자바스크립트 언어는 클라이언트 사이드 웹 언어로서 지금까지 널리 사용되어 왔다. 그러나 최근에서야 내장형 시스템에서의 웹 브라우징이 보급되면서 그 성능이 이슈가 되고 있는데, 이를 위해 여러 오픈 소스 진영에서 적시 컴파일러를 탑재한 고성능의 자바스크립트 엔진이개발되고 있다. 그 중 V8 자바스크립트 엔진이 현재는 성능이 가장 좋은 것으로 알려져 있으나, 자바스크립트 언어의 극도로 동적인 특성으로 인하여 아직 성능의 최적화 여지가 많이 남아 있다. 본 논문에서는 V8 자바스크립트 엔진의 적시 컴파일러에서 함수 호출 코드 생성에 관한 최적화를 적용 하였다. 두 개의 명령어와 하나의 상수 풀을 사용하던 기존의 함수 호출 코드에서 하나의 명령어만으로 함수 호출을 하도록 구현함으로써 성능이 1.5% 개선되었고, 네이티브 캐시 사용량이 7.7% 감소하였다.