• Nenhum resultado encontrado

Modelo M3: Dist Heterog´enea com Hashing Est´atico

0 8 16 24 32 0 8 16 N-(n+) H -[N -(n+)] H (n) estágio 1: N<=H min estágio 2: H min < N <= Hmax estágio 3: N > H max

Figura 3.6: H−[N−(n+)], H(n) e N−(n+), para N ≤ 32 e Hmin(n) = 8.

A evolu¸c˜ao de H−[N−(n+)] ´e categoriz´avel nos mesmos est´agios da evolu¸c˜ao de N−(n+): at´e meados do est´agio 2, tem-se H−[N−(n+)] > N(n+), donde cada n´o doador cede,

em termos m´edios, mais de uma entrada; o valor m´edio da cedˆencia, que denotamos por H−[N−(n+)], ´e de ≈ 2.75 entradas, por cada n´o doador; a partir da segunda metade do est´agio 2, tem-se H−[N−(n+)] = N(n+), i.e., j´a h´a n´os suficientes para que todo e

qualquer n´o doador ceda apenas uma entrada. A rela¸c˜ao entre H−[N−(n+)] e N−(n+) permite deduzir para H−[N−(n+)] o mesmo tipo de escalabilidade deduzida para N−(n+). Por fim, ´e de registar a proximidade dos valores de H(n) e H−[N−(n+)], coerente com os valores reduzidos da m´etrica de qualidade σ[Q(n)]. Assim, o n´umero de entradas atribu´ıdo a um novo n´o, H−[N(n+)], anda pr´oximo do n´umero m´edio de entradas dos outros n´os,

H(n), embora tenda a ser ligeiramente inferior, devido ao facto de o algoritmo usado na simula¸c˜ao do Procedimento de (Re)Distribui¸c˜ao favorecer os n´os mais antigos, no acerto final do n´umero de entradas por n´o (uma das possibilidades previstas na sec¸c˜ao 3.3.4.1).

3.5

Modelo M3: Dist. Heterog´enea com Hashing Est´atico

O modelo M3 de Distribui¸c˜ao Heterog´enea com Hashing Est´atico, ´e o sucessor directo do modelo M1 de Distribui¸c˜ao Homog´enea. O modelo M3 assenta num conceito de n´o virtual.

3.5.1 Quota Ideal de um N´o

No contexto do modelo M3 de Distribui¸c˜ao Heterog´enea, a participa¸c˜ao de um n´o numa DHT mede-se 1) em termos reais, por unidades de gr˜ao fino, correspondentes `as entradas da DHT e 2) em termos ideais, por unidades de gr˜ao grosso, correspondentes a n´os virtuais13.

3.5 Modelo M3: Dist. Heterog´enea com Hashing Est´atico 47

No primeiro caso, o facto de um n´o n ser respons´avel por H(n) entradas da DHT equivale a dizer que o n´o det´em uma quota real Qr(n) = H(n)/H (rever express˜ao 3.3) da DHT. No segundo caso, a associa¸c˜ao de V(n) n´os virtuais a um n´o n traduz-se numa quota ideal

Qi(n) = V(n) V , ∀n ∈ N (3.13) , com V = X n∈N V(n) (3.14) 3.5.2 Conceito de N´o Virtual

Em conjunto, as grandezas V(n) reflectem o m´erito dos v´arios n´os de N para a realiza¸c˜ao da DHT: quanto maior for o n´umero de n´os virtuais de um n´o, V(n), maior dever´a ser o n´umero de entradas da DHT atribu´ıdo ao n´o, H(n). Dito de outra forma: os valores V(n) reflectem a eventual heterogeneidade dos n´os da DHT, `a luz de determinados crit´erios de caracteriza¸c˜ao dos n´os, considerados relevantes sob o ponto de vista da realiza¸c˜ao da DHT. No contexto do modelo M3, essa heterogeneidade assume-se dinˆamica, ou seja, parte-se do princ´ıpio de que a varia¸c˜ao das grandezas V(n) ´e arbitr´aria e independente para cada n´o. Consequentemente, as quotas ideais est˜ao tamb´em sujeitas a varia¸c˜oes dinˆamicas, pois a modifica¸c˜ao de um valor V(n) afecta todas as quotas Qi(n) (note-se que a adi¸c˜ao/remo¸c˜ao de n´os provoca a redefini¸c˜ao de V e logo das quotas Qi(n), como acontecia no modelo M1).

3.5.2.1 Defini¸c˜ao do N´umero de N´os Virtuais de um N´o Computacional

A defini¸c˜ao de valores concretos para V(n) (e, por consequˆencia, para V) pode obedecer a l´ogicas diversas: 1) por exemplo, esses valores podem reflectir t˜ao somente a eventual he- terogeneidade f´ısica dos n´os do cluster, sendo as diferentes capacidades de base (em termos de recursos de hardware) dos n´os que ditam diferentes n´ıveis de participa¸c˜ao (est´aticos) numa DHT; 2) ou ent˜ao, podem levar em conta (cumulativamente ou n˜ao) os n´ıveis de utiliza¸c˜ao (dinˆamicos) dos recursos; 3) outra hip´otese, ´e definir V de forma a satisfazer-se um requisito de capacidade de armazenamento global da DHT (o que pressup˜oe associar uma certa capacidade a cada n´o virtual), ou de paralelismo potencial no acesso `a DHT (sendo V ≤ N , o paralelismo m´aximo ocorre quando N = V); na pr´atica, qualquer l´ogica que dite a necessidade de uma distribui¸c˜ao heterog´enea da DHT, e que seja acompanhada de crit´erios para a defini¸c˜ao dos diferentes n´ıveis de participa¸c˜ao dos n´os, ´e compat´ıvel com o conceito de n´o virtual; posteriormente, nos cap´ıtulos 5 e 6 esta problem´atica ´e revisitada.

3.5.3 M´etrica de Qualidade

Com base na defini¸c˜ao anterior de n´o virtual, uma primeira m´etrica de qualidade do modelo M3 seria a Soma dos Desvios Absolutos (SDA), tal como definida pela f´ormula 3.7,

48 3.5 Modelo M3: Dist. Heterog´enea com Hashing Est´atico

tendo em conta que a quota real de cada n´o continua a fornecida pela f´ormula 3.3, mas a defini¸c˜ao da quota ideal ´e agora dada pela f´ormula 3.13. Todavia, a express˜ao resultante para SDA[Q(n)] n˜ao se enquadra no conceito cl´assico de Soma dos Desvios Absolutos [GC97], em que se mede a distˆancia de cada um dos valores de uma ´unica s´erie Z face a um ´unico valor de referˆencia z′, ou seja, SDA[Z, z′] = P

z∈Z|z − z′|. Com efeito, no

contexto da f´ormula 3.7, existem agora m´ultiplos valores de referˆencia, Qi(n), um para cada n´o n, em vez de um s´o, como acontecia com uma distribui¸c˜ao homog´enea. Contudo, essa assimetria n˜ao impede a defini¸c˜ao de grandezas equivalentes ao Desvio Padr˜ao Absoluto e ao Desvio Padr˜ao Relativo, deitando-se m˜ao, para o efeito, do conceito de Variˆancia Amostral Ponderada [GC97]. De facto, no cen´ario heterog´eneo, faz sentido pesar, para cada n´o n, a aproxima¸c˜ao de Qr(n) `a M´edia espec´ıfica Qi(n). As f´ormulas 3.15 e 3.16

fornecem pois um Desvio Padr˜ao Absoluto Pesado e um Desvio Padr˜ao Relativo Pesado:

σ[Q(n)] = s X n∈N [[Qr(n) − Qi(n)]2× Qi(n)] = s X n∈N [∆[Q(n)]2× Qi(n)] (3.15) σ[Q(n)] = P σ[Q(n)] n∈N[Qi(n)]2 (3.16) com ∆[Q(n)] = Qr(n) − Qi(n), ∀n ∈ N (3.17)

Assim, na f´ormula de σ[Q(n)], cada factor ∆[Q(n)2´e pesado por Qi(n), em que Qi(n) ´e a

quota ideal de n, sendo que, por defini¸c˜ao,P

n∈NQi(n) = 1. Adicionalmente, na f´ormula

de σ[Q(n)], divide-se σ[Q(n)] por uma M´edia Pesada ideal, dada porP

n∈N[Qi(n)]2.

´

E de real¸car que as f´ormulas 3.15 e 3.16 s˜ao tamb´em aplic´aveis ao modelo M1. De facto, estas f´ormulas representam a generaliza¸c˜ao das f´ormulas 3.9 e 3.10 a um cen´ario hetero- g´eneo. A demonstra¸c˜ao desta asser¸c˜ao ´e simples. Assim, sendo um cen´ario homog´eneo caracterizado por14Qi(n) = Q(n) = 1/N (rever f´ormula 3.6), ent˜ao a f´ormula 3.15 origina

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

, que corresponde `a f´ormula 3.9. Adicionalmente, a f´ormula 3.16 pode ser reescrita como

σ[Q(n)] = P σ[Q(n)] n∈N[Qi(n)]2 = Pσ[Q(n)] n∈N[N1]2 = σ[Q(n)] N × [N1]2 = σ[Q(n)] 1 N = σ[Q(n)] Q(n) (3.19)

, o que demonstra a correspondˆencia efectiva da f´ormula 3.16 com a f´ormula 3.10.

3.5 Modelo M3: Dist. Heterog´enea com Hashing Est´atico 49

3.5.4 Fun¸c˜ao Objectivo

Prosseguindo uma l´ogica semelhante `a usada pelo modelo M1, a fun¸c˜ao objectivo continua a ser a “minimiza¸c˜ao de σ[Q(n)]”, sendo que agora σ[Q(n)] ´e calcul´avel pela f´ormula 3.16.

3.5.5 Procedimento de (Re)Distribui¸c˜ao

No modelo M3 de Distribui¸c˜ao Heterog´enea, o Procedimento de (Re)Distribu¸c˜ao dis- tribui as H entradas da DHT pelos seus N n´os, proporcionalmente ao n´umero de n´os virtuais destes. O procedimento tira partido de uma tabela de distribui¸c˜ao (T D) de esquema < n, H(n), V(n) >, semelhante `a preconizada pelo modelo M1 (rever sec¸c˜ao 3.3.4.2), mas que agora tamb´em regista o n´umero de n´os virtuais V(n) por cada n´o n ∈ N . Assim, numa primeira fase do procedimento, (re)define-se H(n) = Hdiv(n) = [H div V] ×

V(n) = int [Qi(n) × H], para todos os n ∈ N (com int denotando a parte inteira de um

real). Desta itera¸c˜ao resulta i) a distribui¸c˜ao de um n´umero total de entradas Hdiv =

P

n∈NHdiv(n) e ii) um certo n´umero total de entradas, Hmod= H − Hdiv, por atribuir.

Numa segunda fase, consideram-se os n´os ordenados por ∆[Q(n)] = Qr(n) − Qi(n), a

diferen¸ca entre a quota real e a ideal (rever f´ormula 3.17). Se ∆[Q(n)] > 0, os n´os em causa apresentam um excesso de entradas, face ao n´umero ideal de entradas a que tˆem direito; se ∆[Q(n)] = 0, os n´os n detˆem o n´umero de entradas exactamente previsto pela sua quota ideal; se ∆[Q(n)] < 0, os n´os n exibem um d´ebito de entradas. As Hmod

entradas remanescentes s˜ao ent˜ao distribu´ıdas pelos n´os em d´ebito, proporcionalmente ao valor absoluto de ∆[Q(n)]; cada n´o receber´a um n´umero de entradas adicionais, Hmod(n).

Numa terceira fase, a execu¸c˜ao do algoritmo 3.1 garante a minimiza¸c˜ao efectiva de σ[Q(n)]15:

Algoritmo 3.1: Modelo M3: Algoritmo de Miminiza¸c˜ao de σ[Q(n)]. 1. ordenar os n´os da T D pelo valor ∆[Q(n)]

2. atribuir uma entrada do n´o com maior ∆[Q(n)], ao n´o com menor ∆[Q(n)] 3. calcular o valor de σ[Q(n)] e compar´a-lo com o valor anterior ao passo 1:

(a) se o novo valor de σ[Q(n)] ´e menor, prosseguir no passo 1;

(b) caso contr´ario, assumir a distribui¸c˜ao (T D) anterior ao passo 2 e terminar;

Este algoritmo comporta um n´umero reduzido de itera¸c˜oes, dado que o ponto de partida ´e uma distribui¸c˜ao que, na maior parte das vezes, ´e ´optima ou j´a muito pr´oxima de o ser. Por fim, uma vez definida a nova distribui¸c˜ao da DHT, a fase da Transferˆencia de En- tradas entre N´os, que conduz `a efectiva¸c˜ao da distribui¸c˜ao, prosseguiria uma metodologia semelhante `a inicialmente apresentada no contexto do modelo M1 (rever sec¸c˜ao 3.3.4.2).

15

Na realidade, este algoritmo seria suficiente para produzir a nova vers˜ao da tabela de distribui¸c˜ao, garantindo a minimiza¸c˜ao de σ[Q(n)], sem necessidade de se realizar a primeira e segunda fases em separado; todavia, a realiza¸c˜ao pr´evia dessas fases permite que o n´umero de itera¸c˜oes da terceira fase seja residual.