• Nenhum resultado encontrado

5.8 Parˆ ametros, Atributos e Invariantes

5.8.3 Atributos das DHTs

5.8.3.1 Identificador

Num cluster Domus, as DHTs s˜ao nomeadas por identificadores ´unicos, definidos pelas aplica¸c˜oes Domus na cria¸c˜ao das DHTs, cabendo ao supervisor verificar a sua unicidade. A tabela 5.10 caracteriza o atributo attr_dht_id, correspondente a esse identificador.

5.8.3.2 Fun¸c˜ao de Hash

A efic´acia das fun¸c˜oes de hash varia em fun¸c˜ao do tipo de dados a que se aplicam (ver sec¸c˜ao B.1.2). Logo, faz sentido permitir a escolha da fun¸c˜ao a utilizar pelas DHTs, de entre um conjunto de fun¸c˜oes suportadas por uma realiza¸c˜ao da arquitectura Domus. A tabela 5.11 caracteriza o atributo attr_dht_fh, correspondente `a fun¸c˜ao de hash.

5.8 Parˆametros, Atributos e Invariantes 139

atributo : attr_node_ucpu- utiliza¸c˜ao (agregada) da(s) CPU(s) nota¸c˜ao : U(cpu)

atributo : attr_node_uiodisk- utiliza¸c˜ao (actividade E/S) do disco com a “parti¸c˜ao Domus” nota¸c˜ao : U(iodisk)

atributo : attr_node_unet- utiliza¸c˜ao (largura de banda consumida) do “interface Domus” nota¸c˜ao : U(net)

atributo : attr_node_uram- utiliza¸c˜ao (espa¸co consumido) da mem´oria RAM nota¸c˜ao : U(ram)

atributo : attr_node_udisk- utiliza¸c˜ao (espa¸co consumido) da “parti¸c˜ao Domus” nota¸c˜ao : U(disk)

Observa¸c˜oes:

a) para todos estes atributos, a defini¸c˜ao ´e “vari´avel e interna”

Tabela 5.9: Caracteriza¸c˜ao dos atributos de Utiliza¸c˜oes dos N´os Computacionais.

atributo : attr_dht_id(identificador) nota¸c˜ao formal : d

tipo de defini¸c˜ao : constante, externa (obrigat´oria)

Tabela 5.10: Caracteriza¸c˜ao do atributo Identificador de uma DHT Domus.

atributo : attr_dht_fh(fun¸c˜ao de hash) nota¸c˜ao formal : f

tipo de defini¸c˜ao : constante, interna ou externa valor por omiss˜ao : (uma fun¸c˜ao gen´erica)

Tabela 5.11: Caracteriza¸c˜ao do atributo Fun¸c˜ao de Hash de uma DHT Domus.

5.8.3.3 N´umero M´ınimo de Entradas por N´o Virtual

No contexto do modelo M4 de distribui¸c˜ao heterog´enea, a qualidade da distribui¸c˜ao ´e medida por uma grandeza do tipo “desvio-padr˜ao-relativo” (ver f´ormula 3.16). De uma forma indirecta, a qualidade da distribui¸c˜ao ´e afectada pelo parˆametro Hmin(v) do modelo

(n´umero m´ınimo de entradas por n´o virtual): quanto mais elevado for o valor de Hmin(v)

(com a restri¸c˜ao de que deve ser potˆencia de 2), maior ser´a a qualidade da distribui¸c˜ao. A tabela 5.12 caracteriza o atributo attr_dht_nmev, correspondente ao parˆametro Hmin(v).

5.8.3.4 Restri¸c˜oes `a Distribui¸c˜ao

Os atributos desta categoria permitem definir restri¸c˜oes a) `a identidade ou n´umero dos n´os/servi¸cos de uma DHT, b) bem como ao seu n´umero de n´os virtuais37. Desta forma, uma aplica¸c˜ao Domus (ou o utilizador associado) tem um certo n´ıvel de controlo sobre a aloca¸c˜ao de n´os/servi¸cos a uma DHT e sobre o seu paralelismo/distribui¸c˜ao potencial.

140 5.8 Parˆametros, Atributos e Invariantes

atributo : attr_dht_nmev(n´umero m´ınimo de entradas por n´o virtual) nota¸c˜ao formal : Hmin(v)

tipo defini¸c˜ao : constante, interna ou externa

valor por omiss˜ao : 8 (valor de referˆencia para Hmin(n) em M2 e Hmin(v) em M4)

invariantes associados : I1 - “Hmin(v) ´e potˆencia de 2” ∧ Hmin(v) > 0

Tabela 5.12: Caracteriza¸c˜ao do atributo Hmin(v) de uma DHT Domus.

Atrav´es destes atributos ´e poss´ıvel a1) limitar o endere¸camento/armazenamento a certos conjuntos de n´os, a2) impor um grau m´ınimo de paralelismo/distribui¸c˜ao real no suporte `

a DHT, definindo um n´umero m´ınimo de n´os computacionais de endere¸camento/armaze- namento; b1) impor um grau m´ınimo de paralelismo/distribui¸c˜ao potencial no suporte `a DHT, definindo um n´umero m´ınimo de n´os virtuais de endere¸camento/armazenamento. Um exemplo que demonstra o interesse da possibilidade a1) ´e dado pela situa¸c˜ao em que um subconjunto de n´os do cluster disp˜oe de uma liga¸c˜ao a um dispositivo SAN, pretendendo-se que as fun¸c˜oes de armazenamento da DHT sejam adstritas a esses n´os; outra hip´otese ´e criar uma DHT n˜ao persistente, especificamente sobre os n´os com maior capacidade de RAM. A possibilidade de se exercer um controlo deste tipo ´e tamb´em ´

util quando existe conhecimento adicional sobre as condi¸c˜oes actuais/futuras do cluster; por exemplo, sabendo-se da necessidade de manuten¸c˜ao de certos n´os, ou da execu¸c˜ao iminente de tarefas que v˜ao sobrecarregar os recursos associados ao endere¸camento e/ou armazenamento, ent˜ao pode optar-se pela exclus˜ao desses n´os de uma DHT em cria¸c˜ao. Como referido na sec¸c˜ao 5.5.1.1, a possibilidade a2) tem mais a ver com requisitos de desempenho e a b1) com requisitos de armazenamento; por exemplo, quando se tem uma ideia aproximada do espa¸co que vai ser necess´ario para suportar a totalidade dos registos de uma DHT, e sendo poss´ıvel associar um certo espa¸co a um n´o virtual de armazenamento (ver o atributo limiar de armazenamento, na sec¸c˜ao 5.8.3.9), ent˜ao a defini¸c˜ao de um certo n´umero inicial de n´os virtuais de armazenamento equivale a uma declara¸c˜ao dos requisitos de armazenamento da DHT, sem a satisfa¸c˜ao dos quais a DHT n˜ao chega a ser criada. Na pr´atica, os atributos desta categoria participam em invariantes que determinam restri- ¸c˜oes que a DHT deve respeitar, quer durante a sua cria¸c˜ao, quer durante a sua opera¸c˜ao. Neste contexto, introduzimos os conceitos de dom´ınio e universo de uma DHT. Assim, o dom´ınio de uma DHT ´e o conjunto de n´os actualmente utilizados para a suportar, donde:

• N (d) representa o dom´ınio da DHT d; • Ne

(d) representa o dom´ınio de endere¸camento da DHT d; • Na

(d) representa o dom´ınio de armazenamento da DHT d.

O universo de uma DHT ´e o maior conjunto de n´os a que ´e admiss´ıvel recorrer para a suportar, ou seja, representa o limite m´aximo de expans˜ao do dom´ınio38 da DHT. Assim:

38

O conceito de universo que aqui introduzimos, ´e oriundo da Teoria de Conjuntos, onde representa o maior de todos os superconjuntos de um conjunto (o conceito de superconjunto ´e dual de subconjunto).

5.8 Parˆametros, Atributos e Invariantes 141

atributo : attr_dht_ue(universo de endere¸camento) nota¸c˜ao formal : Ne

max(d)

valor por omiss˜ao : N (S) (conjunto de todos os n´os actuais do cluster Domus) invariantes associados : I5, I10, I20

atributo : attr_dht_nmne(n´umero m´ınimo de n´os de endere¸camento) nota¸c˜ao formal : #Ne

min(d) ou N e min(d)

valor por omiss˜ao : 1 invariantes associados : I10, I30

atributo : attr_dht_ua(universo de armazenamento) nota¸c˜ao formal : Na

max(d)

valor por omiss˜ao : N (S) (conjunto de todos os n´os actuais do cluster Domus) invariantes associados : I6, I11, I21

atributo : attr_dht_nmna(n´umero m´ınimo de n´os de armazenamento) nota¸c˜ao formal : #Na

min(d) ou N a min(d)

valor por omiss˜ao : 1 invariantes associados : I11, I31

atributo : attr_dht_nmve(n´umero m´ınimo de n´os virtuais de endere¸camento) nota¸c˜ao formal : #Ve

min(d) ou V e min(d)

valor por omiss˜ao : attr_dht_nmne(n´umero m´ınimo de n´os de endere¸camento) invariantes associados : I60, I61

atributo : attr_dht_nmva(n´umero m´ınimo de n´os virtuais de armazenamento) nota¸c˜ao formal : #Va

min(d) ou V a min(d)

valor por omiss˜ao : attr_dht_nmna(n´umero m´ınimo de n´os de armazenamento) invariantes associados : I60, I61

Observa¸c˜oes:

a) para todos estes atributos, a defini¸c˜ao ´e “constante, interna ou externa”

Tabela 5.13: Caracteriza¸c˜ao dos atributos de Restri¸c˜oes `a Distribui¸c˜ao de uma DHT Domus.

• Nmax(d) representa o universo da DHT d;

• Ne

max(d) representa o universo de endere¸camento da DHT d;

• Na

max(d) representa o universo de armazenamento da DHT d;

• N (d) ⊆ Nmax(d), Nmax(d) = Nmaxe (d) ∪ Nmaxa (d) e Nmax(d) ⊆ N (S).

A tabela 5.13 sistematiza a caracteriza¸c˜ao dos atributos de Restri¸c˜oes `a Distribui¸c˜ao de uma DHT, e a tabela 5.14 apresenta os invariantes em que esses atributos participam. 5.8.3.5 Tabelas de Distribui¸c˜ao

O modelo M4 apoia-se numa tabela de distribui¸c˜ao (T D) que regista, para cada n´o n de uma DHT, o seu n´umero de entradas, H(n), e de n´os virtuais, V(n) – rever sec¸c˜ao 3.5.5.

142 5.8 Parˆametros, Atributos e Invariantes

I5 : Nmaxe (d) ⊆ N (S)

– o universo de endere¸camento, Ne

max(d), ´e restrito aos n´os do cluster Domus, N (S)

I6 : Nmaxa (d) ⊆ N (S)

– o universo de armazenamento, Na

max(d), ´e restrito aos n´os do cluster Domus, N (S)

I10 : #Nmaxe (d) ≥ #N e

min(d) ≥ 1

– o universo de endere¸camento, Ne

max(d), deve ter pelo menos #N e

min(d) n´os

– o universo de endere¸camento, Ne

max(d), n˜ao pode ser vazio

I11 : #Nmaxa (d) ≥ #N a

min(d) ≥ 1

– o universo de armazenamento, Na

max(d), deve ter pelo menos #N a

min(d) n´os

– o universo de armazenamento, Na

max(d), n˜ao pode ser vazio

I20 : Ne(d) ⊆ Nmaxe (d)

– o dom´ınio de endere¸camento, Ne

(d), ´e restrito ao universo de endere¸camento I21 : Na(d) ⊆ Nmaxa (d)

– o dom´ınio de armazenamento, Na

(d), ´e restrito ao universo de armazenamento I30 : #Ne(d) ≥ #Nmine (d) ≥ 1

– o dom´ınio de endere¸camento, Ne

(d), deve ter pelo menos #Ne

min(d) n´os

– o dom´ınio de endere¸camento, Ne

(d), n˜ao pode ser vazio I31 : #Na(d) ≥ #Nmina (d) ≥ 1

– o dom´ınio de armazenamento, Na

(d), deve ter pelo menos #Na

min(d) n´os

– o dom´ınio de armazenamento, Na

(d), n˜ao pode ser vazio I60 : Ve(d) ≥ Vmine (d) ≥ #N

e

(d)min

– deve haver n´os virtuais suficientes para #Ne

(d)min n´os de endere¸camento

I61 : V a (d) ≥ Va min(d) ≥ #N a (d)min

– deve haver n´os virtuais suficientes para #Na

(d)min n´os de armazenamento

Tabela 5.14: Invariantes associados dos atributos de Restri¸c˜oes `a Distribui¸c˜ao.

A dissocia¸c˜ao entre endere¸camento e armazenamento tem como consequˆencia a necessi- dade de aplicar o modelo M4 em separado para essas fun¸c˜oes. Desta forma, para cada DHT d, ´e necess´ario operar com duas tabelas: 1) uma tabela de distribui¸c˜ao do endere¸ca- mento (T De

(d)) e 2) uma tabela de distribui¸c˜ao do armazenamento (T Da

(d)). A primeira guarda tuplos <n, Ve

(d, n), He

(d, n) > e a segunda guarda tuplos <n, Va

(d, n), Ha

(d, n) >. Estas tabelas s˜ao geridas pelo supervisor, representando os atributos de uma DHT que sumarizam o resultado da distribui¸c˜ao pesada das responsabilidades de endere¸camento e de armazenamento. Essa distribui¸c˜ao pode basear-se num n´umero global de n´os virtuais de endere¸camento, Ve

(d), diferente do n´umero global de n´os virtuais de armazenamento, Va

(d); o n´umero global de entradas a repartir pelas duas esp´ecies de n´os virtuais ´e H(d). Ao contr´ario dos atributos j´a apresentados, as tabelas T De

(d) e T Da

(d) n˜ao s˜ao defi- n´ıveis directamente; assim, estas representam atributos internos sendo a sua defini¸c˜ao influenciada pelos parˆametros/atributos de Qualidade da Distribui¸c˜ao e de Restri¸c˜oes `a Distribui¸c˜ao; essa influˆencia ´e vis´ıvel nos invariantes associados, fornecidos na tabela 5.16. As tabelas 5.15 e 5.16 caracterizam as Tabelas de Distribui¸c˜ao e invariantes associados.

5.8 Parˆametros, Atributos e Invariantes 143

atributo : attr_dht_tde(tabela de distribui¸c˜ao do endere¸camento) nota¸c˜ao formal : T De

(d)

tipo de defini¸c˜ao : vari´avel, interna invariantes associados : I40, I42, I50, I52

atributo : attr_dht_tda(tabela de distribui¸c˜ao do armazenamento) nota¸c˜ao formal : T Da

(d)

tipo de defini¸c˜ao : vari´avel, interna invariantes associados : I41, I43, I51, I53

Tabela 5.15: Caracteriza¸c˜ao das Tabelas de Distribui¸c˜ao de uma DHT Domus.

I40 : Ve(d, n) > 0, ∀n ∈ T De(d)

– se n ´e n´o de endere¸camento, o seu n´umero de n´os virtuais de endere¸camento ´e positivo I41 : Va(d, n) > 0, ∀n ∈ T Da(d)

– se n ´e n´o de armazenamento, o seu n´umero de n´os virtuais de armazena. ´e positivo I42 : He(d, n) > 0, ∀n ∈ T De(d)

– se n ´e n´o de endere¸camento, o n´umero de entradas endere¸cadas por n ´e positivo I43 : Ha(d, n) > 0, ∀n ∈ T Da(d)

– se n ´e n´o de armazenamento, o n´umero de entradas armazenadas por n ´e positivo I50 : Pn∈ T De(d)V

e

(d, n) == Ve

(d)

– n˜ao pode haver n´os virtuais de endere¸camento por atribuir I51 : Pn∈ T Da(d)V

a

(d, n) == Va

(d)

– n˜ao pode haver n´os virtuais de armazenamento por atribuir I52 : Pn∈ T De(d)H

e

(d, n) == H(d)

– n˜ao pode haver entradas da DHT por endere¸car I53 : Pn∈ T Da

(d)H a

(d, n) == H(d)

– n˜ao pode haver entradas da DHT por armazenar

Tabela 5.16: Invariantes associados `as Tabelas de Distribui¸c˜ao de uma DHT Domus.

5.8.3.6 Atributos da Localiza¸c˜ao Distribu´ıda

Os atributos desta categoria permitem influenciar a forma como se realiza, num cluster Domus, a localiza¸c˜ao distribu´ıda de uma DHT, com base nas contribui¸c˜oes do cap´ıtulo 4. Assim, o atributo attr_dht_pld permite especificar uma pol´ıtica de localiza¸c˜ao distribu´ıda, que pode ser global ou local; no primeiro caso, todos os n´os/servi¸cos de endere¸camento da DHT aplicar˜ao o mesmo algoritmo global de localiza¸c˜ao distribu´ıda, definido atrav´es do atributo attr_dht_agld (os valores poss´ıveis deste atributo s˜ao baseados nas designa¸c˜oes atribu´ıdas aos algoritmos de localiza¸c˜ao discutidos no cap´ıtulo 4); no segundo caso, cada n´o/servi¸co de endere¸camento poder´a comutar entre algoritmos com diferentes exigˆencias de processamento, numa ´optica de balanceamento local de recursos (rever sec¸c˜ao 5.6.7.2). A tabela 5.17 sintetiza a caracteriza¸c˜ao dos atributos attr_dht_pld e attr_dht_agld.

144 5.8 Parˆametros, Atributos e Invariantes

atributo : attr_dht_pld(pol´ıtica de localiza¸c˜ao distribu´ıda) tipo de defini¸c˜ao : constante, interna ou externa

valor por omiss˜ao : global

valores poss´ıveis : { global, local }

atributo : attr_dht_agld(algoritmo global de localiza¸c˜ao distribu´ıda) tipo de defini¸c˜ao : constante, interna ou externa

valor por omiss˜ao : EA-E-L(melhor compromisso entre consumo de CPU e distˆancia m´edia) valores poss´ıveis : { EC, EM, EA-E-1, EA-E-L, EA-all }

Tabela 5.17: Caracteriza¸c˜ao dos Atributos da Localiza¸c˜ao Distribu´ıda de uma DHT.

5.8.3.7 Atributos dos Reposit´orios

Como referido na sec¸c˜ao 5.6.6.2, um servi¸co Domus suporta reposit´orios de registos, base- ados numa certa combina¸c˜ao de plataforma de armazenamento e meio de armazenamento. Al´em disso, deve existir a possibilidade de especificar a granularidade do reposit´orio, de acordo com a semˆantica tamb´em definida na mesma sec¸c˜ao. Estas qualidades do reposi- t´orio de uma DHT s˜ao dadas pelos atributos attr_dht_pa, attr_dht_ma e attr_dht_gr – ver tabela 5.18; os valores admiss´ıveis destes atributos dependem da implementa¸c˜ao.

atributo : attr_dht_pa(plataforma de armazenamento) tipo de defini¸c˜ao : constante, interna ou externa

valor por omiss˜ao : (uma plataforma sobre ram; dependente da implementa¸c˜ao) valores poss´ıveis : (dependentes da implementa¸c˜ao)

atributo : attr_dht_ma(meio de armazenamento) tipo de defini¸c˜ao : constante, interna ou externa

valor por omiss˜ao : ram

valores poss´ıveis : pelo menos ram e disco (outros dependem da implementa¸c˜ao) atributo : attr_dht_gr(granularidade do reposit´orio)

tipo de defini¸c˜ao : constante, interna ou externa valor por omiss˜ao : m´ınima

valores poss´ıveis : { m´ınima, m´edia, m´axima}

Tabela 5.18: Caracteriza¸c˜ao dos Atributos dos Reposit´orios de uma DHT Domus. 5.8.3.8 Pol´ıtica de Evolu¸c˜ao da DHT

Apesar do desenho da arquitectura Domus ser orientado ao suporte de DHTs dinˆamicas (em que o n´umero e o posicionamento das entradas pode evoluir), poder´a ter interesse, em certas situa¸c˜oes, instanciar DHTs de tipo est´atico (em que o n´umero e o posicionamento das entradas, uma vez estabelecidos na cria¸c˜ao, ´e fixado); mais uma vez, uma decis˜ao deste tipo poder´a ser condicionada por conhecimento adicional sobre o estado actual ou futuro do cluster, ou por requisitos espec´ıficos das aplica¸c˜oes clientes das DHTs; por exemplo, recorrendo aos parˆametros que permitem delimitar o universo da DHT, ´e poss´ıvel confin´a- la a uma parti¸c˜ao exclusiva do cluster; se nessa parti¸c˜ao n˜ao for permitida a execu¸c˜ao de outras tarefas, poder´a ent˜ao dispensar-se o balanceamento dinˆamico da DHT (indepen- dentemente de se ter realizado uma distribui¸c˜ao inicial pesada, da DHT, nessa parti¸c˜ao).