KR102225745B1 - 제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템 - Google Patents

제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템 Download PDF

Info

Publication number
KR102225745B1
KR102225745B1 KR1020180137290A KR20180137290A KR102225745B1 KR 102225745 B1 KR102225745 B1 KR 102225745B1 KR 1020180137290 A KR1020180137290 A KR 1020180137290A KR 20180137290 A KR20180137290 A KR 20180137290A KR 102225745 B1 KR102225745 B1 KR 102225745B1
Authority
KR
South Korea
Prior art keywords
content
memory
probability
storing
storage
Prior art date
Application number
KR1020180137290A
Other languages
English (en)
Other versions
KR20200053863A (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 KR1020180137290A priority Critical patent/KR102225745B1/ko
Publication of KR20200053863A publication Critical patent/KR20200053863A/ko
Application granted granted Critical
Publication of KR102225745B1 publication Critical patent/KR102225745B1/ko

Links

Images

Classifications

    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템이 개시된다. 확률적 콘텐츠 저장 방법은, 제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때, 상기 콘텐츠를 상기 메모리 저장 확률이 높은 순서대로 단위 크기의 메모리 블록에 저장하는 단계를 포함한다.

Description

제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템{METHOD AND SYSTEM FOR PROBABILISTIC CACHING CONTENT UNDER LIMITED STORAGE}
아래의 설명은 확률적 캐싱 기법으로 콘텐츠를 저장하는 기술에 관한 것이다.
최근, 사물인터넷(IoT) 장치가 셀룰러 네트워크 망을 통해 모바일, 센서 그리고 컴퓨팅 장치 등을 연결시킴에 따라 각 장치들의 효율적 에너지 관리가 요구되고 있다.
또한, 증강 및 가상 현실에 대한 지속된 관심에 따라 가상 정보를 적시에 제공하면서 효율적으로 관리해야 할 필요성이 제기되고 있다.
그에 따라, 에너지 절약 및 지연시간 감소를 위해 자주 사용될 만한 정보 및 콘텐츠를 모바일 엣지(edge)단에 미리 가져와서 적재시키는 모바일 엣지 캐싱 기법이 점점 각광을 받고 있다.
하지만, 무선 환경의 특징, 예를 들어 경로 손실, 채널 페이딩 또는 간섭 등을 적절하게 반영하기 위해 확률 기하학(stochastic geometry) 모델링이 유용하지만 이를 활용하여 최적의 콘텐츠 배치를 찾는 것은 간섭이 고려되지 않고 정적인 유저를 고려하는 환경에서 조차 NP(non-polynomial)-완전이라고 알려져 있다.
그 결과로써 일반적인 확률 기하학을 반영한 캐시 네트워크에서의 분석은 미리 정해진 콘텐츠 배열 방식, 예를 들면 가장 인기 있는 콘텐츠들만 저장하는 MPC(Most popular content caching)에 대한 고려가 대다수였다.
따라서, 최적의 콘텐츠 배열을 찾는데 있어 NP-완전하거나 NP-난해인 상황을 완화하기 위해 확률 기하학을 토대로 확률적 콘텐츠 캐싱 기법(probabilistic content caching)이 최근에 채택 되고 있다.
확률적 캐싱 기법이란, 각 콘텐츠를 제한된 메모리 내에서 특정한 확률 값으로 저장하는 기법을 의미한다. 앞서 언급했듯이, 최적의 콘텐츠 배열을 찾는 것이 일반적인 결정적 캐싱(deterministic caching) 기법에서는 NP-난해로 알려져 있기 때문에 차선의 정책으로서 콘텐츠를 확률적으로 저장할 필요성이 제기된 것이다.
확률적 캐싱 기법에 기인하여 콘텐츠 저장 확률이 주어졌을 때 제한된 메모리를 지닌 각 엣지 노드에서 콘텐츠를 저장할 수 있는 방법을 제공한다.
컴퓨터 시스템에서 수행되는 확률적 콘텐츠 저장 방법에 있어서, 제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때, 상기 콘텐츠를 상기 메모리 저장 확률이 높은 순서대로 단위 크기의 메모리 블록에 저장하는 단계를 포함하는 확률적 콘텐츠 저장 방법을 제공한다.
일 측면에 따르면, 상기 저장하는 단계는, 상기 콘텐츠의 분할 조건에 기초하여 상기 메모리 저장 확률의 적어도 일부로 상기 메모리 블록의 남은 부분을 채우는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 저장하는 단계는, 각 콘텐츠 마다 pi/Ni(여기서, pi는 콘텐츠 i를 저장할 확률, Ni는 콘텐츠 i를 분할한 개수를 의미함)인 크기만큼을 메모리에 평균적으로 저장하는 메모리 제약 조건에 따라 상기 콘텐츠를 저장하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 저장하는 단계는, 상기 메모리 블록 각각에 상기 메모리 저장 확률에 따른 확률적 방식으로 상기 콘텐츠를 채운 후 난수를 균등한 확률로 발생시킴에 따라 각 엣지 노드(edge node)에서 해당 콘텐츠를 저장하는 단계를 포함할 수 있다.
컴퓨터 시스템에서 수행되는 확률적 콘텐츠 저장 방법에 있어서, 제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때, 주어진 콘텐츠 분할 개수와 메모리 저장 확률에 대해 메모리 제한 조건을 만족하는 콘텐츠 조합으로 상기 콘텐츠를 저장하는 단계를 포함하는 확률적 콘텐츠 저장 방법을 제공한다.
일 측면에 따르면, 상기 저장하는 단계는, 상기 콘텐츠 조합 각각에 대한 저장 확률로 해당 콘텐츠를 저장하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 콘텐츠 조합 각각에 대한 저장 확률은
Figure 112018111391290-pat00001
(여기서, 임시 저장 확률은 해당 조합의 각 콘텐츠가 저장될 확률의 곱)이다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때, 상기 콘텐츠를 상기 메모리 저장 확률이 높은 순서대로 단위 크기의 메모리 블록에 저장하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때, 주어진 콘텐츠 분할 개수와 메모리 저장 확률에 대해 메모리 제한 조건을 만족하는 콘텐츠 조합으로 상기 콘텐츠를 저장하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
본 발명의 실시예들에 따르면, 확률적 캐싱 기법에 기인하여 제한된 메모리를 지닌 각 엣지 노드에 서로 다른 크기를 가진 각 콘텐츠를 저장할 수 있다.
도 1은 메모리 크기가 1이고 콘텐츠의 개수가 2개일 때 확률 캐싱 방법 예시를 도시한 것이다.
도 2는 메모리 크기가 4이고 콘텐츠의 개수가 9개일 때 확률 캐싱 방법 예시를 도시한 것이다.
도 3은 단위 크기를 지니는 콘텐츠 l이 Nl개로 분할 되었을 때 보조 노드들이 협력 전송하여 타깃 사용자가 본래의 콘텐츠 l을 복구하도록 하는 전송 성공 예시를 도시한 것이다.
도 4는 메모리 크기가 2이고 콘텐츠 개수가 8개일 때 서로 다른 크기의 콘텐츠 확률 캐싱 방법 예시를 도시한 것이다.
도 5는 확률적 콘텐츠 저장 방법을 실행하기 위한 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
확률적으로 각 콘텐츠를 저장한다는 것은 할당된 메모리에 평균적으로 얼마나 저장할지를 의미하게 되고 그에 따라 실제 환경에서 제한된 메모리에 어떻게 저장할지에 관한 문제에 당면하게 된다.
본 발명에서는 확률적 캐싱 기법에 기인하여 콘텐츠 저장 확률이 주어졌을 때 제한된 메모리를 지닌 각 엣지 노드에서 어떻게 콘텐츠를 현실화 해서 저장할 수 있는지 의미 있는 도식화를 통해 제시한다.
확률적 캐싱 기법으로 콘텐츠를 저장하는데 있어 서로 다른 인기도를 지니는 2개의 콘텐츠를 고려하여 콘텐츠 크기가 단위 크기 1인 환경에 대한 연구가 존재한다.
도 1은 메모리 크기(M)가 1이고 콘텐츠가 2개일 때의 확률 캐싱 방법을 설명하기 위한 예시 도면이다.
도 1을 참조하면, 각 분산 노드마다 메모리 크기가 1로 정해져 있는 상황에서 콘텐츠를 타깃 유저에게 성공적으로 전송하기 위해 총 걸리는 평균 시간을 각 콘텐츠 저장 확률을 토대로 나타낸다. 이러한 환경에서 제한된 메모리에 확률적으로 콘텐츠를 저장하기 때문에 PA+PB=1(여기서, Px는 콘텐츠 x를 저장할 확률을 의미한다.)을 만족하여야 한다.
하지만, 평균시간을 최소화하는 최적의 콘텐츠 별 저장 확률 P* A+P* B가 주어졌을 때 메모리 크기가 1로 고정되어 있기 때문에 각 분산 노드마다 확률적으로 해당 콘텐츠(A 혹은 B)를 선별하여 저장하여야 한다. 예를 들어, 콘텐츠의 개수가 2이고 메모리 크기가 1이면서 P* A=0.7이고 P* B=0.3일 때 각 노드는 [0,1] 범위 내에서 난수를 균등한 확률로 발생시켜 도 1과 같이 난수의 값이 0.5일 때는 콘텐츠 A만을 저장한다. 즉, 난수 값이 [0,0.7] 내에 존재하면 콘텐츠 A를 저장하고 [0.7,1] 내에 존재하면 콘텐츠 B를 저장한다.
단위 크기의 메모리를 지닌 노드 뿐만 아니라 서로 다른 인기도를 지닌 콘텐츠를 다중으로 저장할 수 있는 환경에서의 콘텐츠 배열에 대한 연구가 존재한다.
상세히 설명하자면, 타깃이 되는 임의의 유저가 주변의 기지국으로부터 원하는 콘텐츠를 전송 받을 확률을 최대화 하는 기지국 확률 캐싱 기법에 대해서 기술하고 있다. 그에 따른 문제 설계는 수학식 1과 같다.
[수학식 1]
Figure 112018111391290-pat00002
여기서,
Figure 112018111391290-pat00003
이고,
Figure 112018111391290-pat00004
이다.
수학식 1의 문제에서 최대화하고자 하는 함수의 J 인덱스는 콘텐츠의 전체 개수, aj는 j번째 콘텐츠의 인기도, pm은 타깃 사용자 주변에 m개의 보조 노드가 있을 확률, 그리고 궁극적으로 bj는 j번 째 콘텐츠를 저장할 확률을 의미한다.
따라서, 제한조건을 만족시키면서 원하는 콘텐츠를 최적으로 전송받을 수 있는 기법, 즉 J개의 단위크기(=1)를 지니는 콘텐츠를 K의 메모리 크기를 지닌 각 보조 노드에 효과적으로 저장하는 기법을 이용한다.
이는 인기도가 높은 콘텐츠 일수록 높은 확률로 제한된 메모리 내에 저장해야 된다는 결론이 나오고 이렇게 나온 각 콘텐츠별 저장 확률을 제한된 메모리 내에 표현한 현실화 방법은 도 2와 같다.
도 2는 메모리 크기(K)가 4이고 콘텐츠가 9개일 때의 확률 캐싱 방법을 설명하기 위한 예시 도면이다.
도 2와 같이, 먼저 각 콘텐츠의 크기(= 1)에 맞추어 메모리 블록을 메모리 크기 개수(=4)만큼 형성한다. 그 후, 각 콘텐츠 j를 제한된 메모리 내에 확률 값 bj값으로써 인기도가 높은 콘텐츠부터 순차적으로 메모리 블락에 채워 넣는다. 만약 단위 메모리 사이즈 블럭에 공간이 충분치 않는다면 남은 저장 확률 값을 다음 블록에 채워 넣는다. 이러한 방식으로, 총 J개의 콘텐츠를 K개의 메모리에 채워 넣는다.
그 결과, [0,1] 사이에 난수를 균등한 확률로 발생시켜 만약 0.42라는 난수 값을 취하게 될 경우 해당 노드는 도 2에서 확인할 수 있듯이 콘텐츠 인덱스 1,2,4,7번째를 저장한다. 각각 콘텐츠 인덱스 크기가 1이기 때문에 전체 메모리 크기 K=4를 벗어나지 않고 메모리 넘침 없이 정확하게 맞추어 저장할 수 있다. 만약, 다른 난수 값을 지니게 된다면 해당 부분에 똑같이 수직선을 그어서 해당 콘텐츠를 저장하게 된다.
하지만, 두 가지 연구 모두 단위 크기를 지니는 콘텐츠만 저장하는 기법만을 설명했다는 점에서 한계를 지닌다. 실제적으로, 콘텐츠마다 동일한 크기를 지닌다는 것은 다소 지나친 가정이다. 또한, 부분적의 단점으로는 단위 메모리 크기만을 고려한다는 점과 특정 콘텐츠 조합을 저장할 수 없다는 점이 있다. 이 단점들을 보완하기 위해 서로 다른 크기를 지니는 각 콘텐츠를 보조 노드에 어떻게 현실화해서 효과적으로 저장할 수 있는지 본 발명에서 다루고자 한다.
본 발명에서 고려하는 확률 캐싱 상황은 도 3과 같다.
도 3은 단위 크기를 지니는 콘텐츠 l이 Nl개로 분할 되었을 때 보조 노드들이 협력 전송하여 타깃 사용자가 본래의 콘텐츠 l을 복구하도록 하는 전송 성공 예시를 나타낸 것이다.
본 발명은 기존 연구들과 다르게 콘텐츠 별로 서로 다른 크기로 분할하여 보조 노드끼리 협력 전송하여 타깃 사용자가 원하는 콘텐츠를 성공적으로 받을 수 있는 확률을 최대화하려는 상황이다.
도 3은 콘텐츠 l이 4개로 분할된 경우를 의미하며, 이때 콘텐츠 l을 타깃 사용자가 성공적으로 복구하기 위해서 주변에 콘텐츠 l을 저장하고 있는 보조 노드가 적어도 4개 이상 필요하다.
자세한, 콘텐츠 복구 절차는 스토리지 코딩을 활용한 기술(예컨대, D. Ko, B. Hong, J. Lee, and W. Choi, "Optimal file storing with cache memory in amorphous femto helper aided network," in Proc. IEEE Int. Conf. Commun. (ICC), May. 2017.)을 참고하면 된다.
이러한 상황에서 각 분할된 콘텐츠를 제한된 메모리 내에 최적으로 저장하도록 하는 문제 설계는 수학식 2와 같다.
[수학식 2]
Figure 112018111391290-pat00005
Figure 112018111391290-pat00006
수학식 2의 문제에서, i 인덱스는 서로 다른 콘텐츠의 종류를 의미하고 fi는 i번째 콘텐츠의 인기도를 의미하며,
Figure 112018111391290-pat00007
는 주파수를 직교적으로 할당해서 해당 콘텐츠 i를 전송하였을 때 성공할 확률을 의미한다.
또한,
Figure 112018111391290-pat00008
은 여러 노드로부터 타깃 사용자한테 콘텐츠를 전송하였을 때 경로손실, 간섭, 채널 페이딩까지 고려해서 Ni번째로 높은 신호 대 간섭비(=Signal to interference ratio)값을 의미하며, τ는 타깃 콘텐츠의 bit rate, 그리고
Figure 112018111391290-pat00009
은 사용자 반경 rc내에 콘텐츠 i를 저장하고 있는 노드의 개수가 j개일 확률을 의미한다.
따라서, 문제 설계에서 최대화하고자 하는 함수는 타깃 사용자가 성공적으로 해당 콘텐츠를 전송성공 받을 확률이다. 또한, 콘텐츠의 분할 조건을 감안하여 단위 크기가 아닌
Figure 112018111391290-pat00010
인 크기를 지니는 콘텐츠 i를 pi로 저장할 확률로 정의함으로써
Figure 112018111391290-pat00011
(단, Ni는 i번째 콘텐츠를 나눈 개수, T는 메모리 제한 크기)와 같이 확률 캐싱 기법에서의 메모리 제약조건 역시 규정할 수 있다. 즉, 각 콘텐츠 i마다
Figure 112018111391290-pat00012
크기만큼을 메모리 크기 T 내에 평균적으로 저장하는 상황이다.
상기한 방식을 통해 각 콘텐츠 별 최적의 평균 메모리 저장량
Figure 112018111391290-pat00013
가 주어졌을 때 확률 캐싱 기법을 제한된 메모리 내에 실현하는 방법은 도 4와 같다.
도 4는 메모리 크기(T)가 2이고 콘텐츠 개수가 8개일 때 서로 다른 크기의 콘텐츠 확률 캐싱 방법 예시를 나타낸 것이다.
일반성을 잃지 않고 인덱스 1이 제일 인기도가 높은 콘텐츠이며 순차적으로 콘텐츠의 인기도가 떨어져서 인덱스 8 콘텐츠가 요청될 확률이 제일 적다고 가정하자.
기존 연구에서 살펴 봤듯이 인기도가 높은 콘텐츠일수록 저장 확률이 높았던 것을 바탕으로 콘텐츠 1에 대한 평균 저장량이 제일 크고 콘텐츠 8에 대한 평균 저장량이 제일 작아야 한다.
즉,
Figure 112018111391290-pat00014
이다.
이에 대한 가상의 솔루션으로 최적의 콘텐츠별 평균저장량이
Figure 112018111391290-pat00015
=
Figure 112018111391290-pat00016
로서 메모리 제한 조건 T=2를 만족시키고 그에 다른 최적의 콘텐츠 개수가
Figure 112018111391290-pat00017
=
Figure 112018111391290-pat00018
이며,
Figure 112018111391290-pat00019
=
Figure 112018111391290-pat00020
일 때, 도 4에 도시한 바와 같이 분할된 콘텐츠에 대해 확률적으로 현실화하는 저장 기법에 대한 해결책을 제공한다.
먼저, 인기도가 높은 콘텐츠, 인덱스 1에 대해서 0.72의 확률 값으로 분할하기 전 콘텐츠 크기 사이즈인 단위 블록(=1)에 채워 넣는다.
그리고, 2번째로 인기 있는 콘텐츠에 대해서 0.63의 확률만큼 나머지 남은 부분에 대해서 채워 넣어야 하는데 0.28의 확률만으로 메모리 블록 사이즈를 충족하기 때문에 나머지 부분 0.35의 확률 값으로 두 번째 메모리 블록에 채워 넣는다.
3번째 인기 있는 콘텐츠부터는 콘텐츠 크기가 1/2배로 줄어들지만 확률 값으로 메모리에 저장하기 때문에 0.5의 크기로 콘텐츠를 남아 있는 2번째 메모리 블록에 계속해서 채워 넣는다.
4번째 인기 있는 콘텐츠의 경우도 2번째 콘텐츠와 마찬가지로 확률 값의 일부(=0.15)로 2번째 메모리 블록에 채워 넣지만 [0,0.35]내의 범위에 남는 부분 0.25 부분을 보조로 채워 놓을 수 없다. 이미 [0,0.35] 내에서 콘텐츠 인덱스 1번과 2번을 저장하는 것만으로도 주어진 메모리 T=2 를 채웠기 때문이다. 그에 따라, 다른 콘텐츠를 [0,0.35]내에 추가적으로 저장하는 것은 메모리를 넘치게 할 수 있기에 이후 [0.35, 0.6] 구간에 남는 0.25 부분을 채워 넣는다.
콘텐츠 인덱스 5를 [0.6,0.9] 구간에 0.3만큼의 확률로 저장하는 것은 메모리 제한 조건에 위배되지 않으므로 그대로 저장한다. 콘텐츠 인덱스 6의 경우 0.15의 확률로 제한된 메모리에 저장하여야 하지만, 3번째 메모리 블락에 남는 부분이 0.1뿐이고 그에 따라 0.1만큼만 저장하고 나머지 0.05에 대해서 다른 구간에 저장할 수 있는지 살핀다. 하지만, 어떤 구간에도 남은 부분을 저장할 경우 메모리를 넘치게 만들기 때문에 나머지 부분은 저장할 수 없다. 마찬가지로, 콘텐츠 인덱스 7인 경우에도 [0.9,1] 구간에만 메모리를 넘치지 않게 저장할 수 있기에 0.1의 확률로 저장한다. 하지만, 마지막 콘텐츠 인덱스 8에 대해서는 [0.6,0.75] 구간에 0.15의 확률로 메모리 넘침 없이 온전히 저장할 수 있다.
결과적으로, 각각 메모리 블록에 확률적으로 콘텐츠를 채운 후에 도 2의 경우처럼 [0,1] 사이에 난수를 균등한 확률로 발생시켜 각 보조 노드들은 해당되는 콘텐츠를 저장할 수 있다. 예를 들어, 0.65의 난수가 발생됐을 경우 콘텐츠 1,3,5,8을 저장할 수 있다. 앞서 말했듯이 콘텐츠 1,3,5,8을 같이 저장할 경우 메모리 공간
Figure 112018111391290-pat00021
만큼을 모두 채우므로 메모리 넘침을 유발하지 않는다.
이외에도, 같은 시스템 환경에서 동일한 최적의 콘텐츠 저장 확률이 주어졌을 때 다른 기법으로 현실화해서 저장하는 기법을 제시한다.
주어진 최적의 콘텐츠 분할 수 및 저장 확률에 대해서 메모리 제한 T(=2)내에 메모리 넘침 없이 최대한 저장할 수 있는 집합은 다음과 같다.
Figure 112018111391290-pat00022
14개 조합 이외의 다른 조합은 메모리 넘침 현상을 유발하거나 메모리를 비효율적으로 활용한 경우에 해당한다. 예를 들어, 마지막 사건
Figure 112018111391290-pat00023
가 저장될 경우
Figure 112018111391290-pat00024
만큼의 메모리를 점유하며 이는 메모리 크기 2보다 작다. 그에 따라, 주어진 14개의 조합 중 각 조합을 저장할 임시 확률은 각 해당 콘텐츠가 저장될 확률의 곱으로 정의할 수 있다. 즉, 각 콘텐츠마다 독립적으로 저장될 확률로써 정의한 것이다.
예를 들어,
Figure 112018111391290-pat00025
를 저장할 임시 확률은
Figure 112018111391290-pat00026
에 해당하고,
Figure 112018111391290-pat00027
를 저장할 임시 확률은
Figure 112018111391290-pat00028
에 해당한다.
임시 확률이라 명명한 이유는 모든 14개의 조합에 대한 임시 확률의 합이 1이 아니기 때문에 최종적인 각 조합을 저장할 확률은 수학식 3과 같이 정의될 수 있다.
[수학식 3]
Figure 112018111391290-pat00029
예를 들어,
Figure 112018111391290-pat00030
를 저장할 최종 확률은
Figure 112018111391290-pat00031
와 같다.
나머지 조합들에 대해서 유사한 방식으로 각 사건의 조합을 저장할 확률을 유도해낼 수 있다.
상기에서는 확률 캐싱을 기반으로 분할된 콘텐츠를 저장할 때 현실화하는 2가지 기법에 대해서 소개하였다.
즉, 메모리 넘침을 막는 2가지 확률 캐싱 중 첫 번째 현실화 기법은 저장할 조합들을 구분할 필요 없이 인기도가 높은 콘텐츠 순서대로 순차적으로 단위 크기의 메모리 블록에 저장하는 것이다. 이 경우는 저장 조합에 대한 조사가 필요 없이 순차적으로 콘텐츠를 채우기만 하면 되기에 조사해야 할 복잡도 측면에서 이득이 있다. 하지만, 일부 인기도가 낮은 콘텐츠에 대해서는 저장확률 값을 온전히 반영하지 못한다는 단점이 존재한다. 반면에, 2번째 확률 캐싱 기법은 저장확률 값의 의미를 담아내면서 모든 저장 조합을 찾을 수 있다는 장점이 있는 반면 모든 조합들을 일일이 조사해야 한다는 단점을 지닌다. 그러나, 두 경우 모두 서로 크기가 다른 콘텐츠의 경우에 확률 캐싱을 현실화 하는 기법이라는 점에서 의미가 있다.
도 5는 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
예를 들어, 본 발명의 실시예들에 따른 확률적 콘텐츠 저장 시스템이 도 5의 컴퓨터 시스템(100)을 통해 구현될 수 있다. 도 5에 도시한 바와 같이, 컴퓨터 시스템(100)은 도 3과 도 4를 통해 설명한 확률적 콘텐츠 저장 방법을 실행하기 위한 구성요소로서 프로세서(110), 메모리(120), 영구 저장 장치(130), 버스(140), 입출력 인터페이스(150) 및 네트워크 인터페이스(160)를 포함할 수 있다.
프로세서(110)는 확률적 콘텐츠 저장을 위한 구성요소로서 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 콘텐츠 플랫폼 등에 포함될 수 있다. 프로세서(110)는 버스(140)를 통해 메모리(120)에 접속될 수 있다.
메모리(120)는 컴퓨터 시스템(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(120)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 다이내믹 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(120)는 컴퓨터 시스템(100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(120)는 예를 들어 확률적 콘텐츠 저장을 위한 명령어들을 포함하는 컴퓨터 시스템(100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(110)를 포함할 수 있다.
버스(140)는 컴퓨터 시스템(100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(140)는 예를 들어 컴퓨터 시스템(100)의 컴포넌트들 사이에, 예를 들어 프로세서(110)와 메모리(120) 사이에 데이터를 운반할 수 있다. 버스(140)는 컴퓨터 시스템(100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(130)는 (예를 들어, 메모리(120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(130)는 컴퓨터 시스템(100) 내의 프로세서(110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(130)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(150)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 확률적 콘텐츠 저장을 위한 입력이 입출력 인터페이스(150)를 통해 수신될 수 있다.
네트워크 인터페이스(160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 확률적 콘텐츠 저장을 위한 입력이 네트워크 인터페이스(160)를 통해 수신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 5의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 인터페이스(150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
이처럼 본 발명의 실시예들에 따르면, 확률적 캐싱 기법에 기인하여 제한된 메모리를 지닌 각 엣지 노드에 서로 다른 크기를 가진 각 콘텐츠를 저장할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 컴퓨터 시스템에서 수행되는 확률적 콘텐츠 저장 방법에 있어서,
    제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때,
    주어진 콘텐츠 분할 개수와 메모리 저장 확률에 대해 메모리 제약 조건을 만족하는 콘텐츠 조합으로 상기 콘텐츠를 저장하는 단계
    를 포함하고,
    상기 메모리 제약 조건은
    Figure 112020091447247-pat00039
    (여기서, pi는 콘텐츠 i(1≤i≤F)를 저장할 확률, Ni는 콘텐츠 i를 분할한 개수, T는 메모리 크기를 의미함)이고,
    상기 저장하는 단계는,
    각 콘텐츠 마다
    Figure 112020091447247-pat00040
    인 크기만큼을 메모리에 평균적으로 저장하는 메모리 제약 조건에 따라 상기 콘텐츠를 저장하고,
    상기 콘텐츠 조합 각각에 대한 저장 확률(
    Figure 112020091447247-pat00041
    (여기서, 임시 저장 확률은 해당 조합의 각 콘텐츠가 저장될 확률의 곱))로 해당 콘텐츠를 저장하는 것
    을 특징으로 하는 확률적 콘텐츠 저장 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 컴퓨터 시스템에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    제한된 메모리 환경에서 크기가 다른 각 콘텐츠 별 메모리 저장 확률이 주어졌을 때,
    주어진 콘텐츠 분할 개수와 메모리 저장 확률에 대해 메모리 제약 조건을 만족하는 콘텐츠 조합으로 상기 콘텐츠를 저장하고,
    상기 메모리 제약 조건은
    Figure 112020091447247-pat00042
    (여기서, pi는 콘텐츠 i(1≤i≤F)를 저장할 확률, Ni는 콘텐츠 i를 분할한 개수, T는 메모리 크기를 의미함)이고,
    상기 적어도 하나의 프로세서는,
    각 콘텐츠 마다
    Figure 112020091447247-pat00043
    인 크기만큼을 메모리에 평균적으로 저장하는 메모리 제약 조건에 따라 상기 콘텐츠를 저장하고,
    상기 콘텐츠 조합 각각에 대한 저장 확률(
    Figure 112020091447247-pat00044
    (여기서, 임시 저장 확률은 해당 조합의 각 콘텐츠가 저장될 확률의 곱))로 해당 콘텐츠를 저장하는 것
    을 특징으로 하는 컴퓨터 시스템.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020180137290A 2018-11-09 2018-11-09 제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템 KR102225745B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180137290A KR102225745B1 (ko) 2018-11-09 2018-11-09 제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180137290A KR102225745B1 (ko) 2018-11-09 2018-11-09 제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20200053863A KR20200053863A (ko) 2020-05-19
KR102225745B1 true KR102225745B1 (ko) 2021-03-10

Family

ID=70913367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180137290A KR102225745B1 (ko) 2018-11-09 2018-11-09 제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102225745B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102407235B1 (ko) * 2020-07-30 2022-06-10 한국과학기술원 제한된 캐시 메모리를 가진 캐싱 시스템에서 재전송 횟수를 고려한 저장 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665864B1 (ko) 2015-04-09 2016-10-14 한국과학기술원 협력 캐싱 헬퍼 기반 오프로딩을 통한 네트워크 성능 향상 방법 및 시스템
KR101773716B1 (ko) 2016-06-30 2017-09-12 이화여자대학교 산학협력단 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법 및 콘텐츠를 공유하는 콘텐츠 중심 네트워크의 라우터
KR101907786B1 (ko) * 2017-04-28 2018-10-12 한국과학기술원 캐시 메모리를 이용한 다수의 보조 노드 무선 통신에서 노드간 협력을 통해 사용자의 체감 효과를 향상시키는 분산 저장 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101351648B1 (ko) * 2011-10-19 2014-01-15 한양대학교 산학협력단 사용자의 요청을 예측하여 컨텐츠를 관리하는 멀티미디어 서버 및 그 관리 방법
KR101381689B1 (ko) * 2012-08-03 2014-04-22 기초과학연구원 콘텐츠 이용 특성에 기초하여 콘텐츠를 관리하는 콘텐츠 제공 장치
KR101533511B1 (ko) * 2013-11-07 2015-07-02 경희대학교 산학협력단 콘텐츠 기반 네트워크에서 콘텐츠의 저장 방법
KR101785221B1 (ko) * 2016-03-17 2017-10-18 한국과학기술원 무선 통신에서 파일의 전송 성공 확률을 고려하여 캐싱 확률을 결정하는 방법 및 장치
KR101924691B1 (ko) * 2016-03-17 2018-12-03 한국과학기술원 무선 통신에서 캐시 메모리를 이용하여 다수의 송신 노드에 데이터를 분산 저장하는 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665864B1 (ko) 2015-04-09 2016-10-14 한국과학기술원 협력 캐싱 헬퍼 기반 오프로딩을 통한 네트워크 성능 향상 방법 및 시스템
KR101773716B1 (ko) 2016-06-30 2017-09-12 이화여자대학교 산학협력단 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법 및 콘텐츠를 공유하는 콘텐츠 중심 네트워크의 라우터
KR101907786B1 (ko) * 2017-04-28 2018-10-12 한국과학기술원 캐시 메모리를 이용한 다수의 보조 노드 무선 통신에서 노드간 협력을 통해 사용자의 체감 효과를 향상시키는 분산 저장 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
고동연 외 1인."메모리 효율을 증가시키는 송신단에서의 콘텐츠 저장 및 배치 기법".한국통신학회지(정보와통신).2017.12.31.,제35호제1권,(제45면 내지 제51면)
정현기.코어망 트래픽 감소를 위한 소형셀 캐시 기법. 아주대학교 석사학위논문. 아주대학교 전자공학과, 2016년8월31일*

Also Published As

Publication number Publication date
KR20200053863A (ko) 2020-05-19

Similar Documents

Publication Publication Date Title
US11146455B2 (en) End-to-end quality of service in edge computing environments
US11018979B2 (en) System and method for network slicing for service-oriented networks
US20210219222A1 (en) Network slice selection method and apparatus
US9683852B2 (en) Dispatching map matching tasks by a cluster server
US20170160965A1 (en) Optimization of in-memory data grid placement
KR102326521B1 (ko) Mec 플랫폼, 그것을 갖는 디지털 트윈 서비스 시스템 및 그것의 동작 방법
KR20130020050A (ko) 로컬리티 센서티브 해시의 버킷 구간 관리 장치 및 그 방법
US11580671B2 (en) Hash-based attribute prediction for point cloud coding
US11438628B2 (en) Hash-based accessing of geometry occupancy information for point cloud coding
Chen et al. Latency minimization for mobile edge computing networks
KR20160121380A (ko) 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법
KR102225745B1 (ko) 제한된 메모리 하에 확률적 콘텐츠 저장 방법 및 그 시스템
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
CN117311975A (zh) 大模型并行训练方法、系统及可读存储介质
CN116467081A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN114466031B (zh) 一种cdn系统节点配置方法、装置、设备及存储介质
CN114741029A (zh) 应用于去重存储系统的数据分配方法及相关设备
KR102054068B1 (ko) 그래프 스트림에 대한 실시간 분산 저장을 위한 분할 방법 및 분할 장치
CN115203133A (zh) 数据处理方法、装置、归约服务器及映射服务器
US11520781B2 (en) Efficient bulk loading multiple rows or partitions for a single target table
CN111030856B (zh) 一种基于云的数据接入方法、电子设备及计算机可读介质
US11940998B2 (en) Database compression oriented to combinations of record fields
US11429524B2 (en) Optimized hierarchical scratchpads for enhanced artificial intelligence accelerator core utilization
CN108153492B (zh) 数据处理方法、系统和电子设备
CN115048553A (zh) 图计算方法和装置

Legal Events

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