Barabasi-Albert(BA) 모델 기반 대규모 그래프를 생성하는 방법 및 이를 수행하는 장치
METHOD FOR GENERATING LARGE-SCALE GRAPHS BASED ON BARABASI-ALBERT(BA) MODEL AND APPARATUS FOR PERFORMING THE SAME
특허 요약
Barabasi-Albert(BA) 모델 기반 대규모 그래프를 생성하는 방법 및 이를 수행하는 장치가 개시된다. 일 실시예에 따른 대규모 그래프 생성 방법은, 시드 그래프를 메인 메모리에 저장하는 동작과 마스터 노드가 상기 시드 그래프 및 간선의 혈통 관계에 기초하여 생성될 그래프에 관한 정보를 포함하는 전체 워크로드를 결정하는 동작과 상기 마스터 노드가 상기 전체 워크로드를 복수 개의 워크로드로 분할하는 동작과 상기 마스터 노드가 상기 복수 개의 워크로드 및 상기 시드 그래프를 복수 개의 슬레이브 노드 각각에 분배하는 동작과 상기 복수 개의 슬레이브 노드가 분배된 워크로드, 상기 시드 그래프, 및 상기 간선의 혈통 관계에 기초하여 각각 그래프를 병렬적으로 생성하는 동작을 포함할 수 있다.
청구항
번호청구항
1

시드 그래프를 메인 메모리에 저장하는 동작;마스터 노드가 상기 시드 그래프 및 간선의 혈통 관계에 기초하여 생성될 그래프에 관한 정보를 포함하는 전체 워크로드를 결정하는 동작;상기 마스터 노드가 상기 전체 워크로드를 복수 개의 워크로드로 분할하는 동작;상기 마스터 노드가 상기 복수 개의 워크로드 및 상기 시드 그래프를 복수 개의 슬레이브 노드 각각에 분배하는 동작; 및상기 복수 개의 슬레이브 노드가 분배된 워크로드, 상기 시드 그래프, 및 상기 간선의 혈통 관계에 기초하여 각각 그래프를 병렬적으로 생성하는 동작을 포함하고,상기 생성하는 동작은,상기 분배된 워크로드에 기초하여 새로운 정점을 생성하는 동작; 및상기 시드 그래프 및 간선의 혈통 관계에 기초하여 상기 새로운 정점을 시작 정점으로 하는 하나 이상의 새로운 간선을 생성하는 동작을 포함하고,상기 새로운 간선을 생성하는 동작은,상기 새로운 간선의 시작 정점 및 끝 정점이 상기 새로운 간선 이전에 생성된 간선의 시작 정점 및 끝 정점과 동일하여 간선 간의 해시 충돌이 발생하는 경우 스크램블 함수에 기초하여 상기 새로운 간선의 끝 정점을 다시 결정하는 동작을 포함하는, 대규모 그래프 생성 방법.

2

삭제

3

제1항에 있어서,상기 새로운 간선을 생성하는 동작은,제1 해시 함수를 통해 상기 새로운 간선의 부모 간선을 획득하는 동작;제2 해시 함수를 통해 상기 부모 간선의 시작 정점 또는 상기 부모 간선의 끝 정점을 결정하는 동작; 및결정된 정점에 기초하여 상기 새로운 간선의 끝 정점을 결정함으로써 상기 새로운 간선을 생성하는 동작을 포함하는, 대규모 그래프 생성 방법.

4

제3항에 있어서,상기 새로운 간선의 끝 정점을 결정함으로써 상기 새로운 간선을 생성하는 동작은,상기 결정된 정점이 상기 부모 간선의 시작 정점인 경우 상기 부모 간선의 시작 정점을 상기 새로운 간선의 끝 정점으로 결정하는 동작을 포함하는, 대규모 그래프 생성 방법.

5

제3항에 있어서,상기 새로운 간선의 끝 정점을 결정함으로써 상기 새로운 간선을 생성하는 동작은,상기 부모 간선이 상기 시드 그래프에 포함된 경우 상기 결정된 정점을 상기 새로운 간선의 끝 정점으로 결정하는 동작을 포함하는, 대규모 그래프 생성 방법.

6

제3항에 있어서,상기 새로운 간선의 끝 정점을 결정함으로써 상기 새로운 간선을 생성하는 동작은,상기 결정된 정점이 상기 부모 간선의 시작 정점이거나 상기 부모 간선이 상기 시드 그래프에 포함될 때까지 상기 제1 해시 함수 및 상기 제2 해시 함수를 재귀적으로 적용하는 동작; 및상기 제1 해시 함수 및 상기 제2 해시 함수를 재귀적으로 적용하여 결정된 정점을 상기 새로운 간선의 끝 정점으로 결정하는 동작을 포함하는, 대규모 그래프 생성 방법.

7

삭제

8

제3항에 있어서,상기 제1 해시 함수는,하기의 수학식을 만족하는, 대규모 그래프 생성 방법.[수학식]여기서, x는 간선의 ID이고,는 시간 t에서의 간선의 집합임..

9

제3항에 있어서,상기 제2 해시 함수는,하기의 수학식을 만족하는, 대규모 그래프 생성 방법.[수학식]여기서, x는 간선의 ID임.

10

제1항에 있어서,상기 스크램블 함수는,하기의 수학식을 만족하는, 대규모 그래프 생성 방법.[수학식]여기서, x는 간선의 ID이고, collision은 충돌 횟수임.

11

하나 이상의 인스트럭션을 저장하는 메인 메모리; 및상기 인스트럭션을 실행시키기 위한 프로세서를 포함하고,상기 인스트럭션이 실행될 때, 상기 프로세서는,시드 그래프를 상기 메인 메모리에 저장하고,마스터 노드를 통해 상기 시드 그래프 및 간선의 혈통 관계에 기초하여 생성될 그래프에 관한 정보를 포함하는 전체 워크로드를 결정하고,상기 마스터 노드를 통해 상기 전체 워크로드를 복수 개의 워크로드로 분할하고,상기 마스터 노드를 통해 상기 복수 개의 워크로드 및 상기 시드 그래프를 복수 개의 슬레이브 노드 각각에 분배하고,상기 복수 개의 슬레이브 노드를 통해 분배된 워크로드, 상기 시드 그래프, 및 상기 간선의 혈통 관계에 기초하여 각각 그래프를 병렬적으로 생성하고,상기 분배된 워크로드에 기초하여 새로운 정점을 생성하고,상기 시드 그래프 및 간선의 혈통 관계에 기초하여 상기 새로운 정점을 시작 정점으로 하는 하나 이상의 새로운 간선을 생성하고,상기 새로운 간선의 시작 정점 및 끝 정점이 상기 새로운 간선 이전에 생성된 간선의 시작 정점 및 끝 정점과 동일하여 간선 간의 해시 충돌이 발생하는 경우 스크램블 함수에 기초하여 상기 새로운 간선의 끝 정점을 다시 결정하는, 대규모 그래프 생성 장치.

12

삭제

13

제11항에 있어서,상기 프로세서는,제1 해시 함수를 통해 상기 새로운 간선의 부모 간선을 획득하고,제2 해시 함수를 통해 상기 부모 간선의 시작 정점 또는 상기 부모 간선의 끝 정점을 결정하고,결정된 정점에 기초하여 상기 새로운 간선의 끝 정점을 결정함으로써 상기 새로운 간선을 생성하는,대규모 그래프 생성 장치.

14

제13항에 있어서,상기 프로세서는,상기 결정된 정점이 상기 부모 간선의 시작 정점인 경우 상기 부모 간선의 시작 정점을 상기 새로운 간선의 끝 정점으로 결정하는,대규모 그래프 생성 장치.

15

제13항에 있어서,상기 프로세서는,상기 부모 간선이 상기 시드 그래프에 포함된 경우 상기 결정된 정점을 상기 새로운 간선의 끝 정점으로 결정하는,대규모 그래프 생성 장치.

16

제13항에 있어서,상기 프로세서는,상기 결정된 정점이 상기 부모 간선의 시작 정점이거나 상기 부모 간선이 상기 시드 그래프에 포함될 때까지 상기 제1 해시 함수 및 상기 제2 해시 함수를 재귀적으로 적용하고,상기 제1 해시 함수 및 상기 제2 해시 함수를 재귀적으로 적용하여 결정된 정점을 상기 새로운 간선의 끝 정점으로 결정하는,대규모 그래프 생성 장치.

17

삭제

18

제13항에 있어서,상기 제1 해시 함수는,하기의 수학식을 만족하는, 대규모 그래프 생성 장치.[수학식]여기서, x는 간선의 ID이고,는 시간 t에서의 간선의 집합임..

19

제13항에 있어서,상기 제2 해시 함수는,하기의 수학식을 만족하는, 대규모 그래프 생성 장치.[수학식]여기서, x는 간선의 ID임.

20

제11항에 있어서,상기 스크램블 함수는,하기의 수학식을 만족하는, 대규모 그래프 생성 장치.[수학식]여기서, x는 간선의 ID이고, collision은 충돌 횟수임.