1 |
1
위상 데이터 및 속성 데이터를 포함하는 그래프 데이터를 저장하는 적어도 하나의 보조 기억 장치;상기 그래프 데이터를 처리하는 복수의 그래픽 처리 장치들(Graphic Processing Unit; GPU); 상기 복수의 그래픽 처리 장치들과 상기 보조 기억 장치 사이에서 상기 그래프 데이터의 적어도 일부를 캐싱하는 메인 메모리; 및상기 복수의 그래픽 처리 장치들 각각에 포함된 장치 메모리에 상기 속성 데이터 중 갱신 가능한 속성 데이터가 저장될 수 있는지 여부에 따라, 상기 그래프 데이터의 적재를 제어하는 중앙 처리 장치(Central Processing Unit; CPU)를 포함하는, 그래프 처리 시스템
|
2 |
2
제1항에 있어서,상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 상기 갱신 가능한 속성 데이터가 저장될 수 있는 경우,상기 중앙 처리 장치는상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 상기 갱신 가능한 속성 데이터를 저장하고, 상기 복수의 그래픽 처리 장치들에 서로 다른 위상의 위상 페이지 및 해당 위상 페이지에 대응하는 읽기 전용 속성 데이터를 스트리밍하는, 그래프 처리 시스템
|
3 |
3
제1항에 있어서,상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 상기 갱신 가능한 속성 데이터가 저장될 수 없는 경우, 상기 중앙 처리 장치는상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 상기 갱신 가능한 속성 데이터를 나누어 저장하고, 상기 복수의 그래픽 처리 장치들에 동일한 위상의 위상 페이지 및 해당 위상 페이지에 대응하는 읽기 전용 속성 데이터를 스트리밍하는, 그래프 처리 시스템
|
4 |
4
제1항에 있어서, 상기 중앙 처리 장치는상기 갱신 가능한 속성 데이터의 크기와 단일 그래픽 처리 장치의 장치 메모리의 크기를 비교하고, 상기 단일 그래픽 처리 장치의 장치 메모리의 크기가 상기 갱신 가능한 속성 데이터의 크기보다 크거나 같으면, 성능 위주의 실행 전략으로 상기 그래프 데이터를 처리하고, 상기 단일 그래픽 처리 장치의 장치 메모리의 크기가 상기 갱신 가능한 속성 데이터의 크기보다 작으면, 확장 위주의 실행 전략으로 상기 그래프 데이터를 처리하는, 그래프 처리 시스템
|
5 |
5
제1항에 있어서,상기 적어도 하나의 보조 기억 장치는상기 메인 메모리의 용량보다 큰 용량의 그래프 데이터를 저장하는, 그래프 처리 시스템
|
6 |
6
제1항에 있어서, 상기 위상 데이터는상기 그래프 데이터에 포함된 정점들에 관한 정보 및 상기 정점들 사이의 연결 관계에 관한 정보를 포함하고, 상기 속성 데이터는상기 갱신 가능한 속성 데이터 및 읽기 전용 속성 데이터를 포함하는, 그래프 처리 시스템
|
7 |
7
제1항에 있어서,상기 중앙 처리 장치는상기 위상 데이터를 상기 보조 기억 장치에서 상기 메인 메모리로 비동기적으로 스트리밍 하고, 상기 위상 데이터를 상기 메인 메모리에서 상기 복수의 그래픽 처리 장치들의 장치 메모리로 비동기적으로 스트리밍 하는, 그래프 처리 시스템
|
8 |
8
제1항에 있어서, 상기 위상 데이터는가변 사이즈를 가지는 복수의 페이지들로 구성되고, 상기 복수의 페이지들에 포함된 슬롯들은 임의의 바이트(Byte)로 구성된 페이지 식별자(ID) 번호와 슬롯 오프셋을 포함하는, 그래프 처리 시스템
|
9 |
9
제1항에 있어서, 상기 중앙 처리 장치는상기 복수의 그래픽 처리 장치들의 장치 메모리들, 상기 적어도 하나의 보조 기억 장치 및 상기 메인 메모리 간의 상기 그래프 데이터의 전송을 처리하는 적재 컨트롤러;상기 그래프 데이터의 크기와 상기 장치 메모리들의 용량을 기초로, 상기 그래프 데이터에 대한 질의 처리 시의 실행 전략을 결정하는 실행 컨트롤러;상기 그래프 데이터에 대한 질의 처리 시에 상기 메인 메모리에 상기 장치 메모리들로 전송할 위상 페이지가 존재하는지 여부에 기초하여, 상기 메인 메모리의 영역을 보호하는 버퍼 매니저;상기 복수의 그래픽 처리 장치들을 제어하는 제어 시스템; 및상기 그래프 데이터의 질의 처리 결과를 상기 보조 기억 장치에 저장하는 결과 처리기중 적어도 하나를 포함하는, 그래프 처리 시스템
|
10 |
10
제9항에 있어서, 상기 제어 시스템은상기 적재 컨트롤러가 해시 연산을 사용하여 상기 적어도 하나의 보조 기억 장치 간에 서로 다른 위상 데이터의 페이지를 동시에 읽어 상기 메인 메모리에 적재하도록 하고, 상기 적재 컨트롤러가 상기 위상 데이터의 페이지를 적재하는 동안에 상기 복수의 그래픽 처리 장치들의 장치 메모리들에서 상기 그래프 데이터의 처리가 실행되도록 제어하는, 그래프 처리 시스템
|
11 |
11
그래프 처리를 위한 실행 전략에 기초하여, 상기 그래프 처리를 위해 요구되는 갱신 가능한 속성 데이터를 복수의 그래픽 처리 장치들의 장치 메모리에 복사하는 단계;상기 그래프 처리를 위해 요구되는 위상 데이터가 메인 메모리에 적재되어 있는지 여부를 확인하는 단계;상기 실행 전략에 기초하여, 상기 메인 메모리에 적재된 위상 데이터를 상기 장치 메모리에 스트리밍하는 단계;상기 실행 전략에 따른 질의 처리가 구현된 사용자 정의 커널을 수행하는 단계; 및상기 실행 전략에 따른 질의 처리 결과를 동기화 하는 단계를 포함하는, 그래프 처리 방법
|
12 |
12
제11항에 있어서, 적어도 하나의 보조 기억 장치에 저장되어 있는 위상 데이터 중 상기 메인 메모리에 적재할 위상 데이터를 결정하여 적재 목록을 생성하는 단계; 및상기 메인 메모리에 적재 공간이 있는지 여부를 기초로, 상기 적어도 하나의 보조 기억 장치로부터 상기 메인 메모리로 상기 적재 목록에 포함된 위상 데이터를 적재하는 단계를 더 포함하는, 그래프 처리 방법
|
13 |
13
제12항에 있어서,상기 적재 목록에 포함된 위상 데이터의 적재를 위해, 상기 적어도 하나의 보조 기억 장치에 접근할 적어도 하나의 접근 스레드를 생성하는 단계를 더 포함하고,상기 적어도 하나의 접근 스레드 각각은상기 적어도 하나의 접근 스레드 각각이 적재해야 할 위상 데이터의 페이지 식별자(ID)에 대한 해시 연산을 통해 접근해야 할 보조 기억 장치를 결정하는, 그래프 처리 방법
|
14 |
14
제11항에 있어서,상기 그래프 처리를 위한 실행 전략이 성능 위주의 실행 전략인 경우,상기 갱신 가능한 속성 데이터를 상기 장치 메모리에 복사하는 단계는상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 상기 갱신 가능한 속성 데이터를 동일하게 복사하는 단계를 포함하고,상기 위상 데이터를 상기 장치 메모리에 스트리밍하는 단계는상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 서로 다른 위상의 위상 데이터를 복사하는 단계를 포함하는, 그래프 처리 방법
|
15 |
15
제11항에 있어서,상기 그래프 처리를 위한 실행 전략이 확장 위주의 실행 전략인 경우,상기 갱신 가능한 속성 데이터를 상기 장치 메모리에 복사하는 단계는상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 상기 갱신 가능한 속성 데이터의 서로 다른 부분을 복사하는 단계를 포함하고,상기 위상 데이터를 상기 장치 메모리에 스트리밍하는 단계는상기 복수의 그래픽 처리 장치들 각각의 장치 메모리에 동일한 위상의 위상 데이터를 복사하는 단계를 포함하는, 그래프 처리 방법
|
16 |
16
제11항에 있어서,상기 실행 전략이 성능 위주의 실행 전략인 경우,상기 실행 전략에 따른 질의 처리 결과를 동기화하는 단계는상기 복수의 그래픽 처리 장치들의 장치 메모리에 저장된 갱신 가능한 속성 데이터를 상기 복수의 그래픽 처리 장치들 중 대표 그래픽 처리 장치의 장치 메모리에 취합하는 단계; 및상기 취합된 갱신 가능한 속성 데이터를 상기 메인 메모리로 동기화하는 단계를 포함하는, 그래프 처리 방법
|
17 |
17
제11항에 있어서,상기 실행 전략이 확장 위주의 실행 전략인 경우,상기 실행 전략에 따른 질의 처리 결과를 동기화하는 단계는상기 복수의 그래픽 처리 장치들의 장치 메모리에 저장된 갱신 가능한 속성 데이터를 각각 상기 메인 메모리로 동기화 하는 단계를 포함하는, 그래프 처리 방법
|
18 |
18
하드웨어와 결합되어 제11항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램
|