Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
MATHEUS SEREZANI NICOLOSI
BALANCEAMENTO EM TABELAS HASH DISTRIBUÍDASSENSÍVEIS À LOCALIDADE
LONDRINA–PR
2016
MATHEUS SEREZANI NICOLOSI
BALANCEAMENTO EM TABELAS HASH DISTRIBUÍDASSENSÍVEIS À LOCALIDADE
Versão Preliminar de Trabalho de Conclusãode Curso apresentado ao curso de Bachare-lado em Ciência da Computação da Univer-sidade Estadual de Londrina para obtençãodo título de Bacharel em Ciência da Compu-tação.
Orientador: Prof. Dr. Daniel dos Santos Kas-ter
LONDRINA–PR
2016
Matheus Serezani NicolosiBalanceamento em tabelas hash distribuídas sensíveis à localidade/ Matheus
Serezani Nicolosi. – Londrina–PR, 2016-27 p. : il. (algumas color.) ; 30 cm.
Orientador: Prof. Dr. Daniel dos Santos Kaster
– Universidade Estadual de Londrina, 2016.
1. Consultas por similaridade. 2. Tabelas hash distribuídas. 3. Funções dehash sensíveis à localidade. I. Daniel dos Santos Kaster. II. Universidade Estadualde Londrina. III. Ciência da Computação. IV. Balanceamento em tabelas hashdistribuídas sensíveis à localidade
CDU 02:141:005.7
Este trabalho é dedicado às crianças adultas que,quando pequenas, sonharam em se tornar cientistas.
AGRADECIMENTOS
“Não vos amoldeis às estruturas deste mundo,mas transformai-vos pela renovação da mente,a fim de distinguir qual é a vontade de Deus:
o que é bom, o que Lhe é agradável, o que é perfeito.(Bíblia Sagrada, Romanos 12, 2)
NICOLOSI, S. M.. Balanceamento em tabelas hash distribuídas sensíveis à lo-calidade. 27 p. Trabalho de Conclusão de Curso – Versão Preliminar (Bacharelado emCiência da Computação) – Universidade Estadual de Londrina, Londrina–PR, 2016.
RESUMO
Palavras-chave: Consultas por similaridade. Tabelas hash distribuídas. Funções de hashsensíveis à localidade.
NICOLOSI, S. M.. Balancing in locality-sesitive distributed hash tables. 27 p.Final Project – Draft Version (Bachelor of Science in Computer Science) – State Universityof Londrina, Londrina–PR, 2016.
ABSTRACT
Keywords: Similarity search. Distributed hash tables. Locality-sensitive hash functions.
LISTA DE ILUSTRAÇÕES
LISTA DE TABELAS
LISTA DE ABREVIATURAS E SIGLAS
CAN Content addressable network
DHT Distributed hash table
LSH Locality-sensitive hashing
MAE Método de acesso espacial
MAM Método de acesso métrico
P2P Peer-to-peer
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 FUNDAMENTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . 212.1 Consultas por similaridade . . . . . . . . . . . . . . . . . . . . . . 212.2 Funções de distância . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Espaços métricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4 Consultas por abrangência e consultas aos k-vizinhos mais
próximos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Métodos de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6 Hashing sensível à localidade . . . . . . . . . . . . . . . . . . . . 222.7 Tabelas hash distribuídas . . . . . . . . . . . . . . . . . . . . . . . 23
3 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
19
1 INTRODUÇÃO
Atualmente, o mundo está vivenciando um crescimento acelerado do volume de da-dos. As tecnologias da informação e comunicação empoderam os usuários, que se tornaramprodutores de conteúdo em vez de apenas consumidores. Esses dados são não-estruturados,heterogêneos e variáveis em sua natureza [1].
Devido a disseminação de dispositivos que facilitam a captura e criação de dadosem conjunto com sistemas que facilitam o armazenamento e compartilhamento de dados,esse aumento de dados resultou também no surgimento de dados complexos, como coorde-nadas geoespaciais, sequências de DNA e arquivos de imagem, de música e de vídeo. Comoesses tipos de dados geralmente não definem uma relação de ordem, o uso de consultaspor similaridade torna-se necessária [2].
As consultas por similaridade representam uma vasta área de pesquisa que apre-senta suas próprias oportunidades e desafios. Uma dessas oportunidades é o uso de con-sultas por similaridade em redes peer-to-peer. Mais especificamente, nas tabelas hash dis-tribuídas (DHTs). Ao usar um método de indexação hashing sensível à localidade (LSH)em combinação com uma DHT, dado o funcionamento das funções de hash sensíveis àlocalidade, que mantém dados similares próximos uns dos outros na estrutura de dados,e o funcionamento das DHTs, existe a tendência ao desbalanceamento [1]. Esse trabalhoinsere-se nesse contexto.
21
2 FUNDAMENTAÇÃO
2.1 Consultas por similaridade
Uma consulta por similaridade é um tipo de consulta que recupera objetos consi-derando critérios de similaridade entre pares de objetos, tipicamente calculados por umafunção de distância. Os conceitos de funções de distância, espaços métricos, métodos deacesso e os tipos básicos de consultas por similaridade são brevemente apresentados nasseções 2.2, 2.3, 2.4 e 2.4, respectivamente.
2.2 Funções de distância
As funções de distância medem a dissimilaridade entre pares de objetos e, emseguida, retornam um valor real não negativo. As funções de distância mais famosas sãoas da família Minkowski (𝐿𝑝) e, dentre elas, destacam-se a Manhattan (𝐿1), a euclidiana(𝐿2) e a Chebyshev (𝐿∞). As funções da família Minkowski são dadas pela equação 2.1,onde 𝑛 é a dimensão do espaço e 𝑝 é um número inteiro [3].
𝐿𝑝 (𝑥1, . . . , 𝑥2) (𝑦2, . . . , 𝑦2) = 𝑝
√︁∑︀𝑛𝑖=1 |𝑥1 − 𝑦1|𝑝 (2.1)
2.3 Espaços métricos
Um espaço métrico é formalmente definido como um par M = ⟨S, 𝛿⟩, onde S é umdomínio de dados e 𝛿 é uma métrica, isto é, uma função 𝛿 : S × S → R+ que expressaa distância entre elementos de S e que satisfaz as seguintes propriedades, para quaisquer𝑠1, 𝑠2, 𝑠3 ∈ S:
1. Identidade: 𝛿 (𝑠1, 𝑠2) = 0;
2. Simetria: 𝛿 (𝑠1, 𝑠2) = 𝛿 (𝑠2, 𝑠1);
3. Não-negatividade: 0 < 𝛿 (𝑠1, 𝑠2) < ∞;
4. Desigualdade triangular: 𝛿 (𝑠1, 𝑠3) ≤ 𝛿 (𝑠1, 𝑠2) + 𝛿 (𝑠2, 𝑠3) [2].
2.4 Consultas por abrangência e consultas aos k-vizinhos maispróximos
Uma consulta por abrangência, ou range query (Rq), retorna todos os elementosdissimilares de um elemento de consulta até um limiar de dissimilaridade máximo. Con-
22
sultas por abrangência são definidas por [2] como: seja S um domínio de dados, 𝑆 ⊆ Sum conjunto de elementos, 𝑠𝑞 ∈ S um elemento de consulta, 𝛿 uma função de distânciasobre o elemento de S e 𝜀 um limiar de dissimilaridade, uma consulta por abrangência édada por {𝑠𝑖 ∈ 𝑆 | 𝛿 (𝑠𝑞, 𝑠𝑖) ≤ 𝜀}.
Já as consultas aos 𝑘-vizinhos mais próximos, ou 𝑘-Nearest Neighbors queries (𝑘-NNq), retornam os 𝑘 elementos mais similares ao elemento da consulta. Consultas aos𝑘-vizinhos mais próximos é definida por [2] como: dado um domínio S, um conjunto deelementos 𝑆 ⊆ S, um elemento de consulta 𝑠𝑞 ∈ S, uma função de distância 𝛿 sobre oelemento de S e um inteiro 𝑘 ≥ 1, o resultado de uma consulta será 𝐾 = {𝑠𝑖 ∈ 𝑆 | ∀𝑠𝑗 ∈𝑆 ∖ 𝐾, |𝐾| = 𝑙, 𝛿 (𝑠𝑞, 𝑠𝑖) ≤ 𝛿 (𝑠𝑞, 𝑠𝑗)}.
2.5 Métodos de acesso
Para realizar uma consulta por similaridade em um conjunto de dados sem algumtipo de indexação, é necessário pesquisar por todo o conjunto, o que pode ser inviável. Porisso, novos métodos de acesso que dão suporte a dados complexos foram propostos: (i)os Métodos de Acesso Espaciais (MAEs), para dados multidimensionais, mas que tendema degradar com o aumento da dimensionalidade, e; (ii) os Métodos de Acesso Métricos(MAMs), para dados de alta dimensionalidade ou adimensionais (sem dimensionalidadefixa), que relacionam objetos apenas por suas relações de similaridade [4, 2].
2.6 Hashing sensível à localidade
O método de indexação locality-sensitive hashing (LSH), ou hashing sensível àlocalidade, depende de uma família de funções hash sensíveis à localidade 𝐻 para mapearobjetos de um domínio métrico 𝑆, em um espaço 𝐷-dimensional (normalmente R𝑑), paraum conjunto enumerável 𝑈 (normalmente Z) com a seguinte propriedade: a probabilidadede hashes de pontos próximos no espaço métrico colidirem é alta [5].
O LSH é definido por [5] como, dada uma família de funções 𝐻 de 𝑆 para 𝑈 , 𝐻
é chamada de (𝑟1, 𝑟2, 𝑝1, 𝑝2)-sensível para uma função de distância 𝑑 se, para quaisquerpontos 𝑞, 𝑝 ∈ 𝑆, tem-se que:
∙ se 𝑝 ∈ 𝐵 (𝑞, 𝑟1), então Pr𝐻 [ℎ (𝑞) = ℎ (𝑝)] ≥ 𝑝1;
∙ se 𝑝 /∈ 𝐵 (𝑞, 𝑟2), então Pr𝐻 [ℎ (𝑞) = ℎ (𝑝)] ≤ 𝑝2,
onde 𝐵 (𝑝, 𝑟) denota o cojunto de elementos de 𝑆 a uma distância 𝑟 de 𝑝. Para uma famíliade funções de hash sensíveis à localidade ser útil, ela precisa satisfazer as desigualdades𝑝1 > 𝑝2 e 𝑟1 < 𝑟2 [5].
23
2.7 Tabelas hash distribuídas
As distributed hash tables (DHTs), ou tabelas hash distribuídas fornecem um ser-viço descentralizado de procura, ou lookup, de objetos baseado no modelo de pares chave-valor e, em geral, utilizam uma função de hash para calcular chaves de valores e têmmétodos de mapeamento e roteamento bem definidos. As DHTs tornaram-se popularesno final da década de 1990 devido, a princípio, a sistemas peer-to-peer (P2P) de com-partilhamento de músicas, como o software Napster e a rede Gnutella. Em 2001, quatropropostas foram publicadas quase simultaneamente –CAN, Chord, Pastry, e Tapestry,dando início às DHTs estruturadas [6, 7, 8].
Uma DHT estruturada precisa definir
1. como mapear chaves para nós considerando o balanceamento de carga;
2. como encaminhar lookups por uma chave para o nó apropriado e;
3. como construir tabelas de roteamento.
Em geral, o mapeamento de chaves para nós é realizado utilizando-se uma função dehash e o encaminhamento é realizado roteando-se os lookups para os nós na tabela deroteamento responsáveis por chaves próximas [8]. Redes P2P, como as DHTs, podem serusadas como ou em conjunto com estruturas de indexação de dados complexos [9].
25
3 CONCLUSÃO
27
REFERÊNCIAS
[1] VILLAÇA, R. da S. et al. Hamming dht e hcube: arquiteturas distribuídas parabusca por similaridade. Campinas, SP, 2013.
[2] KASTER, D. d. S. Tratamento de condições especiais para busca por similaridadeem bancos de dados complexos. Tese (Doutorado) — Universidade de São Paulo,2012.
[3] ZEZULA, P. et al. Similarity search: the metric space approach. [S.l.]: SpringerScience & Business Media, 2006. v. 32.
[4] JR, C. T. et al. Slim-trees: High performance metric trees minimizing overlapbetween nodes. [S.l.]: Springer, 2000.
[5] GIONIS, A. et al. Similarity search in high dimensions via hashing. In: VLDB. [S.l.:s.n.], 1999. v. 99, n. 6, p. 518–529.
[6] RATNASAMY, S. et al. A scalable content-addressable network. [S.l.]: ACM, 2001.v. 31.
[7] STOICA, I. et al. Chord: A scalable peer-to-peer lookup service for internetapplications. ACM SIGCOMM Computer Communication Review, ACM, v. 31, n. 4,p. 149–160, 2001.
[8] BALAKRISHNAN, H. et al. Looking up data in p2p systems. Communications ofthe ACM, ACM, v. 46, n. 2, p. 43–48, 2003.
[9] BONGERS, E.; POUWELSE, J. A survey of p2p multidimensional indexingstructures. arXiv preprint arXiv:1507.05501, 2015.