20.01.2013 Views

Корзина - ЦЫМБЛЕР Михаил Леонидович

Корзина - ЦЫМБЛЕР Михаил Леонидович

Корзина - ЦЫМБЛЕР Михаил Леонидович

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Международная научная конференция<br />

«Параллельные вычислительные технологии 2010»<br />

(29 марта – 2 апреля 2010 г., Уфа)<br />

Решение задачи<br />

анализа рыночной корзины<br />

на процессорах Cell<br />

К.С. Пан, М.Л. Цымблер<br />

Южно-Уральский государственный университет (Челябинск)<br />

Работа выполнена при финансовой поддержке РФФИ (проект 09-07-00241-а).


Задача анализа рыночной корзины<br />

� Нахождение всех наборов<br />

товаров, которые часто<br />

приобретаются совместно.<br />

� <strong>Корзина</strong> – набор товаров,<br />

приобретенных совместно.<br />

2<br />

� B – множество анализируемых корзин<br />

� I – множество всех товаров I � b<br />

� Опорное число – количество корзин,<br />

содержащих данный набор товаров.<br />

�<br />

� s min – минимальное опорное число<br />

� Найти множество<br />

�<br />

b�B<br />

� �<br />

support( c, B) � card b� B : c � b<br />

�l � I : support(<br />

l, B s �<br />

L � ) �<br />

min<br />

Анализ рыночной корзины на процессорах Cell<br />

{�, �, �}<br />

Корзины<br />

{�, �, �, �}<br />

{�, �, �, �, �}<br />

{�, �, �}<br />

Частые наборы (s min=3)<br />

{�}, {�}, {�}, {�}<br />

{�,�}, {�,�}, {�,�}, {�,�}<br />

{�, �,�}<br />

Товары<br />

{�,�,�,�,�}<br />

ПаВТ'2010, 1-апр-10


Последовательный алгоритм apriori<br />

3<br />

Анализ рыночной корзины на процессорах Cell<br />

� Антимонотонность опорного<br />

числа:<br />

�� � с support( �,<br />

B) � support( c, B)<br />

support({�}) ≥ support({�, �, �})<br />

� Кандидат – набор с, для<br />

которого проверяется условие<br />

.<br />

с�L � Формирование C i<br />

(множества кандидатов)<br />

� на 1 шаге – из I (множества товаров)<br />

� на k шаге – из L k-1 (множество часто<br />

встречающихся наборов длины k-1)<br />

ПаВТ'2010, 1-апр-10


Последовательный алгоритм apriori<br />

4<br />

Корзины<br />

{�, �, �}<br />

{�, �, �, �}<br />

{�, �, �, �, �}<br />

{�, �, �}<br />

s min=3<br />

L 3<br />

{�, �,�}<br />

С 3<br />

С 1<br />

{�}<br />

{�}<br />

{�}<br />

{�}<br />

{�}<br />

support<br />

{�, �,�} 3<br />

support<br />

Анализ рыночной корзины на процессорах Cell<br />

2<br />

4<br />

3<br />

3<br />

3<br />

L 1<br />

{�}<br />

{�}<br />

{�}<br />

{�}<br />

L 2<br />

{�,�}<br />

{�,�}<br />

{�,�}<br />

{�,�}<br />

С 2<br />

{�,�}<br />

{�,�}<br />

{�,�}<br />

{�,�}<br />

{�,�}<br />

{�,�}<br />

support<br />

3<br />

3<br />

3<br />

2<br />

2<br />

3<br />

ПаВТ'2010, 1-апр-10


Распараллеливание алгоритма apriori<br />

{� �} {� �} {��} …<br />

5<br />

Count Distribution<br />

(CDapriori)<br />

…<br />

…<br />

Анализ рыночной корзины на процессорах Cell<br />

{� �} {� �} …{��}<br />

Data Distribution<br />

(DDapriori)<br />

…<br />

…<br />

ПаВТ'2010, 1-апр-10


Параллельный алгоритм DDC-apriori<br />

6<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

7<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

8<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

9<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

10<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

11<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

12<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Использование SIMD-функций<br />

13<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Эксперименты: ускорение<br />

14<br />

Анализ рыночной корзины на процессорах Cell<br />

Процессор 2 x PowerXCell 8i<br />

(16 ядер, 3.2 GHz)<br />

Данные 10 6 корзин<br />

(Тест msnbc.com)<br />

ПаВТ'2010, 1-апр-10


Эксперименты: DDapriori vs CDapriori<br />

15<br />

Анализ рыночной корзины на процессорах Cell<br />

Процессор 2 x PowerXCell 8i<br />

(16 ядер, 3.2 GHz)<br />

Данные 10 6 корзин<br />

(Тест msnbc.com)<br />

ПаВТ'2010, 1-апр-10


Эксперименты: SIMD vs SISD<br />

16<br />

Анализ рыночной корзины на процессорах Cell<br />

Процессор 2 x PowerXCell 8i<br />

(16 ядер, 3.2 GHz)<br />

Данные 10 6 корзин<br />

(Тест msnbc.com)<br />

ПаВТ'2010, 1-апр-10


Эксперименты: влияние длины корзины<br />

17<br />

Анализ рыночной корзины на процессорах Cell<br />

t<br />

t<br />

SISD<br />

SIMD<br />

ПаВТ'2010, 1-апр-10


Эксперименты: Cell vs Intel, ускорение<br />

18<br />

Анализ рыночной корзины на процессорах Cell<br />

Процессор 2 x PowerXCell 8i<br />

(16 ядер, 3.2 GHz)<br />

2 x Intel Xeon E5472<br />

(8 ядер, 3.0 GHz)<br />

Данные 10 6 корзин<br />

(Тест msnbc.com)<br />

ПаВТ'2010, 1-апр-10


Эксперименты: Cell vs Intel, время<br />

19<br />

Анализ рыночной корзины на процессорах Cell<br />

Процессор 2 x PowerXCell 8i<br />

(16 ядер, 3.2 GHz)<br />

2 x Intel Xeon E5472<br />

(8 ядер, 3.0 GHz)<br />

Данные 10 6 корзин<br />

(Тест msnbc.com)<br />

ПаВТ'2010, 1-апр-10


Спасибо за внимание<br />

� Вопросы?<br />

�Константин Сергеевич Пан<br />

kpan@mail.ru<br />

�<strong>Михаил</strong> <strong>Леонидович</strong> Цымблер<br />

mzym@susu.ru<br />

20<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Дополнительные слайды<br />

� DDC-apriori (без упрощений)<br />

� DDC-apriori (детали реализации)<br />

21<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


Параллельный алгоритм DDC-apriori<br />

22<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10


DDC-apriori: детали реализации<br />

� Язык программирования: С<br />

� Библиотеки: IBM Cell Broadband Engine SDK<br />

� Объем исходных текстов: 1 тыс. строк<br />

23<br />

Анализ рыночной корзины на процессорах Cell<br />

ПаВТ'2010, 1-апр-10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!