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 fragmentof
da onsulta, sub onjunto deS
;T am
f
: otamanho do fragmentof
da onsulta;x
if
: assume0ou 1,indi a seo fragmentof
da onsulta serárequisitado ao servidori
;s
i
: assume0ou 1,indi a seo servidori
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çãoP
= e
∆/kT
; sendo
k
a onstante de Boltzmann eT
a temperatura orrente do sistema. Estepro edimento érepetidoatéseatingiroequilíbriotérmi o. Quandooequilíbrioté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 umestadod
omo parâmetro. Oestado ontém informações sobreotamanhodosfragmentosda onsulta,oservidores alonadoparaservir adafragmentoe a apa idade disponívelem ada servidor. Afunção
T
retornaotempode respostaprevisto paraofragmentof
onformeseues alonamento orrenteea apa idadedisponívelnoservidor paraoqualestáes alonado.n
orrespondeaonúmerodeservidoresdiferentesqueparti ipam does alonamentonoestadod
dosistema. Oesforçodeminimizaçãodafunçãoenergiafavore e um es alonamento mais distribuído entre os servidores do sistema e um menor tempo derespostaparaservir 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.