20.01.2013 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Международная научная конференция<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!