Você está na página 1de 10

Computao de Alto Desempenho: Cluster e Grade

Cristiano C. A. Vieira
Universidade Federal de Mato Grosso do Sul (UFMS)
Campo Grande MS Brasil

cargemon@ead.ufms.br

Resumo. Nas duas ltimas dcadas houve um crescimento bastante expressivo


na busca e utilizao da computao de alto desempenho. Este momento, no
por acaso, coincidiu com o fortalecimento de microprocessadores de alta
performance, redes de alta velocidade, e ferramentas padronizadas para
computao distribuda de alto desempenho que subsidiaram a computao
de problemas relativos meteorologia, simulao ssmica, seqenciamento de
DNA, e vrios outros. Este trabalho, apresenta algumas caractersticas da
computao em cluster e computao em grade e uma breve comparao
entre eles.

1. Introduo
A necessidade de manipular uma quantidade grande de dados unida necessidade de
aumentar o desempenho na resoluo de problemas complexos, proporcionou, nas duas
ltimas dcadas, um crescimento expressivo na busca de arquiteturas paralelas que
combinam esforos de vrios computadores. Neste sentido, surgiram arquiteturas de
processamento de alto desempenho (PAD), tais como, Clusters[7] e Computao em
Grade[1, 8, 9] como solues alternativas e de baixo custo em relao aos
supercomputadores. A utilizao de uma arquitetura PAD objetiva a diviso de um
problema em vrias tarefas menores cujas partes podem ser resolvidas somando os
esforos de vrios computadores concorrentemente. Algumas reas de conhecimento (por
exemplo, astronomia, meteorologia e gentica) requerem, para os problemas estudados,
muitos recursos computacionais com alto desempenho para suprir clculos complexos e
repetitivos.
Computao em grade pode ser definida como uma infra-estrutura de software
capaz de interligar e gerenciar diversos recursos computacionais (capacidade de
processamento, dispositivos de armazenamento, instrumentos cientficos, etc.),
possivelmente distribudos por uma grande rea geogrfica, de maneira a oferecer ao
usurio acesso transparente a tais recursos, independente da localizao dos mesmos
[10]. Apesar de permitir a incluso de supercomputadores, esse paradigma se baseia no
uso de estaes de trabalho comuns, possivelmente de arquiteturas heterogneas. Os
recursos so conectados atravs de tecnologias de rede e oferecidos ao usurio de forma
transparente. O nome Grade uma analogia s malhas de interligao do sistema de
energia eltrica (Power Grids) e se refere vontade de tornar o uso dos recursos
computacionais to transparente e acessvel quanto o uso da eletricidade.

A grande vantagem da tecnologia de computao em grade est na possibilidade


de se beneficiar de recursos pr-existentes, como laboratrios de computao em
instituies de ensino nos quais as mquinas passam a maior parte do tempo ociosas.
Essa quantidade considervel de recursos no-dedicados que geralmente no utilizada
constitui o principal estmulo para o desenvolvimento desse tipo de ambiente [13]. Tal
ociosidade pode ser compensada com a execuo de aplicaes atravs de Grades
Oportunistas (Scavenging Grids ou Volunteer Grids) [5, 11, 18].
Grades Oportunistas, como InteGrade [11], Condor [14, 15] e OurGrid [5],
geralmente trabalham com base no melhor-esforo, onde dada a mesma prioridade a
todos os usurios e no h garantias sobre os servios oferecidos. Isso se deve, em parte,
ao fato de que esses ambientes procuram preservar a qualidade de servio para o
detentor do recurso a todo custo, executando as tarefas da grade somente quando o
recurso est ocioso. Desta forma, na presena de aplicaes locais algum tratamento
deve ser adotado visando a que as aplicaes da grade no atrapalhem ou coloquem
empecilhos ao funcionamento daquelas. Contudo, os tratamentos geralmente realizados
se resumem a uma abordagem simplria na qual algumas oportunidades no so
aproveitadas, fazendo com que o esforo desempenhado no constitua um verdadeiro
melhor esforo.
Existem sistemas que se baseiam em perfis de uso dos recursos para auxiliar no
escalonamento, de forma que as aplicaes da grade sejam escalonadas para estaes de
trabalho com probabilidade maior de ociosidade [2, 6]. Mas mesmo essa melhoria no
constitui um tratamento ideal uma vez que as funes usadas para inferir o perfil de uso
so geralmente baseadas em funes matemticas, como a mdia aritmtica, que
escondem detalhes como rajadas de utilizao dos recursos.
Neste trabalho, apresentamos uma comparao entre computao em grade e
computao em cluster e suas principais caractersticas.
Na segunda seo, apresentamos as principais caractersticas do processamento
de alto desempenho. Na terceira seo, apresentamos as principais caractersticas da
computao em clusters. Na quarta seo, apresentamos as principais caractersticas da
computao em grade. Na quinta seo, apresentamos uma breve comparao entre as
duas computaes, e na sexta seo, uma breve concluso sobre este trabalho.

2.Ambiente de Alto Desempenho


At meados desta dcada, a existncia de computao paralela era percebida apenas por
pessoas que precisavam de alto desempenho para resolver determinados problemas.
Hoje, bastante comum que pessoas adquiriram computadores multiprocessados como
computadores pessoais. Isso deve-se ao fato de surgir uma demanda por processamento
tambm nos computadores pessoais para manipulao de vdeos, jogos, e programas de
editorao e imagens entre outros.
Em uma computao seqencial, um determinado problema dividido em vrias
partes menores e cada uma desta parte executada consecutivamente por meio de um
pipeline em um nico computador contendo uma nica unidade central de
processamento. A Figura 1-a apresenta a computao seqencial.

Sob uma perspectiva simples, uma computao paralela, a utilizao de vrias


computaes seqenciais simultneas. Um problema dividido em vrias partes. Cada
parte quebrada em uma srie de instrues. As instrues so executadas por vrios
processadores simultaneamente. A Figura 1-b apresenta a diviso e execuo de um
problema utilizando a computao paralela.

a) Computao seqencial

b) Computao paralela

Figura 1. Comparativo de computao seqencial e paralela

Considerando o nvel de paralelismo, podemos agrupar os computadores da


seguinte maneira:
a) Um nico computador com um nico processador;
Esse tipo de processador foi bastante comercializado at meados desta
dcada. So exemplos de computador uniprocessado: Pentiun I, PentiunII,
AMD K6 entre outros.
b) Um nico computador com vrios processadores;
Os limites tecnolgicos para aumentar o desempenho em um nico
processador levaram ao surgimento de computadores multiprocessados. Isto
, um nico computador com vrios processadores. So exemplos de
computador multiprocessado: Core 2 Duo, Quad core, six core e outros.
c)Vrios computadores conectados por uma rede de interconexo;
Este tipo de arquitetura bastante importante na resoluo de problemas
computacionalmente grandes como formaes galticas, movimento
planetrio, informaes sobre trfego de automveis,
d) Uma combinao dos trs anteriores.
Um ambiente com processamento de alto-desempenho (PAD) caracterizado,
principalmente, pela execuo de tarefas paralelas complexas e milhares de aplicaes
ao mesmo instante. At pouco tempo, este ambiente era formado por computadores
paralelos especficos (por exemplo, MPP e SMP). Atualmente, podemos encontrar uma
estrutura desta categoria construda com componentes encontrados em lojas
especializadas de informtica (conhecido como Components Off The Shelf - COTS) e
podem ser classificados como clusters e grades computacionais.

Os fatores que tangem ao desempenho dos clusters e grids so as polticas


adotadas em relao aos recursos compartilhados, geralmente divididas em: poltica de
transferncia, poltica de seleo, poltica de localizao e poltica de informao.
a) Poltica de transferncia: A poltica de transferncia define quais elementos de
processamento esto aptos a receber e transmitir tarefas. Nesta etapa so definidos como
receptores os elementos ociosos ou com poucas cargas de trabalho e transmissores os
elementos sobrecarregados [17].
b) Poltica de seleo: Dependendo do caso, uma troca de tarefas pode ser feita,
o que denota a segunda poltica: escolher, dentre tantas, a tarefa mais adequada a ser
enviada a um determinado recurso. A esta funo dado o nome de poltica de seleo.
Esta poltica define se o escalonamento ser preemptivo ou no-preemptivo, ou seja,
tarefas que j iniciaram sua execuo ou tarefas que ainda no foram executadas [4].
c) Poltica de localizao: A poltica de localizao define, dentre todos os
recursos disponveis, qual o mais adequado a receber a carga. A escolha do elemento
pode ser aleatria ou atravs de investigao para saber qual o mais adequado no
momento.
d) Poltica de informao: Esta poltica define os locais onde as informaes
sobre o estado dos recursos so armazenadas e com que freqncia so atualizadas. As
informaes podem ser armazenadas em um local especfico ou em todos os recursos de
duas formas: Cada recurso possui informaes sobre todos os outros, atravs de envio
por broadcast ou; cada recurso tem apenas seu prprio estado.
A Figura 2 apresenta a distribuio dos 500 maiores computadores da atualidade com
relao sua arquitetura [19].

Figura 2. Distribuio dos 500 maiores computadores - Arquitetura

possvel observar que a arquitetura baseada em clusters predominante desde


o incio desta dcada.
Tabela 1. Quantidade de computadores com relao arquitetura
Arquitetura

Quantidade de computadores (%) TOP 500

Cluster

417 (83.40 %)

MPP

81 (16.20 %)

Outros

2 (0,4%)

Os trs maiores supercomputadores do mundo, atualmente (em


Novembro/2009), so: Jaguar - Cray XT5-HE Opteron Six Core 2.6 GHz Cray Inc.
(224.162 cores); Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2
Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband IBM (122.400 cores) e Kraken XT5 Cray XT5-HE Opteron Six Core 2.6 GHz Cray Inc.( 98.928 cores) [19].

3.Computao em Clusters
Em um ambiente cluster a alocao de recursos efetuada por domnio administrativo
centralizado, sendo desnecessria a segurana do processo e do recurso, caso a rede de
interconexo (intracluster) seja desacoplada da rede de acesso externo.Alm disso, este
tipo de ambiente pode se beneficiar de protocolos de comunicao mais eficientes entre
suas unidades de processamento, pois como a rede de interconexo pertence ao mesmo
domnio administrativo, o recurso controlado [3,16].
A abordagem cluster possui alta escalabilidade, pois tarefas de incluso ou
excluso de ns escravos no exigem que sejam feitas modificaes no ambiente, sendo
realizadas de forma isolada, partindo do n mestre, por meio da execuo de algum
comando especfico do software escolhido. No entanto, um fator limitante o nmero
de ns, na ordem de dezenas de recursos. A figura 1 ilustra, resumidamente, este
ambiente.

Figura 3 Exemplo de uma arquitetura cluster

O cluster ganhou fora at que trs tendncias convergiram no final da dcada


de 80: microprocessadores de alto desempenho, redes de alta velocidade, e ferramentas
padronizadas para computao distribuda de alto desempenho. Uma quarta tendncia
possvel a crescente necessidade de poder de processamento para aplicaes cientficas
e comerciais unida ao alto custo e a baixa acessibilidade dos tradicionais
supercomputadores.

3.1 Tipos de Clusters


Existem vrios tipos de cluster, no entanto h alguns que so mais conhecidos, os quais
so descritos a seguir:
a) Cluster de Alto Desempenho: Tambm conhecido como cluster de alta
performance ele funciona permitindo que ocorra uma grande carga de
processamento com um volume alto de giga flops em computadores
comuns e utilizando sistema operacional gratuito o que diminui seu
custo.
b) Cluster de Alta Disponibilidade: So implementados principalmente
com o propsito de melhorar a disponibilidade de servios. Operam com
redundncia para disponibilizar os servios mesmo que alguns ns do
cluster falhe. Alm disso, conseguem detectar erros se protegendo de
possveis falhas.
c) Cluster para Balanceamento de Carga: Esse tipo de cluster tem como
funo controlar a distribuio equilibrada do processamento. Requer um
monitoramento constante na sua comunicao e em seus mecanismos de
redundncia, pois se ocorrer alguma falha haver uma interrupo no seu
funcionamento.

3.2 Cluster Beowulf


O cluster Beowulf [9] um cluster baseado em computadores de baixo custo e
utiliza uma rede de interconexo dedicada com softwares livres. O projeto pode
melhorar proporcionalmente o desempenho com a adio de novas mquinas ao cluster.
Este tipo de cluster surgiu para promover o desempenho na resoluo de vrios
problemas na NASA.

4. Computao em Grade
As Grades Computacionais [8,9] surgiram como uma alternativa para a execuo de
aplicaes com necessidade de grande poder computacional, atravs da integrao de
recursos possivelmente heterogneos e geograficamente dispersos.
O gerenciamento dos recursos que compe a grade feito por um gerenciador
global que, alm de gerenciar os recursos, trata problemas comuns em ambientes de
computao distribuda como: extensibilidade, adaptabilidade, autonomia, qualidade de
servio, alm de outros problemas que so mais comuns em ambientes de grade como:
escalabilidade, tolerncia a falhas, instabilidade dos recursos e privilgios de utilizao.
Krauter et al [4] definiram uma taxonomia para classificar os sistemas de grade
conforme a atividade principal qual se destinam:

a) Grade Computacional (Computing Grid): Sistemas de alto poder computacional que


provem servios de processamento combinando o poder de cada mquina que
compe a grade.
b) Grade de Dados (Data Grid): Sistemas que provem uma infra-estrutura de
armazenamento, gerenciamento e acesso a dados. Os dados so distribudos por
vrios repositrios que compem a grade, os quais so conectados por uma rede.
c) Grade de Servios (Service Grid): Sistemas que tm como foco prover uma
infraestrutura que viabilize servios sob demanda, permitindo uma maior
colaborao entre vrias instituies atravs do compartilhamento dos seus servios
e recursos e utilizando mecanismos que viabilizem a interoperabilidade.
O desempenho oferecido s aplicaes que fazem uso desta categoria de grades
computacionais est sujeito a diversos desafios. Em um primeiro nvel esto o
problemas relacionados disperso de recursos, tais como: sua localizao e a forma
como so acessados, a concorrncia nos acessos a recursos compartilhados, a
transparncia de comunicao, falhas de aplicao ou de recursos e a forma como o
sistema se recupera destas, alm de problemas de escalabilidade, entre outros. De modo
geral, grades so mais distribudas, diversas e complexas que outras plataformas de
sistemas distribudos. Os aspectos que mais fortemente evidenciam esta distribuio,
diversidade e complexidade so [5,12]: heterogeneidade, alta disperso geogrfica,
compartilhamento, mltiplos domnios administrativos e controle distribudo.
Somado-se a esses problemas, esto aqueles tpicos do uso de um ambiente de grade,
que no ocorreriam (ou pelo menos teriam uma probabilidade muito menor de ocorrer)
se fosse utilizado um nico recurso[12]. Dentre estes, podem ser citados [8]:
a) Variao na disponibilidade de recursos: Essa variao pode ocorrer devido
concorrncia no uso do recurso, variao dinmica da topologia do ambiente bem
como a falhas de hardware ou software, dentre outros fatores.
b) Ambiente no-controlado: Diferente de um ambiente tradicional, em um ambiente de
grade no possvel ter controle sobre os recursos gerenciados. Isto especialmente
verdade em grades oportunistas, onde o dono do recurso quem estabelece quando e
como este compartilhado. Escalonadores locais no nvel do Sistema Operacional
(SO) gerenciam quando as aplicaes locais devem executar e o escalonador da
grade no tem qualquer controle sobre este processo.
c) Processamento paralelo: Uma aplicao na grade particionada em um conjunto de
peas menores, chamadas tarefas. Essas tarefas so ento alocadas a recursos e
processadas concorrentemente, o que acrescenta custos como comunicao e
transferncia de dados. O desafio aumenta com a possibilidade dos recursos serem
heterogneos e possurem padres de disponibilidade individuais.
d) Alocao de Recursos: Apesar de ser uma operao trivial em muitos casos, a
alocao de recursos pode constituir um problema, uma vez que pode envolver a
transferncia de grandes quantidades de dados (binrio da aplicao e arquivos de
entrada para as diversas mquinas que executaro as tarefas). Outro complicador o

fato da construo de uma estratgia de escalonamento ser um problema bem


conhecido como NP-Completo [13].
e) Segurana: A possibilidade de computadores geograficamente dispersos,
pertencentes a instituies e domnios administrativos diferentes, interagirem traz
novos problemas de segurana e aumenta a complexidade de solues eficientes
para compartilhamento de recursos em grades computacionais.
Parte destes desafios dizem respeito a operaes de gerenciamento da grade, em
especial o escalonamento das aplicaes que dela fazem uso. Contudo, devido
dinamicidade dos sistemas de grade, providncias tomadas durante a execuo das
aplicaes podem influenciar significativamente seu desempenho. Um exemplo tpico
o uso de uma poltica de alocao de recursos que evita a preempo de aplicaes da
grade e prioriza recursos que tm possibilidade de atender melhor os requisitos destas,
na migrao de tarefas[12].
necessrio encontrar um balano em que as necessidades de ambos, tanto o
dono do recurso quanto o usurio da grade, sejam atendidas. Isto alcanado mediante o
tratamento da competitividade entre as aplicaes locais e as aplicaes da grade. So
exemplos de middlewares para computao em grade: Condor, OurGrid, BOINC e
InteGrade.

5. Uma Breve Comparao Entre Cluster e Grade


As principais caractersticas que distinguem cluster de grade so relacionadas ao
domnio, quantidade de ns, custo para implantao e manuteno, a granularidade dos
problemas tratados por cada um e ainda, o sistema operacional utilizado em cada
ambiente.
A Tabela 2 apresenta um resumo sobre as principais diferenas existentes entre
cluster e grade.
Tabela 2 - Diferenas entre as configuraes cluster e grade
Caracterstica

Cluster

Grade

Domnio

nico

Mltiplos

Ns

Milhares

Milhes

Segurana do Processamento e
Recurso

Desnecessria

Necessria

Custo

Alto, pertencente a um
nico domnio

Alto, todavia dividido


entre domnios

Granularidade do problema

Grande

Muito grande

Sistema Operacional

Homogneo

Heterogneo

Em uma grade, possvel agregar computadores de vrios domnios distribudos


pelo mundo inteiro atravs da internet. Em um cluster, os computadores apenas de um

domnio participam da computao. Ambas arquiteturas so bastante escalveis.


Contudo, uma grade de computadores pode conter milhes de computadores. O limite
de computares a quantidade de computadores disponvel na internet.
Pelo fato dos computadores de um cluster estarem todos no mesmo domnio, os
procedimentos de segurana so mais simples. Como a quantidade de computadores de
uma grade significativamente maior que a de um cluster, uma grade computacional
pode proporcionar um poder de processamento bem superior a do cluster.

6. Concluso
Nas duas ltimas dcadas houve um crescimento bastante expressivo na busca e
utilizao da computao de alto desempenho. Este momento, no por acaso, coincidiu
com o fortalecimento de microprocessadores de alta performance, redes de alta
velocidade, e ferramentas padronizadas para computao distribuda de alto
desempenho que subsidiaram a computao de problemas relativos meteorologia,
simulao ssmica, seqenciamento de DNA, e vrios outros. Este trabalho, apresenta
algumas caractersticas da computao em cluster e computao em grade e uma breve
comparao entre eles.

Referncias
[1] ALVARENGA, A. e M DANTAS, A. R. Um Ambiente para Processamento
Paralelo Oportunstico na Internet, Dissertao de Mestrado, Cincia da
Computao, UNB, 2003.
[2] BEZERRA, G. C. Anlise de Conglomerados Aplicada ao Reconhecimento de
Padres de Uso de Recursos Computacionais. Masters thesis, Department of
Computer Science - University of So Paulo, So Paulo, March 2006.
[3] BUYYA, R. High Performance Cluster Computing: Architectures and Systems,
USA: Prentice Hall, 1999.
[4] CASAVANT ,T. L. e KUHL, J. G. A Taxonomy of Scheduling in General-Purpose
Distributed Computing Systems, IEEE Transactions on Software Engineering, 1988.
[5] CIRNE, W; BRASILEIRO, F; ANDRADE, N; COSTA, L; ANDRADE, A;
NOVAES, R; MOWBRAY, M. Labs of the World, Unite!!! Journal of Grid
Computing, 4(3):225246, 2006.
[6] CHOI, S. Group-based Adaptive Scheduling Mechanism in Desktop Grid.
PhDthesis, Department of Computer Science and Engineering Graduate School
Korea University, June 2007.
[7] FOSTER, I. e KESSELMAN ,C. Globus: A Metacomputing Infrastructure
Toolkit, The International Journal of Supercomputer Applications and High
Performance Computing, 1996.
[8] FOSTER, I; KESSELMAN, C; NICK, J; TUECKE, S. The Physiology of the Grid.
An Open Grid Services Architecture for Distributed Systems Integration, 2002.
[9] FOSTER, I; KESSELMAN, C; TUECKE, S. The Anatomy of the Grid. International
Journal of Supercomputer Applications, 15(3):200222, 2001.

[10] GOLDCHLEGER, A. Integrade: Um sistema de middleware para computao em


grade oportunista. Masters thesis, Department of Computer Science - University of
So Paulo, Dec 2004.
[11] GOLDCHLEGER, A; KON, F; GOLDMAN, A; FINGER, M; BEZERRA, G. C.
Integrade: Object-oriented grid middleware leveraging idle computing power of
desktop machines. Concurrency and Computation: Practice & Experience, 16:449
459, 2004.
[12] GOMES, R. A. Grades Computacionais Oportunistas: Alternativas para Melhorar
o Desempenho das Aplicaes Dissertao de mestrado Universidade Federal de
Gois Instituto de Informtica - 2009
[13] KONDO, D; TAUFER, M; BROOKS, C; CASANOVA, H; CHIEN, A.
Characterizing and evaluating desktop grids: an empirical study. Parallel and
Distributed Processing Symposium, 2004. Proceedings. 18th International, 2004.
[14] LIANG, J; NAHRSTEDT, M. Supporting quality of service in a non-dedicated
opportunistic environment. Cluster Computing and the Grid, 2004. CCGrid 2004.
IEEE International Symposium on, p. 7481, 2004.
[15] LITZKOW, M; LIVNY, M; MUTKA, M. Condor - A hunter of idle workstations.
Distributed Computing Systems, 1988., 8th International Conference on, p. 104111,
1988.
[16] PITANGA, M. Computao em Cluster, 1 ed., Rio de Janeiro: Brasport, 2004.
[17] Shivaratri, N. G.; Krueger, P.; e Singhal, M. Load Distributing for Locally
Distributed Systems, IEEE Computer Society Press, 1992.
[18] THAIN, D; TANNENBAUM, T; LIVNY, M. Condor and the Grid. Grid
Computing: Making The Global Infrastructure a Reality, John Wiley, p. 0470, 2003.
[19] Top500 http://www.top500.org/ - Acessado em 22 de Novembro de 2009