KR101918806B1 - 분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법 - Google Patents
분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G06F17/3048—
-
- G06F17/30194—
-
- G06F17/30218—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
분산 파일 시스템의 읽기 성능 극대화를 위한 캐시 관리 방법이 제공된다. 본 발명의 실시예에 따른 캐시 관리 방법은, 파일 시스템의 메타데이터를 획득하여 데이터 블록들에 대한 리스트를 생성하고, 리스트를 참조로 캐시에 데이터 블록들을 사전 적재한다. 이에 의해, 하둡 분산 파일 시스템 환경에서 빅 데이터 분석 작업 구동 시, 기존 대비 읽기 성능을 최대로 높일 수 있게 된다.
Description
본 발명은 캐시 관리 방법에 관한 것으로, 더욱 상세하게는 하둡 분산 파일 시스템에서 대용량 빅 데이터의 분석 작업을 수행함에 있어 읽기 성능을 극대화할 수 있는 캐시 관리 방법에 관한 것이다.
분산 파일 시스템 구축 시 상대적으로 비싼 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는 본 발명의 일 실시예에 따른 하둡 서버의 블록도이다.
도 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)
120 : 프로세서
130 : 디스크 제어부
140 : SSD 캐시(Solid State Disk Cache)
150 : HDD(Hard Disk Drive)
Claims (6)
- 서버가, 파일 시스템의 메타데이터를 획득하는 단계;
상기 서버가, 상기 메타데이터로부터 데이터 블록들에 대한 리스트를 생성하는 단계; 및
상기 리스트를 참조로, 상기 서버가 캐시에 데이터 블록들을 사전 적재하는 단계;를 포함하고,
상기 적재 단계는,
클라이언트로부터 요청받은 데이터 블록들 및 상기 데이터 블록들과 함께 참조되는 빈도가 기준 빈도 이상인 데이터 블록들을 상기 캐시에 사전 적재하며,
상기 획득 단계는,
파일 시스템 체크를 위한 명령어로 메타 데이터를 획득하고,
상기 적재 단계는,
상기 클라이언트에 의해 데이터 블록이 처리되는 중에, 다른 데이터 블록들을 상기 캐시에 사전 적재하는 것을 특징으로 하는 캐시 관리 방법.
- 삭제
- 삭제
- 삭제
- 청구항 1에 있어서,
상기 파일 시스템은, 하둡 분산 파일 시스템이고,
상기 캐시는, SSD(Solid State Disk)로 구현된 것을 특징으로 하는 캐시 관리 방법.
- 캐시; 및
파일 시스템의 메타데이터를 획득하고, 상기 메타데이터로부터 데이터 블록들에 대한 리스트를 생성하며, 상기 리스트를 참조로 상기 캐시에 데이터 블록들을 사전 적재하도록 명령하는 프로세서;를 포함하고,
상기 프로세서는,
클라이언트로부터 요청받은 데이터 블록들 및 상기 데이터 블록들과 함께 참조되는 빈도가 기준 빈도 이상인 데이터 블록들을 상기 캐시에 사전 적재하며,
파일 시스템 체크를 위한 명령어로 메타 데이터를 획득하고,
상기 클라이언트에 의해 데이터 블록이 처리되는 중에, 다른 데이터 블록들을 상기 캐시에 사전 적재하는 것을 특징으로 하는 서버.
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)
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)
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)
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 |
JP6090431B2 (ja) * | 2013-03-27 | 2017-03-08 | 富士通株式会社 | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム |
-
2015
- 2015-06-30 KR KR1020150092735A patent/KR101918806B1/ko active IP Right Grant
-
2016
- 2016-06-20 US US15/186,537 patent/US20170004086A1/en not_active Abandoned
Patent Citations (1)
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 |
---|---|
US20170004086A1 (en) | 2017-01-05 |
KR20170002864A (ko) | 2017-01-09 |
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 | |
US20150331622A1 (en) | Management of server cache storage space | |
US20100042719A1 (en) | Content access to virtual machine resource | |
US9182912B2 (en) | Method to allow storage cache acceleration when the slow tier is on independent controller | |
US8732702B2 (en) | File system for storage area network | |
US9880928B1 (en) | Storing compressed and uncompressed data in blocks having different allocation unit sizes | |
US10587686B2 (en) | Sustaining backup service level objectives using dynamic resource allocation | |
US10298709B1 (en) | Performance of Hadoop distributed file system operations in a non-native operating system | |
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) | 建立虚拟机共享存储缓存的方法及装置 | |
US20090327303A1 (en) | Intelligent allocation of file server resources | |
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 |