1 / 26

Paraleln é vyhľadávanie nad viacrozmernými indexmi.

Paraleln é vyhľadávanie nad viacrozmernými indexmi. Martin Orendáč. RNDr. Peter Gurský, PhD. Ciele práce. Naimplementovať a porovna ť štruktúry “naivn ého ” distribuovaného R * stromu, MC R * stromu a distribuovaného R* stromu. Obsah prezentácie. Definícia R stromu

Télécharger la présentation

Paraleln é vyhľadávanie nad 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. Paralelné vyhľadávanie nad viacrozmernými indexmi. Martin Orendáč RNDr. Peter Gurský, PhD.

  2. Ciele práce Naimplementovať a porovnať štruktúry “naivného” distribuovaného R* stromu, MC R* stromu a distribuovaného R* stromu.

  3. Obsah prezentácie • Definícia R stromu • Priblíženie problému paralelizácie • Popis troch distribuovaných štruktúr uvedených v cieľoch práce.

  4. R strom - Úvod 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.

  5. R strom - Definícia • Každý uzol stromu je identifikovaný dvojicou <MBR, I>, kde I je číslo stránky na disku na ktorej sa nachádza a MBR ohraničujúci obdĺžnik. • Dátové objekty sú uložené v listoch R stromu (MBR listu ohraničuje všetky MBR objektov v liste). Vnútorné uzly obsahujú zoznam <MBR,I> svojich potomkov. • Každý uzol má svoju kapacitu, koľko najviac potomkov/objektov môže mať.

  6. R strom - Príklad

  7. R strom - Vyhľadávanie Prehľadávanie takéhoto stromu prebieha od koreňa smerom nadol. Majme obdĺžnik S, chceme nájsť všetky dátové súbory ktorých obdĺžnik ohraničuje S. Pre každý uzol (začínajúc koreňom), ktorý nie je listom, prehľadáme množinu MBR jeho potomkov a zavoláme takéto vyhľadávanie na všetkých potomkoch, ktorých MBR ohraničuje S. Pre každý listový uzol opäť prehľadáme množinu obdĺžnikov indexovaných dát a vrátime všetky dátové súbory, ktorých obdĺžniky ohraničujú S.

  8. R strom a R* strom V našej práci používame R* strom, ktorý je vylepšením R stromu, lýšia sa v algoritme vkladania dát. Keďže však pracujeme so statickou databázou, tj operácia vkladania nie je povolená, nemá zmysel tento rozdiel popisovať.

  9. Paralelné vyhľadávanie nad R stromami - Motivácia Predstavme si obrovskú databázu (NASA v roku 1996 pracovala s 1 TB nových dát denne; geografické databázy), ktorú chce prehľadávať veľa ľuďí. Kde klasické vyhľadávanie nestačí, je potrebné rozmýšľať nad spôsobmi urýchlenia. Jedným z týchto spôsobov je paralelizácia.

  10. Paralelné vyhľadávanie nad R stromami - Príklad využitia, Mx R stromy • Prvým prístupom s využitím paralelizácie v problematike bolo využitie tzv. multiplexed(Mx) R stromov. • Použiteľný na architektúre s jedným procesorom a viacerými diskmi. • Uzol Mx R stromu je uzol identifikovaný trojicou <MBR, I, diskId>, kde I je číslo stránky a diskId je id disku na ktorý sa máme pozrieť.

  11. Paralelné vyhľadávanie nad R stromami - Príklad využitia, MX R stromy Filozofia : I/O operácie sa rozdelia medzi viaceré disky, na ktorých sa spracúvajú paralelne. Nato, aby bol tento prístup efektívny, je potrebné aktivovať vždy keď uzol chce pristúpiť k potomkom čím viac diskov. V Mx R strome je cieľom rozdistribuovať podobné uzly stromu na rôzne disky. Metóda Proximity Index.

  12. Paralelné vyhľadávanie nad R stromami - Distribuované prostredie • Majme distribuovaný systém, chceme rozdistribuovať uzly globálneho R stromu na jednotlivé stanice. Metóda Proximity Index by svojim rozdelením uzlov na jednotlivé stroje spôsobila zahltenie siete - neberie v úvahu komunikačný čas.

  13. Paralelné vyhľadávanie nad R stromami - Distribuované prostredie Pre minimalizáciu počtu zaslaných správ sa použije jedna stanica ako Master Server, ktorá bude rozhodovať ktorým staniciam je potrebné preposlať dopyt.Zvyšné stanice sa stanú úložnými serverami, budú spravovať listovú vrstvu globálneho stromu.

  14. Paralelné vyhľadávanie nad R stromami - Distribuované prostredie Stále však ostáva problémom ako efektívne rozmiestniť dáta, kedže musíme brať v úvahu komunikačný čas aj čas potrebný na lokálne spracovanie dopytu.

  15. Popis štruktúr - Naivný distribuovaný R * strom Majme vstupnú postupnosť dát ktoré chceme indexovať, a k úložných servrov. Dátové objekty pridelíme na jednotlivé stanice metódou Round Robin, teda i tý objekt pridelíme na (i mod k)tu stanicu. Úložné servre si potom z pridelených dát vytvoria lokálne R* stromy. Pri prehľadávaní potom master server osloví všetky úložné servre a vráti zjednotenie ich výsledkov.

  16. Popis štruktúr - MC R* Strom Nevýhoda “naivného” stromu - aj malý dopyt osloví zbytočne veľa staníc. Opak - ak by master oslovil aj väčšími dopytmi len jednu stanicu, vôbec by sme nevyužili výhody paralelizmu. “Dobré” rozdelenie : na stanice distribuujeme skupiny podobných dát, pričom podobné skupiny distribuujeme na odlišné stroje. (Myšlienka Mx R stromu) Optimálny počet dát na skupinu je rovný kapacite listu globálneho stromu.

  17. Popis štruktúr - MC R* Strom Na distribuovaný 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.

  18. Popis štruktúr - MC R* Strom • Obrazok

  19. Popis štruktúr - MC R* Strom, vytvorenie MC R* Stromu Aby sme mohli dáta vhodne rozdeliť medzi stanice, potrebujeme ich najskôr zotriediť podľa podobnosti, na čo sa použije algoritmus STR. Následne môžeme postupnosť rozdeliť na úseky o dĺžke M, kde M je kapacita listu, a metódou Round Robin prideliť a rozposlať na jednotlivé stanice.

  20. Popis štruktúr - MC R* Strom, STR algoritmus Majme k-dimenziálnu postupnosť n (hyper) obdĺžnikov. Túto postupnosť utriedime podľa prvej súradnice ich stredu. Nech P = n/M , zaokrúhlené nahor. Postupnosť rozdelíme na S = P1/kúsekov. Rekurzívne usporiadame každý z úsekov podľa zvyšných k-1 súradníc.

  21. Popis štruktúr - MC R* Strom, STR Packing Pomocou STR Packing algoritmu vieme dosiahnuť vytvorenie stromu so skoro 100% naplnením uzlov. Princíp : máme vytvorenú vrstvu potomkov a poznáme kapacitu jedného uzla, z toho vytvoríme vrstvu rodičov. Rekurzívne opakujeme kým vrstva rodičov neobsahuje len jeden uzol, ktorý sa stane koreňom stromu.

  22. Popis štruktúr - MC R* Strom • Na master servri vytvárame lokálny strom pomocou STR packing, pričom začíname od najnižšej vrstvy, ktorou sú ukazovatele na jednotlivé stanice. • Na úložných servroch vytvárame lokálne stromy už priamo z pridelených dát.

  23. Popis štruktúr - Distribuovaný R* Strom • Paralelizmus možno využiť nielen na urýchlenie dopytu, ale aj na rozdelenie záťaže medzi jednotlivé stanice. Preto sa v tomto strome budeme snažiť prideliť podobné dáta na rovnaké stanice. (Snaha smerovať podobné dopyty na podobné stanice, predpoklad že budem dostávať rôzne dopyty) • Podobný ako MC R*, rozdiel v počiatočnomprideľovaní na stanice - počiatočnú utriedenú postupnosť delíme na n úsekov, kde n je počet staníc.

  24. Popis štruktúr - Distribuovaný R* Strom • Takýto prístup má výhodu oproti MC R* stromu - strom na master servri môžeme znížiť, čím sa znižuje riziko že tento server bude “bottleneck”. Znižovanie sa vykoná už počas STR packingu - pokiaľ viem že podstrom nejakého uzla obsahuje len ukazovatele na jednu stanicu, môžem ho nahradiť ukazovateľom.

  25. Stav práce

  26. Priestor pre otázky

More Related