1 / 38

Vyhľadávanie najbližších a najlepších objektov nad paralelnými viacrozmernými indexmi

Vyhľadávanie najbližších a najlepších objektov nad paralelnými viacrozmernými indexmi. Vedúci práce : RNDr. Peter Gurský, PhD. . Ciele Práce. Popísať známe vyhľadávacie algoritmy pre vyhľadávanie najbližších a najlepších objektov nad lokálnymi aj distribuovanými viacrozmernými indexmi 

neorah
Download Presentation

Vyhľadávanie najbližších a najlepších objektov nad paralelnými viacrozmernými indexmi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vyhľadávanie najbližších a najlepších objektov nad paralelnými viacrozmernými indexmi Vedúci práce : RNDr. Peter Gurský, PhD. 

  2. Ciele Práce • Popísať známe vyhľadávacie algoritmy pre vyhľadávanie najbližších a najlepších objektov nad lokálnymi aj distribuovanými viacrozmernými indexmi  • Analyzovať vhodnosť použitia jednotlivých viacrozmerných indexov pre tento typ vyhľadávaní • Navrhnúť vlastný algoritmus vyhľadávania najlepších objektov nad vybranými typmi viacrozmerných indexov • Implementovať vybrané indexy a algoritmy vyhľadávania • Porovnať rýchlosť vyhľadávania najbližších a najlepších objekov nad naimplementovanými indexmi.

  3. R Strom je stromová štruktúra na indexovanie viacrozmerných dát na základe ich priestorovej pozície. Pod k-rozmerným dátovým súborom si môžeme predstaviť ľubovoľný objekt z k-rozmerného priestoru s atribútmi. My však budeme pracovať len s obdĺžnikmi a ich viacrozmernými variantmi.

  4. R Strom

  5. MC R strom Na Master-Client R-strom sa môžeme pozerať ako na dvoj-úrovňový R-strom. Na Master Servri sa vytvorí lokálny strom, ktorý uchováva všetky vnútorné uzly globálneho stromu. Listové uzly globálneho stromu sú na master servery identifikované dvojicou <MBR, siteId>, kde siteId je identifikátor stanice, na ktorej sa listový uzol nachádza. Tieto listy sú rozdistribuované po ostatných staniciach v sieti, na ktorých sú následne vytvorené lokálne R-stromy.

  6. MC R strom

  7. MC R Strom ako množina rovnocenných serverov

  8. MC R Strom ako množina rovnocenných serverov • Použitie diskovo-rezidentného STR sortu • Použitie diskovo-rezidentného bulk-loadingu na vytváranie stromov indexujúcich dátové objekty • Master R strom je vytváraný pomocou pamäťovo rezidentného bulk-loadingu.

  9. Knn dopyt Vstupom je bod A, číslo k. Výstupom je k najbližších objektov k tomuto bodu A.

  10. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  11. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  12. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  13. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  14. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  15. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  16. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  17. Sekvenčný Inn algoritmus knn(Bod pt, PrioritnyRad queue, int k) { foreach (p in potomok) { queue.add(p); } Object o = queue.poll(); if (o je datovy objekt) vysledok.add(o) else o.knn(pt, queue); if (vysledok.size() == k) return vysledok;

  18. Paralelný Inn algoritmus, variant 1

  19. Paralelný Inn algoritmus, variant 1

  20. Paralelný Inn algoritmus, variant 1

  21. Paralelný Inn algoritmus, variant 1

  22. Paralelný Inn algoritmus, variant 1

  23. Paralelný Inn algoritmus, variant 2

  24. Paralelný Inn algoritmus, variant 2

  25. Paralelný Inn algoritmus, variant 2

  26. Paralelný Inn algoritmus, variant 2

  27. Paralelný Inn algoritmus, variant 2

  28. Paralelný Inn algoritmus, variant 2

  29. Paralelný Inn algoritmus, variant 2

  30. Variant 1 vs Variant 2 • Záplavový variant bude zrejme rýchlejší, avšak spôsobí väčšie zahltenie siete, keďže oslovuje všetky servre (pričom väčšina nemusí obsahovať relevantné dáta) • Selektívny variant bude pomalší, zrejme však bude rýchlejší pri vysokej záťaži. • Ukážu až testy

  31. Top k dopyt Vstupom je číslo k, kombinačná funkcia C a n preferenčných fuzzy funkcií fi Výstupom je k najlepších objektov

  32. Top k dopyt, fuzzy funkcia

  33. Top k dopyt

  34. Top k dopyt

  35. Top k dopyt

  36. Stav práce • Čo mám hotové : Paralelný Index (Ide o modifikáciu indexu za Bc práce, pridal som diskovo rezidentné algoritmy na vytvorenie stromu a upravil som komunikačný protokol) • Naimplementované oba varianty odprezentovaných paralelných knn dopytov.

  37. Literatúra 1, Bin Liu, Wang-Chien Lee, Dik Lun Lee: Supporting Complex Multi-dimensional Queries in P2P Systems, Proceedings of the 25th IEEE International Conference on Distributed Computing Systems (ICSCS’05), 2005 2, A. Guttman, “R-Trees: A Dynamic Index Structure for Spatial Searching”,SIGMOD Conference 19843. N. Beckmann, H.P. Kriegel, R. Schneider, B. Seeger, “The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles”, SIGMOD Conference 1990: 322-3314. Yong-Ju Lee, Chin-Wan Chung: The DR-tree: A Main Memory Data Structure for Complex Multi-dimensional Objects, Journal Geoinformatica, Volume 5 Issue 2, June 2001, ISSN: 1384-6175 5. Joaquín Keller, Raluca Diaconu, Mathieu Valero: Towards a Scalable Dynamic Spatial Database System, http://www.researchgate.net/, 9.11.2012 6. Chi Zhang, Feifei Li, Jeffrey Jestes: Efficient parallel knn joins for large data in mapreduce, 15. EDBT 2012: Berlin, Germany 7. H. Jagadish, B. C. Ooi, Q.H. Vu, R. Zhang, and A. Zhou. VBI-Tree: A Peer-to-Peer Framework for Supporting Multi-Dimensional Indexing Schemes. In Proc Intl. Conf. on Data Engineering (ICDE),2006 

  38. Otázky

More Related