Sunteți pe pagina 1din 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Regasirea Informatiilor pe WEB


Curs 04: Indexare (3)

s.l. dr. ing. Alexandru ARCHIP


alexandru.archip@cs.tuiasi.ro
Facultatea de Automatic
a si Calculatoare, Iasi

an universitar: 2014 2015

RIWeb 2014 2015/C04: Indexare 3

1/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Cuprins

Metode de paralelizare/distribuire a modulului de indexare


Concepte generale
Modelul MapReduce
MapReduce n paralelizarea indexer-ului

Discutii

RIWeb 2014 2015/C04: Indexare 3

2/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Concepte generale

Fundamente

Scop
Sa faciliteze construirea unui index pentru colectii foarte mari de documente.
Sa faciliteze cautarea rapida a documentelor sau a indecsilor, fapt ce implica
n sine minimizarea comunicatiilor.
Abord
ari uzuale
Partitionarea dup
a termenii pe baza carora se construieste indexarea
indexare global
a.
Partitionarea dup
a documentele ce construiesc obiectul indexului indexare
local
a

RIWeb 2014 2015/C04: Indexare 3

3/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Concepte generale

Fundamente (2)
Partitionarea dup
a termeni [1]
Principiul de baza este de a partitiona vocabularul de baza ntre nodurile de
lucru.
Astfel, un nod de lucru va contine n final indexul invers asociat fiecarui
termen din subsetul local.
Mecanismul de partitionare trebuie atent corelat cu vocabularul de lucru si cu
incidenta termenilor n cadrul colectiei de documente.
Avantajul acestei metode este ca ofera suport mai bun pentru cautari
concurente.
Dezavantajele metodei deriva din complexitatea functiei de partitionare si
din faptul ca induce dificultati considerabile n ceea ce priveste mentenanta
bazei de indecsi.

RIWeb 2014 2015/C04: Indexare 3

4/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Concepte generale

Fundamente (3)

Partitionarea dup
a documente [1]
Acest model presupune ca, n final, fiecare nod de lucru va indexa un subset
din setul initial de documente.
Partitionarea documentelor pentru indexare se poate face tinand cont de
domeniul de care apartin documentele respective.
ce se ntelege prin domeniul de care apartine un document??

Avantajul imediat al acestei abordari este acela ca sunt reduse considerabil


comunicatiile ntre nodurile responsabile de indexare.
Dezavantajul metodei este acela ca statisticile globale sunt obtinute prin
mecanisme ce favorizeaza cresterea comunicatiilor ntre noduri.

RIWeb 2014 2015/C04: Indexare 3

5/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Modelul MapReduce

Modelul MapReduce

Concepte generale [2]


MapReduce reprezinta un model de dezvoltare de aplicatii distribuite
destinat procesarii volumelor de date de mari dimensiuni.
Problemele adresate de acest model au solutii ce se exprima, n general,
n perechi de forma cheie/valoare.
API-urile existente, asociate acestui model, urmaresc sa ascunda detaliile
legate de paralelizari complexe, toleranta la defecte, echilibrarea ncarcarii,
etc., si sa permita exprimarea task-urilor computationale n termeni de
selectie de date si calcul de rezultat.
Arhitectura subsidiara este una de tip coordonator(i)/workeri.

RIWeb 2014 2015/C04: Indexare 3

6/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Modelul MapReduce

Modelul MapReduce (2)


Concepte generale etape [3]
etapa de mapare
nodul cu rol de coordonator mparte problema ,,originala n sub
probleme si le distribuie catre workeri pentru procesare;
trebuie retinut faptul ca aceasta divizare a problemei de lucru (a
datelor de procesat) se realizeaza ntr-o maniera similara
divide-et-impera n unele cazuri nodurile worker pot divide la
randul lor sub-problema primita si pot trimite aceste subdiviziuni
catre alti worker -i; rezulta n acest caz o arhitectura arborescenta;
divizarea caracteristica acestei etape nu trebuie sa coreleze efectiv
dimensiunea datelor de intrare cu numarul de worker-i din sistem;
un worker poate primi mai multe sub-probleme de rezolvat.

RIWeb 2014 2015/C04: Indexare 3

7/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Modelul MapReduce

Modelul MapReduce (3)

Concepte generale etape (2) [3]


etapa de reducere
nodul cu rol de coordonator (sau un set de noduri cu rol de woker
,,desemnat de coordonator ) colecteaza solutiile sub-problemelor si
le combina pentru a obtine rezultatul final al procesarii dorite;
nici n acest caz nu exista o corelare efectiva a dimensiunii datelor
de lucru cu numarul de worker-i din sistem; un worker poate primi
mai multe sub-probleme de rezolvat (similar fazei de mapare).

RIWeb 2014 2015/C04: Indexare 3

8/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Modelul MapReduce

Modelul MapReduce (4)


Concepte generale etape (3)

Figura 1: Modelul MapReduce (preluare din [2])


RIWeb 2014 2015/C04: Indexare 3

9/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Modelul MapReduce

Modelul MapReduce (5)

Concepte generale etape (4)


Michael Kleber (Google Inc.) rafineaza n [4] etapele implicate de paradigma
MapReduce dupa cum urmeaza:
1

pre-procesare datele sunt pregatite pentru functia de mapare;

mapare stabilirea datelor de interes;

amestecare si sortare datele pot fi organizate astfel ncat sa fie optimizata


etapa de reducere;

reducere determinarea rezultatului;

stocare rezultat.

RIWeb 2014 2015/C04: Indexare 3

10/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Modelul MapReduce

Modelul MapReduce (6)

Exemple de probleme solutionabile prin MapReduce [2]


determinarea num
arului de aparitii ale cuvintelor n text
mapare: <key:=cuvant,value:=1>
reducere: <key:=cuvant,value:=nr_aparitii>
determinarea referintelor c
atre o anumit
a pagin
a tint
a
mapare: <key:=targetURL,value:=referrerURL>
reducere: <key:targetURL,value:=list(referrerURLs)>
indexarea invers
a
mapare: <key:=cuvant,value:=docID>
reducere: <key:cuvant,value:=list(docIDs)>

RIWeb 2014 2015/C04: Indexare 3

11/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

MapReduce n paralelizarea indexer-ului

Paralelizarea/distribuirea modulului de indexare utilizand


MapReduce
Exemplu de aplicare: partitionarea dup
a termeni

Figura 2: MapReduce: modelul de distribuire dup


a termeni (preluare din [1])

RIWeb 2014 2015/C04: Indexare 3

12/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

MapReduce n paralelizarea indexer-ului

Paralelizarea/distribuirea modulului de indexare utilizand


MapReduce (2)

Exemplu de aplicare: partitionarea dup


a termeni detalii [1]
mapare componenta cheie: parser-ul caracteristic algoritmilor BSBI sau
SPIMI;
rezultatele intermediare sunt scrise n fisiere intermediare numite
fisiere segment;
reducere componenta cheie: inverter-ul (exemplu: metoda similara
BSBI-Invert);
fiecare modul de tip inverter va primi, la un anumit moment de
timp, un singur fisier segment.

RIWeb 2014 2015/C04: Indexare 3

13/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Discutii

Probleme
1
Incercati sa detaliati un posibil pseudo-cod pentru modelul MpaReduce.
2

Cum se poate paraleliza/distribui utilizand MapReduce un modul ce


construieste un index direct pozitional?

RIWeb 2014 2015/C04: Indexare 3

14/ 15

Metode de paralelizare/distribuire a modulului de indexare

Discutii

Bibliografie

Bibliografie

Christopher D. Manning, Prabhakar Raghavan and Hinrich Sch


utze,
Introduction to Information Retrieval, Cambridge University Press. 2008

Jeffrey Dean, Sanjay Ghemawat, MapReduce: Simplified Data Processing on


Large Clusters, Google Inc.

Wikipedia: MapReduce, noiembrie 2013

Michael Kleber, The MapReduce Paradigm, ianuarie 2008

RIWeb 2014 2015/C04: Indexare 3

15/ 15