1 |
1
적어도 하나의 프로세서가, 빈발 1-항목집합들에 대응하는 비트 벡터들-상기 비트벡터들 각각은 해당하는 빈발 1-항목집합이 복수의 트랜잭션들에 포함되는지 여부를 지시함-을 상기 복수의 트랜잭션들에 기초하여 분할함으로써 블록들을 생성하는 단계;상기 프로세서가, 메인 메모리로부터 GPU(Graphic Processing Unit)들의 장치 메모리들 각각으로, 후보 k-항목집합들-상기 후보 k-항목집합들 각각은 상기 빈발 1-항목집합들의 항목들 중 k개의 항목들을 포함함- 중 서로 다른 후보 k-항목집합의 상대 메모리 주소를 각각 복사하는 단계;상기 프로세서가, 상기 메인 메모리로부터 상기 장치 메모리들 각각으로, 상기 블록들 중 적어도 하나의 동일한 블록을 각각 복사하는 단계; 및상기 프로세서가, 상기 적어도 하나의 동일한 블록 및 서로 다른 상대 메모리 주소들에 기초하여 상기 GPU들에 의해 계산된 상기 후보 k-항목집합들의 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는빈발 패턴 마이닝 방법
|
2 |
2
제1항에 있어서,상기 서로 다른 상대 메모리 주소들을 각각 복사하는 단계는상기 프로세서가, 제1 후보 k-항목집합의 상대 메모리 주소를 제1 GPU의 장치 메모리로 복사하는 단계; 및상기 프로세서가, 제2 후보 k-항목집합의 상대 메모리 주소를 제2 GPU의 장치 메모리로 복사하는 단계를 포함하고,상기 적어도 하나의 동일한 블록을 각각 복사하는 단계는상기 프로세서가, 상기 블록들 중 제1 블록을 상기 제1 GPU의 장치 메모리로 복사하는 단계; 및상기 프로세서가, 상기 제1 블록을 상기 제2 GPU의 장치 메모리로 복사하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
3 |
3
제1항에 있어서,상기 프로세서가, 상기 비트 벡터들을 포함하는 트랜잭션 비트맵-상기 트랜잭션 비트맵은 수직 비트맵 레이아웃(vertical bitmap layout)에 의해 표현됨-을 수직적 파티셔닝(vertically partitioning)하여 트랜잭션 블록들을 생성하는 단계를 더 포함하고,상기 블록들은 상기 트랜잭션 블록들인,빈발 패턴 마이닝 방법
|
4 |
4
제3항에 있어서,상기 서로 다른 상대 메모리 주소를 각각 복사하는 단계는상기 프로세서가, 상기 트랜잭션 비트맵의 빈발 1-항목집합을 상대 메모리 주소로 매핑하는 사전을 이용하여, 상기 후보 k-항목집합들의 상대 메모리 주소들을 생성하는 단계; 및상기 프로세서가, 상기 생성된 상대 메모리 주소들 각각을 외부 피연산자(outer operand)로서 상기 장치 메모리들 각각으로 복사하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
5 |
5
제4항에 있어서,상기 상대 메모리 주소들을 생성하는 단계는상기 프로세서가, 후보 k-항목집합에 포함된 빈발 1-항목집합들을 식별하는 단계; 및상기 프로세서가, 상기 식별된 빈발 1-항목집합들의 상대 메모리 주소들의 조합을 포함하는 상기 후보 k-항목집합의 상대 메모리 주소를 생성하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
6 |
6
제4항에 있어서,상기 적어도 하나의 동일한 블록을 각각 복사하는 단계는상기 프로세서가, 상기 트랜잭션 블록들 중 어느 하나의 트랜잭션 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계를 포함하고,상기 지지도들을 갱신하는 단계는상기 프로세서가, 상기 트랜잭션 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 GPU들에 의하여 계산되고, 상기 각 상대 메모리 주소들에 대응하는 부분 지지도들을 수신하는 단계; 및상기 프로세서가, 상기 상대 메모리 주소들에 대응하는 상기 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
7 |
7
제1항에 있어서,상기 프로세서가, 상기 빈발 1-항목집합들을 분할하여 프래그먼트(fragment)들을 생성하는 단계;상기 프로세서가, 상기 프래그먼트들 별로 프래그먼트 내 빈발 1-항목집합들의 모든 조합인 항목집합들을 생성하는 단계;상기 프로세서가, 상기 생성된 항목집합들에 대응하는 비트 벡터들을 계산하는 단계; 및상기 프로세서가, 상기 계산된 비트 벡터들을 포함하는 트랜잭션 비트맵-상기 트랜잭션 비트맵은 수직 비트맵 레이아웃(vertical bitmap layout)에 의해 표현됨-을 수직적 파티셔닝(vertically partitioning)하고, 상기 프래그먼트들 별로 분할하여 프래그먼트 블록들을 생성하는 단계를 더 포함하고,상기 블록들은 상기 프래그먼트 블록들인,빈발 패턴 마이닝 방법
|
8 |
8
제7항에 있어서,상기 서로 다른 상대 메모리 주소들을 각각 복사하는 단계는상기 프로세서가, 상기 트랜잭션 비트맵의 항목집합을 상대 메모리 주소로 매핑하는 사전을 이용하여, 상기 후보 k-항목집합들의 상대 메모리 주소들을 생성하는 단계; 및상기 프로세서가, 상기 상대 메모리 주소들 각각을 외부 피연산자(outer operand)로서 상기 장치 메모리들 각각으로 복사하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
9 |
9
제8항에 있어서,상기 상대 메모리 주소들을 생성하는 단계는상기 프로세서가, 후보 k-항목집합에 포함된 항목집합들을 식별하는 단계; 및상기 프로세서가, 상기 식별된 항목집합들의 상대 메모리 주소들의 조합을 포함하는 상기 후보 k-항목집합의 상대 메모리 주소를 생성하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
10 |
10
제8항에 있어서,상기 적어도 하나의 동일한 블록을 각각 복사하는 단계는상기 프로세서가, 상기 프래그먼트 블록들 중 적어도 하나의 프래그먼트 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계를 포함하고,상기 지지도들을 갱신하는 단계는상기 프로세서가, 상기 프래그먼트 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 GPU들에 의하여 계산되고, 상기 각 상대 메모리 주소들에 대응하는 부분 지지도들을 수신하는 단계; 및상기 프로세서가, 상기 상대 메모리 주소들에 대응하는 상기 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
11 |
11
적어도 하나의 프로세서가, 트랜잭션 데이터로부터 빈발 1-항목집합들을 마이닝하는 단계;상기 프로세서가, 상기 빈발 1-항목집합들에 대응하는 비트 벡터들-상기 비트벡터들 각각은 해당하는 빈발 1-항목집합이 복수의 트랜잭션들에 포함되는지 여부를 지시함-을 포함하는 트랜잭션 비트맵-상기 트랜잭션 비트맵은 수직 비트맵 레이아웃(vertical bitmap layout)에 의해 표현됨-을 상기 복수의 트랜잭션들에 기초하여 수직적 파티셔닝(vertically partitioning)하여 트랜잭션 블록들을 생성하는 단계;상기 프로세서가, GPU들에 의하여 상기 트랜잭션 블록들로부터 계산된 후보 k-항목집합들-상기 후보 k-항목집합들 각각은 상기 빈발 1-항목집합들의 항목들 중 k개의 항목들을 포함함-의 지지도들을 수신하는 단계; 및상기 프로세서가, 상기 지지도들에 기초하여 상기 후보 k-항목집합들 중 빈발 k-항목집합들을 마이닝하는 단계를 포함하는빈발 패턴 마이닝 방법
|
12 |
12
제11항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 상기 트랜잭션 비트맵의 빈발 1-항목집합을 상대 메모리 주소로 매핑하는 사전을 이용하여, 상기 후보 k-항목집합들의 상대 메모리 주소들을 생성하는 단계;상기 프로세서가, 상기 상대 메모리 주소들 각각을 외부 피연산자(outer operand)로서 상기 GPU들의 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 트랜잭션 블록들 중 어느 하나의 트랜잭션 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 각 GPU들이, 상기 트랜잭션 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
13 |
13
제12항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 제2 트랜잭션 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계; 상기 프로세서가, 상기 각 GPU들이, 상기 제2 트랜잭션 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 제2 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 제2 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 더 포함하는,빈발 패턴 마이닝 방법
|
14 |
14
적어도 하나의 프로세서가, 트랜잭션 데이터로부터 빈발 1-항목집합들을 마이닝하는 단계;상기 프로세서가, 상기 빈발 1-항목집합들을 분할하여 프래그먼트(fragment)들을 생성하는 단계;상기 프로세서가, 상기 프래그먼트들 별로 프래그먼트 내 빈발 1-항목집합들의 모든 조합인 항목집합들을 생성하는 단계;상기 프로세서가, 상기 생성된 항목집합들에 대응하는 비트 벡터들-상기 비트벡터들 각각은 해당하는 항목집합이 복수의 트랜잭션들에 포함되는지 여부를 지시함-을 계산하는 단계;상기 프로세서가, 상기 계산된 비트 벡터들을 포함하는 트랜잭션 비트맵-상기 트랜잭션 비트맵은 수직 비트맵 레이아웃(vertical bitmap layout)에 의해 표현됨-을 상기 복수의 트랜잭션들에 기초하여 수직적 파티셔닝(vertically partitioning)하고, 상기 프래그먼트들 별로 분할하여 프래그먼트 블록들을 생성하는 단계;상기 프로세서가, GPU들에 의하여 상기 프래그먼트 블록들로부터 계산된 후보 k-항목집합들-상기 후보 k-항목집합들 각각은 상기 항목집합들 중 k개의 항목집합들 내 항목들을 포함함-의 지지도들을 수신하는 단계; 및상기 프로세서가, 상기 지지도들에 기초하여, 상기 후보 k-항목집합들 중 빈발 k-항목집합들을 마이닝하는 단계를 포함하는빈발 패턴 마이닝 방법
|
15 |
15
제14항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 상기 트랜잭션 비트맵의 항목집합을 상대 메모리 주소로 매핑하는 사전을 이용하여, 상기 후보 k-항목집합들의 상대 메모리 주소들을 생성하는 단계;상기 프로세서가, 상기 상대 메모리 주소들 각각을 외부 피연산자(outer operand)로서 상기 GPU들의 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 프래그먼트 블록들 중 적어도 하나의 프래그먼트 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 각 GPU들이, 상기 프래그먼트 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
16 |
16
제15항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 적어도 하나의 제2 프래그먼트 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계; 상기 프로세서가, 상기 각 GPU들이, 상기 제2 프래그먼트 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 제2 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 제2 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 더 포함하는,빈발 패턴 마이닝 방법
|
17 |
17
적어도 하나의 프로세서가, 트랜잭션 데이터로부터 빈발 1-항목집합들을 마이닝하는 단계;상기 프로세서가, TFL(Traversal from the First Level) 전략 또는 HIL(Hopping from Intermediate Level) 전략을 선택하는 단계;상기 프로세서가, 상기 선택된 전략에 기초하여, 상기 빈발 1-항목집합들에 대응하는 비트 벡터들-상기 비트벡터들 각각은 해당하는 빈발 1-항목집합이 복수의 트랜잭션들에 포함되는지 여부를 지시함-을 상기 복수의 트랜잭션들에 기초하여 분할함으로써 블록들을 생성하는 단계;상기 프로세서가, GPU들에 의하여 상기 블록들로부터 계산된 후보 k-항목집합들-상기 후보 k-항목집합들 각각은 상기 빈발 1-항목집합들의 항목들 중 k개의 항목들을 포함함-의 지지도들을 수신하는 단계; 및상기 프로세서가, 상기 지지도들에 기초하여, 상기 후보 k-항목집합들 중 빈발 k-항목집합들을 마이닝하는 단계를 포함하는빈발 패턴 마이닝 방법
|
18 |
18
제17항에 있어서,상기 블록들을 생성하는 단계는상기 프로세서가, 상기 TFL 전략이 선택된 경우, 상기 비트 벡터들을 포함하는 트랜잭션 비트맵-상기 트랜잭션 비트맵은 수직 비트맵 레이아웃(vertical bitmap layout)에 의해 표현됨-을 수직적 파티셔닝(vertically partitioning)하여 트랜잭션 블록들을 생성하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
19 |
19
제18항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 상기 트랜잭션 비트맵의 빈발 1-항목집합을 상대 메모리 주소로 매핑하는 사전을 이용하여, 상기 후보 k-항목집합들의 상대 메모리 주소들을 생성하는 단계;상기 프로세서가, 상기 상대 메모리 주소들 각각을 외부 피연산자(outer operand)로서 상기 GPU들의 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 트랜잭션 블록들 중 어느 하나의 트랜잭션 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 각 GPU들이, 상기 트랜잭션 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
20 |
20
제19항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 제2 트랜잭션 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계; 상기 프로세서가, 상기 각 GPU들이, 상기 제2 트랜잭션 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 제2 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 제2 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 더 포함하는,빈발 패턴 마이닝 방법
|
21 |
21
제17항에 있어서,상기 블록들을 생성하는 단계는상기 프로세서가, 상기 HIL 전략이 선택된 경우, 상기 빈발 1-항목집합들을 분할하여 프래그먼트(fragment)들을 생성하는 단계;상기 프로세서가, 상기 프래그먼트들 별로 프래그먼트 내 빈발 1-항목집합들의 모든 조합인 항목집합들을 생성하는 단계;상기 프로세서가, 상기 생성된 항목집합들에 대응하는 비트 벡터들을 계산하는 단계;상기 프로세서가, 상기 계산된 비트 벡터들을 포함하는 트랜잭션 비트맵-상기 트랜잭션 비트맵은 수직 비트맵 레이아웃(vertical bitmap layout)에 의해 표현됨-을 수직적 파티셔닝(vertically partitioning)하고, 상기 프래그먼트들 별로 분할하여 프래그먼트 블록들을 생성하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
22 |
22
제21항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 상기 트랜잭션 비트맵의 항목집합을 상대 메모리 주소로 매핑하는 사전을 이용하여, 상기 후보 k-항목집합들의 상대 메모리 주소들을 생성하는 단계;상기 프로세서가, 상기 상대 메모리 주소들 각각을 외부 피연산자(outer operand)로서 상기 GPU들의 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 프래그먼트 블록들 중 적어도 하나의 프래그먼트 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계;상기 프로세서가, 상기 각 GPU들이, 상기 프래그먼트 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 포함하는,빈발 패턴 마이닝 방법
|
23 |
23
제22항에 있어서,상기 지지도들을 계산하는 단계는상기 프로세서가, 적어도 하나의 제2 프래그먼트 블록을 내부 피연산자(inner operand)로서 상기 장치 메모리들 각각으로 복사하는 단계; 상기 프로세서가, 상기 각 GPU들이, 상기 제2 프래그먼트 블록 및 상기 각 상대 메모리 주소들을 이용하여 상기 각 상대 메모리 주소들에 대응하는 제2 부분 지지도들을 계산하는 단계; 및상기 프로세서가, 상기 제2 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는 단계를 더 포함하는,빈발 패턴 마이닝 방법
|
24 |
24
하드웨어와 결합되어 제1항 내지 제23항 중 어느 하나의 항의 방법을 실행시키기 위하여 기록 매체에 저장된 컴퓨터 프로그램
|
25 |
25
CPU; 및메인 메모리를 포함하고,상기 CPU는빈발 1-항목집합들에 대응하는 비트 벡터들-상기 비트벡터들 각각은 해당하는 빈발 1-항목집합이 복수의 트랜잭션들에 포함되는지 여부를 지시함-을 상기 복수의 트랜잭션들에 기초하여 분할함으로써 블록들을 생성하고,상기 메인 메모리로부터 GPU들의 장치 메모리들 각각으로, 후보 k-항목집합들-상기 후보 k-항목집합들 각각은 상기 빈발 1-항목집합들의 항목들 중 k개의 항목들을 포함함- 중 서로 다른 후보 k-항목집합의 상대 메모리 주소를 각각 복사하고,상기 메인 메모리로부터 상기 장치 메모리들 각각으로, 상기 블록들 중 적어도 하나의 동일한 블록을 각각 복사하고,상기 적어도 하나의 동일한 블록 및 서로 다른 상대 메모리 주소들에 기초하여 상기 GPU들에 의해 계산된 상기 후보 k-항목집합들의 부분 지지도들에 기초하여, 상기 후보 k-항목집합들의 지지도들을 갱신하는빈발 패턴 마이닝 장치
|