You are on page 1of 8

Avaliac ao de Estrat egias de Balanceamento de Carga do Tipo Mestre-Escravo

para Aplicac oes SPMD em Clusters e Grids Computacionais


Andre L. de Oliveira
UFRJ COPPE Sistemas
Rio de Janeiro, RJ, Brasil
aoliveira100@gmail.com
Alexandre Plastino
1
Simone de L. Martins
2
UFF Inst. de Computac ao
Niter oi, RJ, Brasil
{plastino
1
,simone
2
}@ic.uff.br
In es Dutra
Universidade do Porto
Depto. de Ci encia de Comp.
Porto, Portugal
ines@dcc.fc.up.pt
Resumo
O desempenho de programas paralelos e fortemente in-
uenciado por diferentes fatores din amicos de desequilbrio
de carga. A utilizac ao de um algoritmo de balanceamento
de carga adequado e essencial para a reduc ao dos efeitos
causados por esses fatores de desequilbrio. Neste trabalho,
avalia-se o desempenho de diversas estrat egias de balan-
ceamento quando executadas em aplicac oes SPMD com di-
ferentes caractersticas. Os experimentos foram realizados
emumcluster e emumgrid computacional e foramconside-
rados diversos fatores que podem ocasionar desequilbrios
em um ambiente computacional, tais como: capacidade de
processamento, presenca de carga externa ` a aplicac ao e
velocidade de comunicac ao.
1. Introduc ao
O modelo de programac ao paralela SPMD (Single Pro-
gram Multiple Data) tem sido amplamente utilizado devido
` a facilidade de desenvolvimento e controle de um c odigo
unico (Single Program) e ao fato deste modelo ser capaz
de representar uma grande quantidade de problemas. Nesse
modelo, o mesmo programa e executado, sem sincronismo
no nvel de instruc ao, nos diferentes processadores, mani-
pulando conjuntos distintos de dados que caracterizam as
tarefas.
O desempenho de uma aplicac ao SPMD pode ser afe-
tado por diversos fatores que causam o desequilbrio de
carga, tais como: a heterogeneidade da arquitetura para-
lela, o desconhecimento da quantidade de processamento
em cada tarefa, a criac ao din amica de tarefas, al em da hete-
rogeneidade e da variac ao da carga externa ` a aplicac ao em
um ambiente n ao dedicado. A utilizac ao de uma estrat egia
adequada de balanceamento de carga e fundamental para a
reduc ao do efeito desses fatores [13].
Oobjetivo deste trabalho e apresentar os principais resul-
tados dos experimentos realizados em [3] com diversas es-
trat egias de balanceamento de carga. Dez estrat egias distin-
tas foram avaliadas, para diferentes aplicac oes SPMD, em
ambientes computacionais com diferentes caractersticas.
Tr es aplicac oes foram utilizadas: uma aplicac ao que cal-
cula a dispers ao t ermica em meios porosos, uma aplicac ao
para renderizac ao de imagens que utiliza ray tracing e uma
aplicac ao sint etica para simular aplicac oes com diferentes
caractersticas. Em relac ao ` as caractersticas da aplicac ao,
consideraram-se fatores como o tempo de computac ao e o
tamanho de cada tarefa, al em da quantidade total e da he-
terogeneidade das tarefas. Os experimentos foram realiza-
dos em um cluster e, posteriormente, em um grid computa-
cional constitudo por dois clusters geogracamente dis-
tantes. A an alise de desempenho das estrat egias nesses am-
bientes considerou fatores como: quantidade de m aquinas,
capacidade de processamento, presenca de carga externa ` a
aplicac ao e tempo de comunicac ao.
A maioria das estrat egias avaliadas adota a abordagem
mestre-escravo, amplamente utilizada para resolver proble-
mas de balanceamento de carga [4, 8, 12, 13]. O problema
de denic ao do tamanho dos blocos de tarefas enviados
pelo mestre aos seus escravos tamb em foi objeto de estudo.
Nesse contexto, forampropostas e implementadas variac oes
de estrat egias existentes na literatura que utilizamuma abor-
dagem de reduc ao de bloco [9, 10, 15].
Este trabalho est a organizado da seguinte forma. Na
Sec ao 2, s ao apresentadas as ferramentas de apoio ` a
implementac ao, execuc ao e avaliac ao das estrat egias de ba-
lanceamento de carga. Na Sec ao 3, as estrat egias de balan-
ceamento s ao descritas. Na Sec ao 4, s ao apresentadas as
aplicac oes SPMD implementadas. Na Sec ao 5, s ao analisa-
dos os resultados dos experimentos computacionais. Final-
mente, na Sec ao 6, s ao apresentadas as conclus oes.
19
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
2. Ferramentas Utilizadas
SAMBA e SAMBA-Grid: A ferramenta SAMBA-
Grid e um framework para desenvolvimento de aplicac oes
paralelas SPMD com balanceamento de carga em grids
computacionais. Foi desenvolvida a partir da ferramenta
SAMBA criada para ser utilizada em clusters [13]. Para
se gerar uma aplicac ao SPMD, o usu ario tem que desen-
volver, basicamente, o c odigo comum que ser a executado
nos diversos processadores sobre os diferentes conjuntos de
dados. A ferramenta disponibiliza uma biblioteca de algo-
ritmos de balanceamento de carga, que possibilita a gerac ao
autom atica de diferentes vers oes de um mesmo programa
paralelo, bastando recompilar o programa com a opc ao de
balanceamento desejada.
Network Weather Service(NWS): Esta ferramenta per-
mite realizar o monitoramento peri odico dos principais re-
cursos de um sistema computacional distribudo. Processos
sensores s ao executados nas m aquinas onde se deseja mo-
nitorar recursos como: CPU, rede e mem oria.
Playload: Esta ferramenta [6] objetiva reproduzir a
variac ao de carga de trabalho em processadores visando
emular ambientes din amicos de concorr encia. Para isso,
monitora a m edia de carga de um processador registrando
em um arquivo de traces que serve como entrada para o
Playload quando se desejar reproduzir esta mesma variac ao
de carga em um outro processador. Cada arquivo de traces
utilizado neste trabalho [11] tem uma caracterstica parti-
cular e e classicado segundo dois par ametros. O primeiro
se refere ao consumo m edio de CPU e o segundo ` a variac ao
deste consumo no decorrer do tempo (L - Low ou H - High).
Trafc Control (TC): Esta ferramenta permite congu-
rar o compartilhamento das las de envio de pacotes das in-
terfaces de rede. Neste trabalho, foram utilizadas as func oes
do TC respons aveis por embutir retardos nos envios de pa-
cotes para emular canais de comunicac ao com lat encias de
rede mais elevadas.
3. Estrat egias de Balanceamento de Carga
As estrat egias de balanceamento de carga avaliadas
neste trabalho s ao: duas est aticas, uma Mestre-Escravo
com Bloco Fixo e estrat egias do tipo Mestre-Escravo com
Reduc ao de Bloco. A id eia principal dessas ultimas e dis-
tribuir blocos de tamanho maior no incio da execuc ao e,
` a medida que o mestre recebe novas solicitac oes de tare-
fas, o tamanho dos blocos vai reduzindo gradativamente
at e o nal da execuc ao da aplicac ao. O objetivo princi-
pal e diminuir o overhead de comunicac ao, sem gerar des-
balanceamentos e tirar do usu ario a responsabilidadede por
denir o tamanho do bloco.
Est atico Simples: Trata-se da estrat egia mais trivial,
pois e caracterizada apenas por uma poltica de distribuic ao
que divide igualmente o conjunto inicial de tarefas entre to-
dos os processadores no incio da execuc ao.
Est atico com NWS: Consiste em uma variac ao do
Est atico Simples que leva em considerac ao o peso W
p
as-
sociado a cada processador p, que e calculado utilizando
a velocidade de seu processamento e a frac ao de CPU
disponvel obtida pelo NWS. O tamanho do lote L
p
de tare-
fas destinado a um processador p e calculado pela f ormula
L
p
= W
p
N, onde N e o n umero inicial de tarefas.
Mestre-Escravo com Bloco Fixo: Esta e uma estrat egia
de balanceamento amplamente utilizada [4, 8, 13]. Neste al-
goritmo, o processador mestre, que possui o conjunto inicial
de tarefas, distribui para os seus escravos blocos de tama-
nhos xos de tarefas. Toda vez em que um escravo termina
de executar um bloco recebido, solicita um novo bloco ao
mestre. Este processo se repete at e que n ao existam mais
tarefas pendentes de execuc ao no mestre.
MERB1 Guided Self-Scheduling: Proposta em [15],
consiste em uma estrat egia do tipo mestre-escravo com
reduc ao de bloco, na qual o tamanho do i- esimo bloco B
i
de tarefas destinado a um escravo e denido por B
i
=

1
1
P

N
P

, onde i indica o n umero da solicitac ao,


P o n umero de processadores escravos e N o n umero inicial
de tarefas.
MERB2 Factoring: Proposta em [9], consiste em dis-
tribuir as tarefas a partir de lotes formados por P blocos de
mesmo tamanho, onde P e o n umero de processadores es-
cravos. O tamanho de um bloco B
p
dentro do i- esimo lote e
denido por B
p
=

1
2

i+1

N
P

, onde i indica o n umero


de identicac ao do lote vigente, p o processador escravo
que ir a receber o bloco e N o n umero de tarefas. A cada
P requisic oes por tarefas o identicador i do lote ser a in-
crementado e os blocos deste lote reduzir ao de tamanho em
relac ao aos blocos do lote anterior. Todos os blocos de um
mesmo lote ter ao sempre o mesmo tamanho.
MERB3 Weighted Factoring Simples: Proposta ini-
cialmente em [10] e aperfeicoada neste trabalho, e uma
variac ao da estrat egia Factoring para um sistema de mul-
ticomputadores. O Algoritmo 1, apresentado de forma sim-
plicada, implementa esta estrat egia e ser a executado to-
das as vezes que um escravo solicitar tarefas ao mestre. O
peso (W
p
) e dado pela velocidade de processamento de um
escravo p, obtida a partir do arquivo de sistema do Unix
(/proc/cpuinfo). Neste algoritmo, P e o n umero de escravos,
N e o n umero de tarefas e PercTar
p
e o percentual de
tarefas destinado a um escravo p, o qual e calculado apenas
no incio da execuc ao, a partir do peso W
p
. No inicio da
execuc ao IDlote = 1 e tamanhoDoLote = 0.
MERB4 Weighted Factoring com NWS Est atico:
Esta estrat egia e uma variac ao da MERB3 que utiliza os
valores de disponibilidade de CPU, fornecidos pelo NWS,
como par ametros para denir pesos (W
p
) mais ecientes.
20
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
incio 1
se tamanhoDoLote <=0 ent ao 2
tamanhoDoLote (1/2)
IDlote
N; 3
tamanhoInicialDoLote tamanhoDoLote; 4
IDlote IDlote + 1; 5
bloco tamanhoInicialDoLote PercTarp; 6
tamanhoDoLote tamanhoDoLote bloco; 7
retorna bloco; 8
m 9
Algoritmo 1: Algoritmo MERB3
O peso de um processador e calculado pela f ormula W
p
=
clockCpu
p
availableCpu
p
, onde clockCpu
p
e o valor
do clock do escravo p obtido a partir do arquivo de sistema
do Unix e availableCpu
p
e a medic ao NWS que fornece
a frac ao de clocks disponveis para um novo processo ser
executado no escravo p.
MERB5 Weighted Factoring com NWS Din amico:
Consiste em uma variac ao da MERB4 que atualiza os
pesos dos processadores escravos durante a execuc ao da
aplicac ao, de forma a considerar variac oes de carga no am-
biente. O c alculo do peso W
p
e o mesmo da estrat egia
MERB4 e e feito no incio da execuc ao da aplicac ao e todas
as vezes que um novo lote vigente e recalculado. Por em,
apenas o c alculo de peso feito no incio da execuc ao utiliza
a medic ao NWS availableCpu
p
. As atualizac oes de peso
utilizam a medic ao currentCpu
p
, que fornece a disponibi-
lidade de CPU para um processo que j a esteja em execuc ao.
MERB6 Weighted Factoring with Dynamic Feed-
back: Proposta neste trabalho, consiste em uma variac ao
da MERB5, onde o peso W
p
e determinado pelo tempo
m edio de computac ao de uma tarefa (TMCT), retornado por
um escravo durante a execuc ao da aplicac ao. No incio da
execuc ao, quando ainda n ao se conhece o TMCT dos es-
cravos, adota-se uma poltica de distribuic ao xa de tare-
fas. Todas as vezes que um escravo solicita novas tarefas
ao mestre, envia junto o TMCT referente ao bloco execu-
tado imediatamente antes da solicitac ao. O mestre registra
este valor e verica se todos os demais escravos tamb em j a
retornaram seus TMCT ao menos uma vez. Em caso ar-
mativo, o algoritmo adotar a, da em diante, uma abordagem
com reduc ao de bloco de forma semelhante a usada pela es-
trat egia MERB5, onde o peso da cada escravo ser a o TMCT
mais atual. Em caso negativo, seguir a a distribuic ao sem
considerar a capacidade de processamento dos escravos. A
implementac ao deste algoritmo seguiu duas abordagens dis-
tintas: a primeira considerando o TMCT como sendo ape-
nas o tempo m edio de execuc ao de uma tarefa e a segunda
tamb em levando em conta a lat encia de rede para enviar
uma tarefa do mestre para um escravo que e obtida a partir
da medic ao latencyTcp do NWS.
Mestre-Escravo Hier arquico (MEH) Esta estrat egia
discutida em [1, 7] e implementada em [2] consiste em uma
variac ao da estrat egia mestre-escravo com bloco xo que
utiliza uma topologia hier arquica de processadores. Nesta
poltica, a raiz da hierarquia representa o mestre global, as
folhas da hierarquia representam os escravos e os n os inter-
nos representam submestres. O mestre global distribui as
tarefas sob demanda entre os seus lhos. Cada submestre
tamb em distribui sob demanda suas tarefas aos seus lhos
e, sempre que estas s ao concludas, este solicita mais tare-
fas ao seu mestre. Cada escravo, ap os executar as tarefas
recebidas, solicita mais tarefas ao seu submestre.
4. Aplicac oes SPMD
Termions: A aplicac ao dos Termions [16] implementa
a resoluc ao de um problema da area de fsica que tem por
objetivo calcular a dispers ao t ermica em meios porosos. A
dispers ao t ermica e avaliada pelo movimento de partculas
hipot eticas, denominadas termions. Cada termion possui
uma quantidade xa de energia e e representado por uma
posic ao no espaco. Esta posic ao determina em que tipo de
meio a partcula se encontra: s olido ou uido. Inicialmente,
um n umero grande de termions e liberado e, a cada iterac ao,
a posic ao de todos os termions e atualizada de acordo com o
tamanho do seu passo e direc ao. A denic ao da direc ao do
movimento e escolhida aleatoriamente e o tamanho de cada
passo depende das propriedades do meio no qual a partcula
est a e da velocidade de uxo do uido, caso ela se encontre
na parte uida. Ap os a realizac ao de um certo n umero de
passos, as partculas atingemsuas posic oes nais e se obt em
a dispers ao t ermica nal. Cada termion percorre diferentes
caminhos e a avaliac ao do caminho total realizado por um
termion constitui uma tarefa do programa paralelo.
Ray Tracing Distribudo: A aplicac ao Ray Tracing
distribudo [5] consiste em um m etodo de renderizac ao
de imagens que se baseia no princpio natural de
propagac ao da luz. A abordagem distribuda trata-se de
um aperfeicoamento do algoritmo de Ray Tracing tradi-
cional [17] que subdivide cada pixel da imagem em subpix-
els onde, para cada subpixel, e executado o algoritmo tradi-
cional. Uma subdivis ao de pixels na ordem2 2, por exem-
plo, produz quatro subpixels. Como o c alculo de cor em
cada subpixel e feito de forma independente, esta aplicac ao
p ode ser facilmente paralelizada como SPMD. Uma ima-
gem a ser renderizada pode ser constituda por diversos ob-
jetos que comp oem a cena. As tarefas desta aplicac ao ten-
dem a ser heterog eneas, pois o tempo de computac ao de
cada pixel depender a da sua localizac ao na imagem. Os pi-
xels localizados em regi ao de fundo basicamente n ao con-
somem muito tempo de computac ao, enquanto que, os pi-
xels localizados em regi oes de objetos demandam mais pro-
cessamento.
Sint etica: A aplicac ao Sint etica foi implementada com
o objetivo de permitir uma an alise do desempenho das es-
trat egias de balanceamento de carga quando executadas em
aplicac oes com um maior n umero de tarefas e com tarefas
21
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
de tamanho maior. Cada tarefa nesta aplicac ao consiste na
execuc ao de um loop, onde em cada iterac ao e executada
uma operac ao aritm etica simples. Os seguintes par ametros
podem ser congurados: n umero total de tarefas, tempo de
computac ao de cada tarefa e a quantidade de bytes associa-
dos a uma tarefa.
5. Experimentos Computacionais
Nesta sec ao, ser ao apresentados os experimentos reali-
zados no cluster e no grid. Para analisar o desempenho das
estrat egias, foi calculado o ndice de desbalanceamento de
carga (IDC) [12, 14] denido por IDC =

i=P
i=1
(t
f
t
i
)
(P1)
tf
,
onde P e a quantidade total de processadores, t
i
e o tempo
nal de execuc ao do i- esimo processador e t
f
e o tempo de
execuc ao do ultimo processador a terminar suas tarefas.
5.1. Experimentos Realizados no Cluster
Os experimentos no cluster utilizaram at e 16 proces-
sadores com a mesma congurac ao: Pentium 1715 MHz,
interconectados por uma rede local Fast Ethernet, com a
vers ao 7.0.4 do mpilam instalada. As estrat egias foram
executadas utilizando-se duas aplicac oes: Termions e Ray
Tracing implementadas utilizando-se a ferramenta SAMBA.
Para ambas variou-se o n umero de processadores (4, 8 e 16)
para analisar a escalabilidade. Todas as estrat egias foram
avaliadas e est ao identicadas como: Est(Est atico Simples),
EstNWS(Est atico com NWS), MEBFX (MEBF com bloco
de X tarefas) e MERB1 a MERB6. O comportamento das
estrat egias foi avaliado em cinco ambientes, descritos na
Tabela 1. Cada ambiente e identicado por oito letras, onde
cada par de letras indica o tipo de trace executado em uma,
duas ou quatro m aquinas, dependendo da quantidade total
de m aquinas utilizadas nos experimentos (4, 8 ou 16).
A aplicac ao dos Termions foi executada com 1000 tare-
fas e foram conguradas propriedades fsicas do meio de
forma que as tarefas levassem aproximadamente o mesmo
tempo de execuc ao. A aplicac ao Ray Tracing foi executada
para duas imagens distintas, de tamanho 500 500 pixels,
denominadas 5balls e room. Cada pixel das imagens foi di-
vidido em 16 sub-regi oes (subpixels).
Os experimentos no ambiente SC (Figuras 1 e 5) eviden-
ciam a caracterstica homog enea das tarefas dos Termions
e da renderizac ao da imagem 5balls, pois a maioria das es-
trat egias apresentou um comportamento semelhante. Pode-
se observar a escalabilidade nas duas aplicac oes, pois os
tempos foram reduzidos ` a metade nas execuc oes de 4 para 8
processadores e de 8 para 16. As execuc oes das estrat egias
Est e EstNWS com a aplicac ao dos Termions obtiveram
desempenhos semelhantes, indicando que o EstNWS dis-
tribuiu as tarefas da mesma forma que o Est, ap os vericar
que os processadores estavam completamente disponveis.
Essas estrat egias obtiveram um desempenho superior ao
ID do Ambiente Descric ao N
o
de Execuc oes
SC Todos os processadores est ao exclusivos e sem a
presenca de carga externa ` a aplicac ao.
Termions (3 execuc oes) / Ray
Tracing (5 execuc oes)
CC-0.1.2.3 A cada 4 processadores tem-se: um processador
com 0 carga, um com 1 carga, um com 2 cargas e
um com 3.
Termions (3 execuc oes) / Ray
Tracing (5 execuc oes)
CC-LL.LH.HL.HH Utiliza o playload para gerar as cargas externas e
a cada 4 processadores tem-se: um processador
com carga de traces do tipo LL, um com LH, um
com HL e um com HH.
Termions (20 execuc oes) /
Ray Tracing (20 execuc oes)
CC-LL.LL.HL.HL Utiliza o playload para gerar as cargas externas e a
cada 4 processadores tem-se: dois processadores
com cargas de traces do tipo LL e os outros dois
com HL.
Termions (20 execuc oes) /
Ray Tracing (20 execuc oes)
CC-LH.LH.HH.HH Utiliza o playload para gerar as cargas externas e a
cada 4 processadores tem-se: dois processadores
com cargas de traces do tipo LH e os outros dois
com HH.
Termions (20 execuc oes) /
Ray Tracing (20 execuc oes)
Tabela 1. Ambientes de execuc ao
da maioria das estrat egias mestre-escravo, com ganhos en-
tre 0,17% e 10,45%. Na aplicac ao Ray Tracing, o Est e
o EstNWS n ao apresentaram um bom desempenho para a
imagem room. A maioria das estrat egias mestre-escravo
(com excec ao da MEBF1 com 16 processadores) obteve ga-
nhos entre 7% e 41,8% em relac ao ` as estrat egias est aticas.
Este fato pode ser explicado porque a imagem room e
bastante heterog enea em relac ao ao tempo de computac ao
de cada pixel. Embora mais heterog enea que a imagem
5balls, a renderizac ao da imagem room e 80% mais r apida,
pois a renderizac ao da imagem 5balls exige c alculos mais
completos para a maioria dos seus pixels. As estrat egias
do tipo mestre-escravo, para as duas aplicac oes, apresen-
taram desempenhos semelhantes. Nos Termions, apenas
nas execuc oes com 4 processadores foi possvel observar
diferencas de desempenho. Esse comportamento pode ser
justicado pelos desbalanceamentos gerados na distribuic ao
do ultimo bloco de tarefas. O mesmo ocorreu no Ray Trac-
ing. Para a imagem 5balls com 16 processadores observa-
se que a MEBF8 apresentou o pior desempenho, justicado
por um grande desbalanceamento (IDC = 21,88%). Isso se
deve ao fato de que muitas vezes o mestre envia o ultimo
bloco de tarefas para um escravo enquanto que os demais
cam ociosos at e que este termine de executar as tarefas re-
cebidas. Para a imagem room, a estrat egia MEBF1 foi a
que apresentou o pior desempenho, que pode ser explicado
pela heterogeneidade das tarefas, pelo maior overhead de
comunicac ao com o envio de blocos unit arios de tarefas, e
pelo menor tempo para renderizar essa imagem.
Os experimentos realizados no ambiente CC-0.1.2.3
(Figuras 2 e 6) mostraram o problema de se executar a es-
trat egia est atica simples em um ambiente com a presenca
de carga externa. Observa-se que esta estrat egia apresen-
tou grandes desequilbrios de carga. A estrat egia EstNWS
foi executada para tentar amenizar este problema. Com os
Termions, embora o tempo total de computac ao tenha sido
melhor do que o est atico simples (para 4, 8 e 16 proces-
sadores ganhos de 37,6%, 97,1% e 98,1%), as execuc oes
com 4 processadores apresentaram em m edia 25% de des-
balanceamento com 4 processadores, o que mostra que essa
22
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
estrat egia n ao apresentou um bom desempenho quando exe-
cutada com poucos processadores. Nas execuc oes com 8 e
16 processadores, o EstNWS obteve desempenho equiva-
lente ao das melhores estrat egias do tipo mestre-escravo.
Na aplicac ao Ray Tracing, o EstNWS apresentou um bom
desempenho para a imagem 5balls e um desempenho regu-
lar para a imagem room (IDC m edio de 10,15% para a ima-
gem 5balls e de 40,34% para a room).Essa diferenca pode
ser explicada pela caracterstica mais heterog enea da ima-
gem room. A maioria das estrat egias mestre-escravo obteve
desempenhos semelhantes e ecientes. Apenas a MERB1
com os Termions e MERB1 e MEBF8 (com 16 proces-
sadores) com a imagem 5balls n ao apresentaram um bom
desempenho.
No ambiente CC-LL.LL.HL.HL (Figuras 3 e 7), para
os Termions e na renderizac ao da imagem 5balls, as es-
trat egias MEBF8 e MERB1 n ao apresentaram um bom de-
sempenho e observou-se uma piora no desempenho da Est-
NWS quando comparada com a Est e com a maioria das
estrat egias mestre-escravo (comparac ao com os resultados
obtidos na execuc ao CC-0.1.2.3). As pequenas variac oes
em processadores com cargas pesadas parecem ter preju-
dicado a estrat egia EstNWS. No caso da imagem 5balls,
a EstNWS apresentou um desempenho pior do que a Est
nas execuc oes com 16 processadores, com uma diferenca de
14,07%. Na execuc ao dos Termions com 16 processadores
observou-se uma diferenca signicativa entre as estrat egias
MERB2 e MERB3 e as melhores estrat egias MERB (de
aproximadamente 44%). Isso porque essas duas estrat egias
n ao efetuam rec alculo de peso durante a execuc ao e as pe-
quenas variac oes das cargas geradas pelo Playload podem
ter tido um maior impacto nas execuc oes com 16 proces-
sadores, pois o tempo total de computac ao e menor.
Nos experimentos no ambiente CC-LH.LH.HH.HH
(Figuras 4 e 8), a aplicac ao dos Termions e a renderizac ao
da imagem 5balls tiveram desempenhos semelhantes. A
estrat egia EstNWS apresentou o seu pior desempenho em
comparac ao com as estrat egias do tipo mestre-escravo.
Percebe-se que a diferenca entre essa estrat egia e a Est
diminuiu ainda mais, o que indica que essa estrat egia n ao
conseguiu se adaptar bem a um ambiente onde as car-
gas apresentam uma alta variac ao. As estrat egias MEBF8,
MERB1, MERB2 e MERB3 tamb em n ao apresentaram um
bom desempenho. A MEBF8 apresentou desequilbrios
relevantes nas execuc oes com 8 e 16 processadores (nos
Termions, IDC = 4,62% para 8 processadores e IDC = 10%
para 16, e no Ray Tracing, IDC = 6,95% para 8 e IDC =
22,22% para 16). A MERB1 novamente n ao apresentou um
bom desempenho. Para a imagem 5balls, a MERB2 e a
MERB3 foram fortemente prejudicadas nas execuc oes com
4 processadores devido ` as grandes variac oes das cargas ex-
ternas nesse ambiente. No caso da estrat egia MERB3, o
fato de o peso ser calculado apenas no incio pode ter pre-
judicado essa estrat egia, por n ao ter reetido as variac oes
de carga. Embora a estrat egia MERB4 tamb em calcule
os pesos apenas no incio da execuc ao, o uso da disponi-
bilidade de CPU, fornecida pelo NWS, favoreceu essa es-
trat egia. Com os Termions, essa situac ao s o pode ser obser-
vada na execuc ao com 16 processadores. Observa-se uma
piora no desempenho da estrat egia MERB6 com 16 pro-
cessadores na aplicac ao dos Termions. O fato do TMCT
reetir uma situac ao vericada no passado pode ter preju-
dicado essa estrat egia, pois a informac ao recebida se tornou
desatualizada devido ` a alta variac ao das cargas nesse ambi-
ente. Dessa forma, o peso calculado n ao estaria reetindo
a capacidade real de processamento de um escravo, o que
gerou desbalanceamentos (IDC = 15,09%). Al em desse fa-
tor, o overhead gasto no rec alculo dos pesos a cada m de
lote tamb em pode ter contribudo para uma queda no de-
sempenho.
No ambiente CC-LH.LH.HH.HH, percebe-se, para am-
bas as aplicac oes, nas execuc oes com 8 e 16 processadores,
uma perda de escalabilidade nas execuc oes das estrat egias
est aticas, pois, mesmo com o dobro de processadores, os
tempos de execuc ao forambemmais pr oximos. Al emdisso,
pode-se notar que a estrat egia EstNWS obteve um desem-
penho pior na renderizac ao da imagem room, principal-
mente com 4 processadores, quando obteve o pior desem-
penho entre todas as estrat egias.
Figura 1. Termions SC
Figura 2. Termions CC-0.1.2.3
23
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
Figura 3. Termions CC-LL.LL.HL.HL
Figura 4. Termions CC-LH.LH.HH.HH
5.2. Experimentos Realizados no Grid
Nesta sec ao, ser ao apresentados os principais resultados
dos experimentos realizados em um grid computacional.
An alises complementares podem ser encontradas em [3].
As estrat egias foramexecutadas emumgrid formado por
dois clusters assim identicados: clusterPUC (cluster da
PUC-RIO) e clusterUFF (cluster da UFF-Niter oi). O grid
era formado por 30 m aquinas, sendo 15 no clusterPUC,
com processadores Pentium II (398 MHz) e 15 no clus-
terUFF, com processadores Pentium IV (2.65 GHz). As
m aquinas em cada cluster eram conectadas por uma rede
Fast Ethernet e os dois clusters interconectados via Inter-
net. Para possibilitar a comunicac ao entre os processadores
dos dois clusters foi utilizado o middleware Globus e a bi-
Figura 5. Ray Tracing SC
Figura 6. Ray Tracing CC-0.1.2.3
Figura 7. Ray Tracing CC-LL.LL.HL.HL
blioteca de troca de mensagens mpilam.
Al em das estrat egias avaliadas no cluster, foram exe-
cutadas a estrat egia MEH e uma variac ao da estrat egia
MERB6 que tamb em utiliza a lat encia de rede (monitorada
pelo NWS) como par ametro auxiliar na denic ao do peso
de um processador. A vers ao original ser a denominada
MERB6a e essa nova vers ao, MERB6b.

E importante
ressaltar que n ao ser ao apresentados os resultados das es-
trat egias Est, MERB1 e MERB2, pois apresentaram um de-
sempenho inferior.
Na estrat egia MEH, o tamanho do bloco de tarefas que o
submestre solicita para o mestre global cou assimdenido:
45 tarefas na aplicac ao dos termions (3 para cada escravo),
Figura 8. Ray Tracing CC-LH.LH.HH.HH
24
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
30 tarefas no Ray Tracing (2 para cada escravo) e 105 tare-
fas na aplicac ao sint etica (7 para cada escravo).
A maior quantidade de processadores no grid exigiu au-
mentar o tempo de computac ao das aplicac oes avaliadas. A
aplicac ao dos termions foi executada com 2000 tarefas. A
aplicac ao Ray Tracing utilizou a imagem 5balls, que leva
mais tempo para ser renderizada, e cada pixel foi dividido
em 64 sub-regi oes para aumentar o tempo de computac ao
de cada um deles. A aplicac ao sint etica foi executada com
20000 tarefas cujo tempo de computac ao foi congurado
para durar aproximadamente 2s no processador mais lento
do grid(processadores do clusterPUC).
Os experimentos foram realizados com duas
congurac oes de rede no grid. Na primeira, a comunicac ao
inter-cluster (entre m aquinas em cluster distintos) utilizou
a lat encia real de comunicac ao entre os clusters (entre 1ms
e 4ms). A outra congurac ao utilizou a ferramenta TC para
emular uma rede com canais de comunicac ao mais lentos
entre os clusters. A lat encia inter-cluster foi congurada
com o valor de 250ms.
Inicialmente, todas as aplicac oes foram executadas com
o conjunto inicial de tarefas localizado no clusterUFF. Nas
estrat egias mestre-escravo, o processo mestre foi executa-
do na m aquina do cluster que possua o conjunto inicial de
tarefas (na estrat egia MEH o mestre global foi executado
nessa m aquina e o submestre em uma m aquina do outro
cluster). O conjunto de estrat egias foi executado cinco
vezes e os tempos fornecidos s ao uma m edia dos tempos.
Nas duas aplicac oes reais avaliadas (Termions e Ray
Tracing), observaram-se resultados semelhantes quando o
conjunto inicial de tarefas estava localizado no clusterPUC.
Esses resultados podem ser observados nas Figuras 9 e 10.
Nos dois casos, observa-se que quando a lat encia inter-
cluster foi de 250ms (gr acos de linhas), a maioria das
estrat egias apresentaram um desempenho melhor do que
quando a lat encia inter-cluster foi a real (gr acos de bar-
ras). Na aplicac ao dos Termions, foi possvel observar duas
excec oes a esta observac ao, pois as estrat egias MEBF1 e
MEBF8 apresentaram um desempenho melhor quando a
lat encia inter-cluster foi a real, o que era o esperado. Na
MEBF1 o motivo foi o alto overhead de comunicac ao ge-
rado pelo envio unit ario de tarefas para as m aquinas do clus-
terUFF atrav es de um canal lento e, na MEBF8, pelo alto
ndice de desbalanceamento (alto IDC 26,7%) gerado por
uma m aquina do clusterPUC que, possivelmente, tenha re-
cebido o ultimo bloco de tarefas.
Observa-se que, mesmo com o atraso no envio de tare-
fas para o clusterUFF, forcando o clusterPUC a executar
mais tarefas, os experimentos coma lat encia inter-cluster de
250ms obtiveram um desempenho melhor. Nos Termions,
quando comparadas as duas congurac oes de lat encia, com
250ms os ganhos foram, em m edia, de 7% com percentuais
variando entre 0,6% e 15%. No Ray Tracing, a diferenca
foi ainda maior sendo, em m edia, 26,61% mais r apido com
Figura 9. Termions
Figura 10. Ray Tracing
250ms, variando entre 8% e 54,2%. O motivo desse de-
sempenho ruim com a lat encia mais baixa pode ser expli-
cado pelo baixo potencial de processamento do mestre (lo-
calizado no clusterPUC) e, consequentemente, pela sua ca-
pacidade em atender prontamente os seus escravos. Nota-
se a ocorr encia de um gargalo no mestre, que acabou
sub-utilizando as m aquinas do clusterPUC, uma vez que
o n umero excessivo de requisic oes feitas por m aquinas
do clusterUFF, que executam tarefas mais rapidamente,
atrasaram o envio de tarefas localmente.
Na aplicac ao Sint etica, o comportamento foi diferente
(Figura 11), pois quando o mestre estava localizado no clus-
terPUC o desempenho foi, na maioria das vezes, melhor
no grid com lat encia real (com excec ao das estrat egias Est-
NWS, MERB4 e MERB5). Os ganhos foram, em m edia, de
25,45% com percentuais variando entre 2,2% e 48%. Nesse
caso, o maior n umero de tarefas e o maior tamanho delas foi
determinante para esse comportamento. O envio de tarefas
de tamanho maior para as m aquinas do clusterUFF embu-
tiram um maior overhead no tempo total de computac ao e
foram mais signicativos do que um possvel gargalo no
mestre.
6. Conclus oes
Neste trabalho, analisou-se o desempenho de diver-
sas estrat egias de balanceamento de carga, utilizando-se
25
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais
Figura 11. Sint etico
aplicac oes distintas, em clusters e grids computacionais.
A esperada necessidade de utilizac ao de estrat egias
din amicas se conrmou ap os a an alise das estrat egias
est aticas. O est atico simples se mostrou bastante sensvel
` a heterogeneidade de processadores e ` a presenca de carga
externa. Embora a estrat egia est atica com NWS tenha ame-
nizado o impacto gerado por esses fatores, ainda apresentou
altos ndices de desbalanceamento, principalmente em am-
bientes que apresentam variac ao de carga externa ou que
possuem recursos computacionais heterog eneos.
As diferentes implementac oes das estrat egias do tipo
mestre-escravo se mostraram, na maioria das vezes, alter-
nativas interessantes de algoritmos din amicos de balance-
amento de carga. O problema da denic ao do tamanho
ideal do bloco de tarefas enviadas pelo mestre aos seus es-
cravos foi constatado ap os a an alise dos resultados com-
putacionais. Observou-se que as estrat egias com blo-
cos de tamanho xo pequenos podem ser prejudicadas
pelo aumento do overhead de comunicac ao, principalmente
quando as tarefas possurem um tamanho grande. Em con-
trapartida, blocos de tamanho grande tenderam a prejudicar
o desempenho devido ao desbalanceamento provocado ap os
o envio dos ultimos blocos.
As estrat egias do tipo weighted factoring apresentaram
bons desempenhos. No cluster, o desempenho dessas es-
trat egias se mostrou sensvel aos cen arios onde as cargas ex-
ternas variavam com maior frequ encia e, no grid, o desem-
penho se apresentou dependente da heterogeneidade dos es-
cravos e das condic oes dos canais de comunicac ao.
A realizac ao de experimentos com diferentes aplicac oes
SPMDmostrou que o desempenho das estrat egias tamb em e
inuenciado pelas caractersticas da aplicac ao, tais como o
tamanho, a heterogeneidade e a quantidade de tarefas. Al em
disso, os diferentes ambientes e condic oes de execuc ao
tamb em evidenciaram que o desempenho das estrat egias
est a relacionado ` as caractersticas da arquitetura paralela
adotada.
Refer encias
[1] AINDA, K., FUTAKATA, Y., e HARA S. High-Performance
Parallel and Distributed Computing for the BMI Eigenvalue
Problem. Proc. of the 16th IPDPS, pp. 71-78, 2002.
[2] ARGOLO, G., OLIVEIRA, A., MARTINS, S. et al.
Avaliac ao de Estrat egias de Balanceamento de Carga do tipo
Mestre-Escravo em um Grid Computacional. Workshop de
Grades Computacionais e Aplicac oes, Petr opolis, 2004.
[3] OLIVEIRA, A. Avaliac ao de Estrat egias de Balanceamento
de Carga do Tipo Mestre-Escravo para Aplicac oes SPMD em
Clusters e Grids Computacionais. Dissertac ao de Mestrado,
COPPE Sistemas, UFRJ, Brasil, 2008.
[4] BERMAN, F., SHAO, G. e WOLSKI, R. Master/Slave Com-
puting on Grid. Proc. of the 9th Heterogeneous Computing
Workshop, pp. 3-16, Cancun, M exico, 2000.
[5] COOK, R.L., PORTER, T. e CARPENTER, L. Distributed
Ray Tracing. ACM SIGGRAPH Computer Graphics, Vol.
18(4), pp 165-174, Julho/1984.
[6] DINDA, P. e HALLARON, D. O. Realistic CPU Work-
loads Through Host Load Trace Playback. Proc. of the 5th
Workshop on Languages, Compilers and Run-time Systems
for Scalable Computers, LNCS, pp. 246-259, Rochester, New
York, Maio/2000.
[7] FOSTER, I. e KESSELMAN C. Globus: A metacomput-
ing infrastructure toolkit. The Intl. Journal of Supercomputer
Applications and High Performance Computing, Vol 11, pp.
115-128, 1997.
[8] GOUX, J. P., KULKARNI, S., YODER, M. et al. An En-
abling Framework for Master-Worker Applications on the
Computational Grid. Proc. of HPDC, IEEE Computer Society
Press, pp. 43-50, Pittsburgh, Pennsylvania, Aug/2000.
[9] HUMMEL, S. F., SCHONBERG, E. e FLYNN, L.E. Factor-
ing: A Method for Scheduling Parallel Loops. Communica-
tions of the ACM, Vol. 35, N.8, pp. 90-101, Agosto/1992.
[10] HUMMEL, S. F., SCHMIDT, J., Uma, R.N., e WEIN, J.
Load-Sharing in Heterogeneous Systems via Weighted Fac-
toring. Proc. of the 8th Annual ACM Symposium on Parallel
Algorithms and Architectures, SPA, pp. 318-328, 1996.
[11] P agina Web contendo os Traces do Playload utilizados neste
trabalho. http://cs.uchicago.edu/lyang/load ( ultima consulta
realizada em Maio/2008).
[12] PLASTINO, A., COSTA, R., THOME, V., et al. Exploring
Load Balancing in a Scientic SPMD Parallel Application.
4th International Workshop on HPSECA/ICPP, 2002.
[13] PLASTINO A., RIBEIRO, C.C. e RODRIGUEZ, N. De-
velopment SPMD Applications with Load Balance. Parallel
Computing, vol. 29, pp. 743-766, 2003.
[14] PLASTINO, A., THOM

E V., VIANNA, D. et al. Load Bal-


ancing in SPMD Applications: Concepts and Experiments.
High Performance Scientic and Engineering Computing:
Hardware/Software Support, Kluwer Academic Publishers,
pp. 95-107, 2004.
[15] POLYCHRONOPOULOS, C. D. e KUCK, D. J. Guided
Self-Scheduling: A Pratical Scheduling Scheme for Parallel
Supercomputers. IEEE Transaction on Computers, Vol. C-
36, N.12, pp. 1425-1439, Dezembro/1987.
[16] SILVEIRA, O. T. Dispers ao T ermica em Meios Porosos
Peri odicos. Um Estudo Num erico. Tese de Doutorado, In-
stituto Polit ecnico - UERJ, Brasil, 2001.
[17] WHITTED, T. An Improvement Illumination Model for
Shaded Display. Communications of the ACM, Vol.23(6),
pp. 343-349, Junho/1980.
26
WSCAD-SSC 2009 - X Simpsio em Sistemas Computacionais