5.7 T estes e Resultados
5.7.3 Resultados: Primeiro Experimento
O primeiro experimento onsistiu em exe utar todos osprogramas do onjunto DaCapo
emumamáquinavirtual Jikes ongurada om osmesmosparâmetros de memória: heap de
tamanho xo e igual a 300Mb, tamanho su iente para exe ução de todos osprogramas do
onjunto. Dessaforma,é possível obterumpanorama geral do desempenho de exe uçãodos
programas usando ostrês oletores de lixodiferentes. O objetivo foi medir dois parâmetros
dedesempenho: vazão(throughput)elatên ia, oprimeiroatravésdotempototaldeexe ução
dos programas, e o segundo através do tempo máximo de pausa que o oletor impõe aos
mutadores. Os testes foram exe utados em um omputador om pro essador Intel Core 2
Duode2.1GHz, que ontém dois nú leos de pro essamento.
A Tabela 5.2 mostra o resultado do tempo de usuário total medido na exe ução dos
programasdetestedo onjuntoDaCapoparaostrês oletores omparados. Emtodosos asos,
épossível verqueoalgoritmo de ontagem de referên ias í li astem desempenho menosde
10%piorqueos oletoresalternativos, emalguns asosatéapresentandodesempenho melhor
queosoutros(porex. xalan epmd). OsresultadosdaTabela5.2sãomostradosgra amente
na Figura 5.4, onde pode ser visto que a diferença relativa no tempo entre os três tipos de
oletores épequena.
Osresultadosparaalatên ia,medidaemtermosdotempomáximodepausaimpostopelo
sistema oletor aos mutadores, são mostrados na Tabela 5.3. Pode-se ver fa ilmente que os
temposde pausa impostos peloalgoritmo de ontagem de referên iassãomuito menores em
relaçãoaos oletores omparados. Enquanto o oletor por ontagem de referên iaspausapor
Tabela5.2: Tempos totaisde exe uçãoparaosprogramas deteste, emsegundos. heapde 300Mb.
Teste pargen opy pargenms r - on -n1
avrora
54.630
53.351 54.250 batik 52.310 52.511 53.318 e lipse 502.271 500.812 503.732 fop 21.521 22.872 23.702 h2 77.234 75.473 77.298 jython 121.133 122.274 128.208 luindex 32.731 33.146 33.764 lusear h 106.803 110.904 108.109 pmd 69.234 67.473 66.029 sunow 71.302 73.071 76.098 tom at 79.176 78.047 77.131 tradebeans 99.182 100.040 100.981 tradesoap 278.114 287.332 289.954 xalan 66.941 67.413 65.031Tabela 5.3: Tempomáximo depausa dos mutadores, em milisegundos. Heapde 300Mb.
Teste pargen opy pargenms r - on -n1
avrora 3130 3162 40 batik 3501 3501 33 e lipse 7343 6812 67 fop 3102 3218 30 h2 6284 6319 55 jython 8226 8266 88 luindex 3782 3726 44 lusear h 5017 5092 52 pmd 6645 6599 69 sunow 3212 3189 31 tom at 6577 6502 58 tradebeans 7002 6984 66 tradesoap 7219 7192 70 xalan 5166 5201 48
Para medir astendên ias da vazão e latên ia à medida em que o espaço reservado para
o heap aumenta, o primeiro experimento foi repetido para máquinas virtuais onguradas
omoutros tamanhosdeheap: 600Mb e1200Mb. Como aquantidade dememória disponível
tendea ontinuar res endo, éimportanteterumaideia de omoodesempenhodos oletores
éafetado omoaumento dotamanho doheap. Paraotempototal deexe uçãodostestes,os
resultados oletados ontinuammostrandopou adiferençarelativaentreostrês oletorestes-
tados,emboraodesempenhodetodostenhasidopior(porumfatorpequeno),provavelmente
devidoàperdadelo alidade. Entretanto, omrelação aotempomáximodepausa, épossível
veruma tendên ia de aumento da vantagem do oletor baseado na ontagem de referên ias
em relação aos oletores paralelos. A Tabela 5.4 mostra um sumário dos resultados, apre-
sentandoumamédia dostemposmáximosde pausaobtidos emtodososprogramasparaum
dado oletoreumtamanhodeheap. Paraumheap de300Mb,ovalormostradonaTabela5.4
éumamédiadosvaloresindividuaismostradosnaTabela5.3para ada teste. Observa-seque
o oletor baseado em ontagem de referên iasimpõe temposde pausas er a de duasordens
de magnitude menores do que os oletores paralelos, em todos os asos. Para visualizar a
tendên ia de variação do tempo de pausa à medida em que o tamanho do heap res e, são
Tabela 5.4: Tempo máximo de pausa dos mutadores (média de todos os programas de teste), em
milisegundos, paratrêstamanhos de heap.
Tamanhodoheap (MB) pargen opy pargenms r - on -n1
300 5443 5411 53
600 6859 7145 58
1200 9628 10837 74
de variação, e não osvalores espe í os os temposde pausa dos oletores paralelos foram
divididospor 100. Na Figura5.5, vê-se que o tempo de pausa imposto pelo oletorbaseado
em ontagem de referên ias aparenta res er mais lentamente om o aumento do heap em
relaçãoaos oletores paralelos.
Isso permite on luir que o algoritmo de ontagem de referên iasmostrado na Seção 5.3
é ompetitivo omasalternativasemtermosdedesempenho,mas atingeumalatên ia muito
menor,eadiferençadelatên iatendeasea entuar omo res imento doheap. Emsituações
ondeédesejávellimitaro tempode pausaimpostopelo oletoraoprograma sendoexe utado
por exemplo,sistemasdetempo real,sistemasinterativosparausuáriosnaisouservidores
que devem limitar o tempo de resposta por transação o uso de oletores de referên ias
í li aspode atingir esse objetivo sempenalidadesigni ativa no desempenho. O bom om-
portamento da latên ia om o res imento do heap, observado no oletor por ontagem de
referên ias, indi a que essa té ni a se torna mais vantajosa à medida que a quantidade de
memóriadisponívelparaosistema res epor exemplo, omoa onte e omservidores.