• Nenhum resultado encontrado

Modelo M1: Dist Homog´enea com Hashing Est´atico

atribu´ıdo um subconjunto H(n) diferente do atribu´ıdo aos outros n´os e 2) nenhuma entrada de H ficar´a por atribuir, restri¸c˜oes que podem ser formalizadas pelas seguintes express˜oes:

\ n∈N H(n) = ⊘ (3.1) [ n∈N H(n) = H (3.2)

As express˜oes anteriores traduzem o particionamento de H em #N subconjuntos disjuntos.

3.2.2 Quota (Real) de um N´o

Sendo H o total de entradas da DHT, 1/H corresponde `a quota (real) da DHT, associada a cada entrada, donde a quota (real) associada a um n´o n, detentor de H(n) entradas, ´e

Qr(n) = H(n)

H , ∀n ∈ N (3.3)

, para um total de H = #H entradas dispon´ıveis, que ir´a obedecer `a seguinte express˜ao:

H = X

n∈N

H(n) (3.4)

3.2.3 Qualidade da Distribui¸c˜ao

A defini¸c˜ao de uma distribui¸c˜ao de entradas atrav´es de um conjunto de n´os comporta, em primeira instˆancia, a defini¸c˜ao do n´umero de entradas a atribuir a cada n´o. Nos nossos modelos, esse n´umero ´e suficiente para alimentar uma m´etrica de qualidade da distribui¸c˜ao. Ora, a qualidade de uma certa distribui¸c˜ao pode ser veiculada por qualquer m´etrica esta- t´ıstica que indique, directa ou indirectamente, o grau de aproxima¸c˜ao entre a quota real de cada n´o e uma sua quota ideal, que convencionamos designar por Qi(n) e obedece a:

X

n∈N

Qi(n) = 1 (3.5)

A quota ideal de um n´o corresponde a uma certa frac¸c˜ao do n´umero de entradas da DHT que o n´o ´e suposto gerir. Como as entradas da DHT s˜ao, por defini¸c˜ao, indivis´ıveis, ent˜ao a frac¸c˜ao efectivamente gerida (a quota real), poder´a ser diferente da frac¸c˜ao pretendida (a quota ideal). Um modelo de distribui¸c˜ao que tenha como objectivo maximizar, per- manentemente, a qualidade da distribui¸c˜ao, ter´a de minimizar, permanentemente, e em simultˆaneo para todos os n´os, a discrepˆancia entre as suas quotas ideais e as reais.

3.3 Modelo M1: Dist. Homog´enea com Hashing Est´atico 37

3.3

Modelo M1: Dist. Homog´enea com Hashing Est´atico

Considere-se uma DHT operada sob Hashing Est´atico (ou seja, com H constante) mas em que se admite a varia¸c˜ao do n´umero de n´os que suportam a DHT (ou seja, N pode variar).

3.3.1 Quota Ideal de um N´o

Assumindo uma participa¸c˜ao homog´enea de n´os computacionais no suporte a uma DHT, ent˜ao todos tˆem direito `a mesma frac¸c˜ao da DHT, donde a quota ideal comum a todos ´e:

Qi(n) = Q(n) = 1

N, ∀n ∈ N (3.6)

Esta quota n˜ao ´e est´atica, variando em fun¸c˜ao do n´umero efectivo de n´os da DHT, N .

3.3.2 M´etricas de Qualidade

Neste contexto, a qualidade da distribui¸c˜ao de uma DHT pode ser, numa primeira aproxi- ma¸c˜ao, aferida pela Soma dos Desvios Absolutos (SDA) das quotas reais face `as ideais:

SDA[Q(n)] = X

n∈N

|∆[Q(n)]| (3.7)

com

∆[Q(n)] = Qr(n) − Q(n), ∀n ∈ N (3.8)

A Soma dos Desvios Absolutos (SDA)2 representa uma medida intuitiva de dispers˜ao, mas a sua manipula¸c˜ao matem´atica pode ser complicada, pela utiliza¸c˜ao de valores absolutos. Neste sentido, o Desvio Quadr´atico M´edio, ou at´e mesmo o Desvio Padr˜ao, constituem m´etricas de utiliza¸c˜ao mais disseminada, dado que evitam os referidos problemas [GC97]. O Desvio Padr˜ao Absoluto, como m´etrica alternativa a SDA[Q(n)], ´e neste caso dado por:

σ[Q(n)] = s P n∈N[Qr(n) − Q(n)]2 N = s X n∈N [∆[Q(n)]2× Q(n)] (3.9)

Frequentemente, recorre-se tamb´em ao Desvio Padr˜ao Relativo3, obtido pela divis˜ao do

Desvio Padr˜ao Absoluto pela M´edia. Esta medida tem a vantagem de permitir comparar a dispers˜ao de s´eries de natureza eventualmente diferente, face `as suas M´edias individuais. Tendo em conta que Q(n) assume, no caso presente, o papel de M´edia, ent˜ao o Desvio Padr˜ao Relativo correspondente ao Desvio Padr˜ao Absoluto definido anteriormente ser´a:

σ[Q(n)] = σ[Q(n)]

Q(n) (3.10)

2

Ou o Desvio Absoluto M´edio (DAM), dado pela divis˜ao de SDA pela dimens˜ao da amostra.

38 3.3 Modelo M1: Dist. Homog´enea com Hashing Est´atico

3.3.3 Fun¸c˜ao Objectivo

Informalmente, o objectivo do modelo M1 ´e “maximizar a qualidade da distribui¸c˜ao, man- tendo H constante e permitindo a varia¸c˜ao de N ”. A qualidade da distribui¸c˜ao ser´a tanto maior quanto menor for o valor de SDA[Q(n)], σ[Q(n)] ou σ[Q(n)]. Estas m´etricas s˜ao, por defini¸c˜ao, correlacionadas. Todavia, tendo em conta os m´eritos do uso do Desvio Padr˜ao Relativo, fixa-se a “minimiza¸c˜ao de σ[Q(n)]” para fun¸c˜ao objectivo do modelo M1.

3.3.4 Procedimento de (Re)Distribui¸c˜ao

No modelo M1 de distribui¸c˜ao homog´enea, o n´umero de entradas da DHT atribu´ıdo a cada n´o n ∈ N ´e ent˜ao definido de forma a minimizar σ[Q(n)]. Essa defini¸c˜ao ocorre, a primeira vez, durante a cria¸c˜ao da DHT, com base num valor inicial de N , mas tem de ser refeita sempre que o valor N se altera, ou seja, sempre que a DHT ganhar ou perder um ou mais n´os. Assim, i) sempre que a DHT ganhar um n´o, este ter´a de receber entradas, cedidas de um ou mais dos outros n´os; ii) complementarmente, sempre que a DHT perder um n´o, as entradas deste n´o ter˜ao de ser redistribu´ıdas, por um ou mais dos outros n´os. 3.3.4.1 Defini¸c˜ao do N´umero Espec´ıfico de Entradas por N´o

Genericamente, o Procedimento de (Re)Distribui¸c˜ao do modelo M1 reparte, o mais equi- tativamente poss´ıvel, as entradas da DHT (em n´umero H), pelos seus n´os (em n´umero N4), respeitando a indivisibilidade das entradas. Assim, numa primeira fase, atribuem-se Hdiv(n) = H div N entradas a cada n´o (em que div representa a divis˜ao inteira), do que

resulta a atribui¸c˜ao de um total de entradas Hdiv = Hdiv(n) × N ; depois, atribuem-se as

Hmod = H − Hdiv entradas remanescentes, uma a uma, a outros tantos n´os. Este acerto

pode explorar uma certa ordem (lexicogr´afica, baseada na identifica¸c˜ao dos n´os, ou tem- poral, baseada no instante da sua jun¸c˜ao `a DHT) para determinar os n´os beneficiados. No final do processo, o conjunto de n´os N ser´a divis´ıvel em dois subconjuntos: um, em que cada n´o tem Hdiv entradas; outro, em que cada n´o tem Hdiv+ 1 entradas; ou seja: ser´a de

uma unidade a diferen¸ca m´axima entre o n´umero entradas de qualquer par de n´os, o que faz da distribui¸c˜ao alcan¸cada uma distribui¸c˜ao perfeita, pela defini¸c˜ao da sec¸c˜ao 2.6.4.1.

3.3.4.2 Transferˆencias de Entradas entre N´os

O procedimento acima descrito apenas define o n´umero final (total) de entradas por cada n´o, de forma a maximizar a qualidade da distribui¸c˜ao. De facto, o procedimento n˜ao inclui a defini¸c˜ao 1) da identidade dos n´os que tˆem de ceder/receber entradas, nem 2) do n´umero individual de entradas que cada n´o deve ceder/receber. No primeiro caso, j´a se deu a entender (rever sec¸c˜ao 3.1) que a identidade das entradas a movimentar ´e irrelevante. No segundo caso, a defini¸c˜ao em causa pode socorrer-se de uma tabela de distribui¸c˜ao (T D), de esquema < n, H(n) >, que regista o n´umero de entradas H(n) de cada n´o n ∈ N . Assim, a compara¸c˜ao das vers˜oes da T D anterior e posterior `a aplica¸c˜ao do Procedimento de (Re)Distribui¸c˜ao, permite identificar quais os n´os que devem ceder/receber entradas e

4

3.3 Modelo M1: Dist. Homog´enea com Hashing Est´atico 39

em que quantidade. Depois, resta definir os actores de cada transferˆencia a realizar, ou seja, associar cada n´o doador a um ou mais n´os benefici´arios; essa associa¸c˜ao pode ser i) definida de forma centralizada por um n´o coordenador, ou ii) inferida de forma aut´onoma e determin´ıstica por qualquer n´o da DHT (o que exige que cada um deles disponha das duas vers˜oes da T D e aplique um crit´erio comum (predefinido) de ordena¸c˜ao dessas tabelas). Idealmente, as movimenta¸c˜oes de entradas deveriam realizar-se em paralelo, apenas com a interven¸c˜ao dos n´os afectados, e tolerando acessos `a DHT por parte de aplica¸c˜oes clientes. As metodologias que acabamos de definir para a transferˆencia de entradas entre n´os, no caso do modelo M1, s˜ao tamb´em aplic´aveis aos restantes modelos apresentados neste cap´ıtulo, pelo que nos iremos abster de retomar o tema na apresenta¸c˜ao desses modelos.

3.3.5 Qualidade da Distribui¸c˜ao Número de Nós 128 256 384 512 640 768 896 1024 Q u a lid a d e d a D is tr ib u iç ã o 0,00 0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 H = 128 H = 256 H = 512 H = 1024 a) Número de Nós 8 16 24 32 40 48 56 64 Q u a lid a d e d a D is tr ib u iç ã o 0,00 0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 H = 2 H = 4 H = 8 H = 16 H = 32 H = 64 b) Figura 3.1: σ[Q(n)] para N ≤ H e a) H ∈ {128, 256, ..., 1024}, b) H ∈ {2, 4, ..., 64}. As figuras 3.1.a) e 3.1.b) apresentam resultados da simula¸c˜ao do modelo M1, expressos na m´etrica σ[Q(n)], para valores de H ∈ {2, 4, 8, ..., 1024} e de N ≤ H. Os resultados foram separados em duas figuras para melhor visualiza¸c˜ao dos valores obtidos para H ≤ 64. Para cada valor de H, parte-se de uma situa¸c˜ao com apenas um n´o (ou seja, todas as entradas da DHT est˜ao concentradas num s´o n´o), e v˜ao-se acrescentando5 n´os, um-a-um,

at´e que N = H (i.e., cada n´o comporta uma s´o entrada). `A medida que se acrescentam n´os, ´e aplicado o procedimento da sec¸c˜ao 3.3.4.1, para minimizar σ[Q(n)]. Assim, as figuras apresentam, para cada valor de H e de N , o valor correspondente da m´etrica σ[Q(n)]. Da observa¸c˜ao das figuras resulta a identifica¸c˜ao de i) uma gama de varia¸c˜ao, e de ii) um padr˜ao de evolu¸c˜ao, comuns para os v´arios valores de H. De facto, σ[Q(n)] oscila entre valores m´ınimos que podem chegar a zero, e m´aximos que crescem linearmente at´e ao m´aximo absoluto de ≈ 0.35 (ou, equivalentemente, de 35%); os m´ınimos s˜ao obtidos quando H ´e divis´ıvel por N o que, sendo H uma potˆencia de 2, acontece apenas quando N ´e tamb´em uma potˆencia de 2; o m´aximo absoluto ´e obtido aproximadamente a meio do intervalo entre dois m´ınimos consecutivos. Este padr˜ao repete-se para valores H > 1024.

40 3.4 Modelo M2: Dist. Homog´enea com Hashing Dinˆamico

Outra conclus˜ao relevante, que se extrai da observa¸c˜ao das figuras, pela compara¸c˜ao dos resultados obtidos para um mesmo valor de N e v´arios valores de H, ´e a de que quanto maior for H, menor ´e σ[Q(n)], ou seja, melhor ´e a qualidade da distribui¸c˜ao. Esta ob- serva¸c˜ao encontra justifica¸c˜ao na seguinte argumenta¸c˜ao, de car´acter intuitivo: para o mesmo n´umero de n´os, um maior n´umero total de entradas permite ajustar, de forma mais precisa, as quotas reais `as ideais. Desta maneira, a fixa¸c˜ao de um valor de H revela- se contra-producente, quer sob o ponto de vista da limita¸c˜ao natural que imp˜oe ao grau de distribui¸c˜ao da DHT (pois N ≤ H ´e um invariante intr´ınseco de qualquer DHT), quer pelo facto de, para valores de N pr´oximos de H, a qualidade da distribui¸c˜ao tender a piorar6.