KR101918806B1 - 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법 - Google Patents

분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법 Download PDF

Info

Publication number
KR101918806B1
KR101918806B1 KR1020150092735A KR20150092735A KR101918806B1 KR 101918806 B1 KR101918806 B1 KR 101918806B1 KR 1020150092735 A KR1020150092735 A KR 1020150092735A KR 20150092735 A KR20150092735 A KR 20150092735A KR 101918806 B1 KR101918806 B1 KR 101918806B1
Authority
KR
South Korea
Prior art keywords
cache
file system
data blocks
data
management method
Prior art date
Application number
KR1020150092735A
Other languages
English (en)
Other versions
KR20170002864A (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 KR1020150092735A priority Critical patent/KR101918806B1/ko
Priority to US15/186,537 priority patent/US20170004086A1/en
Publication of KR20170002864A publication Critical patent/KR20170002864A/ko
Application granted granted Critical
Publication of KR101918806B1 publication Critical patent/KR101918806B1/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/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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • G06F17/3048
    • G06F17/30194
    • G06F17/30218
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state storage devices

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법이 제공된다. 본 발명의 실시예에 따른 캐시 관리 방법은, 파일 시스템의 메타데이터를 획득하여 데이터 블록들에 대한 리스트를 생성하고, 리스트를 참조로 캐시에 데이터 블록들을 사전 적재한다. 이에 의해, 하둡 분산 파일 시스템 환경에서 빅 데이터 분석 작업 구동 시, 기존 대비 읽기 성능을 최대로 높일 수 있게 된다.

Description

분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법{Cache Management Method for Optimizing the Read Performance of Distributed File System}
본 발명은 캐시 관리 방법에 관한 것으로, 더욱 상세하게는 하둡 분산 파일 시스템에서 대용량 빅 데이터의 분석 작업을 수행함에 있어 읽기 성능을 극대화할 수 있는 캐시 관리 방법에 관한 것이다.
분산 파일 시스템 구축 시 상대적으로 비싼 SSD(Solid State Disk)에 비해 low price, big capacity의 장점이 있는 HDD(Hard Disk Drive)가 주로 사용된다. 최근 SSD의 가격 절감이 점진적으로 이루어지고 있기는 하지만 현 시점에서도 SSD 가격은 동일 용량 하드디스크 대비 10배를 상회 한다.
따라서, 분산 파일 시스템에서는 SSD의 속도와 HDD의 큰 용량을 기반으로 SSD가 HDD의 Cache 역할을 하도록 사용하고 있지만, 하드 디스크 속도에 영향을 받는 단점이 생긴다.
또한, 하둡 분산 파일 시스템의 I/O는 JVM(Java Virtual Machine)을 기반으로 동작하고 있어, Linux의 Native File System의 I/O 보다 느리다.
따라서, 하둡 분산 파일 시스템의 I/O 속도를 높이기 위해 적용한 캐시 디바이스가 존재하지만 JVM 구조와 다양한 규모의 빅 데이터 때문에 캐시 디바이스가 효율적으로 동작되지 못하는 구조를 갖는다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 빅 데이터 분석 작업 시간을 최소화하기 위한 방안으로, 하둡 분산 파일 시스템에서 빅 데이터의 읽기 속도를 극대화할 수 있는 캐시 관리 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 캐시 관리 방법은, 파일 시스템의 메타데이터를 획득하는 단계; 상기 메타데이터로부터 데이터 블록들에 대한 리스트를 생성하는 단계; 및 상기 리스트를 참조로, 캐시에 데이터 블록들을 사전 적재하는 단계;를 포함한다.
그리고, 상기 적재 단계는, 클라이언트로부터 요청받은 데이터 블록들을 상기 캐시에 사전 적재할 수 있다.
또한, 상기 적재 단계는, 상기 클라이언트에 의해 데이터 블록이 처리되는 중에, 다른 데이터 블록들을 상기 캐시에 사전 적재할 수 있다.
그리고, 상기 적재 단계는, 상기 클라이언트로부터 요청받은 데이터 블록들 및 상기 데이터 블록들과 함께 참조되는 빈도가 기준 빈도 이상인 데이터 블록들을 상기 캐시에 사전 적재할 수 있다.
또한, 상기 파일 시스템은, 하둡 분산 파일 시스템이고, 상기 캐시는, SSD(Solid State Disk)로 구현될 수 있다.
한편, 본 발명의 다른 실시예에 따른, 서버는, 캐시; 및 파일 시스템의 메타데이터를 획득하고, 상기 메타데이터로부터 데이터 블록들에 대한 리스트를 생성하며, 상기 리스트를 참조로 상기 캐시에 데이터 블록들을 사전 적재하도록 명령하는 프로세서;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 하둡 분산 파일 시스템 환경에서 빅 데이터 분석 작업 구동 시, 기존 대비 읽기 성능을 최대로 높일 수 있게 된다.
또한, 하둡 분산 파일 시스템 환경에서 캐시 디바이스의 사용과 적합한 블록의 사전 적재를 통해 효율적인 캐시 디바이스 사용에 따라 분석 작업의 속도를 최대로 끌어 올릴 수 있게 된다.
도 1은 캐시 사전 적재의 설명에 제공되는 도면,
도 2는 본 발명의 일 실시예에 따른 캐시 관리 방법의 설명에 제공되는 도면,
도 3은, 도 2에 도시된 캐시 관리 방법에 의한 읽기 속도 극대화를 나타낸 도면, 그리고,
도 4는 본 발명의 일 실시예에 따른 하둡 서버의 블록도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 캐시 사전 적재의 설명에 제공되는 도면이다. 도 1의 좌측에는 클라이언트가 데이터 블록 "B"를 읽는 상황을 나타내었고, 도 1의 중앙에는 캐시 미스 상황을 나타내었으며, 도 1의 우측에는 캐시 히트 상황을 나타내었다.
도 1의 중앙에 나타난 바와 같이, 클라이언트가 읽고자 하는 데이터 블록 "B"가 캐시에 적재되어 있지 않은 경우(캐시 미스), HDD(Hard Disk Drive)로부터 데이터 블록 "B"를 SSD 캐시(Solid State Disk Cache)에 적재한 후에 데이터 블록 "B"를 읽어야 하는데, 이 경우 HDD로부터 데이터 블록 "B"을 읽어들여 SSD 캐시에 적재하는 과정에서 시간 지연이 발생한다.
하지만, 도 1의 우측에 나타난 바와 같이, 클라이언트가 읽고자 하는 데이터 블록 "B"가 캐시에 적재되어 있는 경우(캐시 히트), 즉, 데이터 블록 "B"가 HDD로부터 SSD 캐시에 사전 적재되어 있는 경우, 시간 지연이 발생하지 않는다.
이에, 본 발명의 실시예에서는, 하둡 분산 파일 시스템에서 데이터 블록들의 사전 적재를 통해 읽기 속도를 극대화하는 캐시 관리 방법을 제시한다.
본 발명의 실시예에 따른 캐시 관리 방법은, 하둡 분산 파일 시스템에서 대용량 빅 데이터의 분석 작업을 진행하는데 있어 읽기 성능/속도를 극대화할 수 있는 캐시 메커니즘을 제공한다.
이를 위해, 본 발명의 실시예에 따른 캐시 관리 방법은, 하둡 분산 파일 시스템 환경에서 빅 데이터 분석 작업 시 분석에 필요한 데이터 블록의 리스트를 참조로 데이터 블록들을 사전에 캐시에 적재한다. 이에, 분석 작업에 필요한 데이터 블록들에 대한 캐시 히트율을 높여, 읽기 성능/속도를 높이고, 궁극적으로는 빅 데이터 분석 작업 시간을 최소화 시킨다.
이하에서, 제시한 캐시 관리 방법의 구체적인 과정에 대해, 도 2를 참조하여 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른 캐시 관리 방법의 설명에 제공되는 도면이다.
도 2에 도시된 바와 같이, 먼저 하둡 파일 시스템 체크(Hadoop fsck) 명령어로 HDFS 메타데이터를 획득한다(①).
CAD(Cache Accelerator Daemon)의 메타 생성기(Meta Generator)는 "①"에서 획득된 HDFS 메타데이터로부터 전체 블록 메타데이터(Total Block Metadata)를 생성한다(②). 전체 블록 메타데이터에는 HDD에 저장된 HDFS 블록들에 대한 리스트가 포함되어 있다.
이후, 작업 클라이언트(Job Client)로부터 IPC 통신으로 CAD의 IPC 서버에 MapReduce에서 사용할 HDFS 블록 정보를 전송한다(③).
그러면, IPC 서버는 "③"에서 요청된 HDFS 블록들을 전체 블록 메타데이터에서 검색한다(④). 검색하는 블록들은 작업 클라이언트가 직접 요청한 HDFS 블록들은 물론, 직접 요청된 HDFS 블록과 함께 참조되는 빈도가 기준 빈도 이상인 HDFS 블록들도 포함된다.
다음, CAD는 CLI 명령어로 "④"에서 검색된 HDFS 블록들을 SSD 캐시에 적재하도록 명령한다(⑤). 이에, 검색된 HDFS 블록들이 HDD로부터 SSD 캐시로 적재된다(⑥).
이후, SSD 캐시에 적재된 HDFS 블록들이 로드되어(⑦), 작업 클라이언트로 전달된다(⑧). 작업 클라이언트로 전달되는 첫 번째 HDFS 블록을 제외한 이후 HDFS 블록들에 대해서는 사전 적재된 상태로 캐시 히트가 이루어지므로, HDFS 블록 전달 속도는 매우 빠르다.
도 3에는 하둡 분산 파일 시스템에서 대용량 빅 데이터의 분석 작업을 진행함에 있어, 도 2에 도시된 캐시 관리 방법에 의해 읽기 속도 극대화가 가능함을 기존의 기법과 비교하여 나타내었다.
도 3의 (A)에는 도 2에 도시된 캐시 관리 방법에 의한 HDFS 데이터 읽기 과정을 나타내었고, 도 3의 (B)에는 도 2에 도시된 캐시 관리 방법에 의하지 않은 일반적인 방법에 의한 HDFS 데이터 읽기 과정을 나타내었다.
도 3에 도시된 바에 따르면, 첫 번째 HDFS 데이터 블록 "A"를 제외한 나머지 블록 "B", "C", "D", "E"에 대해, (A)에서는 캐시 히트에 의해 읽기에 소요되는 시간이 적은 반면, (B)에서는 캐시 미스에 의해 읽기에 소요되는 시간이 많으며, 이에 작업 완료에 소요되는 시간 차가 발생하였음을 확인할 수 있다.
도 3의 (A)에서는 작접 클라이언트에 의해 HDFS 블록이 처리(Processing) 되는 중에, 다른 데이터 블록들이 HDD에서 SSD 캐시에 사전 적재하기 때문이다.
도 4는 본 발명의 일 실시예에 따른 하둡 서버의 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 하둡 서버는, I/O(310), 프로세서(120), 디스크 제어부(130), SSD 캐시(Solid State Disk Cache)(140) 및 HDD(Hard Disk Drive)(150)를 포함한다.
I/O(110)는 네트워크를 통해 클라이언트들과 연결되어, 작업 클라이언트들이 하둡 서버에 액세스하는 인터페이스로 기능한다.
프로세서(120)는 도 1에 도시된 CAD를 이용하여, 전체 블록 메타데이터를 생성하고, 생성된 전체 블록 메타데이터를 참조하여 I/O(110)를 통해 액세스한 작업 클라이언트들이 요청한 데이터 블록들의 사전 적재를 디스크 제어부(130)에 명령한다.
디스크 제어부(130)는 프로세서(120)의 명령에 따라 SSD 캐시(140)와 HDD(150)를 제어하여 사전 적재를 수행한다.
지금까지, 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법에 대해 바람직한 실시예를 들어 상세히 설명하였다.
위 실시예에서, 하둡 분산 파일 시스템을 언급하였는데, 이는 분산 파일 시스템의 일 예로 언급한 것이다. 다른 파일 시스템에 대해서도 본 발명의 기술적 사상이 적용될 수 있다.
나아가, SSD 캐시도 다른 매체를 이용한 캐시로 대체될 수 있음은 물론이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
110 : I/O
120 : 프로세서
130 : 디스크 제어부
140 : SSD 캐시(Solid State Disk Cache)
150 : HDD(Hard Disk Drive)

Claims (6)

  1. 서버가, 파일 시스템의 메타데이터를 획득하는 단계;
    상기 서버가, 상기 메타데이터로부터 데이터 블록들에 대한 리스트를 생성하는 단계; 및
    상기 리스트를 참조로, 상기 서버가 캐시에 데이터 블록들을 사전 적재하는 단계;를 포함하고,
    상기 적재 단계는,
    클라이언트로부터 요청받은 데이터 블록들 및 상기 데이터 블록들과 함께 참조되는 빈도가 기준 빈도 이상인 데이터 블록들을 상기 캐시에 사전 적재하며,
    상기 획득 단계는,
    파일 시스템 체크를 위한 명령어로 메타 데이터를 획득하고,
    상기 적재 단계는,
    상기 클라이언트에 의해 데이터 블록이 처리되는 중에, 다른 데이터 블록들을 상기 캐시에 사전 적재하는 것을 특징으로 하는 캐시 관리 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 파일 시스템은, 하둡 분산 파일 시스템이고,
    상기 캐시는, SSD(Solid State Disk)로 구현된 것을 특징으로 하는 캐시 관리 방법.
  6. 캐시; 및
    파일 시스템의 메타데이터를 획득하고, 상기 메타데이터로부터 데이터 블록들에 대한 리스트를 생성하며, 상기 리스트를 참조로 상기 캐시에 데이터 블록들을 사전 적재하도록 명령하는 프로세서;를 포함하고,
    상기 프로세서는,
    클라이언트로부터 요청받은 데이터 블록들 및 상기 데이터 블록들과 함께 참조되는 빈도가 기준 빈도 이상인 데이터 블록들을 상기 캐시에 사전 적재하며,
    파일 시스템 체크를 위한 명령어로 메타 데이터를 획득하고,
    상기 클라이언트에 의해 데이터 블록이 처리되는 중에, 다른 데이터 블록들을 상기 캐시에 사전 적재하는 것을 특징으로 하는 서버.
KR1020150092735A 2015-06-30 2015-06-30 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법 KR101918806B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150092735A KR101918806B1 (ko) 2015-06-30 2015-06-30 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법
US15/186,537 US20170004086A1 (en) 2015-06-30 2016-06-20 Cache management method for optimizing read performance of distributed file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150092735A KR101918806B1 (ko) 2015-06-30 2015-06-30 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법

Publications (2)

Publication Number Publication Date
KR20170002864A KR20170002864A (ko) 2017-01-09
KR101918806B1 true KR101918806B1 (ko) 2018-11-14

Family

ID=57684144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150092735A KR101918806B1 (ko) 2015-06-30 2015-06-30 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법

Country Status (2)

Country Link
US (1) US20170004086A1 (ko)
KR (1) KR101918806B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213695B (zh) * 2017-06-30 2023-07-21 伊姆西Ip控股有限责任公司 缓存管理方法、存储***以及计算机程序产品
CN107656701A (zh) * 2017-09-26 2018-02-02 郑州云海信息技术有限公司 小文件读加速方法、***、装置及计算机可读存储介质
CN110781159B (zh) * 2019-10-28 2021-02-02 柏科数据技术(深圳)股份有限公司 Ceph目录文件信息读取方法、装置、服务器及存储介质
CN111026814B (zh) * 2019-11-12 2024-04-12 上海麦克风文化传媒有限公司 一种低成本数据存储方法
CN111625503B (zh) * 2020-05-29 2022-11-04 苏州浪潮智能科技有限公司 一种分布式文件***文件局部随机预读的方法和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215160A1 (en) * 2013-01-30 2014-07-31 Hewlett-Packard Development Company, L.P. Method of using a buffer within an indexing accelerator during periods of inactivity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140250272A1 (en) * 2013-03-04 2014-09-04 Kabushiki Kaisha Toshiba System and method for fetching data during reads in a data storage device
US9342557B2 (en) * 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
WO2014155553A1 (ja) * 2013-03-27 2014-10-02 富士通株式会社 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215160A1 (en) * 2013-01-30 2014-07-31 Hewlett-Packard Development Company, L.P. Method of using a buffer within an indexing accelerator during periods of inactivity

Also Published As

Publication number Publication date
KR20170002864A (ko) 2017-01-09
US20170004086A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
KR101918806B1 (ko) 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법
US9767070B2 (en) Storage system with a memory blade that generates a computational result for a storage device
US9424196B2 (en) Adjustment of the number of task control blocks allocated for discard scans
US20100042719A1 (en) Content access to virtual machine resource
US20150331622A1 (en) Management of server cache storage space
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
US8732702B2 (en) File system for storage area network
US10587686B2 (en) Sustaining backup service level objectives using dynamic resource allocation
JP2012133772A (ja) リモートストレージシステムのためのデータ処理方法及び装置
US10877848B2 (en) Processing I/O operations in parallel while maintaining read/write consistency using range and priority queues in a data protection system
CN103870312A (zh) 建立虚拟机共享存储缓存的方法及装置
US10298709B1 (en) Performance of Hadoop distributed file system operations in a non-native operating system
US20090327303A1 (en) Intelligent allocation of file server resources
US20180196611A1 (en) Highly scalable computational active ssd storage device
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
US9519549B2 (en) Data storage backup with lessened cache pollution
KR101694301B1 (ko) 스토리지 시스템의 파일 처리 방법 및 그 방법에 따른 데이터 서버
US9767029B2 (en) Data decompression using a construction area
TWI824392B (zh) 適用於分散式深度學習計算的隨需即組共用資料快取方法、電腦程式、電腦可讀取媒體
KR20210054732A (ko) 객체 스토리지 장치 및 이를 이용한 데이터 저장방법
JP6039345B2 (ja) 画像管理装置、画像管理方法及びプログラム
US10354062B2 (en) System and method for simultaneous forensic, acquisition, examination and analysis of a computer readable medium at wire speed
US20240168629A1 (en) Variable sized data chunks with striped erasure coding
US20230409530A1 (en) Grouping data to conserve storage capacity
Yeh et al. Enabling prioritized cloud i/o service in hadoop distributed file system

Legal Events

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