KR19980037118A - Predictive Technique-Based Buffer Replacement Using Neural Networks - Google Patents

Predictive Technique-Based Buffer Replacement Using Neural Networks Download PDF

Info

Publication number
KR19980037118A
KR19980037118A KR1019960055819A KR19960055819A KR19980037118A KR 19980037118 A KR19980037118 A KR 19980037118A KR 1019960055819 A KR1019960055819 A KR 1019960055819A KR 19960055819 A KR19960055819 A KR 19960055819A KR 19980037118 A KR19980037118 A KR 19980037118A
Authority
KR
South Korea
Prior art keywords
buffer
lru
lfu
area
empty
Prior art date
Application number
KR1019960055819A
Other languages
Korean (ko)
Other versions
KR100236983B1 (en
Inventor
정광철
박웅규
허대영
Original Assignee
양승택
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구원 filed Critical 양승택
Priority to KR1019960055819A priority Critical patent/KR100236983B1/en
Priority to JP9231847A priority patent/JPH10320249A/en
Publication of KR19980037118A publication Critical patent/KR19980037118A/en
Application granted granted Critical
Publication of KR100236983B1 publication Critical patent/KR100236983B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

멀티미디어 서비스 시스템에서 버퍼를 교체하는 방법에 관한 것임.A method of replacing a buffer in a multimedia service system.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

시간 변화에 따라 편중된 자료 접근을 갖는 멀티미디어 데이터베이스 서비스 시스템에서 고성능의 서비스를 위하여 신경망을 이용한 버퍼 교체 방법을 제공함.Provides a buffer replacement method using neural networks for high performance service in multimedia database service system with data access biased over time.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

우선, 요구된 객체를 핫 셋(hot set)과 콜드 셋(cold set)으로 분류하는 기능을 한다. 그리고 요구된 객체를 분류하기 위하여, 이 객체의 과거 시간 간격 값들은 신경망을 통과하게 하고, LFU와 LRU의 장점을 이용하기 위하여 버퍼를 LFU 영역과 LRU 영역으로 나눈다. LFU 영역은 핫 셋(hot set)으로 분류된 객체들을 포함하고 LFU 방법으로 버퍼를 관리하며 LRU 영역은 콜 셋(cold set)으로 분류된 객체들을 포함하고 LRU 방법으로 버퍼를 관리하도록 한다.First, it classifies the requested object into a hot set and a cold set. And in order to classify the required object, the past time interval values of this object pass through the neural network and divide the buffer into LFU area and LRU area to take advantage of LFU and LRU. The LFU area includes objects classified as a hot set and manages the buffer by the LFU method, and the LRU area includes objects classified as a cold set and manages the buffer by the LRU method.

4. 발명의 중요한 용도4. Important uses of the invention

AOD(audio-on-demand)와 VOD(video-on-demand) 서비스를 지원하는 멀티미디어 데이터베이스 시스템에 적용된다.Applied to multimedia database systems supporting audio-on-demand (AOD) and video-on-demand (VOD) services.

Description

신경망을 이용한 예측 기법 기반 버퍼 교체 방법Predictive Technique-Based Buffer Replacement Using Neural Networks

최근 멀티미디어 서비스는 급증하고 있으며 앞으로도 계속 증가할 추세이다. 이 멀티미디어를 효과적으로 관리하는 데이타베이스 시스템은 요청된 멀티미디어 객체를 빨리 서비스하기 위한 버퍼 관리기를 제공한다. 본 발명은, 멀티미디어 데이타베이스 관리 시스템의 성능 개선을 위한 상기한 버퍼 관리기의 버퍼 교체 방법에 관한 것이다.Recently, multimedia services are increasing rapidly and will continue to increase. The database system that effectively manages this multimedia provides a buffer manager for quickly servicing the requested multimedia object. The present invention relates to a buffer replacement method of the above-described buffer manager for improving the performance of a multimedia database management system.

다시말하면 본 발명은, 저장 시스템(storage system)에서 가장 빈번히 접근되는 자원(resource)중의 하나인 버퍼(buffer)를 관리하는 방법에 대한 것으로서, 시간 변화에 따라 자료 접근 형태가 변화하는 멀티미디어 정보 서비스 시스템의 성능 향상을 위한 버퍼 교체 방법에 관한 것이다.In other words, the present invention relates to a method of managing a buffer, which is one of resources most frequently accessed in a storage system, and a multimedia information service system in which a data access type changes with time. The present invention relates to a buffer replacement method for improving performance.

버퍼는 물리적 저장 공간(physical storage device)인 디스크의 데이타 중에서 자주 사용되는 데이타를 주 메모리에 유지하기 위해 사용되는 메모리 공간이다. 저장 시스템을 구성하는 모듈 중에서 버퍼 관리 모듈(buffer management module)은 메모리 내의 버퍼를 관리하는 모듈로서, 다음과 같은 기능을 갖는다. 1) 자주 쓰이는 자료를 디스크로 부터 즉시 접근 가능한 주기억 장치의 버퍼로 읽어 들인다. 2) 새로 요구된 자료가 버퍼에 존재하지 않을 경우 디스크로부터 읽어 들인 자료를 버퍼에 위치시키기 위한 운영 방법을 제공한다. 3) 버퍼를 교체할 때 가장 효용성이 없는 자료를 희생자(victim)으로 선정해야 한다. 이로인해 저장 시스템의 전체 성능이 향상된다.A buffer is a memory space used to hold frequently used data in main memory among data on a disk, which is a physical storage device. Among the modules constituting the storage system, a buffer management module is a module that manages a buffer in a memory and has the following functions. 1) Frequently used data is read from the disk into the main memory buffer which is immediately accessible. 2) Provides an operation method to place the data read from disk into the buffer if the newly requested data does not exist in the buffer. 3) The most ineffective data should be selected as the victim when replacing the buffer. This improves the overall performance of the storage system.

멀티디미디어를 서비스하는 시스템은 전형적인 데이타베이스의 접근 형태와는 다른 형태로 자료를 접근하는 경우가 대부분이다. 실제의 AOD(audio-on-demand)와 VOD(video-on-demand) 시스템에서, 상당히 인기 있는 일부분의 객체는 다른 객체들에 비해 앞으로도 더 많이 조회될 확률이 높다. 접근 형태를 분석한 결과, 멀티미디어 서비스 시스템에서 객체는 두개의 구룹으로 분류된다. 하나는 앞으로도 계속 자주 조회될 객체들이 존재한다는 것(hot set)이고 다른 하나는 앞으로 덜 조회될 객체들이 존재한다는 것(cold set)이다. 상당한 인기를 갖는 객체의 접근 형태는 시간이 지남에 따라 빠른 속도로 접근 횟수가 증가하는 상승 단계와 접근 횟수가 점차 줄어드는 소멸 단계로 나타난다. 즉, 시간이 지남에 따라 인기있는 객체들은 핫 셋(hot set) 에서 콜드 셋(cold set)으로 천이한다. 이런 접근 형태를 시변환적 편중된 자료 접근(time-varying skewed data access)이라 한다.In many cases, the multimedia service system accesses data in a way that is different from that of a typical database. In real audio-on-demand (VOD) and video-on-demand (VOD) systems, some of the most popular objects are more likely to be retrieved in the future than others. As a result of analyzing the access type, objects are classified into two groups in the multimedia service system. One is that there are objects that will be queried more frequently in the future (hot set) and the other is that there will be objects that are less queried in the future (cold set). The access type of objects of considerable popularity is shown as an ascending phase in which the number of accesses increases rapidly over time and an extinction phase in which the number of accesses gradually decreases. In other words, over time, popular objects transition from a hot set to a cold set. This form of access is called time-varying skewed data access.

그동안 데이타베이스 버퍼링, 프로세서 캐슁, 가상 메모리 페이징 등을 위해 여러가지의 버퍼 교체 방법이 연구되어 왔다. FIFO(first-in first-out), LRU(least recently used), LFU(least frequently used), 그리고 LRU의 변형과 같은 방법(LRU-k)이 여러 분야에서 이용되고 있다. 그러나 이들 버퍼 교체 방법은 위에서 분석한 접근 형태 즉, 시간이 지남에 따라 편중된 자료 접근 형태와 임의 자료 접근 형태가 양존하는 서비스 환경에서의 버퍼 교체 방법으로는 적합하지가 않다.Various buffer replacement methods have been studied for database buffering, processor caching, and virtual memory paging. Methods such as first-in first-out (FIFO), last recently used (LRU), last frequently used (LFU), and modification of LRU (LRU-k) have been used in various fields. However, these buffer replacement methods are not suitable for the above-described approach, that is, buffer replacement in a service environment in which both biased and random data access forms exist over time.

본 발명에서 분석한 AOD와 VOD의 자료 접근 양태에 기존의 방법들을 적용하면 그것들은 시스템의 성능 저하를 초래한다. 본 발명에서 조사한 결과 LRU와 LRU-k는 편중된 자료 접근 경우에는 부적합하다. 반면 LFU는 편중된 자료 접근에는 효율이 좋으나 편중의 정도가 완화될 수록 성능이 저하되는 것으로 나타났다. 또한 LFU는 접근 빈도 수에 의존하는 특성 때문에, 어떤 객체가 핫 셋(hot set)에서 콜드 셋(cold set)으로 천이될 때 시스템의 성능 저하를 초래하게 된다. 그러므로 LRU나 LFU는 편중된 자료 접근과 임의 자료 접근(random data access)이 동시에 존재하고 편중의 정도 및 편중 접근을 갖는 객체들이 시간에 따라 가변적인 멀티미디어 서비스 시스템에는 적합하지 않다.Application of existing methods to the data access aspects of AOD and VOD analyzed in the present invention results in system degradation. Investigations of the present invention show that LRU and LRU-k are not suitable for a biased data approach. On the other hand, LFU is more efficient for biased data access, but the performance decreases as the degree of bias is alleviated. In addition, LFU is a property that depends on the frequency of access, which results in system degradation when an object transitions from a hot set to a cold set. Therefore, LRU or LFU is not suitable for multimedia service system where objects with both unbiased and random data access are present at the same time and the degree of bias and bias are variable over time.

따라서 본 발명은 위와 같은 자료 접근 상황하에서 앞으로 접근이 요구되는 자료를 예측하여 계속해서 버퍼에 존재할 수 있도록 한 신경망을 이용한 예측 기반 기법 버퍼 교체 방법을 제공하는데 그 목적을 두고 있다.Accordingly, an object of the present invention is to provide a prediction-based buffer replacement method using a neural network to predict data to be accessed in the future under the data access situation.

도 1 은 본 발명이 적용되는 하드웨어 구성도,1 is a hardware configuration diagram to which the present invention is applied;

도 2 는 본 발명이 적용되는 저장 시스템의 모듈 구성도,2 is a module configuration diagram of a storage system to which the present invention is applied;

도 3 은 본 발명이 적용되는 버퍼 교체 구조도,3 is a buffer replacement structure to which the present invention is applied,

도 4 는 본 발명인 버퍼 교체 방법이 사용하는 버퍼 및 버퍼 요소의 구조도,4 is a structural diagram of a buffer and a buffer element used in the buffer replacement method of the present invention;

도 5 는 본 발명에 따른 버퍼 교체 방법에 대한 동작 흐름도.5 is an operational flowchart of a buffer replacement method according to the present invention;

도 6 은 기존 방법의 성능 평가 분석도.6 is a performance evaluation analysis diagram of the existing method.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

21 : 사용자 22 : 인터페이스 관리 모듈21: user 22: interface management module

23 : 데이타 저장/접근 관리 모듈 24 : 트랜잭션 관리 모듈23: data storage / access management module 24: transaction management module

25 : 데이타베이스25: database

이러한 목적을 달성하기 위하여 본 발명에 의한 버퍼 교체 방법은 객체의 접근 시간 간격을 예측하기 위하여 신경망 기술을 이용하고 실제 버퍼를 교체하기 위하여 LRU와 LFU를 혼합한 기술을 이용한다. 신경망의 주요 역할은 요구된 객체를 핫 셋(hot set)과 콜드 셋(cold set)으로 분류하는것이다. 핫 셋(hot set)은 상당한 인기가 있어서 편중된 자료 접근을 갖는 객체들의 집합이고 콜드 셋(cold set)은 별로 인기가 없어서 임의 접근을 갖는 객체들의 집합이다. 이를 위하여 요구된 객체의 과거 시간 간격 값들은 신경망을 통과하게 된다. 본 발명은 LFU와 LRU의 장점을 이용하기 위하여 버퍼를 LFU 영역과 LRU 영역으로 나눈다. LFU 영역은 핫 셋(hot set)으로 분류된 객체들을 포함하고 LFU 방법으로 버퍼를 관리하며 LRU 영역은 콜드 셋(cold set)으로 분류된 객체들을 포함하고 LRU 방법으로 버퍼를 관리한다.In order to achieve this object, the buffer replacement method according to the present invention uses a neural network technique to predict an access time interval of an object and a technique of mixing LRU and LFU to replace an actual buffer. The main role of the neural network is to classify the required objects into hot sets and cold sets. A hot set is a set of objects that have a great deal of popularity, with a biased data access, and a cold set is a set of objects that are not very popular and have random access. For this purpose, the past time interval values of the object are passed through the neural network. The present invention divides the buffer into an LFU region and an LRU region in order to take advantage of the LFU and LRU. The LFU area includes objects classified as a hot set and manages the buffer by the LFU method, and the LRU area includes objects classified as a cold set and manages the buffer by the LRU method.

이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

도 1 은 본 발명이 적용되는 하드웨어 환경(hardware environment)의 구성도이다.1 is a configuration diagram of a hardware environment to which the present invention is applied.

도 1 에서 Pi(1= i = n)(11)는 프로세서, Mem(12)는 주기억장치 메모리 영역, SM(13)은 메모리내의 공유 메모리 영역(shared memory area), IOP(14)는 입출력 전용 처리기 및 DISK(15)는 보조기억장치인 디스크이다. 이와 같이 본 발명은 단일 프로세서 혹은 다중 프로세서와 공유 메모리 영역을 포함하는 일반적인 하드웨어 환경에 적용된다.1, Pi (1 = i = n) 11 is a processor, Mem 12 is a main memory memory area, SM 13 is a shared memory area in memory, and IOP 14 is dedicated to input and output. The processor and the DISK 15 are disks which are auxiliary storage devices. As such, the present invention applies to a general hardware environment including a single processor or multiple processors and a shared memory area.

도 2 는 본 발명이 적용되어 작동하는 저장 시스템의 모듈 구조를 보여준다. 본 발명이 적용되는 저장 시스템은 기본적으로 사용자(21)와 시스템을 연결하는 인터페이스(interface) 관리 모듈(22), 디스크에 데이타베이스(25)를 생성하고(create) 처리하는(manipulate) 데이타 저장/접근(storage/access) 관리 모듈(23), 트랜잭션(transaction)의 동시성 제어(concurrency control)와 회복(recovery)을 담당하는 트랜잭션 관리 모듈(24)로 구성되며, 본 발명인 버퍼 교체 방법(buffer replacement method)을 사용하는 버퍼 관리자(buffer manager)는 데이타 저장/접근 관리 모듈(23)에 포함된다.2 shows a modular structure of a storage system in which the present invention is applied and operated. The storage system to which the present invention is applied basically stores an interface management module 22 connecting the user 21 and the system, and creates and processes a database 25 on a disk. It consists of an access management module 23, a transaction management module 24 that is responsible for concurrency control and recovery of transactions, and a buffer replacement method of the present invention. The buffer manager using the () is included in the data storage / access management module (23).

도 3 은 본 발명이 적용되는 저장 시스템에서의 버퍼 교체에 관한 개략적인 구조도이다.3 is a schematic structural diagram of buffer replacement in a storage system to which the present invention is applied.

사용자에 의해 요구된 객체의 이전 접근 정보를 신경망의 입력층(input layer, 31)에 입력하고 BPNN(backpropagation neural network)의 감춤층(hidden layer, 32)에 의해서 다음 번의 접근 확률을 계산하여 출력층(output layer, 33)으로 예측 값을 출력한다. 이 예측 값을 임계 값(threshold value)과 비교하여 작으면 요구된 객체를 핫 셋(hot set)으로, 이 값보다 크면 콜드 셋(cold set)으로 분류한다. 핫 셋(hot set)으로 분류된 객체는 버퍼 영역(34)의 LFU 영역(35)으로 보내져 LFU 방법에 의해 관리되고, 콜드 셋(cold set)으로 분류된 객체는 LRU 영역(36)으로 보내져 LRU 방법에 의해서 관리된다.The previous access information of the object requested by the user is input to the input layer 31 of the neural network, and the next access probability is calculated by the hidden layer 32 of the backpropagation neural network (BPN). predicted value to output layer, 33 Outputs When the prediction value is smaller than the threshold value, the required object is classified as a hot set, and when it is larger than this value, it is classified as a cold set. The object classified as a hot set is sent to the LFU region 35 of the buffer region 34 and managed by the LFU method, and the object classified as a cold set is sent to the LRU region 36 to the LRU. Managed by the method.

따라서 본 발명은 신경망을 이용해 객체의 접근 정보를 구하고 이 정보를 통해 이 객체가 계속 접근될 것인지 아니면 접근될 가능성이 작은 지를 판단하여, 이를 토대로 편중된 자료 접근에 유용한 LFU 혹은 임의 접근에 유용한 LRU 방법을 각각 적용하는 효율적인 버퍼 교체 방법(buffer replacement mechanism)을 실현한 것이다.Therefore, the present invention obtains the access information of the object using neural network, and determines whether the object will continue to be accessed or is less likely to be accessed through this information, and based on this, LFU or LRU method useful for random access. The efficient buffer replacement mechanism is applied to each of them.

도 4 는 본 발명인 버퍼 교체 방법에서 사용하는 버퍼 영역(41)과 버퍼에 포함될 객체 요소가 갖는 구조(44)를 나타낸 것이다.4 shows the structure of the buffer area 41 and object elements to be included in the buffer used in the present invention.

일정 크기의 버퍼는 LFU 영역(42)과 LRU 영역(43)으로 나누어지고 이들 영역의 크기는 동적으로 운영된다. 즉 핫 셋(hot set)에 속한 객체들이 많으면 LFU 영역이 LRU 영역보다 상대적으로 커질 것이고, 시간이 지남에 따라 그 반대의 현상이 나타나면 LRU 영역이 LFU 영역에 비해 커질 것이다. 그리고 핫 셋(hot set)으로 분류된 객체들과 콜드 셋(cold set)으로 분류된 객체들은 그룹별로 링크되어 있고, 각각의 그룹은 헤드 포인터를 가지고 있다.The buffer of a predetermined size is divided into an LFU area 42 and an LRU area 43, and the size of these areas is dynamically operated. That is, if there are many objects in the hot set, the LFU area will be relatively larger than the LRU area, and if the opposite occurs over time, the LRU area will be larger than the LFU area. The objects classified as hot sets and the objects classified as cold sets are linked by groups, and each group has a head pointer.

버퍼 내에 속하는 객체 요소가 갖는 정보로는 객체가 핫 셋(hot set) 또는 콜드 셋(cold set)인지를 구분하는 버퍼 타입(Buffer Type;45)과, k 개의 도착시간 예측 값을 포함하는 과거 접근 정보(Previous History Values)(46), LRU 방법을 적용하기 위한 최종 접근 시간(Last Access Time;47), LFU 방법을 적용하기 위한 접근 빈도(Access Frequence;48), 그룹(hot set, cold set)을 구성하는 버퍼 객체들을 연결하여 링(ring)을 구성하기 위한 이전 버퍼 포인터(Previous Buffer Pointer;49)와 다음 버퍼 포인터(Next Buffer Pointer;50), 그리고 객체 내용(51)으로 구성되어 있다.Information on object elements included in the buffer includes a buffer type (45) for distinguishing whether an object is a hot set or a cold set, and a past access including k arrival time prediction values. Information (Previous History Values) 46, Last Access Time 47 for applying the LRU Method, Access Frequence 48 for applying the LFU Method, Hot Set, Cold Set It consists of a Previous Buffer Pointer (49), a Next Buffer Pointer (50), and an Object Content (51) to form a ring by connecting buffer objects.

도 5 는 본 발명의 버퍼 교체 방법에 따른 동작 흐름도로서, 동작은 다음과 같이 수행된다.5 is an operation flowchart according to the buffer replacement method of the present invention, the operation is performed as follows.

1) 사용자로부터 객체가 요구되면(501) 버퍼 관리자는 우선 이 요구된 객체의 이전 접근 정보를 구하여(502) 이 접근 정보를 신경망인 BPNN으로 통과시켜 차기 접근 확률(예측치)을 구한다(503). 이 예측치를 임계값과 비교하여 요구된 객체를 핫 셋(hot set) 또는 콜드 셋(cold set)으로 구분한다(504).1) When an object is requested from the user (501), the buffer manager first obtains previous access information of the requested object (502) and passes the access information to the BPNN, which is a neural network, to obtain a next access probability (prediction value) (503). The predicted value is compared with a threshold to classify the required object into a hot set or a cold set (504).

2) 요구된 객체가 버퍼에 존재하면 1)의 결과에 의하여 요구된 객체의 버퍼 종류를 갱신하고 객체를 버퍼로부터 읽는다(505, 516).2) If the requested object exists in the buffer, the buffer type of the requested object is updated according to the result of 1), and the object is read from the buffer (505, 516).

3) 1)의 결과 요구된 객체가 핫 셋(hot set)으로 분류되었고, 이 객체가 버퍼에 존재하지 않으면 빈 버퍼가 있는 지를 검사한다(506, 507).3) As a result of 1), if the requested object is classified as a hot set, and this object does not exist in the buffer, it is checked whether there is an empty buffer (506, 507).

4) 3)에서, 빈 버퍼가 있으면 객체를 빈 버퍼에 놓고 그 버퍼를 LFU 영역에 포함시킨다(507, 511).4) In 3), if there is an empty buffer, the object is placed in the empty buffer and the buffer is included in the LFU area (507, 511).

5) 3)에서, 빈 버퍼가 없으면 LFU 방법에 의해서 LFU 영역에 있는 버퍼 중에서 후보 희생자(candidate victim)를 선정한다(508). 그리고 이 후보 희생자와 LRU 영역의 버퍼들에 LRU 방법을 적용하여 최종 희생자를 선정한다(509). 희생자를 버퍼로부터 빼내고 요구된 객체를 버퍼에 넣은 후, 이 객체를 해당 버퍼 영역에 포함시킨다(510).5) In 3), if there is no empty buffer, candidate victims are selected from buffers in the LFU region by the LFU method (508). The final victim is selected by applying the LRU method to the candidate victim and the buffers in the LRU region (509). After removing the victim from the buffer and putting the requested object into the buffer, the object is included in the buffer area (510).

6) 1)의 결과 요구된 객체가 콜드 셋(cold set)으로 분류되었고 이 객체가 버퍼에 존재하지 않으면 빈 버퍼가 있는지를 검사한다(512).6) As a result of 1), if the requested object is classified as a cold set and this object does not exist in the buffer, it is checked whether there is an empty buffer (512).

7) 6)에서, 빈 버퍼가 존재하면 객체를 빈 버퍼에 넣고 그 버퍼를 LRU 영역에 포함시킨다(515).7) In 6), if an empty buffer exists, the object is put into the empty buffer and included in the LRU area (515).

8) 6)에서, 빈 버퍼가 없으면 LRU 방법에 의해 희생자를 선정한다(513,514).8) In 6), if there is no empty buffer, the victim is selected by the LRU method (513,514).

결국 본 발명에서 제안한 버퍼 교체 방법은 LRU와 LFU의 좋은 점만을 이용하기 위하여 캐쉬 버퍼를 LRU, LFU의 2개 영역으로 분류하여 각각의 영역이 LRU, LFU 방법에 의해 운영된다. 그리고 요구된 객체를 핫 셋(hot set)과 콜드 셋(cold set)으로 분류하기 위하여 신경망을 이용하였다. 실제로 운영되고 있는 AOD의 자료 접근 정보를 이용하여 시뮬레이션을 수행한 결과 LRU, LFU, LRU-k 등 다른 버퍼 교체 방법에 비해 제안된 방법의 성능이 우수한 것으로 나타났다.As a result, the buffer replacement method proposed in the present invention divides the cache buffer into two areas, LRU and LFU, in order to use only the goodness of LRU and LFU, and each area is operated by the LRU and LFU methods. The neural network is used to classify the required object into hot set and cold set. Simulation results using the data access information of AOD in operation shows that the proposed method outperforms other buffer replacement methods such as LRU, LFU, and LRU-k.

본 발명은 다른 발명 또는 논문상의 제시된 기존 버퍼 교체 방법들 보다 실험에 의해서 좋은 성능을 나타내었다.The present invention showed better performance by experiment than the existing buffer replacement methods presented in other inventions or thesis.

첫번째 실험으로 Zipf 분산을 갖는 객체의 집합을 임의 접근하는 경우에 대하여 시뮬레이션을 수행하었다. 이 실험은 LRU와 LFU를 이용함에 있어서 자료 접근의 편중 정도에 따라 버퍼 성능에 미치는 영향을 고려하였다. 실험결과는 도6에 도시된 바와 같은데, 10번 수행한 결과의 평균 값을 나타낸 것이다. 시뮬레이션 결과에 따르면 자료 접근의 편중 현상이 커질수록 LFU가 LRU보다 성능이 좋게 나타났다. 이것은 LRU 캐쉬 버퍼는 단지 한번 접근한 객체는 항상 버퍼 라인에 채워지므로, 재사용 가능성이 높은 객체가 버퍼로부터 밀려날 수 있기 때문이다. 반면에, LFU는 자주 참조되는 객체와 그렇지 않은 객체를 구별하는 특성을 가지므로 편중된 자료 접근에 적합하다. 편중의 정도가 작은 경우에 LRU와 LFU의 적중률에 차이가 나지 않는 것은 임의 자료 접근 형태에 기인한다.In the first experiment, we simulate the random access to a set of objects with Zipf variance. This experiment considers the effect on buffer performance according to the degree of data access bias in using LRU and LFU. Experimental results are as shown in Figure 6, showing the average value of the results of 10 times. The simulation results show that LFU outperforms LRU as the data access bias increases. This is because LRU cache buffers can only be pushed out of the buffer because objects that are accessed once are always filled in the buffer line. On the other hand, LFU is suitable for biased data access because it has the property of distinguishing between frequently referenced and non-referenced objects. If the degree of bias is small, the difference in LRU and LFU hit rates is due to random data access patterns.

두번째 실험으로, 본 발명은 실제 상항에서 멀티미디어 객체의 편중된 자료 접근을 모형화하기 위하여 인터넷으로 서비스되고 있는 한국 가요의 접근 정보를 이용하였다. 이 AOD 시스템은 현재 약 310 곡을 서비스하고 있으며 최근 1개월 동안 12000회의 자료 접근이 있었다. 본 발명은 이 자료 접근 정보를 가지고 LRU, LFU, LRU-k와 우리가 제안한 방법(표 1에서 OUR)의 성능을 평가하였다. 결과는 표 1과 같다. 표1에 따르면 실험 결과는 제안된 방법이 다른 방법에 비해서 우수한 것으로 나타났다. 특히, 제안된 방법은 버퍼 크기가 작을수록 다른 방법에 비해 우수한 것을 알 수 있다. 이것은 제안된 방법이 신경망을 통해 객체를 핫 셋(hot set) 또는 콜드 셋(cold set) 으로 정확하게 분류하여 적중률을 향상시키기 때문이다.As a second experiment, the present invention used accessibility information of Korean songs that are being serviced by the Internet to model the biased data access of multimedia objects. The AOD system currently serves about 310 songs and has had 12,000 data accesses in the last month. With this data access information, the present invention evaluated the performance of LRU, LFU, LRU-k and our proposed method (OUR in Table 1). The results are shown in Table 1. According to Table 1, the experimental results show that the proposed method is superior to other methods. In particular, it can be seen that the proposed method is superior to other methods as the buffer size is smaller. This is because the proposed method improves the hit rate by accurately classifying objects into a hot set or a cold set through neural networks.

버퍼 크기Buffer size LRULRU LRU-2LRU-2 LRU-3LRU-3 LFULFU OUROUR 2040608010020406080100 0.2500.3840.4730.5310.5740.2500.3840.4730.5310.574 0.2550.3880.4760.5330.5880.2550.3880.4760.5330.588 0.2590.4020.4790.5420.5890.2590.4020.4790.5420.589 0.2090.3000.3790.4390.4910.2090.3000.3790.4390.491 0.2980.4390.5270.5730.5930.2980.4390.5270.5730.593

Claims (4)

시간이 변화함에 따라 편중된 자료 접근 형태를 갖는 멀티미디어 서비스 시스템에서의 버퍼 교체 방법(buffer replacement mechanism)에 있어서,In a buffer replacement mechanism in a multimedia service system having a data access type biased with time, 신경망을 이용하여 요구된 객체가 다음 번에 요구될 접근 시간 간격을 예측하여 객체를 핫 셋(hot set)과 콜드 셋(cold set)으로 분류하는 제 1 단계:A first step using neural networks to classify objects into hot and cold sets by predicting the access time intervals for which the requested object will be required next time: 버퍼를 LFU와 LRU 영역으로 구분하는 제 2 단계;Dividing the buffer into LFU and LRU regions; 핫 셋(hot set)으로 분류된 객체는 LFU 영역으로 보내 LFU 방법으로 관리하는 제 3 단계; 및A third step of managing an object classified as a hot set to an LFU area and managing the LFU method; And 콜드 셋(cold set)으로 분류된 객체는 LRU 영역으로 보내 LRU 방법에 의해 관리하는 제 4 단계를 포함하는 것을 특징으로 하는 버퍼 교체 방법.And a fourth step in which the object classified as a cold set is sent to an LRU area and managed by the LRU method. 제 1 항에 있어서,The method of claim 1, 상기 제 1 단계는,The first step is, 사용자로부터 객체가 요구되면 버퍼 관리자가 요구된 객체의 이전 접근 정보를 구하는 단계;If the object is requested from the user, the buffer manager obtaining previous access information of the requested object; 이 접근 정보를 신경망인 BPNN으로 통과시켜 차기 접근 확률(예측치)을 구하는 단계; 및Passing the access information to the neural network BPNN to obtain a next access probability (prediction value); And 이 예측치를 임계값과 비교하여 요구된 객체를 핫 셋(hot set) 또는 콜드 셋(cold set)으로 구분하는 단계를 포함하는 것을 특징으로 하는 버퍼 교체 방법.And comparing the predicted value with a threshold to classify the required object into a hot set or a cold set. 제 1 항에 있어서,The method of claim 1, 상기 제 3 단계는,The third step, 핫 셋(hot set)으로 분류된 객체가 버퍼에 존재하지 않으면 빈 버퍼가 있는 지를 검사하는 단계;Checking whether there is an empty buffer if an object classified as a hot set does not exist in the buffer; 빈 버퍼가 있으면 객체를 빈 버퍼에 놓고 그 버퍼를 LFU 영역에 포함시키고, 버퍼 종류를 갱신하고 버퍼에서 객체를 읽는 단계;If there is an empty buffer, placing the object in an empty buffer, including the buffer in the LFU area, updating the buffer type, and reading the object from the buffer; 빈 버퍼가 없으면 LFU 방법에 의해서 LFU 영역에 있는 버퍼 중에서 후보 희생자(candidate victim)를 선정하고, 이 후보 희생자와 LRU 영역의 버퍼들에 LRU 방법을 적용하여 최종 희생자를 선정하는 단계; 및If there is no empty buffer, selecting a candidate victim from among the buffers in the LFU region by the LFU method, and selecting the final victim by applying the LRU method to the buffers in the candidate victim and the LRU region; And 희생자를 버퍼로부터 빼내고 요구된 객체를 버퍼에 넣은 후, 이 객체를 해당 버퍼 영역에 포함시키고 버퍼 종류를 갱신하여 버퍼에서 객체를 읽는 단계를 포함하는 것을 특징으로 하는 버퍼 교체 방법.Removing the victim from the buffer and putting the requested object into the buffer, including the object in the buffer area, updating the buffer type, and reading the object from the buffer. 제 1 항에 있어서,The method of claim 1, 상기 제 4 단계는,The fourth step, 콜드 셋(cold set)으로 분류된 객체가 버퍼에 존재하지 않으면 빈 버퍼가 있는 지를 검사하는 단계;Checking whether there is an empty buffer if an object classified as a cold set does not exist in the buffer; 빈 버퍼가 존재하면 객체를 빈 버퍼에 넣고 그 버퍼를 LRU 영역에 포함시키고, 버퍼 종류를 갱신하고 버퍼에서 객체를 읽는 단계;If an empty buffer exists, inserting the object into the empty buffer, including the buffer in the LRU area, updating the buffer type, and reading the object from the buffer; 빈 버퍼가 없으면 LRU 방법에 의해 희생자를 선정하는 단계; 및Selecting a victim by the LRU method if there is no empty buffer; And 희생자를 버퍼로부터 빼내고 요구된 객체를 버퍼에 넣은 후, 이 객체를 해당 버퍼 영역에 포함시키고 버퍼 종류를 갱신하여 버퍼에서 객체를 읽는 단계를 포함하는 것을 특징으로 하는 버퍼 교체 방법.Removing the victim from the buffer and putting the requested object into the buffer, including the object in the buffer area, updating the buffer type, and reading the object from the buffer.
KR1019960055819A 1996-11-20 1996-11-20 Method for replacement buffer based on forecasting methodology using netural networks KR100236983B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019960055819A KR100236983B1 (en) 1996-11-20 1996-11-20 Method for replacement buffer based on forecasting methodology using netural networks
JP9231847A JPH10320249A (en) 1996-11-20 1997-08-13 Buffer exchange method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055819A KR100236983B1 (en) 1996-11-20 1996-11-20 Method for replacement buffer based on forecasting methodology using netural networks

Publications (2)

Publication Number Publication Date
KR19980037118A true KR19980037118A (en) 1998-08-05
KR100236983B1 KR100236983B1 (en) 2000-01-15

Family

ID=19482736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055819A KR100236983B1 (en) 1996-11-20 1996-11-20 Method for replacement buffer based on forecasting methodology using netural networks

Country Status (2)

Country Link
JP (1) JPH10320249A (en)
KR (1) KR100236983B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030032413A (en) * 2001-10-18 2003-04-26 주식회사 엠씨글로벌 Buffer structure and buffering method for multimedia data

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720623B2 (en) * 2013-12-30 2017-08-01 Teradata Us, Inc. Management of data in multi-storage systems that can include non-volatile and volatile storages
US10983922B2 (en) * 2018-05-18 2021-04-20 International Business Machines Corporation Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030032413A (en) * 2001-10-18 2003-04-26 주식회사 엠씨글로벌 Buffer structure and buffering method for multimedia data

Also Published As

Publication number Publication date
JPH10320249A (en) 1998-12-04
KR100236983B1 (en) 2000-01-15

Similar Documents

Publication Publication Date Title
Zdonik et al. Are “disks in the air” just pie in the sky?
US8601216B2 (en) Method and system for removing cache blocks
US8214599B2 (en) Storage device prefetch system using directed graph clusters
US5224217A (en) Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement
US5485609A (en) Online background predictors and prefetchers for locality management
US20170262185A1 (en) Active data-aware storage manager
GB2368160A (en) Demoting data from cache memory
Choi et al. Towards application/file-level characterization of block references: a case for fine-grained buffer management
US9075894B2 (en) System and method for identifying web objects unworthy of being cached
Ghandeharizadeh et al. Object Placement in Parallel Hypermedia Systems.
Grimsrud et al. Multiple prefetch adaptive disk caching
US20200356578A1 (en) Cache optimization via topics in web search engines
KR19980037118A (en) Predictive Technique-Based Buffer Replacement Using Neural Networks
US7529891B2 (en) Balanced prefetching exploiting structured data
CN110162272B (en) Memory computing cache management method and device
Choi et al. Design, implementation, and performance evaluation of a detection-based adaptive block replacement scheme
Geetha et al. Dynamic semantic lfu policy with victim tracer (dslv): a customizing technique for client cache
Ahn et al. SEOF: an adaptable object prefetch policy for object-oriented database systems
JPH07182220A (en) Distributed file system and its file caching method
Bansod et al. Low latency, high throughput trade surveillance system using in-memory data grid
Kelwade et al. Reputation based cache management policy for performance improvement
Foong et al. Essence of an Effective Web Caching Algorithm.
Wujuan et al. A client-assisted interval caching strategy for video-on-demand systems
Levy et al. Exact analysis of bernoulli superposition of streams into a least recently used cache
Dan et al. Buffer analysis for a data sharing environment with skewed data access

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091228

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee