KR20160082089A - 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템 - Google Patents

분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템 Download PDF

Info

Publication number
KR20160082089A
KR20160082089A KR1020140194189A KR20140194189A KR20160082089A KR 20160082089 A KR20160082089 A KR 20160082089A KR 1020140194189 A KR1020140194189 A KR 1020140194189A KR 20140194189 A KR20140194189 A KR 20140194189A KR 20160082089 A KR20160082089 A KR 20160082089A
Authority
KR
South Korea
Prior art keywords
cache
area
data
client
predetermined
Prior art date
Application number
KR1020140194189A
Other languages
English (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 KR1020140194189A priority Critical patent/KR20160082089A/ko
Priority to US14/984,497 priority patent/US20160188482A1/en
Publication of KR20160082089A publication Critical patent/KR20160082089A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. 본 발명의 일 태양에 따르면, 분산 메모리 통합 프레임워크 기반의 다중 속성 메모리 캐시의 동적 운영 방법에 있어서, (a) 소정의 메모리 영역을 제1 영역 및 제2 영역으로 분할되어 설정되도록 하는 단계, (b) 소정의 네트워크를 통해 캐시 클라이언트와 연결되면 상기 캐시 클라이언트와의 세션을 생성하는 단계, (c) 상기 캐시 클라이언트로부터 소정의 파일에 대한 데이터 송수신 서비스 요청 정보를 획득하면, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보를 참조로 하여, 상기 캐시 클라이언트가 요청하는 기능의 종류를 판단하는 단계 및 (d) 상기 캐시 클라이언트가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제1 영역을 특정하고, 상기 캐시 클라이언트가 저장 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제2 영역을 특정하는 단계를 포함하는 방법이 제공된다.

Description

분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템 {METHOD AND SYSTEM FOR DYNAMIC OPERATING OF THE MULTI-ATTRIBUTE MEMORY CACHE BASED ON THE DISTRIBUTED MEMORY INTEGRATION FRAMEWORK}
본 발명은 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 그 시스템에 관한 것이다.
본 발명의 배경이 되는 종래 기술은 다중 분산 메모리를 이용한 소프트웨어 분산 캐시 기술이다.
일반적으로 소프트웨어 분산 캐시 기술은, 파일 시스템의 성능 가속을 위한 디스크 캐시나 데이터베이스의 접근 가속을 위한 객체 캐시 기능을 제공하기 위한 목적으로 사용된다. RNA Networks의 RNACache나 IBM의 SolidDB, 그리고 공개 소프트웨어인 Memcached 등이 소프트웨어 분산 캐시 기능을 제공하기 위한 기술이다.
Memcached는 동적 DB-driven 웹사이트를 가속하기 위한 기술로 기존의 LRU(Least Recently Used) 캐싱 기법을 사용한다. 이 기법은 기존의 소프트웨어 분산 캐시 기술로써 주로 사용되는 것으로, 제한된 메모리 영역을 최적으로 사용해 캐시 데이터의 재사용성을 향상시키는 데에 중점을 두었다. 대부분의 캐시 기술은 공간적 제약을 극복하면서 성능을 향상시키기 위해 캐시 영역의 운영에 있어서 대동소이한 방법을 사용한다.
그러나, 이런 캐시 운영 방식에 의할 경우, 데이터의 재사용성이 낮거나 데이터 영구 저장의 필요성이 없는 임시 파일의 경우엔 불필요한 캐시 시스템 사용 부하로 성능상의 이점을 제공하지 못한다는 단점이 존재한다.
본 발명은 상술한 기존 캐시 운영 기술의 한계를 극복하기 위한 것으로서, 다중 특성을 지원하는 동적 캐시 운영 방법 및 시스템을 제공한다.
본 발명이 제1 기술적 특징에 따르면, 분산 메모리 통합 프레임워크 기반의 다중 속성 메모리 캐시의 동적 운영 방법에 있어서, (a) 소정의 메모리 영역을 제1 영역 및 제2 영역으로 분할되어 설정되도록 하는 단계, (b) 소정의 네트워크를 통해 캐시 클라이언트와 연결되면 상기 캐시 클라이언트와의 세션을 생성하는 단계, (c) 상기 캐시 클라이언트로부터 소정의 파일에 대한 데이터 송수신 서비스 요청 정보를 획득하면, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보를 참조로 하여, 상기 캐시 클라이언트가 요청하는 기능의 종류를 판단하는 단계 및 (d) 상기 캐시 클라이언트가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제1 영역을 특정하고, 상기 캐시 클라이언트가 저장 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제2 영역을 특정하는 단계를 포함하는 방법을 제안한다.
다음으로, 본 발명의 제2 기술적인 특징에 따르면, 분산 메모리 통합 프레임워크 기반의 다중 속성 메모리 캐시의 동적 운영 시스템으로서, 데이터의 속성 정보에 따라 상기 데이터가 관리될 수 있도록 소정의 메모리 영역이 제1 영역 및 제2 영역으로 분할되도록 하는 캐시 영역 관리부 및 캐시 클라이언트로부터 소정의 파일에 대한 데이터 송수신 서비스 요청 정보를 획득하면, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보를 참조로 하여, 상기 캐시 클라이언트가 요청하는 기능의 종류를 판단하고, 상기 캐시 클라이언트가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제1 영역을 특정하고, 상기 캐시 클라이언트가 저장 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제2 영역을 특정하는 데이터 배치 영역 특정부를 포함하는 시스템을 제안한다.
본 발명에 의하면, 실제 캐시 데이터의 메모리 저장 관리는 사용되는 대용량 메모리 관리 시스템에 따라 독립적으로 작성될 수 있어 메모리 캐시 시스템의 구현에 있어 특정 시스템의 의존도를 낮출 수 있다.
또한, 본 발명에 의하면, 캐시 메타데이터 관리와 데이터 저장 관리를 분리하여, 데이터 저장 관리를 함에 있어 캐시 데이터 서버가 RDMA 기법을 통해 다수의 캐시 데이터를 동시에 직접 송수신 처리하므로, 처리 병렬성을 높일 수 있다.
또한, 본 발명에 의하면, 다중 속성 캐시 영역과 해당 영역에 특화된 캐시 관리 기법을 선택적으로 사용함으로써 응용의 특성에 따른 캐시의 고성능 운용이 보다 용이해 진다.
또한, 본 발명에 의하면, 영구 저장을 필요로 하지 않는 파일의 경우 메모리 캐시 시스템의 임시 저장 영역으로 종단 저장 위치를 한정함으로써, 별도의 파일 시스템을 통한 데이터 관리의 부하를 제거하고 데이터 접근의 성능을 향상 시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시 시스템의 구성을 보다 구체적으로 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 다중 속성 캐시 관리 영역의 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 캐시 메타데이터 서버의 구성을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특정, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
[본 발명의 바람직한 실시예]
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따른 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 시스템의 개략적인 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템(100)은 통신망(140), 캐시 클라이언트(130), 캐시 메타데이터 서버(110) 및 캐시 데이터 서버(120)를 포함하여 구성될 수 있다.
먼저, 본 발명의 일 실시예에 따른 통신망(140)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(140)은 공지의 인터넷 일 수 있다. 그러나, 통신망(140)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.
다음으로, 본 발명의 일 실시예에 따른 캐시 메타데이터 서버(110) 및 캐시 데이터 서버(120)는 분산 메모리 통합 프레임워크를 구성하는 것으로서, 캐시 메타데이터 서버(110)는 파일의 속성 정보를 담고 있는 메타데이터를 저장하고 관리하며, 실제 데이터가 저장되어 있는 캐시 데이터 서버(120)에 관한 정보를 저장하고 관리할 수도 있다.
특히, 캐시 메타데이터 서버(110)는 후술할 캐시 데이터 서버(120)로부터 대용량 가상 메모리를 제공받아 필요한 사용 권한과 추적 정보를 초기화하고, 본 발명에 따라 다중 속성을 운영하는 분산 캐시에 필요한 소정의 메모리 영역(이하에서는, 다중 속성 캐시 영역으로 명명한다)를 분할하는 기능을 수행할 수 있다. 더 나아가, 파일의 데이터 속성 정보로부터 데이터의 특성을 판단하고, 판단된 특성에 따라 다중 속성 캐시 영역에 구비된 복수의 영역 중 어느 하나의 영역을 데이터에 대응시켜 그 정보를 캐시 클라이언트(130)로 전달하는 기능을 수행할 수도 있다.
본 발명에 따른 캐시 메타데이터 서버(110)의 구성과 기능에 관하여는 아래에서 더 자세하게 알아보기로 한다. 또한, 본 발명에 따라 복수의 영역으로 분할된 다중 속성 캐시 영역의 구성과 기능에 관하여도 아래에서 더 자세하게 알아보기로 한다.
본 발명의 일 실시예에 따른 캐시 데이터 서버(120)는 실제 데이터를 저장한다. 보다 구체적으로, 캐시 데이터 서버(120)는 네트워크로 연결되어 분산된 구조를 갖는 다수의 분산 메모리(미도시됨)를 구비하여 이를 관리할 수 있으며, 실제 데이터는 다수의 분산 메모리에 분산되어 저장될 수 있다.
본 발명에 따른 캐시 데이터 서버(120)의 구성과 기능에 관하여는 아래에서 더 자세하게 알아보기로 한다.
본 발명에 따른 캐시 메타데이터 서버(110) 및 캐시 데이터 서버(120)가 분산 메모리 통합 프레임워크로 구성됨에 따라, 캐시 클라이언트(130)에서 파일의 메타데이터와 실제 데이터에 접근하는 경로가 분리될 수 있다. 캐시 클라이언트(130)가 파일에 접근하기 위해서는, 먼저 캐시 메타데이터 서버(110)에 있는 파일의 메타데이터에 접근하여 실제 데이터가 저장되어 있는 캐시 데이터 서버(120)에 대한 정보를 얻을 수 있으며, 그 정보를 이용하여 캐시 클라이언트(130)는 캐시 데이터 서버(120)에 의해 관리되는 복수의 분산 메모리들과의 병렬 액세스를 통하여 실제 데이터에 대한 입출력을 수행함으로써 전체적인 파일 액세스 성능을 향상시킬 수 있다.
다음으로, 본 발명의 일 실시예에 따른 캐시 클라이언트(130)는 캐시 메타데이터 서버(110)나 캐시 데이터 서버(120)에 접속한 후 통신할 수 있는 기능을 포함하는 기기로서, 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기일 수 있다. 캐시 클라이언트(130)는 전체 시스템(100)에서 실질적인 캐시 인터페이스를 제공하는 구성일 수 있다.
캐시 클라이언트(130)는 네트워크를 통해 캐시 메타데이터 서버(110)와 접속되면, 캐시 메타데이터 서버(110)로 자신을 확인하는 캐시 클라이언트 ID(identity 또는 identification)를 요청한다. 캐시 메타데이터 서버(110)와 캐시 클라이언트(130)의 접속 방식은 특별히 제한되는 것은 아니나, 운영 상태 정보를 유지한 채 수행이 추적되는 세션 방식이 사용될 수 있다. 캐시 메타데이터 서버(110)는 캐시 클라이언트(130)로 생성된 ID를 전달하고, 상기 생성된 ID를 이용한 세션이 성립될 수 있다.
한편, 본 명세서에서 세션은, i) 캐시 메타데이터 서버(110)와 캐시 클라이언트(130) 또는 ii) 캐시 데이터 서버(120)와 캐시 클라이언트(130) 간의 활성화된 접속을 의미하는 것일 수 있으며, 보다 구체적으로 서로 대화(가령, 데이터 송수신, 데이터 요청 및 응답 등)를 위하여 논리적으로 연결되어 데이터(메시지) 교환을 통해 서로를 인식한 이후부터 통신을 마칠 때까지의 기간일 수 있다.
캐시 데이터 서버의 구성
이하에서는, 본 발명에 따른 캐시 데이터 서버(120)의 내부 구성과 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 도 1에 도시된 전체 시스템(100)에 있어서, 캐시 데이터 서버(120)의 구성을 보다 구체적으로 나타내는 도면이다.
먼저, 본 발명에 따른 전체 시스템(100)에서 캐시 데이터 서버(120)는 캐시 데이터의 실질적인 저장을 처리하기 위해 대용량 가상 메모리 서버(DMI server, Distributed Memory Integration server)로 구성될 수 있다.
도 2에 도시된 바와 같이, 대용량 가상 메모리 서버로 구성된 캐시 데이터 서버(120)는 DMI 관리부(121), 분산 메모리 공여 노드(미도시됨) 및 공여 에이전트(granting agent, gagent ,122)를 포함하여 구성될 수 있다.
공여 에이전트(122)는 다수의 분산 메모리 공여 노드에서 실행되어 통합 대상이 될 분산 메모리를 공여(granting)하는 기능을 수행할 수 있다. 보다 구체적으로, 공여 에이전트(122)는 분산 메모리 공여 노드로부터 공여된 지역 메모리를 확보하여 DMI 관리부(121)에게 메모리를 등록하고 대용량 가상 메모리 영역으로 풀링(pooling)함으로써 분산 메모리를 공여할 수 있다.
다음으로, DMI 관리부(121)는 분산 메모리를 통합하고 관리하는 기능을 수행할 수 있다. DMI 관리부(121)는 다수의 공여 에이전트(122)로부터 등록 요청을 받아들여 분산 메모리 풀(pool)을 구성하고 관리할 수 있다. DMI 관리부(121)는 캐시 메타 데이터서버(110)로부터 메모리 서비스 요청을 받으면, 분산 메모리 풀을 통해 분산 메모리를 할당하거나 해지하고, 분산 메모리의 사용 상황을 추적할 수 있다. DMI 관리부(121)는 캐시 메타 데이터서버(110)로부터 분산 메모리 할당 요청을 받게 되면 메모리를 할당하고, 캐시 클라이언트(130)는 할당 받은 메모리가 실제로 존재하는 공여 에이전트(122)와 통신하며 메모리의 데이터를 전달할 수 있다.
이 경우에, 캐시 클라이언트(130)와 공여 에이전트(122)와의 통신은 RDMA(Remote Direct Memory Access) 프로토콜에 의하여 수행될 수 있다. 즉, 공여 에이전트(122)는 캐시 클라이언트(130)와의 데이터 송수신을 RDMA 프로토콜을 통해 직접 처리할 수 있다. 공여 에이전트(122)는 공여하려는 메모리를 지역 메모리로부터 할당 받아, 자신의 시스템에 RDMA 사용을 위한 등록을 완료한 후, 해당 공간에 대한 정보를 DMI 관리부(121)에 등록(registering)해 메모리 풀로 관리하도록 할 수 있다.
RDMA 프로토콜은 고속 네트워크를 통한 메모리 간 데이터 전송용 기술로, 구체적으로, RDMA는 CPU를 사용하지 않고 메모리에서/메모리로 직접 원격 데이터를 전송하고, 또한 RDMA는 직접 데이터 배치 기능도 제공하므로 데이터 복사본이 없어져 CPU 작업을 줄일 수 있다.
캐시 메타데이터 서버의 구성
이하에서는, 본 발명에 따른 캐시 메타데이터 서버(110)의 내부 구성과 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 4는 본 발명의 일 실시예에 따른 캐시 메타데이터 서버(110)의 구성을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 캐시 메타데이터 서버(110)는 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기일 수 있다. 도 4에 도시된 바와 같이, 캐시 메타데이터 서버(110)는 캐시 영역 관리부(111), 데이터 배치 영역 특정부(113), 통신부(117), 데이터베이스(119) 및 제어부(115)를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 캐시 영역 관리부(111), 데이터 배치 영역 특정부(113), 통신부(117), 데이터베이스(119) 및 제어부(115)는 그 중 적어도 일부가 캐시 클라이언트(130)나 캐시 데이터 서버(120)와 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 캐시 메타데이터 서버(110)에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다.  또한, 이러한 프로그램 모듈은 캐시 메타데이터 서버(110)와 통신 가능한 원격 기억 장치에 저장될 수도 있다.  한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 본 발명의 일 실시예에 따른 캐시 영역 관리부(111)는 캐시 클라이언트(130)로부터 요청되는 캐시 데이터의 속성 정보에 따라 캐시 데이터가 관리될 수 있도록 소정의 메모리 영역, 즉 다중 속성 캐시 영역이 제1 영역 및 제2 영역으로 분할되도록 하는 기능을 수행할 수 있다.
이하에서는 도 3을 참조로 하여 캐시 영역 관리부(111)에 의하여 복수의 영역으로 분할된 다중 속성 캐시 영역 및 다중 속성 캐시 영역이 관리되는 방법에 대하여 구체적으로 살펴보도록 한다.
도 3은 본 발명의 일 실시 예에 따른 다중 속성 캐시 관리 영역의 구성을 설명하기 위한 도면이다.
다중 속성 캐시 영역(200)은 상술한 바와 같이, 캐시 영역 관리부(111)에 의하여 캐시 메타데이터 서버(110)가 초기화 될 때 크게는 제1 영역(210) 및 제2 영역(220)으로 분할될 수 있다. 제1 영역(210)은 캐시 영역, 제2 영역(220)은 저장 영역일 수 있으며, 제1 영역(210)은 선입(prefetch, 프리페치) 캐시 영역(211), 재사용 캐시 영역(212)으로 세분화될 수 있으며, 제2 영역(220)은 임시 저장 영역(221)을 포함할 수 있다. 상기의 세 가지 영역에 대해 구현 특화된 기본 크기 값으로 초기화 될 수 있다.
임시 저장 영역(221)은, 영구 저장을 필요로 하지 않거나, 일회성이거나 재사용될 확률이 기설정된 값 이하인 데이터를 위한 것으로, 캐시 클라이언트(130)로부터 요청된 파일의 데이터가 상술한 조건을 만족하는 경우에는 캐시 영역에 저장할 필요가 없는 것으로 판단하고, 그 종단 저장 위치를 임시 저장 영역(221)으로 한정하기 위함일 수 있다.
한편, 캐시 영역 관리부(111)는 캐시 클라이언트(130)에 의한 캐싱 진행 과정에서 전체 시스템(100)의 성능을 높이기 위해 다중 속성 캐시 영역(200)의 변경이 필요하다고 판단되는 경우, 다중 속성 캐시 영역(200)을 구성하는 복수의 영역의 상대적인 크기를 동적으로 변경하는 기능을 수행할 수도 있다.
가령, 캐시 클라이언트(130)에 의한 캐싱 진행 과정에서, 제2 영역(220)을 사용할 데이터보다 제1 영역(210)을 사용할 데이터에 대한 요청이 많은 경우에는, 제2 영역(220)에 비해 제1 영역(210)의 크기가 크도록 변경할 수 있다. 또한, 제1 영역(210)에 있어서, 프리페치 캐시 영역(211)을 사용할 데이터보다 재사용 캐시 영역(212)을 사용할 데이터에 대한 요청이 많은 경우에, 프리페치 캐시 영역(211)에 비해 재사용 캐시 영역(212)의 크기가 커지도록 변경할 수 있음은 물론이다.
또한, 캐시 영역 관리부(111)는 사용 가능한 캐시 용량을 확보하기 위해 캐시 영역 재생하는 기능을 수행할 수도 있다. 이 과정은 비동기적으로 수행되며 다중 속성 캐시 영역(200)의 종류에 따라 상이한 수행 기법을 사용할 수 있다.
보다 구체적으로, 프리페치 캐시 영역(211)은 순환 재생 기법을 사용하며, 프리페치 영역(211)에서는 별도의 변경 블록을 허용하지 않기 때문에 순환 재생 기법이 실행될 때는 별도의 변경 블록 쓰기 과정이 수행되지 않을 수 있다.
재사용 캐시 영역(212)은 LRU(Least Recently Used) 재생 기법을 사용하며, 재사용 캐시 영역(212)에서는 별도의 변경 블록을 허용하기 때문에 변경된 캐시 데이터가 존재하는 블록은 LRU 재생 기법이 실행되는 단계에서 배제되며 별도의 비동기 프로세스에 의해 파일 저장소에 실제로 쓰여진 이후 재생 될 수 있다. 한편, 본 캐싱 기법에 있어서, 순환 재생 기법 및 LRU 재생 기법은 당업자에게 자명한 사안으로서 그에 대한 구체적인 설명은 생략하도록 한다.
다음으로, 본 발명의 일 실시예에 따른 데이터 배치 영역 특정부(113)는 캐시 클라이언트(130)로부터 소정의 파일에 대한 데이터 송수신 서비스 요청 정보를 획득하면, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보를 참조로 하여, 상기 캐시 클라이언트(130)가 요청하는 기능의 종류를 판단하고, 상기 캐시 클라이언트(130)가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트(130)가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제1 영역(210)을 특정하고, 상기 캐시 클라이언트(130)가 저장 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트(130)가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제2 영역(220)을 특정하는 기능을 수행할 수 있다.
본 발명에 의하면, 캐시 클라이언트(130)는 두 가지 운영 모드를 사용할 수 있으며, 두 가지 중 하나는 캐시 기능이고 나머지 하나는 임시 저장 기능일 수 있다. 캐시 클라이언트(130)는 이 두 모드 중 어느 하나를 사용하기 위하여 캐시 메타데이터 서버(110)로, 서비스 요청 대상 파일에 대한 파일 관리 핸들의 생성을 요청할 수 있다. 데이터 배치 영역 특정부(113)는 상기 요청 정보를 획득하면, 해당 캐시 클라이언트 ID에 대응하는 파일 관리 핸들을 생성한 후 그 정보를 캐시 클라이언트(130)에 전달할 수 있다.
한편, 본 명세서에서 파일 관리 핸들은 각각의 파일을 식별하기 위해 부여되는 고유의 ID일 수 있으며, 캐시 클라이언트(130)와 캐시 메타데이터 서버(110) 간의 세션 확립 후에, 캐시 서비스를 제공받으려는 캐시 클라이언트(130)가 그 서비스 대상이 되는 파일에 대한 분산 캐시의 관리를 받을 목적으로 수행되는 관리 대상 파일에 대한 메타 정보를 생성하는 것일 수 있다.
데이터 배치 영역 특정부(113)가 캐시 클라이언트(130)에게 전달하는 정보에는 서비스 요청 대상 파일에 대한 데이터의 배치 정보(즉, 캐시 클라이언트(130)가 서비스 요청 대상 파일에 대한 데이터 송수신을 위해 사용할 영역이 다중 속성 캐시 영역 중 제1 영역(210)인지 제2 영역(220)인지, 보다 구체적으로 프리페치 캐시 영역(211), 재사용 캐시 영역(212) 및 임시 저장 영역(221) 중 어느 것인지를 나타내는 정보) 및 파일 관리 핸들에 대한 정보가 포함될 수 있다. 보다 구체적으로, 캐시 대상 파일의 관리 핸들 생성 후에, 캐시 클라이언트(130)가 캐시 데이터 서버(120)와 직접 데이터의 송수신을 하기 위하여 필요한 캐시 데이터의 특정 캐시 영역 내 배치 맵을 생성함으로써, 상기 맵에 대한 정보를 서비스 요청 대상 파일에 대한 데이터의 배치 정보로서 캐시 클라이언트(130)로 제공할 수 있다.
이때, 데이터 배치 영역 특정부(113)는 서비스 요청 대상 파일의 데이터 속성 정보로부터 캐시 클라이언트(130)가 요청하는 모드가 캐시 모드인지 임시 저장 모드인지 판단할 수 있으며, 캐시 모드가 요청된 것으로 판단된 경우에는 제1 영역(210)을 특정하고, 임시 저장 모드가 요청된 것으로 판단된 경우에는 제2 영역(220)을 특정할 수 있다. 데이터 배치 영역 특정부(113)는 캐시 모드가 요청된 것으로 판단된 경우에는 우선 재사용 캐시 영역(212)이 특정되도록 하는 것을 디폴트 값으로 가질 수 있으며, 추후 운영 과정에서 서비스 요청 대상 파일의 데이터의 속성 정보가 지역성이 낮고 접근의 연속성이 높은 것을 나타낼 때(가령, 스트리밍 데이터) 재사용 캐시 영역(212)에서 프리페치 캐시 영역(211)으로 재배치 되게끔 변경할 수 있다.
캐시 클라이언트(130)는 캐시 메타데이터 서버(110)로부터 얻은 캐시 데이터 배치 정보를 참조로 하여, 캐시 데이터 서버(120)와의 세션이 성립되도록 할 수 있으며, 보다 구체적으로 캐시 데이터 서버(120)의 공여 에이전트(122) 간의 세션이 성립되도록 할 수 있다. 이는 캐시 클라이언트(130)가 캐시 데이터 서버(120)와 RDMA 프로토콜에 의하여 데이터를 직접 송수신 하기 위한 연결 설정을 수행하는 과정일 수 있다. 한편, 캐시 클라이언트(130)와 캐시 데이터 서버(120) 간의 세션 생성 과정은 상술한 세션 생성 과정과 유사하나, 세션 성립 시 사용되는 캐시 클라이언트 ID는 새로 생성되지 않고 캐시 메타데이터 서버(110)로부터 획득한 고유한 값을 사용할 수 있다.
또한, 캐시 클라이언트(130)는 캐시 데이터 서버(120)와 세션이 생성되면 캐시 메타데이터 서버(110)의 부가적인 개입 없이 직접 캐시 데이터 송수신을 수행할 수 있다. 다만, 캐시 클라이언트(130)가 서비스 요청 대상 파일 데이터에 대하여 할당된 특정 영역에 캐시 데이터를 저장하거나 추출함에 있어서, 복수의 캐시 클라이언트(130)가 동일한 대상 파일의 관리 핸들 하에서 다수의 읽기/쓰기를 수행하는 경우, 복수의 캐시 클라이언트(130)에게 동시 읽기 소유권을 보장하나, 쓰기의 경우 해당 작업을 수행하는 특정 캐시 클라이언트(130) 만으로 소유권을 한정하도록 동작할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 데이터베이스(119)에는, 다중 속성 캐시 영역을 관리하기 위한 소정의 조건에 대한 정보, 캐시 클라이언트로부터 요청된 데이터에 대응하는 특정 영역 배치 조건에 대한 정보, 복수의 캐시 클라이언트의 ID에 대한 정보, 캐시 데이터 서버에 대한 정보, 메타데이터에 대한 정보 등 여러 가지 정보가 저장될 수 있다. 비록 도 4에서 데이터베이스(119)가 캐시 메타데이터 서버(110)에 포함되어 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 데이터베이스(119)는 캐시 메타데이터 서버(110)과 별개로 구성될 수도 있다. 한편, 본 발명에서의 데이터베이스(119)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라 파일 시스템에 기반을 둔 데이터 기록 등을 포함하는 광의의 데이터베이스일 수도 있으며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서의 데이터베이스(119)가 될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 통신부(117)는 캐시 영역 관리부, 데이터 배치 영역 특정부 및 데이터베이스로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다. 또한, 통신부(117)는 캐시 메타데이터 서버가 캐시 클라이언트 또는 캐시 데이터 서버 간의 데이터 송수신이 가능하도록 할 수도 있다.
마지막으로, 본 발명의 일 실시예에 따른 제어부(115)는 캐시 영역 관리부(111), 데이터 배치 영역 특정부(113), 통신부(117) 및 데이터베이스(119) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(115)는 캐시 메타데이서 서버(110)의 외부로부터의/로의 데이터 흐름 또는 캐시 메타데이터 서버(110)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 캐시 영역 관리부(111), 데이터 배치 영역 특정부(113), 통신부(117) 및 데이터베이스(119)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
한편, 본 명세서에서는 캐시 데이터 서버가 공여 에이전트가 구비된 DMIf(Distributed Memory Integration framework)인 것으로 상정하여 설명하였으나 이에 제한되는 것은 아니며, 분산 메모리 통합 기능을 수행하는 서버라면 본 발명의 캐시 데이터 서버라 할 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 다중 속성 메모리 캐시 시스템 (Multi-attribute memory cache system)
110: 캐시 메타데이터 서버 (Cache metadata server, CMDS)
120: 캐시 데이터 서버 (Cache data server, CDS)
121: DMI 관리부 (Distributed Memory Integration manager)
122: 분산 메모리 공유 에이전트(gagent)
130: 캐시 클라이언트 (Cache client)
140: 통신망
200: 다중 속성 캐시 영역 관리(Multi-attribute cache management)
210: 캐시 영역 (Cache area)
211: 선입 캐시 영역 (Prefetch cache area)
212: 재사용 캐시 영역 (Reusable cache area)
220: 저장 영역 (Store area)
221: 임시 종단 저장 영역 (Temporary store area)
111: 캐시 영역 관리부 113: 데이터 배치 영역 특정부
115: 제어부 117: 통신부
119: 데이터베이스

Claims (11)

  1. 분산 메모리 통합 프레임워크 기반의 다중 속성 메모리 캐시의 동적 운영 방법에 있어서,
    (a) 소정의 메모리 영역을 제1 영역 및 제2 영역으로 분할되어 설정되도록 하는 단계;
    (b) 소정의 네트워크를 통해 캐시 클라이언트와 연결되면 상기 캐시 클라이언트와의 세션을 생성하는 단계;
    (c) 상기 캐시 클라이언트로부터 소정의 파일에 대한 데이터 송수신 서비스 요청 정보를 획득하면, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보를 참조로 하여, 상기 캐시 클라이언트가 요청하는 기능의 종류를 판단하는 단계; 및
    (d) 상기 캐시 클라이언트가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제1 영역을 특정하고, 상기 캐시 클라이언트가 저장 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제2 영역을 특정하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    (e) 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터를 캐시 데이터 서버로 전달하거나, 상기 캐시 데이터 서버로부터 상기 소정의 파일에 대한 데이터를 획득하도록, 상기 캐시 클라이언트로 상기 특정된 영역에 대한 정보를 제공하는 단계;
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 (a) 단계에서, 상기 제1 영역은 프리페치(prefetch) 캐시 영역 및 재사용 캐시 영역으로 분할되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 (d) 단계에서,
    상기 캐시 클라이언트가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 제1 영역 중 상기 재사용 캐시 영역이 특정되도록 디폴트하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    (d1) 상기 소정의 대상 파일의 데이터 특징이 기설정된 조건을 만족하는 경우, 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송신 또는 수신을 위해 사용할 영역을 상기 재사용 캐시 영역에서 상기 프리페치 캐시 영역으로 변경하는 단계;
    를 더 포함하는 방법.
  6. 제1항에 있어서,
    (f) 상기 제1 영역 및 상기 제2 영역이 특정되는 비율을 참조로 하여 상기 제1 영역 및 상기 제2 영역을 재분할하는 단계;
    를 더 포함하는 방법.
  7. 분산 메모리 통합 프레임워크 기반의 다중 속성 메모리 캐시의 동적 운영 시스템으로서,
    데이터의 속성 정보에 따라 상기 데이터가 관리될 수 있도록 소정의 메모리 영역이 제1 영역 및 제2 영역으로 분할되도록 하는 캐시 영역 관리부; 및
    캐시 클라이언트로부터 소정의 파일에 대한 데이터 송수신 서비스 요청 정보를 획득하면, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보를 참조로 하여, 상기 캐시 클라이언트가 요청하는 기능의 종류를 판단하고, 상기 캐시 클라이언트가 캐시 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제1 영역을 특정하고, 상기 캐시 클라이언트가 저장 기능을 요청하는 것으로 판단되는 경우 상기 캐시 클라이언트가 상기 소정의 파일에 대한 데이터 송수신을 위해 사용할 영역으로써 상기 제2 영역을 특정하는 데이터 배치 영역 특정부;
    를 포함하는 시스템.
  8. 제7항에 있어서,
    상기 캐시 영역 관리부는 상기 제1 영역이 프리페치(prefetch) 캐시 영역 및 재사용 캐시 영역으로 분할되도록 하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    상기 캐시 영역 관리부는 상기 프리페치 캐시 영역은 순환 재생 기법에 의하여 운영되도록 하고, 상기 재사용 캐시 영역은 LRU(Least Recently Used) 캐싱 기법에 의해 운영되도록 하는 것을 특징으로 하는 시스템.
  10. 제7항에 있어서,
    상기 캐시 영역 관리부는 상기 소정의 메모리 영역이 최초로 분할되도록 하는 경우, 상기 제1 영역에 대한 상기 제2 영역의 비율이 기설정된 비율이 되도록 하되, 상기 제1 영역 또는 상기 제2 영역이 특정되는 횟수를 참조로 하여 상기 소정의 메모리 영역이 재분할되도록 하는 것을 특징으로 하는 시스템.
  11. 제7항에 있어서,
    상기 데이터 배치 영역 특정부는, 상기 요청 정보에 포함된 상기 소정의 파일 속성 정보로부터, 상기 소정의 파일이 임시 파일이거나 재사용될 확률이 기설정된 기준 이하인 것으로 판단한 경우, 상기 캐시 클라이언트가 요청하는 기능의 종류는 저장 기능인 것으로 판단하는 것을 특징으로 하는 시스템.
KR1020140194189A 2014-12-30 2014-12-30 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템 KR20160082089A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140194189A KR20160082089A (ko) 2014-12-30 2014-12-30 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템
US14/984,497 US20160188482A1 (en) 2014-12-30 2015-12-30 Method and system for dynamic operating of the multi-attribute memory cache based on the distributed memory integration framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140194189A KR20160082089A (ko) 2014-12-30 2014-12-30 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20160082089A true KR20160082089A (ko) 2016-07-08

Family

ID=56164318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140194189A KR20160082089A (ko) 2014-12-30 2014-12-30 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템

Country Status (2)

Country Link
US (1) US20160188482A1 (ko)
KR (1) KR20160082089A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240617A (zh) * 2018-09-03 2019-01-18 郑州云海信息技术有限公司 分布式存储系统写请求处理方法、装置、设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180067858A1 (en) * 2016-09-06 2018-03-08 Prophetstor Data Services, Inc. Method for determining data in cache memory of cloud storage architecture and cloud storage system using the same
CN107819804B (zh) * 2016-09-14 2021-03-16 先智云端数据股份有限公司 云端储存设备系统及决定其架构的高速缓存中数据的方法
US10732893B2 (en) * 2017-05-25 2020-08-04 Western Digital Technologies, Inc. Non-volatile memory over fabric controller with memory bypass
US10789090B2 (en) 2017-11-09 2020-09-29 Electronics And Telecommunications Research Institute Method and apparatus for managing disaggregated memory
CN113535068A (zh) * 2020-04-21 2021-10-22 华为技术有限公司 数据读取方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394531A (en) * 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
US6839809B1 (en) * 2000-05-31 2005-01-04 Cisco Technology, Inc. Methods and apparatus for improving content quality in web caching systems
US6829685B2 (en) * 2001-11-15 2004-12-07 International Business Machines Corporation Open format storage subsystem apparatus and method
US7047366B1 (en) * 2003-06-17 2006-05-16 Emc Corporation QOS feature knobs
US8219757B2 (en) * 2008-09-30 2012-07-10 Intel Corporation Apparatus and method for low touch cache management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240617A (zh) * 2018-09-03 2019-01-18 郑州云海信息技术有限公司 分布式存储系统写请求处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20160188482A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
KR20160082089A (ko) 분산 메모리 통합 프레임워크 기반 다중 속성 메모리 캐시의 동적 운영 방법 및 시스템
US11042311B2 (en) Cluster system with calculation and storage converged
US11366768B2 (en) Data write method, apparatus, and system
US9052962B2 (en) Distributed storage of data in a cloud storage system
US7484048B2 (en) Conditional message delivery to holder of locks relating to a distributed locking manager
US20060136779A1 (en) Object-based storage device with low process load and control method thereof
WO2018068626A1 (zh) 一种磁盘锁的管理方法、装置和系统
CN104580439B (zh) 一种云存储系统中使数据均匀分布的方法
CN103116552A (zh) 用于在分布式存储系统中分配存储空间的方法和装置
CN101594387A (zh) 虚拟集群部署方法和系统
KR101714412B1 (ko) 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
US20200401458A1 (en) Adaptive Work Distribution in Distributed Systems
JP2005056077A (ja) データベース制御方法
CN104657260A (zh) 控制分布式节点间访问共享资源的分布式锁的实现方法
KR20150039524A (ko) 클라우드 시스템, 클라우드 시스템 제어 방법, 관리 서버 및 그 제어 방법
CN109254958B (zh) 分布式数据读写方法、设备及系统
WO2016101662A1 (zh) 一种数据处理方法及相关服务器
WO2016095760A1 (zh) 数据动态重分布的方法、数据节点、名字节点及系统
JP5414943B2 (ja) 仮想テープ・ライブラリ・ドメインを管理するためのシステムおよび方法
CN113746641B (zh) 一种基于分布式存储的odx协议处理方法
US20170255690A1 (en) System and method for managing data
CN102118315A (zh) 数据流化方法、数据记录方法、数据读取方法及其系统
KR101936942B1 (ko) 분산형 컴퓨팅 가속화 플랫폼 장치 및 분산형 컴퓨팅 가속화 플랫폼 운영 방법
US9547590B2 (en) Managing memory
JP2005070965A (ja) 情報処理方法、情報処理システム及び情報処理装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid