WO2017018567A1 - 하둡 기반 하드웨어 압축 고속화 장치 및 방법 - Google Patents

하둡 기반 하드웨어 압축 고속화 장치 및 방법 Download PDF

Info

Publication number
WO2017018567A1
WO2017018567A1 PCT/KR2015/008449 KR2015008449W WO2017018567A1 WO 2017018567 A1 WO2017018567 A1 WO 2017018567A1 KR 2015008449 W KR2015008449 W KR 2015008449W WO 2017018567 A1 WO2017018567 A1 WO 2017018567A1
Authority
WO
WIPO (PCT)
Prior art keywords
hadoop
compression
based hardware
control module
hardware compression
Prior art date
Application number
PCT/KR2015/008449
Other languages
English (en)
French (fr)
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 디포커스(주)
Publication of WO2017018567A1 publication Critical patent/WO2017018567A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to an apparatus and method for accelerating hardware compression for high speed processing of a low power Hadoop storage appliance.
  • Hadoop clusters have been used as a method of effectively distributing big data.
  • an object of the present invention is to provide a Hadoop-based hardware compression acceleration device in the appliance.
  • the present invention is to provide an apparatus and method for minimizing the time spent distributing and analyzing big data by performing data compression of the Hadoop system through the hardware compression speedup apparatus.
  • the Hadoop-based hardware compression acceleration device performs pre-registration and search with an input buffer that receives a data block to be compressed or decompressed, and performs compression on the data block through a window.
  • a control module for controlling the input buffer, the dictionary module, and the output buffer based on a dictionary module, an output buffer for outputting a result of the compression, and Hadoop storage appliance information.
  • the Hadoop-based hardware compression fastening apparatus and method according to the present invention can accelerate the pre-search and registration process of a compression algorithm by utilizing hardware parallelism.
  • the Hadoop-based hardware compression speeding apparatus and method improves throughput over existing software compression by speeding up the pre-search and registration process.
  • the Hadoop-based hardware compression speedup apparatus and method according to the present invention by compensating for the insufficient computational power of the low-power CPU, there is an advantage that the low-power Hadoop storage appliance applied Hadoop cluster can be managed at low cost.
  • FIG. 1 is an exemplary structure of a Hadoop-based hardware compression device according to the present invention.
  • FIG. 2 is an operation flowchart of a Hadoop-based hardware compression acceleration apparatus according to the present invention.
  • the appliance refers to hardware such as a server or storage.
  • the appliance may be an information device that is sold with software installed in advance before sale and optimized for a specific task. The user can use the appliance when the power supply is connected at the time of purchase, without installing a separate program such as the installation or configuration of an integrated equipment operating system or application software.
  • the Hadoop storage appliance refers to an appliance that performs Hadoop-based data distributed storage.
  • the Hadoop-based hardware compression acceleration apparatus 100 may include an input buffer 10, a dictionary module 20, an output buffer 30, and a control module 40.
  • the hardware compression acceleration apparatus 100 should be connected to the Hadoop storage appliance through an interface that guarantees sufficient bandwidth.
  • the interface may be PCIe 2.0 x4 Lane.
  • the Hadoop-based hardware compression high speed device 100 may be implemented on, for example, a field programmable gate array (FPGA) or a system on chip (SoC).
  • FPGA field programmable gate array
  • SoC system on chip
  • the Hadoop-based hardware compression speedup apparatus 100 may include a compression algorithm calculation circuit.
  • the compression algorithm may use a dictionary-based lossless compression algorithm.
  • the compression algorithm may be an LZ4 compression algorithm.
  • the block size processed by the LZ4 compression algorithm calculation circuit may be 256 KB.
  • the input buffer 10 calculates the extrusion algorithm. It may be a component constituting a circuit.
  • the input buffer 10 receives a data block to be compressed or decompressed from a MapReduce task.
  • the data width is equal to the width of the bus used by the Hadoop storage appliance, and the input buffer 10 aligns the data in endian widths such as the windows of the pre-module for processing data in the hardware compression accelerator. .
  • the data can be sorted into 128-bit big-endian.
  • the endian may be determined according to a usage environment of the hardware compression speed increasing apparatus 100. That is, it may be determined according to the type of CPU applied to the Hadoop cluster. Alternatively, the endian may be determined according to a user's or manufacturer's setting.
  • the input buffer 10 may provide the sorted data to the dictionary module 20.
  • the dictionary module 20 may include a hash function for controlling a memory address and a memory for storing a dictionary value such as an offset.
  • the dictionary module 20 may store at least one program controlling a memory and a memory address by using a hash function.
  • the dictionary module 20 may include a window and logic for performing pre-registration and search.
  • the window is the same size as the compression is performed and is the unit for parallel processing. In this case, the size and number of the memory used may vary depending on the hash function used.
  • the dictionary module 20 may simultaneously perform the pre-registration and search process in parallel by the window size. The dictionary module 20 may perform a compression operation on the sorted data provided from the input buffer 10 by using the window.
  • the output buffer 30 sorts the data according to the bus width and endianness of the Hadoop storage appliance and outputs the result of the compression.
  • First In First Out (FIFO) may be used to prevent the delay of the compression process caused by the overhead of outputting the compressed data.
  • the control module 40 may control the operation of each component of the Hadoop-based hardware compression acceleration apparatus 100. That is, the control module 30 may control signal processing of each component constituting the Hadoop-based hardware compression acceleration apparatus 100 and transmission and reception of data between the components.
  • control module 40 may control sequentially according to a state using a finite state machine (FSM).
  • FSM finite state machine
  • the control module 40 may store at least one extrusion algorithm for data compression in advance.
  • the control module 40 may determine any one of a pre-stored compression algorithm.
  • the control module 40 may determine the compression algorithm based on the Hadoop storage appliance information.
  • Hadoop storage appliance information may include information such as the number of Hadoop storage appliances in the Hadoop cluster, the available storage space of each Hadoop storage appliance, and the total storage space, which adds up the storage space of all Hadoop storage appliances.
  • control module 40 may measure the amount of calculation according to the data compression operation of the Hadoop-based hardware compression speedup apparatus 100.
  • the amount of calculation may include information about the speed of calculation, that is, the speed of performing the compression or decompression operation.
  • the control module 40 may determine the compression algorithm based on the measured amount of computation and Hadoop storage appliance information.
  • control module 40 may change the compression algorithm when one of the compression algorithms is determined and thus the amount of calculation measured while performing the compression algorithm does not reach the preset calculation speed and throughput. In addition, when there is a change in the Hadoop storage appliance information, the control module 40 may change the compression algorithm.
  • control module 40 may determine the size of the data block to be compressed or decompressed, which the input buffer 10 receives from the MapReduce task.
  • the control module 40 may measure the amount of calculation according to the data compression operation, and determine the size of the block based on this.
  • the control module 40 may use Hadoop storage appliance information to determine the block size.
  • the control module 40 may measure the calculation amount by measuring at least one of a compression result provided from the dictionary module 20 to the output buffer 30 or a degree of data alignment output by the output buffer 30.
  • control module 40 may determine the size of the window based on the Hadoop storage appliance information and the measured amount of calculation.
  • FIG. 2 is an operation flowchart of the Hadoop-based hardware compression speedup apparatus according to the present invention. A compression performing operation of the Hadoop-based hardware compression acceleration apparatus 100 will be described in detail with reference to FIG. 2.
  • the Hadoop-based hardware compression acceleration apparatus 100 receives a data block for compression or decompression through the input buffer 10 (S210). Next, the Hadoop-based hardware compression acceleration apparatus 100 may perform compression or decompression on a data block through a window on the dictionary module 20 (S220).
  • the Hadoop-based hardware compression acceleration apparatus 100 may output a result of performing compression or decompression through the output buffer 30 (S230).
  • the control module 40 may measure the amount of calculation for the performed data compression or decompression (S240).
  • the control module 40 may change at least one of the size of the data block and the size of the window based on the measured amount of computation and Hadoop storage appliance information (S250).
  • the Hadoop-based hardware compression acceleration apparatus 100 may perform compression or decompression to a value at least one of the size of the data block and the size of the window is changed.
  • the control module 40 may determine whether the calculated amount of calculation satisfies a preset amount of calculation when the compression is performed with the at least one changed value (S260). As a result of the determination, when the preset calculation amount is satisfied, the Hadoop-based hardware compression speedup apparatus 100 may continue to perform the compression (S270).
  • the control module 40 again at step S250 based on the measured amount of calculation and Hadoop storage appliance information at least of the size of the data block and the size of the window. You can change one.
  • the control module 40 may change the at least one so that the preset calculation amount is satisfied.
  • the preset calculation amount may be determined according to a user's or manufacturer's setting.
  • the Hadoop-based hardware compression acceleration apparatus 100 may maintain an optimal data compression or decompression state.
  • each component may not include some components or may further include additional components.
  • the present invention relates to an apparatus for speeding up hardware compression based on Hadoop.
  • the present invention can compensate for the performance of a low power CPU by performing a compression and decompression process performed by Hadoop middleware through hardware in a low power Hadoop storage appliance. More specifically, the Hadoop-based hardware compression speedup apparatus and method may improve throughput over existing software compression by speeding up the pre-search and registration process.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 하둡 기반의 하드웨어 압축 고속화 장치에 관한 것이다. 본 발명은 저전력 하둡 스토리지 어플라이언스에서 하둡 미들웨어가 수행하는 압축 및 압축해제 과정을 하드웨어를 통해 수행하여 저전력 CPU의 성능을 보완한다. 이를 위해, 본 발명에 따른 하둡 기반의 하드웨어 압축 고속화 장치는 압축 또는 압축해제가 되어야 하는 데이터 블록을 수신하는 입력 버퍼와 사전 등록 및 검색을 수행하고, 윈도우를 통해 상기 데이터 블록에 대한 압축을 수행하는 사전 모듈과 상기 압축이 수행된 결과를 출력하는 출력버퍼 및 하둡 스토리지 어플라이언스 정보를 기초로 상기 입력 버퍼, 상기 사전 모듈 및 상기 출력 버퍼를 제어하는 제어모듈을 포함할 수 있다.

Description

하둡 기반 하드웨어 압축 고속화 장치 및 방법
본 발명은 저전력 하둡 스토리지 어플라이언스의 고속 처리를 위한 하드웨어 압축 고속화 장치 및 방법에 관한 것이다.
최근 빅데이터(Big Data)를 효과적으로 분산 처리하는 방법으로 하둡(Hadoop) 클러스터가 이용되고 있다.
하둡 클러스터를 이용하더라도, 처리해야 할 데이터의 양이 증가함에 따라 데이터의 저장 및 분석을 위하여 더 많은 수의 서버가 요구된다. 이러한 서버의 증설은 클러스터 운용에 있어 많은 전력 소모를 초래하고, 클러스터의 관리에 있어 고비용이 발생한다.
따라서, 저전력 하둡 스토리지 어플라이언스의 필요성이 대두되고 있다. 이러한 저전력 하둡 스토리지 어플라이언스를 이용하기 위해서는 저전력 CPU의 사용이 요구된다. 그러나, 이와 같은 저전력 CPU의 부족한 연산 능력을 보완하기 위한 장치 및 방법은 제공되고 있지 않다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 어플라이언스에 하둡 기반의 하드웨어 압축 고속화 장치를 제공하기 위한 것이다.
보다 구체적으로, 본 발명은 상기 하드웨어 압축 고속화 장치를 통해 하둡 시스템의 데이터 압축을 수행함으로써, 빅데이터를 분산 처리하고 분석하는데 있어 소모되는 시간을 최소화하는 장치 및 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 하둡 기반 하드웨어 압축 고속화 장치는 압축 또는 압축해제가 되어야 하는 데이터 블록을 수신하는 입력 버퍼와 사전 등록 및 검색을 수행하고, 윈도우를 통해 상기 데이터 블록에 대한 압축을 수행하는 사전 모듈과 상기 압축이 수행된 결과를 출력하는 출력버퍼 및 하둡 스토리지 어플라이언스 정보를 기초로 상기 입력 버퍼, 상기 사전 모듈 및 상기 출력 버퍼를 제어하는 제어모듈을 포함할 수 있다.
본 발명에 따른 하둡 기반 하드웨어 압축 고속화 장치 및 방법은 하드웨어 병렬성을 활용하여 압축 알고리즘의 사전 검색 및 등록 과정을 가속화할 수 있다.
보다 구체적으로, 하둡 기반 하드웨어 압축 고속화 장치 및 방법은, 사전 검색 및 등록 과정의 가속화를 통해 기존의 소프트웨어 압축 보다 처리량을 향상 시킨다.
또한, 본 발명에 따른 하둡 기반 하드웨어 압축 고속화 장치 및 방법에 따르면, 저전력 CPU의 부족한 연산 능력을 보완함으로써, 저전력 하둡 스토리지 어플라이언스가 적용된 하둡 클러스터를 저비용으로 관리할 수 있는 장점이 있다.
도 1은 본 발명과 관련된 하둡 기반 하드웨어 압축 고속화 장치 구조 예시도.
도 2는 본 발명과 관련된 하둡 기반 하드웨어 압축 고속화 장치의 동작 순서도.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 어플라이언스란 서버나 스토리지 같은 하드웨어를 의미한다. 상기 어플라이언스는 판매 전에 미리 소프트웨어를 장착해 특정 업무에 최적화된 상태에서 판매되는 정보기기일 수 있다. 사용자는 통합 장비 운영 체계나 응용 소프트웨어의 설치, 설정 등의 별도 프로그램의 설치를 행하지 않고도, 구입 시 전원을 접속하면 상기 어플라이언스를 사용 할 수 있다.
특히, 상기 하둡 스토리지 어플라이언스는 하둡 기반의 데이터 분산 저장을 수행하는 어플라이언스를 의미한다.
도 1은 본 발명과 관련된 하둡 기반의 하드웨어 압축 고속화 장치의 예시도이다. 도 1을 참조하면, 하둡 기반의 하드웨어 압축 고속화 장치(100)는 입력 버퍼(10), 사전 모듈(20), 출력 버퍼(30) 및 제어 모듈(40)을 포함할 수 있다.
하드웨어 압축 고속화 장치(100)는 하둡 스토리지 어플라이언스와 충분한 대역폭을 보장하는 인터페이스를 통하여 연결되어야 한다. 예를 들어, 상기 인터페이스는 PCIe 2.0 x4 Lane일 수 있다. 이때, 하둡 기반 하드웨어 압축 고속화 장치(100)는 예를 들어, FPGA (Field Programmable Gate Array) 또는 SoC (System On Chip) 상에서 구현될 수 있다.
또한, 상기 하둡 기반 하드웨어 압축 고속화 장치(100)는 압축 알고리즘 연산 회로를 구비할 수도 있다. 이때, 압축 알고리즘은 사전 기반의 무손실 압축 알고리즘이 사용될 수 있다. 예를 들어, 압축 알고리즘은 LZ4 압축 알고리즘일 수 있다. 또한, 상기 LZ4 압축 알고리즘 연산 회로가 처리하는 블록의 크기는 256 KB인 것일 수 있다.
이와 같이 하둡 기반 하드웨어 압축 고속화 장치(100)가 압출 알고리즘 연산 회로를 구비하는 경우, 상기 입력 버퍼(10), 사전 모듈(20), 출력 버퍼(30) 및 제어 모듈(40)은 상기 압출 알고리즘 연산 회로를 구성하는 구성요소일 수 있다.
입력 버퍼(10)는 맵리듀스 (MapReduce) 태스크로부터 압축 또는 압축해제가 되어야 하는 데이터 블록을 전달 받는다. 데이터 너비 (Data width)는 하둡 스토리지 어플라이언스가 사용하는 버스의 너비와 같으며, 입력 버퍼(10)는 하드웨어 압축 고속화 장치에서 데이터를 처리하기 위하여 사전 모듈의 윈도우와 같은 너비의 엔디안으로 데이터를 정렬한다. 예를 들어, 하둡 스토리지 어플라이언스로부터 입력 버퍼로 32-bit 데이터가 들어오면 128-bit 빅엔디안으로 데이터를 정렬할 수 있다.
상기 엔디안은 하드웨어 압축 고속화 장치(100)의 사용 환경에 따라 정해질 수 있다. 즉, 하둡 클러스터에 적용된 CPU의 종류에 따라 결정될 수 있다. 또는, 상기 엔디안은 사용자 또는 제조자의 설정에 따라 결정될 수 있다.
입력 버퍼(10)는 정렬된 데이터를 사전 모듈(20)에 제공할 수 있다.
사전 모듈(20)은 오프셋 등의 사전 값을 저장할 메모리와 메모리 주소를 제어하는 해쉬 함수를 포함할 수 있다. 사전 모듈(20)은 해쉬 함수를 이용하여 메모리 및 메모리 주소를 제어하는 적어도 하나의 프로그램을 저장할 수 있다.
또한, 사전 모듈(20)은 사전 등록 및 검색을 수행하는 로직과 윈도우를 포함할 수 있다. 윈도우는 압축이 수행되는 크기와 같으며 병렬처리가 수행되는 단위이다. 이때, 사용되는 메모리의 크기와 수는 사용하는 해쉬 함수에 따라 달라질 수 있다. 또한, 사전 모듈(20)은 사전 등록 및 검색 과정을 윈도우 사이즈만큼 병렬로 동시에 수행할 수 있다. 사전 모듈(20)은 입력 버퍼(10)로부터 제공 받은 상기 정렬된 데이터에 대한 압축 동작을 상기 윈도우를 이용하여 수행할 수 있다.
출력 버퍼(30)는 압축이 수행된 결과를 하둡 스토리지 어플라이언스의 버스 너비와 엔디안에 맞게 데이터를 정렬하여 출력한다. 압축된 데이터를 출력하는 과정의 오버헤드로 인하여 유발되는 압축 과정의 지연을 막기 위해 FIFO(First In First Out)가 사용될 수 있다.
제어 모듈(40)은 하둡 기반 하드웨어 압축 고속화 장치(100)의 각 구성의 동작을 제어할 수 있다. 즉, 제어 모듈(30)은 상기 하둡 기반 하드웨어 압축 고속화 장치(100)를 구성하는 각 구성 요소의 신호처리 및 각 구성 요소간 데이터의 송수신을 제어할 수 있다.
상기 압축 과정은 각 단계가 순차적이므로 제어 모듈(40)은 FSM(Finite State Machine)을 사용하여 상태에 따른 순차적으로 제어할 수 있다.
제어 모듈(40)은 데이터 압축을 위한 적어도 하나의 압출 알고리즘을 미리 저장할 수 있다. 제어 모듈(40)은 미리 저장된 압축 알고리즘 중 어느 하나를 결정할 수 있다. 이때, 제어 모듈(40)은 하둡 스토리지 어플라이언스 정보에 기초하여 압축 알고리즘을 결정할 수 있다. 하둡 스토리지 어플라이언스 정보는 하둡 클러스터에 포함된 하둡 스토리지 어플라이언스의 개수, 하둡 스토리지 어플라이언스 각각의 가용 저장 공간 및 모든 하둡 스토리지 어플라이언스의 저장 공간을 합산한 전체 저장 공간 등의 정보를 포함할 수 있다.
또한, 제어 모듈(40)은 하둡 기반 하드웨어 압축 고속화 장치(100)의 데이터 압축 동작 수행에 따른 연산량을 측정할 수 있다. 여기에서 연산량은 연산 속도, 즉 압축 또는 압축 해제 동작 수행 속도에 대한 정보를 포함할 수도 있다. 제어 모듈(40)은 측정된 연산량 및 하둡 스토리지 어플라이언스 정보를 바탕으로 압축 알고리즘을 결정할 수도 있다.
즉, 어느 하나의 압축 알고리즘을 결정하여, 이에 따라 압축 알고리즘을 수행하는 중 측정된 연산량이 기 설정된 연산 속도 및 처리량에 미치지 못하는 경우, 제어 모듈(40)은 압축 알고리즘을 변경할 수 있다. 또한, 하둡 스토리지 어플라이언스 정보에 변경 사항이 있는 경우에, 제어 모듈(40)은 압축 알고리즘을 변경할 수도 있다.
또한, 제어 모듈(40)은 입력 버퍼(10)가 맵리듀스 (MapReduce) 태스크로부터 전달받는 압축 또는 압축해제가 되어야 하는 데이터 블록의 크기를 결정할 수도 있다. 제어 모듈(40)은 데이터 상기 압축 동작 수행에 따른 연산량을 측정하고, 이를 바탕으로 상기 블록의 크기를 결정할 수 있다. 제어 모듈(40)은 상기 블록 크기 결정을 위해 하둡 스토리지 어플라이언스 정보를 이용할 수도 있다.
제어 모듈(40)은 사전 모듈(20)으로부터 출력 버퍼(30)로 제공되는 압축 결과 또는 출력 버퍼(30)가 출력하는 데이터 정렬 정도 중 적어도 하나를 측정함으로써 상기 연산량을 측정할 수 있다.
또한, 제어 모듈(40)은 상기 하둡 스토리지 어플라이언스 정보 및 상기 측정된 연산량을 토대로 상기 윈도우의 사이즈를 결정할 수도 있다.
도 2는 본 발명과 관련된 하둡 기반 하드웨어 압축 고속화 장치의 동작 순서도이다. 도 2를 참조하여 하둡 기반 하드웨어 압축 고속화 장치(100)의 압축 수행 동작을 구체적으로 설명하도록 한다.
도 2를 참조하면, 하둡 기반 하드웨어 압축 고속화 장치(100)는 입력 버퍼(10)를 통해 압축 또는 압축 해제를 위한 데이터 블록을 수신한다(S210). 다음으로, 하둡 기반 하드웨어 압축 고속화 장치(100)는 사전 모듈(20) 상의 윈도우를 통해 데이터 블록에 대한 압축 또는 압축 해제를 수행할 수 있다(S220).
하둡 기반 하드웨어 압축 고속화 장치(100)는 출력 버퍼(30)를 통해, 압축 또는 압축 해제가 수행된 결과를 출력할 수 있다(S230). 이때, 제어 모듈(40)은 수행된 데이터 압축 또는 압축 해제에 대한 연산량을 측정할 수 있다(S240). 제어 모듈(40)은 측정된 연산량 및 하둡 스토리지 어플라이언스 정보를 기초로 상기 데이터 블록의 크기 및 상기 윈도우의 크기 중 적어도 하나를 변경할 수 있다(S250).
다음으로, 하둡 기반 하드웨어 압축 고속화 장치(100)는 상기 데이터 블록의 크기 및 상기 윈도우의 크기 중 적어도 하나가 변경된 값으로 압축 또는 압축 해제를 수행할 수 있다. 이때, 제어 모듈(40)은 상기 적어도 하나가 변경된 값으로 압축 진행 시, 측정되는 연산량이 기 설정된 연산량을 만족하는지 판단할 수 있다(S260). 상기 판단 결과, 기 설정된 연산량을 만족하면, 하둡 기반 하드웨어 압축 고속화 장치(100)는 압축을 계속 수행할 수 있다(S270).
반면, 측정되는 연산량이 기 설정된 연산량을 만족하지 않는 경우, 단계(S250)에서 다시 제어 모듈(40)은 측정된 연산량 및 하둡 스토리지 어플라이언스 정보를 기초로 상기 데이터 블록의 크기 및 상기 윈도우의 크기 중 적어도 하나를 변경할 수 있다. 특히, 제어 모듈(40)은 기 설정된 연산량이 만족되도록 상기 적어도 하나를 변경할 수 있다. 이때, 기 설정된 연산량은 사용자 또는 제조자의 설정에 따라 결정될 수 있다.
이러한 과정을 통해, 하둡 기반 하드웨어 압축 고속화 장치(100)는 최적의 데이터 압축 또는 압축 해제 상태를 유지할 수 있다.
한편, 도 1의 구성요소들은 기능 또는 동작에 따라 구분된 것에 불과하므로, 다른 기준에 따라 구분될 수도 있다. 또한, 도시된 구성요소들이 필수적 구성요소는 아니므로, 각각 일부 구성요소를 포함하지 않거나 추가적인 구성요소를 더 포함할 수 있다.
한편, 본 명세서와 도면을 통해 본 발명의 바람직한 실시 예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것일 뿐, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 하둡 기반의 하드웨어 압축 고속화 장치에 관한 것이다. 본 발명은 저전력 하둡 스토리지 어플라이언스에서 하둡 미들웨어가 수행하는 압축 및 압축해제 과정을 하드웨어를 통해 수행하여 저전력 CPU의 성능을 보완할 수 있다. 보다 구체적으로, 하둡 기반 하드웨어 압축 고속화 장치 및 방법은, 사전 검색 및 등록 과정의 가속화를 통해 기존의 소프트웨어 압축 보다 처리량을 향상시킬 수 있다.

Claims (9)

  1. 압축 또는 압축해제가 되어야 하는 데이터 블록을 수신하는 입력 버퍼;
    사전 등록 및 검색을 수행하고, 윈도우를 통해 상기 데이터 블록에 대한 압축을 수행하는 사전 모듈;
    상기 압축이 수행된 결과를 출력하는 출력버퍼; 및
    하둡 스토리지 어플라이언스 정보를 기초로 상기 입력 버퍼, 상기 사전 모듈 및 상기 출력 버퍼를 제어하는 제어모듈을 포함하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  2. 제1 항에 있어서,
    상기 하둡 스토리지 어플라이언스 정보는,
    하둡 클러스터에 포함된 하둡 스토리지 어플라이언스의 개수, 상기 하둡 스토리지 어플라이언스 각각의 가용 저장 공간 및 상기 하둡 스토리지 어플라이언스의 저장 공간을 합산한 전체 저장 공간 정보 중 적어도 하나를 포함하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  3. 제1 항에 있어서,
    상기 사전 모듈은,
    LZ 4 압축 알고리즘에 따라, 상기 데이터 블록에 대한 압축을 수행하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  4. 제1 항에 있어서,
    상기 입력 버퍼가 수신하는 데이터 블록의 크기는 256 KB 인,
    하둡 기반의 하드웨어 압축 고속화 장치.
  5. 제1 항에 있어서,
    상기 제어 모듈은,
    상기 사전 모듈이 수행하는 데이터 블록의 압축을 위한 적어도 하나의 압축 알고리즘을 미리 저장하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  6. 제5 항에 있어서,
    상기 제어 모듈은,
    하둡 클러스터에 포함된 하둡 스토리지 어플라이언스 정보를 기초로, 상기 미리 저장된 압축 알고리즘 중 어느 하나를 결정하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  7. 제1 항에 있어서,
    상기 제어 모듈은,
    상기 사전 모듈을 통해 수행되는 압축에 대한 연산량을 측정하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  8. 제7 항에 있어서,
    상기 제어 모듈은,
    하둡 스토리지 어플라이언스 정보 및 상기 측정된 연산량을 기초로 상기 윈도우의 사이즈를 결정하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
  9. 제7 항에 있어서,
    상기 제어 모듈은,
    상기 측정된 연산량을 기초로 상기 데이터 블록의 크기를 결정하는,
    하둡 기반의 하드웨어 압축 고속화 장치.
PCT/KR2015/008449 2015-07-28 2015-08-12 하둡 기반 하드웨어 압축 고속화 장치 및 방법 WO2017018567A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150106457A KR101727508B1 (ko) 2015-07-28 2015-07-28 하둡 기반 하드웨어 압축 고속화 장치 및 방법
KR10-2015-0106457 2015-07-28

Publications (1)

Publication Number Publication Date
WO2017018567A1 true WO2017018567A1 (ko) 2017-02-02

Family

ID=57886830

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/008449 WO2017018567A1 (ko) 2015-07-28 2015-08-12 하둡 기반 하드웨어 압축 고속화 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101727508B1 (ko)
WO (1) WO2017018567A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102195239B1 (ko) 2019-11-29 2020-12-24 숭실대학교산학협력단 대역폭을 고려한 하둡의 데이터 압축 전송 방법, 이를 수행하기 위한 기록 매체 및 장치
KR102592785B1 (ko) * 2021-06-02 2023-10-23 네이버 주식회사 개별 데이터 검색 서비스를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020205A (zh) * 2012-12-05 2013-04-03 北京普泽天玑数据技术有限公司 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法
CN103729429A (zh) * 2013-12-26 2014-04-16 浪潮电子信息产业股份有限公司 一种基于HBase压缩方法
US20140258650A1 (en) * 2013-03-06 2014-09-11 Ab Initio Technology Llc Managing operations on stored data units
US20140280032A1 (en) * 2013-03-13 2014-09-18 Cloudera, Inc. Low latency query engine for apache hadoop
US20150172209A1 (en) * 2013-12-12 2015-06-18 International Business Machines Corporation Resource over-subscription

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565099B2 (en) 2012-12-28 2020-02-18 Apple Inc. Methods and apparatus for compressed and compacted virtual memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020205A (zh) * 2012-12-05 2013-04-03 北京普泽天玑数据技术有限公司 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法
US20140258650A1 (en) * 2013-03-06 2014-09-11 Ab Initio Technology Llc Managing operations on stored data units
US20140280032A1 (en) * 2013-03-13 2014-09-18 Cloudera, Inc. Low latency query engine for apache hadoop
US20150172209A1 (en) * 2013-12-12 2015-06-18 International Business Machines Corporation Resource over-subscription
CN103729429A (zh) * 2013-12-26 2014-04-16 浪潮电子信息产业股份有限公司 一种基于HBase压缩方法

Also Published As

Publication number Publication date
KR20170014042A (ko) 2017-02-08
KR101727508B1 (ko) 2017-04-18

Similar Documents

Publication Publication Date Title
US7953915B2 (en) Interrupt dispatching method in multi-core environment and multi-core processor
US9823868B2 (en) Method and apparatus for virtualization
US7724740B1 (en) Computer system and network interface supporting class of service queues
US10411953B2 (en) Virtual machine fault tolerance method, apparatus, and system
US6934776B2 (en) Methods and apparatus for determination of packet sizes when transferring packets via a network
US7861065B2 (en) Preferential dispatching of computer program instructions
US7894480B1 (en) Computer system and network interface with hardware based rule checking for embedded firewall
US7849247B2 (en) Interrupt controller for accelerated interrupt handling in a data processing system and method thereof
US20210034560A1 (en) Persistent kernel for graphics processing unit direct memory access network packet processing
US9479464B1 (en) Computer system and network interface with hardware based packet filtering and classification
US10909655B2 (en) Direct memory access for graphics processing unit packet processing
US20130268700A1 (en) Prefetching for a shared direct memory access (dma) engine
US11314457B2 (en) Data processing method for data format conversion, apparatus, device, and system, storage medium, and program product
US20090007110A1 (en) Interrupt processing method and system
US11671678B2 (en) Method and device, equipment, and storage medium for data processing
WO2017018567A1 (ko) 하둡 기반 하드웨어 압축 고속화 장치 및 방법
US7466716B2 (en) Reducing latency in a channel adapter by accelerated I/O control block processing
US8671232B1 (en) System and method for dynamically migrating stash transactions
CN107291641B (zh) 用于计算单元的存储器直接访问控制装置及其运行方法
KR100321274B1 (ko) 파이프라인형 멀티 프로세서 시스템
Wang et al. RVNet: A fast and high energy efficiency network packet processing system on RISC-V
CN211180818U (zh) 视频处理设备
CN114827016B (zh) 切换链路聚合方案的方法、装置、设备及存储介质
US20230353509A1 (en) L2 switch, communication control method, and communication control program
CN109542517B (zh) 一种基于指令载荷的流水线动态配置系统及方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15899713

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15899713

Country of ref document: EP

Kind code of ref document: A1