• Nenhum resultado encontrado

Esta sec¸˜ao apresenta propostas que exploram a disposic¸˜ao de dados frente aos processadores paralelos que visam a melhorar a localidade dos dados na hierarquia de mem´oria disponibili- zada pela arquitetura da GPU. O resultado dessa investigac¸˜ao ´e a gerac¸˜ao de duas estrat´egias de particiomento de dados entre os processadores de granularidade grossa apresentadas nas Subsec¸˜oes 4.2.1 e 4.2.2. Por meio dessas estrat´egias, ´e proposta uma estrat´egia de paralelizac¸˜ao para o processamento de consulta e duas estrat´egias de paralelizac¸˜ao para o processamento de lote de consultas, sendo que estas s˜ao apresentadas no Cap´ıtulo 6.

documentos mais relevantes, atravessando todas as listas invertidas dos termos da consulta ao mesmo tempo para avaliar todas as ocorrˆencias de um mesmo docID nas listas invertidas de todos os termos da consulta. Ent˜ao, para executar qualquer algoritmo dessa abordagem, um processador precisa ter acesso a todas listas invertidas dos termos da consulta.

Neste intuito de abordar os algoritmos DAAT, s˜ao propostas partic¸˜oes que contˆem partes de todas as listas invertidas da consulta para explorar a localidade de mem´oria dos processa- dores. Esse particionamento ´e efetivado de maneira que cada partic¸˜ao tenha o tamanho θ (Nm

|P|)

documentos, onde Nm ´e o tamanho da maior lista invertida dentre os termos e o P ´e o conjunto

de processadores de granularidade grossa. Assim, as listas invertidas dos termos da consulta s˜ao particionadas entre os processadores de granularidade grossa, de modo que cada partic¸˜ao contenha todas as listas invertidas dos termos da consulta. Dessa forma, garante-se que as partic¸˜oes se adequem nas mem´orias internas dos processadores de granularidade grossa. Esse particionamento ´e demonstrado na Figura 4.1. Seguindo essa ideia de particionamento, s˜ao propostas duas estrat´egias, Particiomento Homogˆeneo e Particionamento Heterogˆeneo, que s˜ao apresentadas nas Subsec¸˜oes 4.2.1 e 4.2.2, respectivamente.

Figura 4.1: Divis˜ao das listas invertidas.

4.2.1

Particionamento Homogˆeneo

Na primeira estrat´egia de particionamento, as listas de postings dos termos da consulta s˜ao divididas em partic¸˜oes homogˆeneas com o mesmo n´umero de identificadores de documentos (docIDs). Os documentos s˜ao particionados de acordo com o n´umero de multiprocessadores, como descrito na Figura 4.2.

Essa estrat´egia objetiva simplicidade e maximizac¸˜ao dos processadores atrav´es do melhor balancemento de carga. Contudo, ela tem uma desvantagem impl´ıcita. Nos algoritmos DAAT, os documentos s˜ao avaliados completamente em uma ´unica vez, ou seja, todas as ocorrˆencias de um documento s˜ao avaliadas conjuntamente. Com as partic¸˜oes homogˆeneas, um dado identifi-

cador de documento pode aparecer em mais de uma lista de postings e em posic¸˜oes diferentes. Dessa forma, h´a possibilidade de que as ocorrˆencias de um mesmo documento estejam em partic¸˜oes distintas e, assim, somente a avaliac¸˜ao parcial dos docIDs ´e realizada por um deter- minado processador. Nesse caso, os documentos relevantes podem ser descartados do resultado dos top-k documentos, fazendo com que essa estrat´egia tenha impacto na acur´acia dos algo- ritmos. Por exemplo, na Figura 4.2, as ocorrˆencias dos docIDs 6, 7 e 10 est˜ao distribu´ıdas nas partic¸˜oes dos SM0e SM1. Essa distribuic¸˜ao faz com que os SMs consigam obter somente

avaliac¸˜ao parcial desses docIDs.

Figura 4.2: Estrat´egia de Particionamento Homogˆenea entre os SMs.

4.2.2

Particionamento Heterogˆeneo

A segunda estrat´egia prop˜oe dividir as listas de postings em segmentos de acordo com inter- valos de docIDs. Para isso, um processamento ´e efetuado nas listas de postings de maneira que todos segmentos tenham o mesmo intervalo de docIDs. Dessa forma, os segmentos poder˜ao ter tamanho diferentes. Por essa raz˜ao, essa estrat´egia ´e nomeada de particionamento heterogˆeneo. O particionamento ´e realizado a partir de uma sequˆencia de fases. Na primeira fase, s˜ao obtidas as posic¸˜oes das partic¸˜oes homogˆeneas a partir do n´umero de processadores, como mos- trado na Figura 4.2, processo idˆentico ao particionamento homogˆeneo. Posteriormente, na se- gunda fase, a partic¸ao de documentos ´e delimitada pelos documentos localizados nas extremi- dades das partic¸˜oes homogˆeneas. O docID inicial de uma partic¸˜ao ´e o maior docID localizado na primeira posic¸˜ao de fora da extremidade inicial (posic¸˜ao mais `a esquerda) da partic¸˜ao de cada lista invertida adicionando-se uma unidade no seu valor. Enquanto o docID final ´e o maior valor de docID localizado na posic¸˜ao da extremidade final (posic¸˜ao mais `a direita) da partic¸˜ao de cada lista invertida. As Figuras 4.3 e 4.4 detalham esse processo. Ao alcanc¸ar as faixas de docIDs, todas as ocorrˆencias de um documento estar˜ao localizadas em uma ´unica partic¸˜ao,

evitando assim avaliac¸˜oes parciais.

A estrat´egia heterogˆenea pode produzir partic¸˜oes com tamanhos diferentes, como demons- trado no exemplo da Figura 4.4. Observa-se que neste exemplo houve desbalanceamento de carga entre os processadores, no caso da partic¸˜ao do SM5, somente um docID ´e processado.

Apesar desse desbalanceamento de carga, essa estrat´egia foi projetada para garantir os mesmos resultados dos algoritmos sequenciais.

Figura 4.3: Obtenc¸˜ao dos documentos iniciais e finais.

Figura 4.4: Partic¸˜oes heterogˆeneas geradas pela segunda fase.

Todas as estrat´egias de particionamento, homogˆenea e heterogˆenea, s˜ao realizadas dinami- camente para cada consulta de entrada e n˜ao requisitam qualquer processamento na construc¸˜ao do ´ındice invertido, ou seja, n˜ao necessitam de processamento pr´evio `a consulta. Isso significa que nenhuma informac¸˜ao extra ´e necess´aria no ´ındice invertido para realizar os particionamen- tos. Por trabalhar com posic¸˜oes, ao obter os docIDs inicial e final, essas estrat´egias apresentam vantagens ao n˜ao exigir intersecc¸˜oes de listas invertidas e nem qualquer algoritmo de busca, por exemplo, a busca bin´aria que ´e a mais utilizada nas soluc¸˜oes de intersecc¸˜ao. Na pr´atica, os tamanhos das faixas das partic¸˜oes em cada lista invertida n˜ao s˜ao conhecidos ao processar

consultas, somente os identificadores de documentos iniciais e finais.

Documentos relacionados