• Nenhum resultado encontrado

3.3 Es alonamento de Consultas

3.3.2 Es alonamento Baseado em Re ozimento Simulado

Em ontraste om a abordagem heurísti a explorada pelo algoritmo guloso des rito na Se-

ção 3.3.1, bus ou-se uma solução baseada nos prin ípios de otimização om objetivo de en-

ontrar o es alonamento ótimo para os fragmentos das onsultas. A té ni a ini ialmente

exploradafoiaprogramaçãolinear,quedene ummodelomatemáti odeotimizaçãobaseado

em um sistema de equações lineares. Apesar de omputa ionalmente mais ara, esperava-

se que a qualidade da solução obtida por essa té ni a ompensasse o tempo adi ional de

omputação dasolução.

As seguintes variáveis foram denidas para o modelo linear, além das apresentadas na

Equação 3.1 :

F

: o onjunto de fragmentos da onsulta;

S

: o onjunto de servidores dosistema;

S

f

: o onjunto de servidores andidatos a servir o fragmento

f

da onsulta, sub onjunto de

S

;

T am

f

: otamanho do fragmento

f

da onsulta;

x

if

: assume0ou 1,indi a seo fragmento

f

da onsulta serárequisitado ao servidor

i

;

s

i

: assume0ou 1,indi a seo servidor

i

parti ipado onjunto de servidoressolução.

A equação a seguirdene a função do tempo de resposta total do sistema(apóso provi-

mento detodasas onsultas):

T(F, S) =

X

f ∈F

X

i∈Sf

x

if

×T am

f

c(i, t)

(3.2)

A equação a seguir dene a função que quanti a o paralelismo do sistema, ou seja, a

quantidade deservidores parti ipantes no es alonamento dosfragmentosdas onsultas:

P(S) =

X

i∈S

s

i

(3.3)

Finalmente, a função objetivo do modelo bus a um menor tempo de resposta no provi-

mento das onsultas (minimizando oresultado da Equação 3.2 )e umamaior distribuiçãodo

es alonamento,paraevitara on entraçãoda arganosservidoresmais apazes(maximizando

o resultado daEquação 3.3 ):

22 Distribuídos

Uma análise aprofundada da função objetivo 3.4, no entanto, revelou que à medida em

queosfragmentos de uma onsultaeram es alonados para algum servidor,a apa idade dis-

poníveldesseservidoreraalterada, oqueafetariaade isãode es alonamento dosfragmentos

restantesda onsulta. Defato,a apa idadedisponível(Equação3.1)deumservidorsópode

serdenidaemumdeterminado instante. Essa ara terísti a lassi ao problemadees alo-

namento de fragmentos de onsultas no sistema de virtualizaçãoexplorado omo não linear,

o que inviabiliza a simples utilização da té ni a de programação linear. Com isto, optou-se

por utilizar uma té ni a de otimização que utiliza uma abordagem heurísti a no intuito de

es apar demínimoslo ais.

O prin ípio do re ozimento simulado (do inglês, simulated annealing), é uma analogia

entre um pro esso de fundição e a solução de um problema de otimização ombinatória,

proposto por [Kirkpatri k etalia(1983 )℄. Otermoannealing refere-sea umpro essotérmi o

que omeça pela liquidi ação de um metal a uma alta temperatura, seguido pela lenta e

gradativa diminuição de sua temperatura, até que o ponto de solidi ação seja atingido,

quando o sistema atinge um estado de energia mínima. O resfriamento rápido onduz a

produtos meta-estáveis, de maior energia interna, enquanto o resfriamento lento onduz a

produtos maisestáveis,estruturalmente maisfortes por teremmenor energia interna.

Na analogia, os estados possíveis de um metal orrespondem a soluções do espaço de

bus a,a energia em ada estado orresponde aovalor dafunção objetivo e aenergia mínima

orrespondeao valor dasolução ótima. A ada iteraçãodométodo,umnovo estadoé gerado

a partir do estado orrente, através de uma alteração aleatória neste. Se o novo estado

possui energia menor que o estado orrente, o novo estado passa a ser o estado orrente.

Caso o novo estado possua uma energia maior que o estado orrente, om uma diferença

de

unidades, a probabilidade do novo estado se tornar o estado orrente segue a função de a eitação

P

= e

/kT

; sendo

k

a onstante de Boltzmann e

T

a temperatura orrente do sistema. Estepro edimento érepetidoatéseatingiroequilíbriotérmi o. Quandooequilíbrio

térmi oéatingidoaumadadatemperatura,essaédiminuídaeumanovaiteraçãodométodo

éini iada. Opro esso omoumtodo termina quandoatemperatura seaproxima dezero.

Dessamaneira,quantomaioratemperaturadosistema,maioraprobabilidadedea eitação

paraumatransição de maior energia e, a altas temperaturas, ada estado tem prati amente

amesma han edesetornaroestado orrente. Apossibilidade deumatransiçãoquepiorea

soluçãopermitequeopro essoes apedeótimos lo ais. Comoa adaiteraçãoatemperatura

édiminuída, no naldo pro esso, prati amente não sea eita transiçõesde piora.

Aapli açãodesse método emumproblemade otimizaçãodemandaa onguração deum

onjunto de parâmetros de ontrole, que dependem sensivelmente do problema e só podem

ser determinados empiri amente. Os prin ipais parâmetros são: temperatura ini ial, que

determina o quão a eitável é uma transição de piora da solução no iní io do pro esso; e

o tamanho do de rés imo da temperatura a ada iteração, que determina a insistên ia do

pro esso e quantos estados estáveis serão al ançados até que se determine qual o estado de

energia mínima.

ponde a uma opção de es alonamento dos fragmentos da onsulta a um sub- onjunto dos

servidores andidatos. Uma transição entre estados orresponde à tro a de es alonamento

de umfragmento da onsulta. A energia de um estado, grandeza que sebus a minimizar, é

determinada pelafunção apresentadana Equação 3.5 .

E(d) =

P

T(f )

n

(3.5)

A função energia

E

,re ebe umestado

d

omo parâmetro. Oestado ontém informações sobreotamanhodosfragmentosda onsulta,oservidores alonadoparaservir adafragmento

e a apa idade disponívelem ada servidor. Afunção

T

retornaotempode respostaprevisto paraofragmento

f

onformeseues alonamento orrenteea apa idadedisponívelnoservidor paraoqualestáes alonado.

n

orrespondeaonúmerodeservidoresdiferentesqueparti ipam does alonamentonoestado

d

dosistema. Oesforçodeminimizaçãodafunçãoenergiafavore e um es alonamento mais distribuído entre os servidores do sistema e um menor tempo de

respostaparaservir osfragmentos.

Antesda primeira iteraçãodo método de re ozimento simulado (RS),é ne essáriodenir

um estado ini ial parao sistema. Para tal, é realizado umes alonamento aleatório dosfrag-

mentos da onsulta. Para al ular aenergia de umdeterminado estado do sistema, soma-se

o tempo de resposta esperado para ada fragmento da onsulta, devido ao es alonamento

atuale à apa idade disponívelde adaservidorenvolvidonoes alonamento. Destamaneira,

a solução ótima é a que impli a no menor tempo de resposta possível para ada um dos

fragmentos da onsulta.

Para uma transição entre estados do sistema, um fragmento da onsulta é es olhido de

maneira aleatória e, dentre os servidores andidatos, é sele ionado outro servidor que não

o atual responsável por atender ao fragmento da onsulta. Como onsequên ia da tro a de

es alonamento, as apa idades disponíveis dos dois servidores envolvidos na operação são

atualizadas.

Aabordagembaseadaemre ozimentosimuladoéumaestratégiadeotimizaçãodesimples

implementaçãoe,dependendodaqualidadede onguraçãodosparâmetros,atingeresultados

satisfatórios. No entanto, por se tratar de um me anismo que depende de assumir diversos

estados nabus a de umpoten ial ótimoglobal, apresenta umalto usto omputa ionalque,

Implementação e Conguração das

Simulações

Este apítulo dis utealgumas de isões de implementação do modelo de indexação de meta-

dados e fragmentação de onsultas e dos algoritmos de seleção de servidores. Os resultados

deste trabalho foram obtidos através de simulações e portanto bus ou-se gerar, ainda que

sinteti amente, onguraçõesgenuínas de servidores, enários de dados e argas de trabalho

paraassimulações. Este apítulotambémdis utea onguração dosimuladordea ordo om

a ara terização da arga detrabalho realizada.

4.1 Detalhes de Implementação

Oindexador demeta-dados eopro essadorde onsultasforamimplementados nalinguagem

C. Paratal, algumasadaptaçõesforamrealizadas sobreabibliote a desenvolvidapor[Murta

(2005 )℄,quedisponibilizaumtipoabstradodedadosparapolígonosassim omoosalgoritmos

geométri os mais bási os, omo interse ção de polígonos. O algoritmo de de omposição de

polígonosem retângulosfoiin orporadoa essa bibliote a.

Em sua versão original, essa bibliote a não provê re ursos para identi ação úni a de

polígonos, e portanto o tipo abstrado dedados querepresenta os polígonos foialterado. Um

mapa de bits foi asso iado a ada instân ia de um polígono, ontendo o seu identi ador

úni o em todo o sistema. Como o número de polígonos em todo o sistema pode ser alto,

foi ne essário implementar um mapa de bits om suporte a um tamanho arbitrário, ainda

que e iente emoperações omo interse ção de mapas. Paratanto, umabibliote a [Blustein

(1995 )℄ foiadaptada.

Com a utilização desta implementação de mapa de bits, foi possível identi ar a partir

de que onjunto depolígonosumoutro determinadopolígono foigerado, aqualquer instante

durante a exe ução dosalgoritmos. Este re ursopermitiu, por exemplo,que seevitasse al-

ular ainterse çãodeumpar depolígonosmúltiplas vezesduranteospro essosdeindexação

de meta-dados e pro essamento de onsultas.

simulador baseado em eventos, implementado na linguagem C++. Para a implementação

dosalgoritmos baseados na abstração de re ozimento simulado, foi utilizada uma bibliote a

ientí a [Galassi M.et al.(2005 )℄.

Oalgoritmode de omposição depolígonosa res entado àbibliote a deoperaçõesgeomé-

tri as [Murta (2005 )℄ limita o simulador ao pro essamento de onsultas por intervalos om

representaçãoatravésde polígonos n avos omângulos retos entre vérti es adja entes. No

entanto, a implementação suporta que os polígonos tenham bura os, desde que a delimita-

ção interna do polígono siga asmesmas ara terísti as. É importante observar, no entanto,

que esta restrição se apli a apenas à implementação do simulador utilizado para obter os

resultados aqui apresentados e não ao modelo de indexação de meta-dados e pro essamento

de onsultaspropostos. Existem algoritmos naliteratura [Boseetalia (2000 )℄ quesuportam

poliedros (nãone essariamente retos oubi-dimensionais) demaneira geral.

Documentos relacionados