KR20210064946A - 메모리 기반 자료 구조 관리 장치 및 방법 - Google Patents

메모리 기반 자료 구조 관리 장치 및 방법 Download PDF

Info

Publication number
KR20210064946A
KR20210064946A KR1020190153746A KR20190153746A KR20210064946A KR 20210064946 A KR20210064946 A KR 20210064946A KR 1020190153746 A KR1020190153746 A KR 1020190153746A KR 20190153746 A KR20190153746 A KR 20190153746A KR 20210064946 A KR20210064946 A KR 20210064946A
Authority
KR
South Korea
Prior art keywords
memory
data
data structure
analysis
present
Prior art date
Application number
KR1020190153746A
Other languages
English (en)
Inventor
차명훈
김홍연
안백송
이상민
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190153746A priority Critical patent/KR20210064946A/ko
Publication of KR20210064946A publication Critical patent/KR20210064946A/ko

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

메모리 기반 자료 구조 관리 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 장치는 데이터에 대한 기본 자료 구조와 보조 자료 구조를 생성하는 인-메모리 관리부; 상기 데이터의 포맷을 인-메모리 포맷으로 변환하는 데이터 변환부; 복수개의 컴퓨팅 노드들에 상기 데이터를 검색 가능한 상태로 배치하는 데이터 제어 관리부 및 상기 데이터의 분석 작업을 파이프라인에 연결하는 파이프라인 연결부를 포함한다.

Description

메모리 기반 자료 구조 관리 장치 및 방법 {APPARATUS AND METHOD FOR MANAGING DATA STRUCTURES BASED ON MEMORY}
본 발명은 자료 구조 관리 기술에 관한 것으로, 보다 상세하게는 메모리 기반으로 자료 구조를 관리하는 기술에 관한 것이다.
다수의 서버들을 기반으로 분석 작업을 수행하기 위해서는 디스크로부터 분석할 자료를 로딩하여 인-메모리 자료 구조로 표현하는 것이 보편적이다. 최근 분석 대상 데이터들이 점점 거대해지는 경향이 있으며, 단일 서버 메모리로는 그러한 데이터를 표현하기 위한 자료 구조를 수용하지 못하는 상황이 빈번하다. 특히, 인메모리 자료 구조를 효율적으로 표현하기 위한 운영체제 수준의 지원도 부족하여 메모리 사용량이 더욱 과다해 진다.
또한, 분석 작업의 특성상 디스크와 메모리 간의 입출력이 많으며, 그 과정에서 데이터 직렬화(serialization)/역직렬화(deserialization)의 비용이 많이 소모된다. 따라서, 다수의 서버들의 메모리를 충분히 활용하여 거대 자료 구조를 효율적으로 처리하기 위한 방법과; 효율적으로 인-메모리 자료 구조를 지원하기 위한 수단이 필요하다.
분석 작업을 수행하기 위해서는 파일로 저장된 원시 데이터를 메모리로 로딩할 필요가있으나, 인-메모리 자료 구조를 효과적으로 표현하기 위한 운영체제 수준에서의 지원이 부족하여, 많은 데이터를 신속하게 분석 처리하기에 어려운 상황에 있다.
또한, 분석 작업은 여러 개의 서브 분석 작업으로 구성되고, 각 서브 분석 작업은 파이프라인으로 연계되어 다음 서브 분석 작업으로 연결되는 것이 보편적이다. 즉, 어떤 서브 분석 작업의 결과 파일이 다음 서브 분석 작업의 입력으로 들어가게 된다. 이러한 시나리오에서는 서브 분석 작업의 결과를 파일로 저장하고, 다음 분석 작업에서 그 결과 파일을 로딩해서 다시 인-메모리 포맷으로 변환하는 것이 많은 부담을 유발시킨다.
한편, 미국공개특허 US 2018/0210761 " Distributed graph processing system featuring interactive remote control mechanism including task cancellation"는 처리 중인 그래프 작업을 삭제하는 것과 같은 대화식 제어 방법에 대한 프로토콜을 구현함으로써 종래의 배치 방법에서 기인하는 비효율을 제거하고 그래프 처리 작업을 제어 및 동기화하기 위한 수단을 개시하고 있다.
그러나, 미국공개특허 US 2018/0210761는 데이터 자체를 콤팩트하게 관리하고 분석 작업들의 단계간 연결에 대한 효율적 방법은 제시하지 않고 있다.
또한, 한국공개특허 제 10-2015-0125511 호 "그래프 압축 처리 방법 및 장치"는 그래프 상에 존재하는 허브 노드 간의 연결을 고려하여 허브 노드들을 제거하고, 허브 노드로부터 분해되는 스포크 노드를 배열할 때 허브 노드의 차수를 고려함으로써, 그래프 압축률을 향상시키고 그래프 마이닝 알고리즘의 수행 속도를 높이기 위한 방법을 개시하고 있다.
그러나, 한국공개특허 제 10-2015-0125511 호는 클러스터 규모에서 메모리 사용량을 최소화하고 거대 규모 데이터를 표현하기 위한 방법은 언급하지 않고 있다.
본 발명은 자료 구조의 분석 작업을 효율적으로 연계하고, 자료 구조를 효율적으로 표현하고 관리하는 것을 목적으로 한다.
또한, 본 발명은 거대 데이터를 빠른 속도로 분석하는 기반을 제공하는 것을 목적으로 한다.
또한, 본 발명은 자료 구조를 컴팩트하게 관리하고 제한된 상황에서 매우 많은 데이터를 표현하는 것을 목적으로 한다.
또한, 본 발명은 분석 작업에 따른 비용을 절감하고, 데이터 표현 및 분석 단계간 연결을 효율적으로 수행하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 장치는 데이터에 대한 기본 자료 구조와 보조 자료 구조를 생성하는 인-메모리 관리부; 상기 데이터의 포맷을 인-메모리 포맷으로 변환하는 데이터 변환부; 복수개의 컴퓨팅 노드들에 상기 데이터를 검색 가능한 상태로 배치하는 데이터 제어 관리부 및 상기 데이터의 분석 작업을 파이프라인에 연결하는 파이프라인 연결부를 포함한다.
본 발명은 자료 구조의 분석 작업을 효율적으로 연계하고, 자료 구조를 효율적으로 표현하고 관리할 수 있다.
또한, 본 발명은 거대 데이터를 빠른 속도로 분석하는 기반을 제공할 수 있다.
또한, 본 발명은 자료 구조를 컴팩트하게 관리하고 제한된 상황에서 매우 많은 데이터를 표현할 수 있다.
또한, 본 발명은 분석 작업에 따른 비용을 절감하고, 데이터 표현 및 분석 단계간 연결을 효율적으로 수행할 수 있다.
도 1은 본 발명의 일실시예에 메모리 기반 자료 구조 관리 장치를 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 기본 자료 구조와 보조 자료 구조를 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 인-메모리의 기본 자료 구조와 보조 자료 구조를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 비휘발성 메모리들을 관리하는 대규모 자료 구조를 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 기본 자료 구조와 보조 자료 구조가 비휘발성 메모리에 배치된 것을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 거대 자료 구조에 분석 작업을 적용화는 과정을 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 방법을 나타낸 동작흐름도이다.
도 8은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "??부", "??기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 메모리 기반 자료 구조 관리 장치를 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 메모리 기반 자료 구조 관리 장치는 인-메모리 관리부(100), 데이터 제어/관리부(101), 파이프라인 연결부(102) 및 데이터 변환부(103)를 포함한다.
인-메모리 관리부(100)는 비휘발성 메모리 기반 시스템에서 인-메모리 포맷의 데이터를 이용하여 기본 자료 구조와 보조 자료 구조를 생성할 수 있다.
비휘발성 메모리 기반 시스템은 데이터 분석 작업을 수행하기 위하여, 비휘발성 메모리를 포함한 복수개의 서버들, 상기 서버들이 네트워크 혹은 패브릭으로 연결된 체제 밀 서버들의 비휘발성 메모리가 다수의 조각으로 분할 관리되고, 다수의 조각으로 분할 관리되는 비휘발성 메모리 조각들로 구성되는 글로벌한 비휘발성 메모리 시스템을 포함할 수 있다.
이 때, 인-메모리 관리부(100)는 기본 자료 구조와 보조 자료 구조를 이용하여 거대 자료 구조를 관리할 수 있다
데이터 제어/관리부(101)는 다수 서버들의 비휘발성 메모리에 이러한 자료구조들을 효율적으로 배치하고 검색 가능하게끔 관리할 수 있다.
이 때, 데이터 제어/관리부(102)는 데이터 분석 작업에 필요한 데이터의 일부분을 서버들의 비휘발성 메모리에 배치하고, 비휘발성 메모리에 배치된 데이터 조각을 검색할 수 있다.
파이프라인 연결부(102)는 파이프라인을 구성하는 여러 개의 분석 작업들 내에서 사용되는 데이터들이 인-메모리 포맷으로 각 분석 작업들을 연동시키기 위한 수단을 제공할 수 있다.
데이터 변환부(103)는 총괄 분석 작업을 시작하는 최초 시점에서, 파일로 표현된 데이터의 포맷를 인-메모리 관리부(100)에서 처리할 수 있도록 인-메모리 포맷으로 변환하며, 총괄 분석 작업의 마지막 시점에서는 인-메모리 자료 구조를 파일로 변환할 수 있다.
이 때, 데이터 변환부(103)는 총괄 분석 작업의 시작 시점부터 인-메모리 포맷으로 표현된 데이터를 기반으로 분석 과정을 시작할 수 있다.
도 2는 본 발명의 일실시예에 따른 기본 자료 구조와 보조 자료 구조를 나타낸 도면이다.
도 2를 참조하면, 별도의 인덱스없이 즉시 원하는 데이터 검색이 가능한 기본 자료 구조(200)와, 기본 자료 구조의 엔트리가 커지는 경우를 수용하기 위한 보조 자료 구조(201)의 형상을 나타낸 것을 알 수 있다.
기본 자료 구조(200)는 고정된 크기를 가진 엔트리들의 배열로 구성될 수 있다.
이 때, 기본 자료 구조(200)는 하나의 엔트리는 식별자(202), 속성(203), 보조 자료구조 연동을 위한 필드(204)로 구성될 수 있다.
이 때, 기본 자료 구조(200)는 별도 인덱스가 없더라도 원하는 데이터의 즉시 검색이 가능하게끔 고정 크기의 엔트리 배열로 구성될 수 있다.
보조 자료 구조(201) 또한 고정된 크기를 가진 엔트리들의 배열로 구성될 수 있다.
이 때, 보조 자료 구조(201)는 기본 자료 구조(200)의 엔트리 크기와는 다른 엔트리 크기를 가지게끔 설정될 수 있다.
이 때, 보조 자료 구조(201)의 엔트리는 식별자(205), 현 보조 자료 구조 엔트리와 연결된 기본 자료 구조의 특정 엔트리를 가리키는 속성(206), 자유롭게 사용할 수 있는 필드(207)로 구성될 수 있다.
또한, 보조 자료 구조(201)는 별도 인덱스가 없더라도 원하는 데이터의 즉시 검색이 가능하게끔 고정 크기의 엔트리 배열로 구성될 수 있다.
도 3은 본 발명의 일실시예에 따른 인-메모리의 기본 자료 구조와 보조 자료 구조를 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치가 그래프에 대한 분석 작업을 수행한다고 가정하였을 때, 그래프의 연결된 에지(edge)들을 인-메모리의 기본/보조 자료 구조에서 표현한 것을 알 수 있다.
분석 작업에 사용할 그래프(300)는 각 정점(vertex)에 연결된 에지(edge)들을 기본 자료 구조(301)와 보조 자료 구조(302)를 구분해서 표현된 것을 알 수 있다.
예를 들어, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 정점을 기준으로 그 정점에 연결된 모든 에지들을 하나의 엔트리로써 관리하는 자료 구조를 만들고자 할 때, 정점 0(303)에 연결된 에지들(0->1, 0->2, ??, 0-> 11, 0->12)을 저장하기 위하여, 기본 자료 구조(301)에서 하나의 엔트리를 할당하고, 연결된 정점들의 식별자 값들(304)을 그 엔트리의 속성 필드에 채워줄 수 있다. 만일, 기본 자료 구조(301)의 엔트리 단위 크기보다 큰 데이터를 표현하고자 하면, 보조 자료 구조(302)에서 하나의 엔트리를 할당하고, 기본 자료 구조(301)에서 수용하지 못했던 부가적인 정보들(305)을 보조 자료 구조(302)의 자유 필드에 저장하고, 기본 자료 구조(301)와 보조 자료 구조(302)의 해당 엔트리들을 연계시킬 수 있다(306, 307).
도 2 및 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 데이터의 기본 자료 구조를 기반으로 인-메모리 자료 구조를 표현하는 것인데, 기본 자료 구조는 고정 크기 엔트리의 배열로 구성되므로, 식별자를 키(key)로 해서 특정한 엔트리를 즉각적으로 검색할 수 있는 것이 특징이며; 대부분의 데이터들을 기본 자료 구조로 수용함으로써 빠른 처리가 가능해질 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 장치는 비휘발성 메모리를 장착한 서버들이 네트워크 혹은 패브릭으로 다수 연결되어 있을 때, 상기 서버들의 메모리들에 매우 큰 자료 구조를 표현하고 처리하기 위한 시스템을 대상으로 할 수 있다.
다만, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 기본 자료 구조의 엔트리보다 큰 정보를 표현하고자 하면, 보조 자료 구조에서 부가적인 엔트리를 할당하여, 부가 정보들을 보조 자료 구조 엔트리에 저장함으로써 가변적인 관리가 제공할 수 있다. 보조 자료 구조 또한 고정 크기 엔트리의 배열이므로 특정한 엔트리를 즉시 검색 가능할 수 있다.
도 4는 본 발명의 일실시예에 따른 비휘발성 메모리들을 관리하는 대규모 자료 구조를 나타낸 블록도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치가 서버들에 장착된 비휘발성 메모리들(400, 401, 402, 403)을 통합 관리하는 환경에서 대규모 자료 구조를 나타낸 것을 알 수 있다. 단일 서버에 수용되지 않는 거대 그래프(404)를 인-메모리 자료 구조로 관리하기 위해서는 다수 서버들의 메모리 공간을 통합한 개념적인 글로벌 메모리(405)가 필요하며, 개별 서버의 비휘발성 메모리는 다수의 조각들로 분할되어 개별 메모리 식별자(406, 407)를 발급받을 수 있다. 이러한, 메모리 조각들이 연합하여 전체적으로는 거대 메모리 형상을 가진 시스템으로 보일 수 있다. 이러한 시스템 형상에서 디스크(408)와 휘발성 메모리(409)도 포함 가능할 수 있다. 비휘발성 메모리 조각들을 글로벌하게 관리하기 위한 메타데이터(410)는 비휘발성 메모리 중의 일부에 유지될 수 있다.
도 5는 본 발명의 일실시예에 따른 기본 자료 구조와 보조 자료 구조가 비휘발성 메모리에 배치된 것을 나타낸 도면이다.
도 5를 참조하면, 기본 자료 구조(500, 501)와 보조 자료 구조(502, 503)가 비휘발성 메모리(504,505)에 배치된 것을 알 수 있다. 기본/보조 자료 구조는 별도의 인덱스가 없더라도 특정 엔트리를 즉시 검색할 수 있는 특성을 가지고 있으므로, 표현하고자 하는 거대 자료 구조의 처리 능력이 배가 될 수 있다.
또한, 본 발명의 일실시예에 따른 거대 자료 구조는 기본 자료 구조 위주로 표현되고, 옵션으로 보조 자료 구조가 지원되기 때문에 불필요한 메모리 점유가 최소화되어 효율적인 메모리를 사용할 수 있다. 그 결과, 동일한 메모리 크기를 가정하더라도 다른 기법보다 훨씬 더 많은 데이터를 수용할 수 있다.
도 6은 본 발명의 일실시예에 따른 거대 자료 구조에 분석 작업을 적용화는 과정을 나타낸 도면이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치가 거대 자료 구조(600)가 표현된 글로벌 메모리(601) 형상에서 분석 작업(602)을 적용하는 과정을 나타낸 것을 알 수 있다.
본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 분석 작업(602)을 여러 개의 서브 분석 작업들(603, 604, 605, 606, 607)로 구성하고, 각 서브 분석 작업들이 단계적으로 실행하면 최종 분석 결과를 도출할 수 있다.
이 때, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 분석 작업을 처음 시작할 때 디스크(608)에 최초 입력 데이터가 존재하여 디스크로부터 로딩(609)하는 과정을 포함할 수 있다.
그러나, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 비휘발성 메모리를 사용하므로 최초 입력 데이터가 비휘발성 메모리에 처음부터 인-메모리 포맷으로 존재할 수 있고, 디스크 로딩(609) 과정을 옵션으로 제공할 수도 있다.
도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 각 서브 작업들의 중간 결과를 디스크(608)에 저장하지 않고, 인-메모리 저장 상태에서 다음 단계로 넘길 수 있다.
즉, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 서브 작업(Job-1, 603)의 중간 실행 결과를 디스크(608)에 저장하지 않고, 직접 다음 서브 작업(Job-2, 604)으로 인-메모리 자료 구조 포맷으로 직접 넘길 수 있다(610).
이 때, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 다음 서브 작업(Job-2, 604)의 실행 결과도 마찬가지로 디스크(608) 저장없이 인-메모리 포맷으로 그 다음 서브 작업(Job-3, 605)으로 바로 넘길 수 있다.
이 때, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 그 이후의 서브 작업들(605, 606, 607)도 인-메모리 포맷으로 중간 결과가 다음 단계로 넘어가는 형태로 수행할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 디스크와 메모리 간의 자료 구조 포맷 차이에 의한 직렬화/역직렬화 과정의 비용 부담이 최소화되어 전체 분석 작업 성능을 크게 향상 시킬 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 분석용 데이터를 분할하여 메모리 상의 자료 구조에 저장하는데 있어서, 기본 자료 구조의 단일 엔트리 크기로 수용할 수 없는 분석용 데이터의 분할 부분 중 일부분을 기본 자료구조의 단일 엔트리에 수용하고; 그러한 분석용 데이터의 분할 부분 중 나머지 부분을 보조 자료 구조의 단일 엔트리에 수용할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 비휘발성 메모리를 조각으로 구분하여 각 조각에 글로벌한 식별자를 할당하고; 식별자가 할당된 특정한 비휘발성 메모리 조각을 찾아낼 수 있도록 메타데이터를 조직화하고; 식별자가 할당된 비휘발성 메모리 조각들의 풀(pool)에서 라운드-로빈(round-robin) 방식 등으로 데이터를 저장할 특정한 비휘발성 메모리 조각을 선택하고; 선택된 비휘발성 메모리 조각 상에서 기본 자료 구조와 보조 자료 구조를 적용하여 데이터를 저장하는; 절차로 구성된, 데이터 분석 작업에 필요한 데이터의 일부분을 비휘발성 메모리에 배치할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 비휘발성 메모리의 조각을 식별하기 위한 식별자와 비휘발성 메모리 조각에 저장된 기본 자료 구조/보조 자료 구조 내의 엔트리를 식별하기 위한 식별자로 구성된 글로벌 식별자를 이용하여 비휘발성 메모리의 조각을 찾기 위해 조직화된 메타데이터를 검색하여 특정한 비휘발성 메모리 조각을 검색하고, 비휘발성 메모리 조각 내의 기본 자료 구조/보조 자료 구조 내의 특정한 엔트리를 검색할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 데이터 분석을 위한 단일 작업을 위한 절차로서, 분석 준비 단계와 분석 작업을 수행하고, 분석 결과를 준비할 수 있다.
본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 분석 준비 단계로서, 분석 작업용 데이터가 디스크에 처음 저장되어 있는 경우에 분석 작업용 데이터를 인-메모리 표현으로 변환하거나 분석 작업용 데이터가 처음부터 인-메모리 표현으로 비휘발성 메모리에 저장되어 있는 경우에 분석 작업용 데이터에 대한 별도의 변환를 수행하지 않을 수도 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 분석 결과 준비 단계로서, 분석 작업의 결과를 인-메모리 포맷 상태로 갱신하거나 분석 작업의 결과를 디스크로 변환할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 데이터 분석을 위한 다수의 단일 작업들이 파이프라인 형태로 구성된 분석 작업에서, 파이프라인의 마지막 단계를 구성하는 단일 분석 작업에서는 분석 결과 준비 방법으로서, 분석 작업의 결과를 디스크로 변환하거나 인-메모리 포맷 상태로 갱신할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 데이터 관리 장치는 데이터 분석을 위한 다수의 단일 작업들이 파이프라인 형태로 구성된 분석 작업에서, 파이프라인의 마지막 단계를 제외한 나머지 단계를 구성하는 단일 분석 작업에서는 분석 결과 준비 방법으로서, 분석 작업의 결과를 인-메모리 포맷 상태로만 갱신할 수 있습니다.
도 7은 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 방법을 나타낸 동작흐름도이다.
본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 방법은 먼저 인메모리 포맷 변환을 수행할 수 있다(S710).
즉, 단계(S710)는 파일로 저장되어 있는 자료들을 메모리로 로딩하여 분석에 필요한 인-메모리 포맷으로 변환할 수 있다.
이 때, 단계(S710)는 비휘발성 메모리 기반 시스템에서 인-메모리 포맷의 데이터를 이용하여 기본 자료 구조와 보조 자료 구조를 생성할 수 있다.
이 때, 단계(S710)는 기본 자료 구조와 보조 자료 구조를 이용하여 거대 자료 구조를 관리할 수 있다
이 때, 단계(S710)는 총괄 분석 작업을 시작하는 최초 시점에서, 파일로 표현된 데이터의 포맷를 인-메모리 관리부(100)에서 처리할 수 있도록 인-메모리 포맷으로 변환하며, 총괄 분석 작업의 마지막 시점에서는 인-메모리 자료 구조를 파일로 변환할 수 있다.
본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 방법은 데이터를 제어 및 관리할 수 있다(S720).
즉, 단계(S720)는 인-메모리 자료 구조로 변환된 데이터를 특정한 알고리즘에 따라 분석하며 데이터의 일부 혹은 전부를 변경할 수 있다.
이 때, 단계(S720)는 인-메모리 자료구조에 반영된 분석 결과를 다시 파일로 저장할 수 있다.
이 때, 단계(S720)는 산출된 분석 결과 파일을 다시 메모리에 로딩하여 인-메모리 포맷으로 변환하고, 인-메모리 자료 구조에 새로운 분석을 적용하고, 그에 따른 결과를 파일로 저장하는 과정을 여러 번 반복할 수 있다.
이 때, 단계(S720)는 다수 서버들의 비휘발성 메모리에 이러한 자료구조들을 효율적으로 배치하고 검색 가능하게끔 관리할 수 있다.
이 때, 단계(S720)는 데이터 분석 작업에 필요한 데이터의 일부분을 서버들의 비휘발성 메모리에 배치하고, 비휘발성 메모리에 배치된 데이터 조각을 검색할 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 방법은 파이프라인 연결을 수행할 수 있다(S730).
즉, 단계(S730)는 분석 파이프라인에서 효율적으로 분석 작업을 연계하기 위하여 파이프라인을 연결할 수 있다.
이 때, 단계(S730)는 인-메모리 자료 구조를 효율적으로 표현하고 관리함으로써 거대 데이터를 빠른 속도로 분석할 수 있다.
이 때, 단계(S730)는 파이프라인을 구성하는 여러 개의 분석 작업들 내에서 사용되는 데이터들이 인-메모리 포맷으로 각 분석 작업들을 연동시키기 위한 수단을 제공할 수 있다.
도 8은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 8에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
이상에서와 같이 본 발명의 일실시예에 따른 메모리 기반 자료 구조 관리 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 인-메모리 관리부 101: 데이터 제어 관리부
102: 파이프라인 연결부 103: 데이터 변환부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (1)

  1. 데이터에 대한 기본 자료 구조와 보조 자료 구조를 생성하는 인-메모리 관리부;
    상기 데이터의 포맷을 인-메모리 포맷으로 변환하는 데이터 변환부;
    복수개의 컴퓨팅 노드들에 상기 데이터를 검색 가능한 상태로 배치하는 데이터 제어 관리부; 및
    상기 데이터의 분석 작업을 파이프라인에 연결하는 파이프라인 연결부;
    를 포함하는 것을 특징으로 하는 메모리 기반 자료 구조 관리 장치.
KR1020190153746A 2019-11-26 2019-11-26 메모리 기반 자료 구조 관리 장치 및 방법 KR20210064946A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190153746A KR20210064946A (ko) 2019-11-26 2019-11-26 메모리 기반 자료 구조 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190153746A KR20210064946A (ko) 2019-11-26 2019-11-26 메모리 기반 자료 구조 관리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210064946A true KR20210064946A (ko) 2021-06-03

Family

ID=76396719

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190153746A KR20210064946A (ko) 2019-11-26 2019-11-26 메모리 기반 자료 구조 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20210064946A (ko)

Similar Documents

Publication Publication Date Title
US10169413B2 (en) Scalable acceleration of database query operations
JP4687253B2 (ja) ストリームデータ処理システムのクエリ処理方法
Bicer et al. Time and cost sensitive data-intensive computing on hybrid clouds
WO2012056731A1 (ja) リソース管理サーバ、リソース管理方法及びリソース管理プログラムが格納された記憶媒体
KR101791901B1 (ko) 빅데이터의 효율적인 저장·실시간 분석형 스마트 스토리지 플랫폼장치 및 방법
US20050081208A1 (en) Framework for pluggable schedulers
US20170228422A1 (en) Flexible task scheduler for multiple parallel processing of database data
JP6397995B2 (ja) データベース管理システム、データベースサーバ、及び、データベース管理方法
US9389913B2 (en) Resource assignment for jobs in a system having a processing pipeline that satisfies a data freshness query constraint
US20090037512A1 (en) Multi-nodal compression techniques for an in-memory database
US11809382B2 (en) System and method for supporting versioned objects
WO2011071104A1 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
Shi et al. A case study of tuning MapReduce for efficient Bioinformatics in the cloud
CN107204998B (zh) 处理数据的方法和装置
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
JP6272556B2 (ja) 共有リソース更新装置及び共有リソース更新方法
CN110781159A (zh) Ceph目录文件信息读取方法、装置、服务器及存储介质
KR20210064946A (ko) 메모리 기반 자료 구조 관리 장치 및 방법
JP5043166B2 (ja) 計算機システム、データ検索方法及びデータベース管理計算機
JP4947407B2 (ja) 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム
JP2013088920A (ja) 計算機システム及びデータ管理方法
KR101694307B1 (ko) 디스크 캐쉬 효과를 극대화하는 워크플로우 작업 스케줄링 장치 및 방법
Lin et al. Combining Hadoop with MPI to Solve Metagenomics Problems that are both Data-and Compute-intensive
EP1630671A1 (en) Framework for pluggable schedulers
JP6232127B2 (ja) 共有リソース更新装置及び共有リソース更新方法