KR102571197B1 - Method for maintaining cache coherency of cluster file system - Google Patents

Method for maintaining cache coherency of cluster file system Download PDF

Info

Publication number
KR102571197B1
KR102571197B1 KR1020220169767A KR20220169767A KR102571197B1 KR 102571197 B1 KR102571197 B1 KR 102571197B1 KR 1020220169767 A KR1020220169767 A KR 1020220169767A KR 20220169767 A KR20220169767 A KR 20220169767A KR 102571197 B1 KR102571197 B1 KR 102571197B1
Authority
KR
South Korea
Prior art keywords
data
server
file information
cache memory
storage device
Prior art date
Application number
KR1020220169767A
Other languages
Korean (ko)
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 KR1020220169767A priority Critical patent/KR102571197B1/en
Application granted granted Critical
Publication of KR102571197B1 publication Critical patent/KR102571197B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

클러스터 파일시스템에서 네트워크를 통해 하나의 저장장치를 공유하는 제1서버와 제2서버 간 캐시 일관성 유지방법이 제공된다. 캐시 일관성 유지방법은, 제1서버가 제1데이터를 생성하여 저장장치에 저장한 후, 제2서버에 입력된 명령어에 기초하여 제2서버의 캐시메모리에 저장장치에 저장된 제1데이터에 대한 파일정보를 업데이트한다. A method for maintaining cache coherency between a first server and a second server sharing one storage device in a cluster file system through a network is provided. The method for maintaining cache coherency includes a first server generating first data and storing the first data in a storage device, and then a file for the first data stored in a storage device in a cache memory of a second server based on a command input to a second server. update information

Description

클러스터 파일시스템의 캐시 일관성 유지방법{Method for maintaining cache coherency of cluster file system}Method for maintaining cache coherency of cluster file system}

본 발명은 복수의 서버가 복수의 저장장치와 네트워크로 연결된 클러스터 파일시스템에서 적어도 2개의 서버가 하나의 저장장치를 공유할 때 네트워크 접근이 아닌 저장장치를 다시 읽음으로써 캐시 일관성이 보장되도록 할 수 있는 캐시 일관성 유지방법에 관한 것이다. According to the present invention, in a cluster file system in which a plurality of servers are connected to a plurality of storage devices through a network, when at least two servers share a storage device, cache coherency can be ensured by rereading the storage device rather than accessing the network. It is about how to maintain cache coherency.

클러스터 파일시스템(cluster file system)은 복수의 서버 또는 컴퓨터가 네트워크를 통해 연결되어 하나의 시스템처럼 동작되도록 구성된 것을 말한다. 이러한 클러스터 파일시스템에서 복수의 서버들 각각은 다른 서버와 통신하여 상기 다른 서버의 저장장치에 저장된 데이터를 공유하게 된다. A cluster file system refers to a configuration in which a plurality of servers or computers are connected through a network and operated as a single system. In such a cluster file system, each of a plurality of servers communicates with another server to share data stored in the storage device of the other server.

도 1은 종래의 클러스터 파일시스템을 나타내는 도면이다. 1 is a diagram showing a conventional cluster file system.

도 1을 참조하면, 종래의 클러스터 파일시스템(10)은 복수의 서버들(11, 12) 및 이들 각각에 마운트(mount)되어 연결된 복수의 저장장치들(13, 14)을 포함한다. Referring to FIG. 1, a conventional cluster file system 10 includes a plurality of servers 11 and 12 and a plurality of storage devices 13 and 14 mounted and connected to each of them.

구체적으로, 클러스터 파일시스템(10)은 제1서버(11) 및 제2서버(12)를 포함하고, 제1저장장치(13)는 제1서버(11)에 마운트되어 연결되고, 제2저장장치(14)는 제2서버(12)에 마운트되어 연결된다. Specifically, the cluster file system 10 includes the first server 11 and the second server 12, the first storage device 13 is mounted and connected to the first server 11, and the second storage device 13 The device 14 is mounted and connected to the second server 12 .

이러한 종래의 클러스터 파일시스템(10)에서, 제1서버(11)의 프로세서(미도시)는 데몬 프로세스를 실행하여 제2서버(12)와 통신채널을 연결하고, 이러한 제1서버(11)와 제2서버(12) 간 통신을 통해 파일시스템의 일관성을 유지한다. In such a conventional cluster file system 10, a processor (not shown) of the first server 11 executes a daemon process to connect a communication channel with the second server 12, and The consistency of the file system is maintained through communication between the second servers 12 .

여기서, 제1서버(11)와 제2서버(12) 간 파일시스템의 일관성 유지는 제1서버(11)가 제2저장장치(14)에 저장된 데이터 공유를 위해 제1서버(11) 및 제2서버(12)의 각 캐시메모리의 일관성을 유지하는 것을 의미한다. Here, the consistency of the file system between the first server 11 and the second server 12 is maintained by the first server 11 and the second storage device 14 for sharing data stored in the first server 11. 2 This means maintaining consistency of each cache memory of the server 12.

이에, 종래의 클러스터 파일시스템(10)은 제1서버(11)와 제2서버(12) 간 파일시스템의 일관성이 유지된 후, 제1서버(11)가 제2서버(12)를 통해 제2저장장치(14)에 접근하여 상기 제2저장장치(14)에 저장된 데이터를 공유하게 된다. Accordingly, in the conventional cluster file system 10, after the consistency of the file system between the first server 11 and the second server 12 is maintained, the first server 11 transfers the file system through the second server 12. By accessing the second storage device 14, data stored in the second storage device 14 is shared.

이와 같이, 종래의 클러스터 파일시스템(10)에서 하나의 서버에 연결된 저장장치에 저장된 데이터를 다른 서버가 공유할 때, 두 서버 간 통신을 통해 파일시스템의 일관성을 유지할 필요가 있으며, 이로 인해 각 서버의 프로세서 자원이 낭비될 뿐만 아니라 네트워크 트래픽이 증가되어 성능이 저하되는 문제가 있다. As such, when another server shares data stored in a storage device connected to one server in the conventional cluster file system 10, it is necessary to maintain the consistency of the file system through communication between the two servers. There is a problem in that processor resources of the processor are wasted and performance is degraded due to increased network traffic.

한국등록특허 제10-1638727호(2016.07.20.)Korean Patent Registration No. 10-1638727 (2016.07.20.)

본 발명은 복수의 서버가 복수의 저장장치와 네트워크로 연결된 클러스터 파일시스템에서 적어도 2개의 서버가 하나의 저장장치를 공유할 때 네트워크 접근이 아닌 저장장치를 다시 읽음으로써 캐시 일관성이 보장되도록 할 수 있는 캐시 일관성 유지방법을 제공하고자 하는 데 있다. According to the present invention, in a cluster file system in which a plurality of servers are connected to a plurality of storage devices through a network, when at least two servers share a storage device, cache coherency can be ensured by rereading the storage device rather than accessing the network. It is intended to provide a method for maintaining cache coherency.

본 발명의 일 실시예에 따른 클러스터 파일시스템의 캐시 일관성 유지방법은, 네트워크를 통해 하나의 저장장치를 공유하는 제1서버와 제2서버에 있어서, 상기 제1서버가 제1데이터를 생성하여 상기 저장장치에 저장하는 단계; 및 상기 제2서버에 입력된 명령어에 기초하여 상기 제2서버의 캐시메모리에 상기 저장장치에 저장된 상기 제1데이터에 대한 파일정보를 업데이트하는 단계를 한다.A method for maintaining cache coherency in a cluster file system according to an embodiment of the present invention is provided in a first server and a second server sharing one storage device over a network, wherein the first server generates first data and storing in a storage device; and updating file information about the first data stored in the storage device in a cache memory of the second server based on a command input to the second server.

상기 업데이트하는 단계는, 상기 제2서버의 상기 캐시메모리에서 상기 제1데이터에 대한 파일정보를 검색하는 단계; 검색 결과에 기초하여 상기 제2서버가 상기 네트워크를 통해 상기 저장장치에 접속하고, 상기 저장장치에서 상기 제1데이터에 대한 상기 파일정보를 획득하는 단계; 및 획득된 상기 파일정보에 기초하여 상기 캐시메모리의 버퍼페이지에 상기 파일정보를 복사하는 단계를 포함한다. The updating may include: retrieving file information for the first data from the cache memory of the second server; accessing, by the second server, the storage device through the network based on a search result, and acquiring the file information of the first data from the storage device; and copying the file information to a buffer page of the cache memory based on the obtained file information.

또한, 상기 업데이트하는 단계는, 상기 버퍼페이지에 복사된 상기 파일정보에 기초하여 상기 캐시메모리의 아이노드 캐시에 상기 제1데이터에 대한 아이노드 객체를 생성하여 상기 아이노드 캐시를 업데이트하는 단계를 더 포함한다.The updating may further include generating an inode object for the first data in an inode cache of the cache memory based on the file information copied to the buffer page and updating the inode cache. include

또한, 상기 업데이트하는 단계는, 업데이트 된 아이노드 캐시에 기초하여 상기 캐시메모리의 덴트리 캐시에 상기 제1데이터에 대한 덴트리 객체를 생성하는 단계를 더 포함한다.The updating may further include generating a dentry object for the first data in a dentry cache of the cache memory based on the updated inode cache.

또한, 상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되면, 상기 제2서버는 검색된 상기 파일정보에 기초하여 상기 제1데이터에 대한 상기 명령어를 실행하는 단계를 더 포함한다. The second server may further include, when the file information for the first data is retrieved from the cache memory, executing the command for the first data based on the retrieved file information.

또한, 상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되지 않고, 상기 저장장치에서 상기 파일정보가 검색되지 않으면, 상기 제2서버가 상기 제1데이터에 대한 명령어의 오류메시지를 출력하는 단계를 더 포함한다. In addition, if the file information for the first data is not retrieved from the cache memory and the file information is not retrieved from the storage device, the second server outputs an error message of a command for the first data. Include more steps.

또한, 상기 캐시메모리에 상기 제1데이터에 대한 상기 제1파일정보가 업데이트된 후, 상기 제2서버가 업데이트 된 상기 파일정보에 기초하여 상기 제1데이터에 대한 상기 명령어를 실행하는 단계를 더 포함한다. The second server may further include executing the command for the first data based on the updated file information after the first file information for the first data is updated in the cache memory. do.

본 실시예의 캐시 일관성 유지방법은, 상기 명령어에 기초하여 상기 제2서버의 미들웨어가 상기 캐시메모리에 상기 제1데이터에 대한 파일경로를 요청하는 단계; 상기 캐시메모리에 기 저장된 다수의 파일정보 중에서 요청된 파일경로를 포함하는 파일정보를 검색하는 단계; 및 검색 결과에 기초하여 상기 캐시메모리에 상기 제1데이터에 대한 상기 파일정보를 업데이트하는 단계를 포함한다. The method for maintaining cache coherency according to the present embodiment may include requesting, by the middleware of the second server, a file path for the first data from the cache memory based on the command; Retrieving file information including a requested file path among a plurality of file information previously stored in the cache memory; and updating the file information for the first data in the cache memory based on a search result.

본 발명에 따른 캐시 일관성 유지방법은, 저장장치를 공유하는 복수의 서버 중 적어도 하나의 서버가 저장장치에 저장된 데이터에 대한 명령어가 입력되었을 때 자신의 캐시메모리에 해당 데이터에 대한 파일정보를 업데이트함으로써, 캐시 일관성 유지를 위해 프로세서 자원의 낭비 및 과도한 네트워크 트래픽이 발생되는 것을 방지할 수 있다. A method for maintaining cache coherence according to the present invention, when at least one of a plurality of servers sharing a storage device receives a command for data stored in a storage device, by updating file information for the corresponding data in its own cache memory. , it is possible to prevent waste of processor resources and excessive network traffic to maintain cache coherency.

도 1은 종래의 클러스터 파일시스템을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 클러스터 파일시스템을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 클러스터 파일시스템의 내부 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시예에 따른 캐시 일관성 유지방법에 대한 순서도이다.
도 5는 도 4의 캐시메모리 업데이트 방법에 대한 순서도이다.
1 is a diagram showing a conventional cluster file system.
2 is a diagram showing a cluster file system according to an embodiment of the present invention.
3 is a block diagram showing the internal configuration of a cluster file system according to an embodiment of the present invention.
4 is a flowchart of a method for maintaining cache coherency according to an embodiment of the present invention.
FIG. 5 is a flowchart of the cache memory update method of FIG. 4 .

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to completely inform the person who has the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the embodiment of the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 실시예에 따른 클러스터 파일시스템을 나타내는 도면이고, 도 3은 본 발명의 실시예에 따른 클러스터 파일시스템의 내부 구성을 나타내는 블록도이다.2 is a diagram showing a cluster file system according to an embodiment of the present invention, and FIG. 3 is a block diagram showing the internal configuration of the cluster file system according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 본 실시예의 클러스터 파일시스템(100)은 다수의 서버들, 예컨대 제1서버(110-1) 내지 제n서버(110-n)와, 이들과 네트워크(130)를 통해 연결된 다수의 저장장치들, 예컨대 제1저장장치(120-1) 내지 제m저장장치(120-m)를 포함할 수 있다. 2 and 3, the cluster file system 100 of this embodiment includes a plurality of servers, for example, a first server 110-1 to an n-th server 110-n and a network 130 with them. It may include a plurality of storage devices connected through , for example, a first storage device 120-1 to an m-th storage device 120-m.

여기서, 제1서버(110-1) 내지 제n서버(110-n) 각각은 컴퓨터장치일 수 있다. 제1저장장치(120-1) 내지 제m저장장치(120-m) 각각은 하드디스크 드라이브(Hard Disk Drive) 또는 플래시메모리 등과 같은 반도체를 이용한 솔리드 스테이트 드라이브(SSD, solid state drive) 등의 저장장치일 수 있다. 또한, n 및 m은 서로 동일하거나 다른 값을 갖는 자연수일 수 있다. Here, each of the first server 110-1 to n-th server 110-n may be a computer device. Each of the first storage device 120-1 to the m-th storage device 120-m stores a solid state drive (SSD) using a semiconductor such as a hard disk drive or flash memory. may be a device. Also, n and m may be natural numbers having the same or different values.

제1서버(110-1) 내지 제n서버(110-n) 각각과 제1저장장치(120-1) 내지 제m저장장치(120-m) 각각을 연결하는 네트워크(130)는 유/무선 통신방식의 네트워크일 수 있으며, 소정의 프로토콜, 예컨대 NVMe over Fabrics(NVMe-of) 프로토콜이 사용하여 통신이 이루어지도록 할 수 있다. The network 130 connecting each of the first server 110-1 to n-th server 110-n and each of the first storage device 120-1 to m-th storage device 120-m is wired/wireless. It may be a communication-type network, and communication may be performed using a predetermined protocol, for example, an NVMe over Fabrics (NVMe-of) protocol.

이에, 본 실시예의 클러스터 파일시스템(100)은 제1서버(110-1) 내지 제n서버(110-n) 각각이 네트워크(130)를 통해 제1저장장치(120-1) 내지 제m저장장치(120-m) 중 적어도 하나와 연결되어 이를 자신의 가상 로컬디스크로 사용할 수 있다. Accordingly, in the cluster file system 100 of this embodiment, each of the first server 110-1 to the n-th server 110-n connects to the first storage device 120-1 to the m-th storage device 120-1 through the network 130. It is connected to at least one of the devices 120-m and can use it as its own virtual local disk.

한편, 도 3에 도시된 바와 같이, 다수의 서버들 중 적어도 2개의 서버, 예컨대 제1서버(110-1)와 제2서버(110-2)가 하나의 저장장치, 예컨대 제1저장장치(120-1)를 공유할 수 있다. On the other hand, as shown in FIG. 3, at least two servers among a plurality of servers, for example, a first server 110-1 and a second server 110-2 are connected to one storage device, for example, a first storage device ( 120-1) can be shared.

이에, 제1서버(110-1) 및 제2서버(110-2) 각각은 네트워크(130)를 통해 제1저장장치(120-1)에 접속하여 상기 제1저장장치(120-1)에 저장된 데이터를 리딩(reading)하여 오픈(open)하거나 또는 새로운 데이터를 생성하여 상기 제1저장장치(120-1)에 저장할 수 있다. Accordingly, each of the first server 110-1 and the second server 110-2 accesses the first storage device 120-1 through the network 130 to store the first storage device 120-1. Stored data may be read and opened, or new data may be created and stored in the first storage device 120-1.

이러한 제1서버(110-1)와 제2서버(110-2) 각각은 도 3에 도시된 바와 같이, 프로세서와 캐시메모리를 포함할 수 있다. 예컨대, 제1서버(110-1)는 제1프로세서(111-1)와 제1캐시메모리(113-1)를 포함하고, 제2서버(110-2)는 제2프로세서(111-2)와 제2캐시메모리(113-2)를 포함할 수 있다. As shown in FIG. 3, each of the first server 110-1 and the second server 110-2 may include a processor and a cache memory. For example, the first server 110-1 includes the first processor 111-1 and the first cache memory 113-1, and the second server 110-2 includes the second processor 111-2. and a second cache memory 113-2.

제1저장장치(120-1)는 다수의 데이터가 저장되어 있는 데이터블록(121) 및 상기 데이터블록(121)에 저장된 다수의 데이터 각각에 대한 파일정보가 저장되어 있는 아이노드(inode) 테이블(123)을 포함할 수 있다. The first storage device 120-1 includes a data block 121 in which a plurality of data is stored and an inode table in which file information for each of the plurality of data stored in the data block 121 is stored ( 123) may be included.

제1서버(110-1)의 제1프로세서(111-1)는 제1서버(110-1)에 입력되는 명령어에 기초하여 제1서버(110-1)의 동작을 전반적으로 제어할 수 있다. 마찬가지로, 제2서버(110-2)의 제2프로세서(111-2)는 제2서버(110-2)로 입력되는 명령어에 기초하여 제2서버(110-2)의 동작을 전반적으로 제어할 수 있다. The first processor 111-1 of the first server 110-1 may control the overall operation of the first server 110-1 based on a command input to the first server 110-1. . Similarly, the second processor 111-2 of the second server 110-2 controls the overall operation of the second server 110-2 based on a command input to the second server 110-2. can

제1캐시메모리(113-1)는 제1덴트리(dentry)캐시(111-1), 제1아이노드캐시(115-1) 및 제1버퍼페이지(116-1)를 포함할 수 있다. 제2캐시메모리(113-2)는 제1캐시메모리(113-1)와 실질적으로 동일한 구조, 즉 제2덴트리캐시(114-2), 제2아이노드캐시(115-2) 및 제2버퍼페이지(116-2)를 포함할 수 있다. The first cache memory 113-1 may include a first dentry cache 111-1, a first inode cache 115-1, and a first buffer page 116-1. The second cache memory 113-2 has substantially the same structure as the first cache memory 113-1, that is, the second dentry cache 114-2, the second inode cache 115-2 and the second cache memory 115-2. A buffer page 116-2 may be included.

이러한, 제1캐시메모리(113-1) 및 제2캐시메모리(113-2) 각각은 제1저장장치(120-1)에 저장되어 있는 다수의 데이터들 각각에 대한 파일정보를 저장할 수 있다. 파일정보는 데이터의 종류, 이름, 크기, 접근정보, 수정정보 등의 메타데이터 정보와 데이터의 위치를 나타내는 디렉토리 정보를 포함할 수 있다. Each of the first cache memory 113-1 and the second cache memory 113-2 may store file information for each of a plurality of data stored in the first storage device 120-1. The file information may include metadata information such as data type, name, size, access information, modification information, and directory information indicating the location of the data.

이에, 사용자로부터 제1서버(110-1)에 제1저장장치(120-1)에 저장된 데이터에 대한 명령어, 예컨대 데이터 읽기(reading) 명령어가 입력되면, 제1서버(110-1)의 제1프로세서(111-1)는 제1캐시메모리(113-1)에 저장된 해당 데이터의 파일정보에 기초하여 입력된 명령어를 처리할 수 있다. 물론, 제2서버(110-2)의 제2프로세서(111-2) 역시 입력된 데이터 읽기 명령어에 대응하여 제2캐시메모리(113-2)에 저장된 해당 데이터의 파일정보에 기초하여 명령어를 처리할 수 있다. Accordingly, when a command for data stored in the first storage device 120-1, for example, a data reading command is input to the first server 110-1 from the user, the first server 110-1 executes a 1 Processor 111-1 may process an input command based on file information of corresponding data stored in the first cache memory 113-1. Of course, the second processor 111-2 of the second server 110-2 also processes the command based on the file information of the data stored in the second cache memory 113-2 in response to the input data read command. can do.

이와 같이, 제1서버(110-1) 및 제2서버(110-2)는 네트워크(130)를 통해 제1저장장치(120-1)를 공유하며, 각 서버의 제1캐시메모리(113-1)와 제2캐시메모리(113-2)는 제1저장장치(120-1)의 다수의 데이터들에 대한 파일정보를 저장할 수 있다. In this way, the first server 110-1 and the second server 110-2 share the first storage device 120-1 through the network 130, and the first cache memory 113-1 of each server 1) and the second cache memory 113-2 may store file information about a plurality of data of the first storage device 120-1.

이에, 제1서버(110-1)의 제1프로세서(111-1) 및 제2서버(110-2)의 제2프로세서(111-2) 각각은 입력된 데이터 읽기 명령어에 따라 제1저장장치(120-1)에 접근하는 것이 아닌, 각각의 캐시메모리, 즉 제1캐시메모리(113-1) 및 제2캐시메모리(113-2) 각각에 접근하여 해당 데이터에 대한 명령어를 처리할 수 있다. 따라서, 제1서버(110-1) 및 제2서버(110-2)는 명령어 처리에 따른 동작속도를 높일 수 있다. Accordingly, each of the first processor 111-1 of the first server 110-1 and the second processor 111-2 of the second server 110-2 is connected to the first storage device according to the inputted data read command. Instead of accessing 120-1, each cache memory, that is, accessing each of the first cache memory 113-1 and the second cache memory 113-2 may be accessed to process a command for corresponding data. . Accordingly, the first server 110-1 and the second server 110-2 can increase the operating speed according to command processing.

한편, 제1캐시메모리(113-1) 및 제2캐시메모리(113-2) 각각은 서로 일관성(consistency)이 유지되어야 한다. 다시 말해, 제1캐시메모리(113-1) 및 제2캐시메모리(113-2) 각각에는 동일한 파일정보, 즉 제1저장장치(120-1)에 저장된 다수의 데이터 각각에 대한 파일정보가 저장되어야 한다. 이에, 제1서버(110-1)와 제2서버(110-2)는 하나의 데이터에 대한 동일한 명령어가 입력되었을 때, 이를 동일하게 처리할 수 있다. Meanwhile, each of the first cache memory 113-1 and the second cache memory 113-2 must maintain consistency with each other. In other words, the same file information, that is, file information for each of a plurality of data stored in the first storage device 120-1 is stored in each of the first cache memory 113-1 and the second cache memory 113-2. It should be. Accordingly, when the same command for one piece of data is input, the first server 110-1 and the second server 110-2 can process it identically.

이러한, 제1캐시메모리(113-1) 및 제2캐시메모리(113-2)의 일관성 유지를 위하여, 각 캐시메모리는 제1저장장치(120-1)에 저장된 데이터의 파일정보에 대한 적절한 업데이트가 필요하다. In order to maintain the consistency of the first cache memory 113-1 and the second cache memory 113-2, each cache memory properly updates file information of data stored in the first storage device 120-1. is needed

이를 위해, 제1서버(110-1) 및 제2서버(110-2) 중 하나의 서버에서 제1저장장치(120-1)에 새로운 데이터를 생성하면, 상기 하나의 서버가 다른 서버에 제1저장장치(120-1)에 새로운 데이터가 생성됨을 통지하여 상기 다른 서버의 캐시메모리가 업데이트 되도록 함으로써, 두 캐시메모리 간 일관성을 유지할 수 있다. To this end, when one of the first server 110-1 and the second server 110-2 creates new data in the first storage device 120-1, the one server transfers data to the other server. Consistency between the two cache memories can be maintained by notifying the first storage device 120-1 that new data is generated so that the cache memory of the other server is updated.

그러나, 이러한 캐시메모리 일관성 유지 방법은 제1저장장치(120-1)에 새로운 데이터가 생성된 시점마다 복수의 서버 간 통신이 이루어짐으로써, 네트워크(130)에 과중한 트래픽이 발생될 수 있다. However, in this method of maintaining consistency of cache memory, communication between a plurality of servers is performed whenever new data is generated in the first storage device 120-1, so heavy traffic may be generated in the network 130.

이에, 본 실시예의 클러스터 파일시스템(100)에서는 네트워크(130)에 트래픽이 발생되는 것을 방지하면서 각 서버의 캐시메모리 간 일관성을 유지할 수 있는 캐시 일관성 유지방법이 수행될 수 있다. Accordingly, in the cluster file system 100 of the present embodiment, a cache coherency maintenance method capable of maintaining coherence between cache memories of each server while preventing traffic from being generated in the network 130 can be performed.

도 4는 본 발명의 실시예에 따른 캐시 일관성 유지방법에 대한 순서도이다.4 is a flowchart of a method for maintaining cache coherency according to an embodiment of the present invention.

이하에서는, 설명의 편의를 위하여 도 3에 도시된 바와 같이, 제1서버(110-1) 및 제2서버(110-2)가 네트워크(130)를 통해 제1저장장치(120-1)를 공유하는 클러스터 파일시스템(100)의 제1서버(110-1) 및 제2서버(110-2) 간 캐시 일관성 유지방법에 대해 상세히 설명하기로 한다. Hereinafter, as shown in FIG. 3 for convenience of description, the first server 110-1 and the second server 110-2 connect the first storage device 120-1 through the network 130 A method for maintaining cache coherency between the first server 110-1 and the second server 110-2 of the shared cluster file system 100 will be described in detail.

도 3 및 도 4를 참조하면, 제1서버(110-1)의 제1프로세서(111-1)는 입력된 명령어에 따라 신규데이터, 예컨대 제1데이터를 생성할 수 있다. 제1프로세서(111-1)는 제1캐시메모리(113-1)에 제1데이터에 대한 파일정보를 저장하고, 상기 제1데이터를 네트워크(130)를 통해 제1저장장치(120-1)로 전송하여 저장할 수 있다(S10). Referring to FIGS. 3 and 4 , the first processor 111-1 of the first server 110-1 may generate new data, for example, first data, according to an input command. The first processor 111-1 stores file information about the first data in the first cache memory 113-1, and transfers the first data to the first storage device 120-1 through the network 130. It can be transmitted and stored as (S10).

다음으로, 사용자로부터 제2서버(110-2)에 제1데이터에 대한 명령어, 예컨대 제1데이터에 대한 읽기(reading) 명령어가 입력될 수 있다(S20). Next, a command for the first data, for example, a command for reading the first data may be input to the second server 110-2 from the user (S20).

이에, 제2서버(110-2)의 제2프로세서(111-2)는 입력된 명령어에 기초하여 제2캐시메모리(113-2)에서 제1데이터에 대한 파일정보를 검색하고, 검색결과에 기초하여 제2캐시메모리(113-2)에 제1데이터의 파일정보를 업데이트할 수 있다(S30). Accordingly, the second processor 111-2 of the second server 110-2 searches for file information about the first data in the second cache memory 113-2 based on the input command, and displays the search result. Based on this, file information of the first data may be updated in the second cache memory 113-2 (S30).

도 5는 도 4의 캐시메모리 업데이트 방법에 대한 순서도이다. FIG. 5 is a flowchart of the cache memory update method of FIG. 4 .

도 4 및 도 5를 참조하면, 제2프로세서(111-2)는 입력된 명령어에 기초하여 제2캐시메모리(113-2)에서 제1데이터의 파일정보를 검색할 수 있다(S110). Referring to FIGS. 4 and 5 , the second processor 111-2 may search for file information of the first data in the second cache memory 113-2 based on the input command (S110).

제2캐시메모리(113-2)에 제1데이터의 파일정보가 검색되면(Y), 제2프로세서(111-2)는 검색된 파일정보에 기초하여 제1데이터에 대한 명령어를 실행하여 처리할 수 있다(S40).When file information of the first data is searched in the second cache memory 113-2 (Y), the second processor 111-2 may execute and process a command for the first data based on the searched file information. Yes (S40).

반면에, 제2캐시메모리(113-2)에서 제1데이터의 파일정보가 검색되지 않으면(N), 제2프로세서(111-2)는 네트워크(130)를 통해 제2서버(110-2)와 제1저장장치(120-1) 간이 연결되도록 할 수 있다. On the other hand, if the file information of the first data is not retrieved from the second cache memory 113-2 (N), the second processor 111-2 sends the second server 110-2 through the network 130. and the first storage device 120-1 may be connected.

이어, 제2프로세서(111-2)는 제1저장장치(120-1)의 아이노드 테이블(123)에서 제1데이터에 대한 파일정보를 획득할 수 있다. Subsequently, the second processor 111-2 may obtain file information about the first data from the inode table 123 of the first storage device 120-1.

제2프로세서(111-2)는 획득한 제1데이터의 파일정보를 제2캐시메모리(113-2)의 제2버퍼페이지(116-2)에 복사하여 상기 제2버퍼페이지(116-2)를 업데이트할 수 있다(S120)The second processor 111-2 copies the acquired file information of the first data to the second buffer page 116-2 of the second cache memory 113-2 and stores the second buffer page 116-2. can be updated (S120)

계속해서, 제2프로세서(111-2)는 제2버퍼페이지(116-2)에 업데이트 된 제1데이터의 파일정보에 기초하여 제2캐시메모리(113-2)의 제2아이노드캐시(115-2)에 제1데이터에 대한 아이노드 객체를 생성하여 제2아이노드캐시(115-2)를 업데이트할 수 있다(S130). Subsequently, the second processor 111-2 stores the second inode cache 115 of the second cache memory 113-2 based on the file information of the first data updated in the second buffer page 116-2. In -2), the second inode cache 115-2 may be updated by creating an inode object for the first data (S130).

이어, 제2프로세서(111-2)는 업데이트 된 제2아이노드캐시(115-2)에 기초하여 제2캐시메모리(113-2)의 제2덴트리캐시(114-2)에 제1데이터에 대한 덴트리, 예컨대 제1데이터가 저장된 디렉토리에 대한 디렉토리 정보를 생성할 수 있다(S140).Next, the second processor 111-2 stores the first data in the second dentry cache 114-2 of the second cache memory 113-2 based on the updated second inode cache 115-2. A dentry for , for example, directory information for a directory in which the first data is stored may be generated (S140).

그리고, 제1저장장치(120-1)에 저장된 제1데이터의 파일정보에 기초하여 제2서버(110-2)의 제2캐시메모리(113-2)가 업데이트 되면, 제2프로세서(111-2)는 업데이트 된 제2캐시메모리(113-2)에 저장된 제1파일의 파일정보에 기초하여 기 입력된 명령어를 실행하여 처리할 수 있다(S40). Then, when the second cache memory 113-2 of the second server 110-2 is updated based on the file information of the first data stored in the first storage device 120-1, the second processor 111-2 2) may be processed by executing a previously input command based on the file information of the first file stored in the updated second cache memory 113-2 (S40).

상술한 바와 같이, 본 실시예는 제2서버(110-2)는 제1서버(110-1)에 의해 제1데이터가생성되어 제1저장장치(120-1)에 저장된 시점이 아닌, 사용자로부터 제1데이터에 대한 명령어가 입력되는 시점에 제2캐시메모리(113-2)에서 제1데이터에 대한 파일정보를 업데이트함으로써, 복수의 서버, 즉 제1서버(110-1) 및 제2서버(110-2) 간 캐시 일관성을 유지할 수 있다. As described above, in this embodiment, the second server 110-2 is the user, not the time when the first data is generated by the first server 110-1 and stored in the first storage device 120-1. A plurality of servers, that is, the first server 110-1 and the second server are updated by updating the file information for the first data in the second cache memory 113-2 at the time when a command for the first data is input from Cache coherency between (110-2) can be maintained.

이에, 본 발명은 캐시 일관성 유지를 위해 저장장치에 새로운 데이터가 생성된 시점마다 복수의 서버 간 통신이 불필요하여 네트워크(130)에 발생되는 트래픽을 줄일 수 있다.Accordingly, the present invention can reduce traffic generated in the network 130 by not requiring communication between a plurality of servers whenever new data is generated in a storage device to maintain cache coherency.

이상에서 설명된 본 발명의 블록도의 각 블록과 순서도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 순서도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 순서도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 순서도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block of the block diagram and each step of the flowchart of the present invention described above may be performed by computer program instructions. Since these computer program instructions may be loaded into an encoding processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions executed by the encoding processor of the computer or other programmable data processing equipment are each block or block diagram of the block diagram. Each step in the flow chart creates means for performing the functions described. These computer program instructions may also be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular way, such that the computer usable or computer readable memory The instructions stored in are also capable of producing an article of manufacture containing instruction means that perform the function described in each block of the block diagram or each step of the flowchart. The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to generate computer or other programmable data processing equipment. It is also possible that the instructions performing the processing equipment provide steps for executing the functions described in each block of the block diagram and each step of the flow chart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block or each step may represent a module, segment or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative embodiments it is possible for the functions recited in blocks or steps to occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order depending on their function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present invention, and various modifications and variations can be made to those skilled in the art without departing from the essential qualities of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100: 클러스터 파일시스템
110: 서버
120: 저장장치
130: 네트워크
100: cluster filesystem
110: server
120: storage device
130: network

Claims (10)

클러스터 파일시스템에서 네트워크를 통해 하나의 저장장치를 공유하는 제1서버와 제2서버 간 캐시 일관성 유지방법으로,
상기 제1서버가 제1데이터를 생성하여 상기 저장장치에 저장하는 단계;
상기 제2서버에 입력된 상기 제1데이터에 대한 명령어에 기초하여 상기 제2서버의 캐시메모리에서 상기 제1데이터에 대한 파일정보를 검색하는 단계;
상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되지 않으면, 상기 제2서버가 상기 네트워크를 통해 상기 저장장치에 접속하는 단계; 및
상기 제2서버가 상기 저장장치의 아이노드 테이블에서 상기 제1데이터에 대한 상기 파일정보를 획득하고, 상기 캐시메모리의 버퍼페이지에 획득한 상기 파일정보를 복사하여 상기 제1데이터에 대한 상기 파일정보를 업데이트하는 단계를 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
A method for maintaining cache coherency between a first server and a second server sharing one storage device over a network in a cluster file system,
generating, by the first server, first data and storing the first data in the storage device;
retrieving file information for the first data from the cache memory of the second server based on a command for the first data input to the second server;
accessing, by the second server, the storage device through the network when the file information for the first data is not retrieved from the cache memory; and
The second server obtains the file information for the first data from the inode table of the storage device, copies the acquired file information to a buffer page of the cache memory, and stores the file information for the first data. A method for maintaining cache coherency of a cluster file system comprising the step of updating.
삭제delete 제1항에 있어서,
상기 업데이트하는 단계는,
상기 버퍼페이지에 복사된 상기 파일정보에 기초하여 상기 캐시메모리의 아이노드 캐시에 상기 제1데이터에 대한 아이노드 객체를 생성하여 상기 아이노드 캐시를 업데이트하는 단계를 더 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
According to claim 1,
The updating step is
and updating the inode cache by creating an inode object for the first data in the inode cache of the cache memory based on the file information copied to the buffer page. maintenance method.
제3항에 있어서,
상기 업데이트하는 단계는,
업데이트 된 아이노드 캐시에 기초하여 상기 캐시메모리의 덴트리 캐시에 상기 제1데이터에 대한 덴트리 객체를 생성하는 단계를 더 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
According to claim 3,
The updating step is
and generating a dentry object for the first data in a dentry cache of the cache memory based on the updated inode cache.
제1항에 있어서,
상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되면,
상기 제2서버는 검색된 상기 파일정보에 기초하여 상기 제1데이터에 대한 상기 명령어를 실행하는 단계를 더 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
According to claim 1,
When the file information for the first data is retrieved from the cache memory,
and executing, by the second server, the command for the first data based on the searched file information.
제1항에 있어서,
상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되지 않고, 상기 저장장치에서 상기 파일정보가 검색되지 않으면,
상기 제2서버가 상기 제1데이터에 대한 명령어의 오류메시지를 출력하는 단계를 더 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
According to claim 1,
If the file information for the first data is not searched in the cache memory and the file information is not searched in the storage device,
and outputting, by the second server, an error message of a command for the first data.
제1항에 있어서,
상기 캐시메모리에 상기 제1데이터에 대한 상기 파일정보가 업데이트된 후,
상기 제2서버가 업데이트 된 파일정보에 기초하여 상기 제1데이터에 대한 상기 명령어를 실행하는 단계를 더 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
According to claim 1,
After the file information for the first data is updated in the cache memory,
and executing, by the second server, the command for the first data based on the updated file information.
제1항에 있어서,
상기 명령어에 기초하여 상기 제2서버의 미들웨어가 상기 캐시메모리에 상기 제1데이터에 대한 파일경로를 요청하는 단계;
상기 캐시메모리에 기 저장된 다수의 파일정보 중에서 요청된 파일경로를 포함하는 파일정보를 검색하는 단계; 및
검색 결과에 기초하여 상기 캐시메모리에 상기 제1데이터에 대한 상기 파일정보를 업데이트하는 단계를 포함하는 클러스터 파일시스템의 캐시 일관성 유지방법.
According to claim 1,
requesting, by the middleware of the second server, a file path for the first data from the cache memory based on the command;
Retrieving file information including a requested file path among a plurality of file information previously stored in the cache memory; and
and updating the file information for the first data in the cache memory based on a search result.
클러스터 파일시스템에서 네트워크를 통해 하나의 저장장치를 공유하는 제1서버와 제2서버 간 캐시 일관성 유지를 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 수행되며,
상기 제1서버가 제1데이터를 생성하여 상기 저장장치에 저장하는 단계;
상기 제2서버에 입력된 상기 제1데이터에 대한 명령어에 기초하여 상기 제2서버의 캐시메모리에서 상기 제1데이터에 대한 파일정보를 검색하는 단계;
상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되지 않으면, 상기 제2서버가 상기 네트워크를 통해 상기 저장장치에 접속하는 단계; 및
상기 제2서버가 상기 저장장치의 아이노드 테이블에서 상기 제1데이터에 대한 상기 파일정보를 획득하고, 상기 캐시메모리의 버퍼페이지에 획득한 상기 파일정보를 복사하여 상기 제1데이터에 대한 상기 파일정보를 업데이트하는 단계를 상기 프로세서가 수행하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a computer program for maintaining cache coherency between a first server and a second server sharing one storage device over a network in a cluster file system,
The computer program is executed by a processor,
generating, by the first server, first data and storing the first data in the storage device;
retrieving file information for the first data from the cache memory of the second server based on a command for the first data input to the second server;
accessing, by the second server, the storage device through the network when the file information for the first data is not retrieved from the cache memory; and
The second server obtains the file information for the first data from the inode table of the storage device, copies the acquired file information to a buffer page of the cache memory, and stores the file information for the first data. A computer-readable recording medium including instructions for the processor to perform the step of updating.
클러스터 파일시스템에서 네트워크를 통해 하나의 저장장치를 공유하는 제1서버와 제2서버 간 캐시 일관성 유지를 위한 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 수행되며,
상기 제1서버가 제1데이터를 생성하여 상기 저장장치에 저장하는 단계;
상기 제2서버에 입력된 상기 제1데이터에 대한 명령어에 기초하여 상기 제2서버의 캐시메모리에서 상기 제1데이터에 대한 파일정보를 검색하는 단계;
상기 캐시메모리에서 상기 제1데이터에 대한 상기 파일정보가 검색되지 않으면, 상기 제2서버가 상기 네트워크를 통해 상기 저장장치에 접속하는 단계; 및
상기 제2서버가 상기 저장장치의 아이노드 테이블에서 상기 제1데이터에 대한 상기 파일정보를 획득하고, 상기 캐시메모리의 버퍼페이지에 획득한 상기 파일정보를 복사하여 상기 제1데이터에 대한 상기 파일정보를 업데이트하는 단계를 상기 프로세서가 수행하기 위한 명령어를 포함하는 컴퓨터 프로그램.
A computer program for maintaining cache coherency between a first server and a second server sharing one storage device over a network in a cluster file system,
The computer program is executed by a processor,
generating, by the first server, first data and storing the first data in the storage device;
retrieving file information for the first data from the cache memory of the second server based on a command for the first data input to the second server;
accessing, by the second server, the storage device through the network when the file information for the first data is not retrieved from the cache memory; and
The second server obtains the file information for the first data from the inode table of the storage device, copies the acquired file information to a buffer page of the cache memory, and stores the file information for the first data. A computer program comprising instructions for the processor to perform the step of updating.
KR1020220169767A 2022-12-07 2022-12-07 Method for maintaining cache coherency of cluster file system KR102571197B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220169767A KR102571197B1 (en) 2022-12-07 2022-12-07 Method for maintaining cache coherency of cluster file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220169767A KR102571197B1 (en) 2022-12-07 2022-12-07 Method for maintaining cache coherency of cluster file system

Publications (1)

Publication Number Publication Date
KR102571197B1 true KR102571197B1 (en) 2023-08-30

Family

ID=87846143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220169767A KR102571197B1 (en) 2022-12-07 2022-12-07 Method for maintaining cache coherency of cluster file system

Country Status (1)

Country Link
KR (1) KR102571197B1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5414912B2 (en) * 1972-04-07 1979-06-11
JPH09185547A (en) * 1995-12-28 1997-07-15 Toshiba Corp Method and device for controlling multiprocessor
KR20000049990A (en) * 2000-05-10 2000-08-05 정상화 Apparatus and method for processing node in multiprocessor computer system
JP2001504616A (en) * 1996-11-22 2001-04-03 マンゴソフト コーポレイション System and method for providing highly available data storage using globally addressable memory
JP2002149413A (en) * 2000-11-14 2002-05-24 Hitachi Ltd Method for distributing system definition information of cluster software in cluster type computer system, and system for the same
KR20020073378A (en) * 1999-05-25 2002-09-26 실버브룩 리서치 피티와이 리미티드 Method and system for navigating a directory
JP2004505346A (en) * 2000-07-25 2004-02-19 エス・アール・シィ・コンピューターズ・インコーポレイテッド Cache coherency system and method for multiprocessor architecture
US20130205078A1 (en) * 2011-04-04 2013-08-08 International Business Machines Corporation Extending Cache for an External Storage System into Individual Servers
KR101638727B1 (en) 2015-01-05 2016-07-20 한국생명공학연구원 Cluster system
US20180046385A1 (en) * 2016-08-11 2018-02-15 Tuxera Inc. Systems and methods for writing back data to a storage device
JP2021529379A (en) * 2018-06-22 2021-10-28 セールスフォース ドット コム インコーポレイティッド Search server centralized storage

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5414912B2 (en) * 1972-04-07 1979-06-11
JPH09185547A (en) * 1995-12-28 1997-07-15 Toshiba Corp Method and device for controlling multiprocessor
JP2001504616A (en) * 1996-11-22 2001-04-03 マンゴソフト コーポレイション System and method for providing highly available data storage using globally addressable memory
KR20020073378A (en) * 1999-05-25 2002-09-26 실버브룩 리서치 피티와이 리미티드 Method and system for navigating a directory
KR20000049990A (en) * 2000-05-10 2000-08-05 정상화 Apparatus and method for processing node in multiprocessor computer system
JP2004505346A (en) * 2000-07-25 2004-02-19 エス・アール・シィ・コンピューターズ・インコーポレイテッド Cache coherency system and method for multiprocessor architecture
JP2002149413A (en) * 2000-11-14 2002-05-24 Hitachi Ltd Method for distributing system definition information of cluster software in cluster type computer system, and system for the same
US20130205078A1 (en) * 2011-04-04 2013-08-08 International Business Machines Corporation Extending Cache for an External Storage System into Individual Servers
KR101638727B1 (en) 2015-01-05 2016-07-20 한국생명공학연구원 Cluster system
US20180046385A1 (en) * 2016-08-11 2018-02-15 Tuxera Inc. Systems and methods for writing back data to a storage device
JP2021529379A (en) * 2018-06-22 2021-10-28 セールスフォース ドット コム インコーポレイティッド Search server centralized storage

Similar Documents

Publication Publication Date Title
JP7329518B2 (en) System and method for database management using append-only storage devices
US11809726B2 (en) Distributed storage method and device
KR102025934B1 (en) Partitioning and moving ranges in a distributed system
CN106233263B (en) Cache system and method
US7788303B2 (en) Systems and methods for distributed system scanning
US20150254325A1 (en) Managing a distributed database across a plurality of clusters
CN105027069A (en) Deduplication of volume regions
KR20150013191A (en) File handling within a cloud-based file system
CN104281468A (en) Method and system for distributed virtual machine image management
JP2008217209A (en) Difference snapshot management method, computer system and nas computer
US10942867B2 (en) Client-side caching for deduplication data protection and storage systems
US20140250075A1 (en) Using a file system interface to access a remote storage system
CN111158851B (en) Rapid deployment method of virtual machine
US20150067005A1 (en) Path resolver for client access to distributed file systems
US9075722B2 (en) Clustered and highly-available wide-area write-through file system cache
US11726743B2 (en) Merging multiple sorted lists in a distributed computing system
CN109284066B (en) Data processing method, device, equipment and system
US9304946B2 (en) Hardware-base accelerator for managing copy-on-write of multi-level caches utilizing block copy-on-write differential update table
US9213673B2 (en) Networked applications with client-caching of executable modules
US10067843B1 (en) Synchronizing control nodes and a recovery from a failure of a primary control node of a storage system
JP6033420B2 (en) Storage system and storage system control method
KR102571197B1 (en) Method for maintaining cache coherency of cluster file system
US10073874B1 (en) Updating inverted indices
CN113243008A (en) Distributed VFS with shared page cache
US20150106884A1 (en) Memcached multi-tenancy offload

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant