KR101602170B1 - 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법 - Google Patents

효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법 Download PDF

Info

Publication number
KR101602170B1
KR101602170B1 KR1020140179379A KR20140179379A KR101602170B1 KR 101602170 B1 KR101602170 B1 KR 101602170B1 KR 1020140179379 A KR1020140179379 A KR 1020140179379A KR 20140179379 A KR20140179379 A KR 20140179379A KR 101602170 B1 KR101602170 B1 KR 101602170B1
Authority
KR
South Korea
Prior art keywords
data
memory
component
user terminal
loaded
Prior art date
Application number
KR1020140179379A
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 KR1020140179379A priority Critical patent/KR101602170B1/ko
Application granted granted Critical
Publication of KR101602170B1 publication Critical patent/KR101602170B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 메모리; 복수의 사용자 단말기와 대용량 데이터를 송수신하는 통신부; 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 것을 특징으로 하는 제어부; 를 포함하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법에 관한 것이다.

Description

효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법 {Massive data sharing system and method for efficient memory usage}
본 발명은 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 메모리; 복수의 사용자 단말기와 대용량 데이터를 송수신하는 통신부; 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 것을 특징으로 하는 제어부; 를 포함하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법에 관한 것이다.
최근 컴퓨팅 자원의 급격한 성능 향상으로 시뮬레이션을 통한 정밀하고 규모가 큰 실험이 가능해짐에 따라 결과 데이터의 규모 또한 기하급수적으로 증가하고 있다. 미항공우주국(NASA)의 기후 모델링, 분석, 예측을 위한 프로젝트의 경우 전체 실행 시간의 25~50%가 데이터의 입출력을 기다리는 시간일 정도로, 대용량 데이터의 후처리는 파일 입출력이 차지하는 비중이 매우 크다.
또한, 데이터 전체를 로드(Load)하는데 많은 시간이 소요되기 때문에 일부 데이터만을 관찰하고 싶은 경우 전체 데이터를 로드하는 것은 비효율적이며, 전체 데이터 중에서 필요한 부분만 선택해서 로드할 수 있다면 더욱 신속하게 프로세스를 진행할 수 있다. 그리고 로드 후 관찰하다 필요가 없어진 데이터 일부를 선택하여 언로드(Unload)할 수 있으면 새로 생기는 메모리 영역을 다른 데이터를 로드하는데 활용할 수 있다.
본 발명은 이러한 기술적 배경을 바탕으로 발명되었으며, 이상에서 살핀 기술적 요구를 충족시킴은 물론, 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.
본 발명은 전술한 기존 방법의 문제점을 해결하기 위해 이루어진 것으로, 다수의 사용자가 동일한 데이터를 사용하는 경우 기존 로드된 데이터와의 합집합을 생성하여 이미 로드된 부분은 공유하고, 새로운 부분만 로드하는 방식을 활용하여 다수의 사용자가 사용하는 한정된 메모리를 효과적으로 사용하는 방법을 구현하는 것을 해결 과제로 한다.
또한, 본 발명은 대용량 데이터를 다루는 과학 데이터 가시화 시스템의 분산 공유 메모리에서 다중 사용자가 데이터를 공유할 수 있고 데이터 일부에 대해 선택적으로 데이터 로드 또는 언로드가 가능하게 하는 데이터 저장 기법을 구현하고, 한정된 메모리를 효율적으로 사용할 수 있게 하고 대용량 데이터를 로드하는 시간을 최소화 하는 방법을 구현하는 것을 해결 과제로 한다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템은, 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 메모리; 복수의 사용자 단말기와 대용량 데이터를 송수신하는 통신부; 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 것을 특징으로 하는 제어부;를 포함하는 것을 특징으로 한다.
이 때, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템은, 복수의 사용자 단말기 간 대용량 데이터의 공유 상황을 출력하는 디스플레이부;를 더 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템은, 상기 제어부가 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이전 사용자 단말기가 로드하지 않았던 구성요소인 경우 상기 메모리에서 해당 구성요소를 새롭게 로드하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템은, 상기 제어부가 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교할 때, 사용자 단말기에 의해 이미 로드된 데이터의 구성요소와의 합집합을 생성하여 판단하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템은, 상기 대용량 데이터는 병렬처리를 고려하여 나누어진 블록(Block)으로 구성되는 것을 특징으로 하며, 상기 구성요소는 Element, Value, Timestep 중 하나 이상을 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템은, 상기 제어부가 각 구성요소별로 구성요소를 사용하는 사용자 단말기의 데이터 레퍼런스 카운트를 기록하여 구성요소별로 비교하며, 상기 제어부는, 상기 구성요소의 데이터 레퍼런스 카운트 값이 0인 경우 상기 구성요소를 사용하는 사용자 단말기가 없다고 판단하여 상기 메모리에서 삭제하며, 상기 구성요소의 데이터 레퍼런스 카운트 값이 1 이상인 경우 상기 구성요소를 사용하는 사용자 단말기가 있다고 판단하여 상기 메모리에 로드된 상태로 유지하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, (a) 메모리가 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 단계; (b) 통신부가 복수의 사용자 단말기와 대용량 데이터를 송수신하는 단계; (c) 사용자 단말기가 상기 대용량 데이터를 사용할 때, 제어부가 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 단계; 를 포함하는 것을 특징으로 한다.
이 때, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, (d) 디스플레이부가 복수의 사용자 단말기 간 대용량 데이터의 공유 상황을 출력하는 단계; 를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이전 사용자 단말기가 로드하지 않았던 구성요소인 경우 상기 메모리에서 해당 구성요소를 새롭게 로드하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교할 때, 사용자 단말기에 의해 이미 로드된 데이터의 구성요소와의 합집합을 생성하여 판단하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 각 구성요소별로 구성요소를 사용하는 사용자 단말기의 데이터 레퍼런스 카운트를 기록하여 구성요소별로 비교하는 것을 특징으로 한다.
이 때, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 상기 구성요소의 데이터 레퍼런스 카운트 값이 0인 경우 상기 구성요소를 사용하는 사용자 단말기가 없다고 판단하여 상기 메모리에서 삭제하며, 상기 구성요소의 데이터 레퍼런스 카운트 값이 1 이상인 경우 상기 구성요소를 사용하는 사용자 단말기가 있다고 판단하여 상기 메모리에 로드된 상태로 유지하는 것을 특징으로 한다.
본 발명을 통하여, 다수의 사용자가 동일한 데이터를 사용하는 경우 기존 로드된 데이터와의 합집합을 생성하여 이미 로드된 부분은 공유하고, 새로운 부분만 로드하는 방식을 활용하여 다수의 사용자가 사용하는 한정된 메모리를 효과적으로 사용하는 방법을 구현할 수 있게 된다.
또한, 본 발명은 대용량 데이터를 다루는 과학 데이터 가시화 시스템의 분산 공유 메모리에서 다중 사용자가 데이터를 공유할 수 있고 데이터 일부에 대해 선택적으로 데이터 로드 또는 언로드가 가능하게 하는 데이터 저장 기법을 구현하고, 한정된 메모리를 효율적으로 사용할 수 있게 하고 대용량 데이터를 로드하는 시간을 최소화 하는 방법을 구현할 수 있다.
또한, 본 발명은 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 메모리; 복수의 사용자 단말기와 대용량 데이터를 송수신하는 통신부; 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 것을 특징으로 하는 제어부; 를 포함하는 효율적인 메모리 사용을 위한 데이터 공유 시스템을 통하여, 크기가 기하급수적으로 증가한 대용량 데이터를 가시화 할 때 데이터 로드에 소요되는 시간을 줄이고, 한정된 메모리를 효율적으로 사용할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 시스템을 나타내는 구성도이다.
도 2는 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 시스템의 메모리를 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 시스템의 메모리를 복수의 사용자 단말기가 구성요소별로 사용하고 있는 상태를 나타내는 구성도이다.
도 4는 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 방법을 나타내는 순서도이다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 '효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법'을 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 통상의 기술자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않는다. 또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있다.
한편, 이하에서 표현되는 각 구성부는 본 발명을 구현하기 위한 예일 뿐이다. 따라서, 본 발명의 다른 구현에서는 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다른 구성부가 사용될 수 있다. 또한, 각 구성부는 순전히 하드웨어 또는 소프트웨어의 구성만으로 구현될 수도 있지만, 동일 기능을 수행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합으로 구현될 수도 있다. 또한, 하나의 하드웨어 또는 소프트웨어에 의해 둘 이상의 구성부들이 함께 구현될 수도 있다.
또한, 어떤 구성요소들을 '포함'한다는 표현은, '개방형'의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
또한, '제1, 제2' 등과 같은 표현은, 복수의 구성들을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다.
한편, 이상에서 살펴본 본 발명의 일 실시 예에 따른 '효율적인 메모리 사용을 위한 데이터 공유 방법'은, 카테고리는 상이하지만 본 발명의 일 실시 예에 따른 '효율적인 메모리 사용을 위한 데이터 공유 시스템'과 실질적으로 동일한 기술적 특징을 포함할 수 있다.
따라서, 중복 기재를 방지하기 위하여 자세히 기재하지는 않았지만, 상기 '효율적인 메모리 사용을 위한 데이터 공유 시스템'과 관련하여 상술한 특징들은, 본 발명은 일 실시 예에 따른 '효율적인 메모리 사용을 위한 데이터 공유 방법'에도 당연히 유추 적용될 수 있다. 또한, 반대로, 상기 '효율적인 메모리 사용을 위한 데이터 공유 방법'과 관련하여 상술한 특징들은 상기 '효율적인 메모리 사용을 위한 데이터 공유 시스템'에도 당연히 유추 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 시스템을 나타내는 구성도이다.
도 1을 참조하면, 본 발명의 대용량 데이터 공유 시스템(100)은, 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 메모리(110), 복수의 사용자 단말기와 대용량 데이터를 송수신하는 통신부(120), 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 것을 특징으로 하는 제어부(130), 복수의 사용자 단말기 간 대용량 데이터의 공유 상황을 출력하는 디스플레이부(140)를 포함할 수 있다.
대용량 공유 데이터 시스템은 제1 사용자 단말기(151), 제2 사용자 단말기(152), 제3 사용자 단말기(153), 제n 사용자 단말기(154)를 포함하는 복수의 사용자 단말기와 통신망을 통해 연결되며, 통신망은 무선 네트워크, 방송 네트워크, 소셜 네트워크 등 시스템과 단말기를 연결 가능한 모든 유무선 통신망을 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 시스템의 메모리를 나타내는 구성도이다.
메모리(110)는 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하게 된다.
배열(array) 방식은, 동일한 특성을 가지며 일정한 규칙에 따라 몇몇 요소가 나열되어 있는 데이터 집합을 말하며, 도2에서 블록(114)의 B0 내지 Bn의 구성요소가, 배열 방식으로 저장된다. 배열은 번호(또는 인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타내며, 배열에는 같은 종류의 데이터들이 순차적으로 저장되어 값의 번호가 곧 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치가 된다.
이러한 배열은 차원을 가지며, 1차원의 목록 또는 벡터, 2차원의 테이블 또는 행렬 등을 컴퓨터에서 배열로서 표현할 수 있다. 본 발명은 통상의 기술자가 자명하게 볼 수 있는 범위 내에서 차원과 관계없이 가능한 모든 배열 방식을 사용할 수 있다.
각 노드에 존재하는 제한된 로컬 메모리를 하나의 공유 메모리처럼 접근할 수 있게 해주는 분산 공유 메모리는, 데이터를 배열 방식으로 저장한다. 이는 초기 단계에 미리 메모리를 할당하기 때문에 이후에 동적으로 일부 데이터를 추가 또는 삭제가 불가능하기 때문이다.
또한, 본 발명의 메모리에 저장되는 대용량 데이터는 부분적으로 선택하여, 로드하거나 언로드할 수 있도록 자료 구조를 각 구성요소에 독립적인 형태로 유지한다. 대용량 데이터는 병렬처리를 고려하여 나누어진 블록(Block)으로 구성되며, 도2의 B0에서 Bn까지의 구성에 해당한다. 이 때, 병렬처리는 복수의 컴퓨터에 의해서 실행되는 처리 방식을 말하며, 복수의 컴퓨터를 사용하여 모든 장치가 하나의 프로그램상 서로 다른 작업을 동시에 처리함으로써 처리의 부하를 분담하여 처리 속도를 향상시키는 방법을 말한다.
또한, 대용량 데이터는 데이터를 구성하는 물리적인 단위인 Element(111), 속도나 압력과 같은 데이터 필드를 나타내는 Value(112), 시변환 데이터인 경우 Timestep(113)등으로 나누어 질 수 있다. 이 때, 각각의 구성요소별로 데이터를 사용하는 사용자의 수를 나타내는 데이터 레퍼런스 카운트를 기록하여 대용량 데이터의 로드 또는 언로드 시 사용할 수 있다.
도 3은 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 시스템의 메모리를 복수의 사용자 단말기가 구성요소별로 사용하고 있는 상태를 나타내는 구성도이다.
복수의 사용자 단말기(151, 152, 153)가 대용량 데이터 공유 시스템에 저장된 동일한 대용량 데이터를 사용하게 되는 경우, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하며 이전 사용자 단말기가 로드하지 않았던 구성요소인 경우 상기 메모리에서 해당 구성요소를 새롭게 로드하도록 한다.
이 때, 사용자 단말기에 의해 이미 로드된 데이터의 구성요소와의 합집합을 생성하여 이미 로드된 부분은 공유하고, 새로운 부분만 로드하는 방식을 활용하여 한정된 메모리를 효과적으로 사용할 수도 있다.
또한, 구성요소(111, 112, 113)별로 데이터를 사용하는 사용자의 수를 나타내는 데이터 레퍼런스 카운트(115)를 기록하여, 데이터 공유 시스템에 사용한다.
도 3의 대용량 데이터 공유 시스템에 접속하고 있는 사용자 단말기(151, 152, 153)의 경우, Element(E0)를 사용하고 있는 사용자 단말기의 수는 3개이므로, 데이터 레퍼런스 카운트는 3이 기록된다. 이와 같이, 각각의 구성요소(Element, Value, Timestep)마다 데이터 레퍼런스 카운트를 기록하여 구성요소별로 비교하며, 구성요소의 데이터 레퍼런스 카운트 값이 0인 경우 구성요소를 사용하는 사용자 단말기가 없다고 판단하여 메모리에서 삭제하며, 구성요소의 데이터 레퍼런스 카운트 값이 1 이상인 경우 구성요소를 사용하는 사용자 단말기가 있다고 판단하고, 삭제하지 않고 메모리에 대용량 데이터를 유지하도록 한다.
따라서, 전체 데이터 중에서 필요한 부분만 선택해서 로드함으로써 더욱 신속하게 프로세스를 진행할 수 있으며, 로드 후 관찰하다 필요 없어진 데이터 일부를 선택하여 언로드하여 새로 생기는 메모리 영역을 다른 데이터를 로드하는 데 활용할 수 있게 되어, 한정된 메모리를 효율적으로 사용할 수 있다.
도 4는 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 방법을 나타내는 순서도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 데이터 공유 방법은, 먼저 메모리가 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장한다.(S410) 이어, 통신부가 복수의 사용자 단말기와 대용량 데이터를 송수신하게 된다.(S420) 사용자 단말기가 상기 대용량 데이터를 사용할 때, 제어부가 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유(S430)하도록 하며, 디스플레이부가 복수의 사용자 단말기 간 대용량 데이터의 공유 상황을 출력(S440)하게 된다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이전 사용자 단말기가 로드하지 않았던 구성요소인 경우 상기 메모리에서 해당 구성요소를 새롭게 로드하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교할 때, 사용자 단말기에 의해 이미 로드된 데이터의 구성요소와의 합집합을 생성하여 판단하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 각 구성요소별로 구성요소를 사용하는 사용자 단말기의 데이터 레퍼런스 카운트를 기록하여 구성요소별로 비교하는 것을 특징으로 한다.
이 때, 본 발명의 일 실시예에 따른 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법은, 상기 (c)단계가 상기 구성요소의 데이터 레퍼런스 카운트 값이 0인 경우 상기 구성요소를 사용하는 사용자 단말기가 없다고 판단하여 상기 메모리에서 삭제하며, 상기 구성요소의 데이터 레퍼런스 카운트 값이 1 이상인 경우 상기 구성요소를 사용하는 사용자 단말기가 있다고 판단하여 상기 메모리에 로드된 상태로 유지하는 것을 특징으로 한다.
위에서 설명된 본 발명의 실시 예들은 예시의 목적을 위해 개시된 것이며, 이들에 의하여 본 발명이 한정되는 것은 아니다. 또한, 본 발명에 대한 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 사상과 범위 안에서 다양한 수정 및 변경을 가할 수 있을 것이며, 이러한 수정 및 변경은 본 발명의 범위에 속하는 것으로 보아야 할 것이다.
100: 대용량 데이터 공유시스템
110: 메모리
111, 112, 113, 114: 구성요소
115: 데이터 레퍼런스 카운트
120: 통신부
130: 제어부
140: 디스플레이부
151: 제1 사용자 단말기
152: 제2 사용자 단말기
153: 제3 사용자 단말기
154: 제n 사용자 단말기
161, 162, 163: 사용자 단말기가 로드중인 구성요소

Claims (14)

  1. 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 메모리;
    복수의 사용자 단말기와 대용량 데이터를 송수신하는 통신부;
    사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 것을 특징으로 하는 제어부;
    를 포함하고,
    상기 제어부는,
    상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교할 때, 사용자 단말기에 의해 이미 로드된 데이터의 구성요소와의 합집합을 생성하여 판단하며,
    각 구성요소별로 구성요소를 사용하는 사용자 단말기의 데이터 레퍼런스 카운트를 기록하여 구성요소별로 비교하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템.
  2. 제 1항에 있어서,
    상기 제어부는,
    사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이전 사용자 단말기가 로드하지 않았던 구성요소인 경우 상기 메모리에서 해당 구성요소를 새롭게 로드하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템.
  3. 삭제
  4. 제 1항에 있어서,
    상기 대용량 데이터는,
    병렬처리를 고려하여 나누어진 블록(Block)으로 구성되는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템.
  5. 제 1항에 있어서,
    상기 구성요소는,
    Element, Value, Timestep 중 하나 이상을 포함하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템.
  6. 삭제
  7. 제 1항에 있어서,
    상기 제어부는,
    상기 구성요소의 데이터 레퍼런스 카운트 값이 0인 경우 상기 구성요소를 사용하는 사용자 단말기가 없다고 판단하여 상기 메모리에서 삭제하며, 상기 구성요소의 데이터 레퍼런스 카운트 값이 1 이상인 경우 상기 구성요소를 사용하는 사용자 단말기가 있다고 판단하여 상기 메모리에 로드된 상태로 유지하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템.
  8. 제 1항에 있어서,
    복수의 사용자 단말기 간 대용량 데이터의 공유 상황을 출력하는 디스플레이부;
    를 더 포함하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템.
  9. (a) 메모리가 대용량 데이터를 배열(Array) 방식으로 저장하고, 상기 대용량 데이터를 부분적으로 선택하여 로드 또는 언로드할 수 있도록 구성요소에 따라 나누어 저장하는 단계;
    (b) 통신부가 복수의 사용자 단말기와 대용량 데이터를 송수신하는 단계;
    (c) 사용자 단말기가 상기 대용량 데이터를 사용할 때, 제어부가 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이미 로드된 구성요소는 공유하도록 하는 단계;
    를 포함하고,
    상기 (c)단계는,
    상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교할 때, 사용자 단말기에 의해 이미 로드된 데이터의 구성요소와의 합집합을 생성하여 판단하며,
    각 구성요소별로 구성요소를 사용하는 사용자 단말기의 데이터 레퍼런스 카운트를 기록하여 구성요소별로 비교하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법.
  10. 제 9항에 있어서,
    상기 (c)단계는,
    사용자 단말기가 상기 대용량 데이터를 사용할 때, 상기 메모리에 저장된 대용량 데이터의 구성요소별로 비교하고, 이전 사용자 단말기가 로드하지 않았던 구성요소인 경우 상기 메모리에서 해당 구성요소를 새롭게 로드하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법.
  11. 삭제
  12. 삭제
  13. 제 9항에 있어서,
    상기 (c)단계는,
    상기 구성요소의 데이터 레퍼런스 카운트 값이 0인 경우 상기 구성요소를 사용하는 사용자 단말기가 없다고 판단하여 상기 메모리에서 삭제하며, 상기 구성요소의 데이터 레퍼런스 카운트 값이 1 이상인 경우 상기 구성요소를 사용하는 사용자 단말기가 있다고 판단하여 상기 메모리에 로드된 상태로 유지하는 것을 특징으로 하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법.
  14. 제 9항에 있어서,
    (d) 디스플레이부가 복수의 사용자 단말기 간 대용량 데이터의 공유 상황을 출력하는 단계;
    를 더 포함하는 효율적인 메모리 사용을 위한 대용량 데이터 공유 방법.
KR1020140179379A 2014-12-12 2014-12-12 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법 KR101602170B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140179379A KR101602170B1 (ko) 2014-12-12 2014-12-12 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140179379A KR101602170B1 (ko) 2014-12-12 2014-12-12 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101602170B1 true KR101602170B1 (ko) 2016-03-10

Family

ID=55539275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140179379A KR101602170B1 (ko) 2014-12-12 2014-12-12 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101602170B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045540B1 (ko) * 2009-12-28 2011-07-01 (주)유성글로벌 데이터 동기화 시스템 및 방법
KR20140100504A (ko) * 2011-11-10 2014-08-14 가부시키가이샤 스퀘어.에닉스 데이터 송수신 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101045540B1 (ko) * 2009-12-28 2011-07-01 (주)유성글로벌 데이터 동기화 시스템 및 방법
KR20140100504A (ko) * 2011-11-10 2014-08-14 가부시키가이샤 스퀘어.에닉스 데이터 송수신 시스템

Similar Documents

Publication Publication Date Title
US9411659B2 (en) Data processing method used in distributed system
Wutthisirisart et al. A two-phased heuristic for relation-based item location
KR20170073605A (ko) 합성 파티션 함수 제공 기법
US11429636B2 (en) Smart elastic scaling based on application scenarios
US20160328445A1 (en) Data Query Method and Apparatus
US9996391B2 (en) Parallel computer system, method of controlling parallel computer system, and recording medium
US20160162506A1 (en) Bloom Filter Generation Method and Apparatus
CN106605222B (zh) 有指导的数据探索
CN109032533A (zh) 一种数据存储方法、装置和设备
US10437423B2 (en) Methods and apparatuses for providing an infinitely scrolling accumulator
CN107391508B (zh) 数据加载方法和系统
JP2015153123A (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
CN112905596B (zh) 数据处理的方法、装置、计算机设备以及存储介质
JP5914699B2 (ja) マイグレーションによるデータベースの作業負荷バランシング
CN104598485B (zh) 处理数据库表的方法和设备
CN107430510A (zh) 数据处理方法、装置和系统
CN106682047B (zh) 一种数据导入方法以及相关装置
US10083121B2 (en) Storage system and storage method
KR101602170B1 (ko) 효율적인 메모리 사용을 위한 대용량 데이터 공유 시스템 및 방법
CN113297226B (zh) 数据存储方法、数据读取方法、装置、电子设备及介质
KR20130126012A (ko) 비즈니스 인텔리전스의리포트 제공 방법 및 장치
CN110837499A (zh) 数据访问处理方法、装置、电子设备和存储介质
KR101680945B1 (ko) 조인 연산을 위한 매핑 방법 및 리듀싱 방법,및 그 방법들을 이용한 장치들
KR20160050745A (ko) 실시간 또는 일괄 처리 기반의 데이터 처리방법 및 장치
JP6020014B2 (ja) 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム

Legal Events

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

Payment date: 20190130

Year of fee payment: 4

R401 Registration of restoration