Sei sulla pagina 1di 59

UNIVERSIDADE TECNOLGICA FEDERAL DO PARANA

DEPARTAMENTO ACADMICO DE ELETRNICA


CURSO DE ESPECIALIZAO EM TELEINFORMTICA E REDES DE
COMPUTADORES

ERNANI MAIESKI KOPP

CONSTRUO DE UM CLUSTER HPC PARA SIMULAES DE


CFD

MONOGRAFIA

CURITIBA
2012

ERNANI MAIESKI KOPP

CONSTRUO DE UM CLUSTER HPC PARA SIMULAES DE


CFD

Monografia apresentada como requisito parcial para


obteno do grau de especialista em Teleinformtica e
Redes de Computadores, do Departamento Acadmico
de Eletrnica da Universidade Tecnolgica Federal do
Paran.
Orientador: Prof. Dr. Kleber Kendy Nabas.

CURITIBA
2012

RESUMO
KOPP, M. Ernani. Construo de um cluster HPC para simulaes de CFD. 2012. 60 f.
Monografia (Especializao em Teleinformtica e redes de computadores) Programa de PsGraduao em Tecnologia, Universidade Tecnolgica Federal do Paran. Curitiba, 2012.

O propsito desta monografia realizar um estudo sobre clusters de computadores e


implementar um cluster de alto desempenho usando a ferramenta Windows Compute
Cluster Server. A pesquisa apresenta conceitos tericos de sistemas de computao
paralela, fundamentos sobre clusters e nfase nas principais caractersticas da
ferramenta Windows Compute Cluster Server para testar a aplicabilidade dos
conceitos tericos na construo de um simples cluster HPC de alto desempenho e sua
viabilidade para resoluo de simulaes numricas especficas de programas de CFD.

Palavras-chave: cluster, computao paralela, HPC, Compute Cluster Server.

ABSTRACT
KOPP, M.Ernani. Construction of an HPC cluster for CFD simulations. 2012. 60 f.
Monograph (Specialization in Teleinformtica and computer networks) - Graduate Program in
Technology, Federal Technological University of Paran. Curitiba, 2012.

The purpose of this monograph is a study on clusters of computers and implements a


high-performance cluster using the Windows Compute Cluster Server. The research
presents theoretical concepts of parallel computing systems, fundamentals of clusters
and focusing on core tool features Windows Compute Cluster Server to test the
applicability of theoretical concepts in the construction of a simple high-performance
cluster HPC and its viability for solving specific numerical simulations of CFD
programs.

Keywords: cluster, parallel computer, HPC, Compute Cluster Server

LISTA DE FIGURAS
Fig. 1 Paralelismo Real (Adaptado de SNOW,1992)............................................................... 16
Fig. 2 Pseudo Paralelismo (Adaptado de SNOW,1992 ............................................................ 17
Fig. 3 Arquitetura UMA (Fonte: SLOAN, 2004)..................................................................... 21
Fig. 4 Arquitetura NUMA (Fonte: SLOAN, 2004) .................................................................. 21
Fig. 5 Cluster Beowulf (Fonte:-cluster) .................................................................................... 23
Fig 6 Cluster simtrico (Fonte: SLOAN, 2004) ....................................................................... 24
Fig. 7 Cluster Assimtrico (Fonte: SLOAN, 2004) ................................................................. 25
Fig. 8 Cluster Estendido (Fonte: SLOAN, 2004) ................................................................. 26
Fig. 9 Estrutura tpica do Compute Cluster Server( Adaptado de RUSSEL, 2005).............. 29
Fig.10 Topologia 1 (Fonte Adaptado de RUSSEL, 2005) ....................................................... 30
Fig. 11 Topologia 2 (Fonte Adaptado de RUSSEL, 2005) ...................................................... 31
Fig. 12 Topologia 3 (Fonte Adaptado de RUSSEL, 2005) ...................................................... 32
Fig. 13 Topologia 4(Fonte Adaptado de RUSSEL, 2005) ....................................................... 32
Fig. 14 Topologia 5 (Fonte Adaptado de RUSSEL, 2005) ...................................................... 33
Fig.16 Tela do CFX (Fonte autoria Prpria) ............................................................................ 35
Fig. 17 Cluster HPC LACIT (Fonte Autoria Prpria) .............................................................. 37
Fig. 19 rea de trabalho Remota (Fonte: Autoria Prpria)...................................................... 40
Fig. 20 Topologia do cluster HPC no HPC 2008 Cluster Manager (Fonte Autoria Prpria) .. 41
Fig. 21 Gerenciamento de ns do cluster (Fonte Autoria Prpria) .......................................... 41
Fig. 22 Tela MPI CFX (Fonte Autoria Prpria). ...................................................................... 42

LISTA DE TABELAS

Tabela 1 - Desempenho do Cluster (fonte: Autoria Prpria).......................................................45

LISTA DE ABREVIATURAS E SIGLAS

HPC

High Performance Computing

CFD

Computational Fluid Dynamics

MPI

Message Passing Interface

FLOPS

Floating-point Operations Per Second

UMA

Uniform Memory Access

NUMA

Non-Uniform Memory Access

FCFS

First-Come First-Served

SUMRIO

1 INTRODUO ...................................................................................................................... 11
1.1 TEMA ............................................................................................................................... 11
1.2 OBJETIVOS ..................................................................................................................... 12
1.2.1 Objetivos Gerais ......................................................................................................... 12
1.2.2 Objetivos especficos.................................................................................................. 12
1.3 PROBLEMA ..................................................................................................................... 12
1.4 JUSTIFICATIVA .............................................................................................................. 12
1.5 PROCEDIMENTOS METODOLGICOS ...................................................................... 13
1.6 ESTRUTURA DO TRABALHO ...................................................................................... 13
2 COMPUTAO DE ALTO DESEMPENHO ............................................................. 14
2.1 INTRODUO ................................................................................................................ 14
2.1 CONCEITOS SOBRE PROCESSAMENTO PARALELO ............................................. 15
2.2 MESSAGE PASSING INTERFACE (MPI) ........................................................................ 18
2.3 ESTRUTURA FSICA DE SISTEMAS COMPUTACIONAIS DE ALTO
DESEMPENHO ...................................................................................................................... 19
2.3.1 Arquitetura Com Um Processador ............................................................................. 20
2.3.2 Sistemas de Mltiplos Processadores ......................................................................... 20
2.4 AGLOMERADOS DE COMPUTADORES (CLUSTERS) ............................................. 22

3 ESTRUTURA BSICA DE CLUSTERS ...................................................................... 24


3.1 CLUSTERS SIMTRICOS ............................................................................................... 24
3.2 CLUSTERS ASSIMTRICOS .......................................................................................... 25
3.3 MODELOS DE CLUSTERS ............................................................................................ 26
3.3.1 Alta Disponibilidade: ................................................................................................. 26
3.3.2 Balanceamento De Carga: .......................................................................................... 27
3.3.3 Alto Desempenho ....................................................................................................... 27

4 WINDOWS COMPUTE CLUSTER SERVER ..................................................... 28


4.1 ARQUITETURA .................................................................................................. 28
4.2 INTERFACE DE PASSAGEM DE MENSAGENS DA MICROSOFT (MSMPI) ............................................................................................................................ 29
4.3 GERENCIADOR DE TRABALHOS E TAREFAS ............................................ 33
5 APLICAO DO CLUSTER ............................................................................................... 35
5.1 O CLUSTER HPC ............................................................................................................ 36
5.2 WINDOWS HPC SERVER 2008 R2 ............................................................................... 37

5.3 GERENCIAMENTO BSICO DO CLUSTER ............................................................... 40


5.4 UTILIZANDO O CLUSTER COM O CFX ..................................................................... 42
5.5 DESEMPENHO DO CLUSTER HPC .............................................................................. 43

6 CONCLUSO...................................................................................................................... 45
APNDICE A ESPECIFICAO HARDWARE DO CLUSTER .................................. 48
APNDICE B INSTALAO DO ACTIVE DIRECTORY ............................................. 50
APNDICE C - CONFIGURAO BSICA DO CLUSTER HPC ................................... 53

11

1 INTRODUO
1.1 TEMA
Na ltima dcada, as redes de computadores se tornaram mais rpidas e mais
confiveis, o que possibilitou a interligao dos computadores pessoais de maneira
eficiente formando sistemas distribudos, tais como o cluster. Os clusters so
construdos com o intuito de oferecer uma imagem de um sistema nico (apesar da
distribuio de seus componentes), de forma que o usurio, em determinados casos,
no perceba que est trabalhando com vrios computadores ao mesmo tempo.

Clusters de alto desempenho tambm conhecidos como clusters HPC (do


ingls High Performance Computing), esto se tornando cada vez mais populares
em centros de pesquisa e indstrias de pequeno a mdio porte que necessitem de um
poder computacional mais poderoso que simples computadores pessoais possam
oferecer; um dos fatores so preos relativamente mais acessveis e uma gama
maior de opes disponveis no mercado. Existem solues de baixo custo que usam
software livre e configuraes de hardwares mais simples e outras de custo mais
elevado que utilizam softwares proprietrios e hardwares sofisticados. A escolha da
soluo ideal depender de uma anlise minuciosa das exigncias necessrias, tanto
de hardware e software, para assim conseguir um custo/beneficio satisfatrio.
Reconhecendo ento a amplitude e importncia do nicho de aplicaes
abordadas pela Computao de alto desempenho, e aproveitando-se da necessidade
iminente da evoluo das tecnologias de software voltadas a estas arquiteturas, a
Microsoft tem lanado nos ltimos anos um programa especfico para esta rea, a
qual culminou no lanamento do Windows Compute Cluster Server (WCCS),
sistema operacional voltado a simples implantao, configurao e gerenciamento
de clusters. O intuito do presente trabalho usar as ferramentas Windows Compute
Cluster Server para montar um cluster HPC de baixo custo que possibilite um
desempenho superior a qualquer estao de trabalho disponvel.

12

1.2 OBJETIVOS
A seguir, ser apresentado o objetivo geral e especfico, que se pretende
atingir com este projeto de pesquisa.
1.2.1 Objetivos Gerais

Realizar um estudo sobre computao paralela e clusters para adquiri


conceitos bsicos sobre o tema e depois implantar uma soluo de cluster HPC de
usando o Windows Compute Cluster Server.
1.2.2 Objetivos especficos
Aprender conceitos de programao paralela e cluster;
Descrever os recursos do Windows Compute Cluster Server;
Montar e configurar HPC usando o Windows Compute Cluster
Server;
Realizar um teste bsico do cluster HPC com o CFX.
1.3 PROBLEMA

Simulaes numricas exigem alto desempenho computacional, pode-se citar,


por exemplo, simulaes de fluidos em tubulaes. Existem programas de CFD (do
ingls: Computational Fluid Dynamics) que conseguem simular variados tipos de
situao, porm a custo de muito esforo computacional. Empresas de pequeno e mdio
porte no possuem condies financeiras suficientes para comprar supercomputadores,
mas necessitam de um sistema com poder computacional mais elevado que simples
estaes de trabalho nesse panorama os clusters que surgem cada vez mais como
alternativas com abrangente custo/benefcio.
1.4 JUSTIFICATIVA

Ao final deste projeto de pesquisa onde seus objetivos sejam alcanados, o


mesmo poder servir de orientao inicial para usurios que queiram conhecer os
recursos e utilidades de um cluster HPC de relativo baixo custo, pois mesmo usando
softwares proprietrias como o Windows possvel usufruir do perodo de teste, 6

13

meses, e estudar o programa com o objetivo de conseguir um conhecimento mais


abrangente sobre clusters HPC.

1.5 PROCEDIMENTOS METODOLGICOS

Para o desenvolvimento deste projeto, utilizar-se- referencias bibliogrficas


sobre o assunto proposto, equipamentos de redes e matrias didticos de apoio. O
estudo contar com uma abordagem bsica sobre paralelismo estritamente ligado ao
objetivo do trabalho para depois partir para uma abordagem mais prtica com
implantao de alguns dos conceitos tericos pr-estudados, com o objetivo de
montar um cluster HPC de baixo custo e possveis consideraes futuras de como
melhora-lo.

1.6 ESTRUTURA DO TRABALHO

Os captulos 2, 3 contm conhecimentos tericos necessrios para um melhor


desenvolvimento do tema. O capitulo 2 mostra uma prvia sobre paralelismo: so
discutidos arquitetura de sistemas paralelos de alto desempenho e uma abordagem
bsica sobre MPI(do ingls Message Passing Interface); o capitulo 3 apresenta a
uma explicao bsica de clusters e seus tipos de topologias, o capitulo 4 dedicado
exclusivamente a explicar o funcionamento do Windows Compute Cluster Server ,
o capitulo 5 mostra a aplicao dos conceitos apresentados nos captulos anteriores
com nfase no capitulo 4, finalmente o capitulo 6 mostra a concluso da monografia
e consideraes futuras sobre o cluster HPC construido.

14

2 COMPUTAO DE ALTO DESEMPENHO


2.1 INTRODUO

A aplicao que uma determinada tecnologia pode exercer pode revelar a seu
poder e importncia para aperfeioar as pesquisas. Tradicionalmente, estas aplicaes
emergem nas reas de cincias computacionais e engenharia, de interesse tanto de
instituies acadmicas interessadas em pesquisa cientfica e tecnolgica como de
indstrias de grande porte (JUNIOR,2004). Podem-se enumerar algumas delas:

Previso climtica,

Previso e simulao dos efeitos de catstrofes (erupes

vulcnicas, terremotos, tsunamis,tornados, furaces, etc.),

Fisiologia dos seres vivos,

Modelagem de reservatrios de petrleo,

Dinmica dos fluidos,

Descoberta de novos frmacos,

Genmica e bioinformtica,

Engenharia financeira, econofsica e finanas quantitativas

Minerao de dados,

A lista acima revela o escopo de utilidades que o sistema de alto desempenho


pode exercer nas reas cientificas. Basicamente os sistemas de alto desempenho devem
realizar complexos clculos matemticos oriundos de simulaes de fenmenos fsicos.
Esses clculos requerem grande velocidade de processamento de variveis de ponto
flutuantes o que envolve tambm o suporte adequado no nvel de linguagens de
programao; esses fatores geram uma das principais caractersticas de sistemas de alto
desempenho: o parmetro FLOPS (do ingls, Floating-point Operations Per Second, ou
operaes de ponto flutuante por segundo), portanto um sistema mais interessante
quando

consegue

processar

mais

FLOPS

por

segundo.

Atualmente

os

supercomputadores mais rpidos trabalham na casa do Petaflops (1015) operaes por


segundo.

15

2.2 CONCEITOS SOBRE PROCESSAMENTO PARALELO

O processamento paralelo implica na diviso do problema a ser resolvido em


tarefas, de forma que estas possam ser executadas por vrios processadores
simultamente (JUNIOR, 2004). Os processadores devero cooperar entre si buscando
maior eficincia. Dentre os vrios fatores que explicam a necessidade de processamento
paralelo, est a busca por melhor desempenho dos algoritmos utilizados, obtendo
resultados satisfatrios em um tempo reduzido, quando comparado execuo
seqencial.
As diversas reas nas quais a computao se aplica, seja na pesquisa bsica ou
na aplicao tecnolgica, requerem cada vez mais recursos computacionais, em virtude
dos algoritmos complexos que so utilizados e do tamanho do conjunto de dado a ser
processado.
Concorrncia/Paralelismo: A concorrncia consiste em diversas tarefas ou
processos sendo executado aparentemente de forma simultnea, o que no implica na
utilizao de mais de um processador (SNOW, 1992).
Afirmar que processos esto sendo executados em paralelo implica na existncia
de mais de um processador, ou seja, paralelismo ocorre quando h mais de um processo
sendo executado no mesmo intervalo de tempo. Na Figura 1, mostrado graficamente o
conceito de paralelismo.

16

Fig. 1 Paralelismo Real (Adaptado de SNOW,1992)

Observa-se que num instante de tempo qualquer, tem-se trs processos


executados simultaneamente.
Quando vrios processos so executados em um nico processador, sendo que
somente um deles executado a cada vez, tem-se um pseudo-paralelismo. O usurio
tem a falsa impresso de que suas tarefas so executadas em paralelo. Na realidade, o
processador compartilhado pelos processos. Na Figura 2, observa-se que, em um
determinado instante, somente um processo executado, enquanto que os outros foram
iniciados, mas aguardam a liberao do processador para continuarem sua execuo.

17

Fig. 2 Pseudo Paralelismo (Adaptado de SNOW,1992)

Segundo as definies apresentadas acima, podem-se definir trs tipos deformas


de programao:

Programao Seqencial: quando vrias tarefas so executadas

uma aps a outra;

Programao Concorrente: quando vrias tarefas competem pelo

uso do processador;

Programao Paralela: quando vrias tarefas so executadas em

paralelo
No desenvolvimento de uma arquitetura paralela, aps a especificao do
problema a ser resolvido, deve-se decidir em quantas tarefas o problema ser dividido e
como essas tarefas iro interagir. Essas decises so diretamente afetadas pela natureza
do problema e pelas caractersticas do hardware disponvel.
Para a construo de uma arquitetura paralela eficiente devem ser levadas em
contas trs questes essenciais. A primeira com relao distribuio de dados pelos
processadores. O programador deve estabelecer uma distribuio adequada dos volumes
de rotinas de clculo e de comunicao. A segunda questo a ser analisada com
relao topologia de interconexo entre os processadores, para obter uma rede estvel

18

para a troca de mensagens entre eles. A terceira questo a ser observada com relao
distribuio de controle entre os processadores. As tarefas devem ser alocadas aos
processadores respeitando o sincronismo entre as suas interaes.
2.3 MESSAGE PASSING INTERFACE (MPI)

Para a comunicao entre os processadores necessrio um ambiente de troca de


mensagens para gerenci-los. Um ambiente de troca de mensagens consiste em uma
camada de servio que atende as solicitaes de envio e recebimento de mensagens,
segundo um protocolo bem definido. Define ainda bibliotecas para uso com linguagens
de programao (como C e Fortran), permitindo o desenvolvimento de aplicaes
paralelas.
O MPI surgiu com a finalidade de criar um padro de troca de mensagens
melhorando a portabilidade das aplicaes para diferentes mquinas. Sua primeira
verso foi publicada em 1994 e atualizada em junho de 1995. Atualmente est sendo
discutida uma nova extenso chamada MPI 2. Este um produto resultante de um
Frum aberto constitudo de pesquisadores, empresas e usurios que definiram a
sintaxe, a semntica e o conjunto de rotinas padronizadas para a passagem de
mensagens (IGNCIO, 2002).
H duas caractersticas que podem ser apresentadas como limitaes do MPI. A
primeira delas deixar o programador como responsvel direto pela paralelizao. A
segunda caracterstica com relao ao custo. Em alguns ambientes especficos, o custo
de comunicao pode tornar-se extremamente proibitivo pela quantidade de transmisso
de mensagens necessrias aplicao.
Como ponto forte do MPI pode-se citar as seguintes caractersticas
(PACHECO,1995):

Eficincia: o MPI foi cuidadosamente projetado para executar

eficientemente em mquinas de diferentes configuraes;

Facilidade: baseado em rotinas comuns de paralelismo e de

outras bibliotecas de trocas de mensagens;

Portabilidade: compatvel com sistemas de memria distribuda,

memria compartilhada e outras arquiteturas especiais;

19

Transparncia: permite que um programa seja executado em

sistemas heterogneos sem mudanas significativas;

Segurana: prov uma interface de comunicao confivel,

eximindo o usurio de possveis preocupaes com falhas;

Escalabilidade: suporta comunicao coletiva com a criao de

subgrupos de processos, melhorando ainda mais a troca de mensagens.

Na biblioteca MPI, assim como em qualquer biblioteca de troca

de mensagens, existem componentes comuns. Esses componentes so as rotinas


de gerncia de processos, de comunicao de grupos e de comunicao ponto a
ponto.

As rotinas de gerncia de processos so as funes de inicializar,

finalizar, determinar o nmero e identificar os processos. As rotinas de


comunicao de grupos so as funes de broadcast e sincronizao de
processos, dentre outras. As rotinas de comunicao ponto a ponto realizam a
comunicao entre dois processadores.
2.4 ESTRUTURA FSICA DE SISTEMAS COMPUTACIONAIS DE ALTO
DESEMPENHO

Em sistemas computacionais existem trs condies para melhorar o


desempenho: usar um algoritmo melhor, um computador mais rpido ou usar de
paralelismo, ou seja, dividir os dados em mltiplos computadores.
Basicamente, a primeira condio satisfeita se o algoritmo for amplamente
testado e revisado para descobrir clculos redundantes, loops desnecessrios e erros de
lgica; a segunda condio apropriada s aplicaes que no exijam computao de
alto desempenho. Atualmente o uso de processadores multi-core permite o uso mais
abrangente de aplicaes que usam complexos clculos matemticos e a terceira
condio o paralelismo, que basicamente remete ao uso de redes de computadores
para dividir os clculos necessrios entre diferentes computadores que trabalham ao
mesmo tempo para resolv-los.

20

2.4.1 Arquitetura com um processador

Este tipo de sistema utiliza-se da arquitetura de Newman que consiste em um


processador conectado a memria por um barramento; instrues ou dados so
movidos entre o processador e a memria pelo barramento. O desempenho desse tipo
de arquitetura depende da velocidade de processamento do processador e da latncia
deste com o barramento e conseqentemente da memria. O problema da arquitetura
Newman que o processador trabalha numa velocidade bem superior memria,
portanto o processador tem que esperar a memria processar seus dados para ento
iniciar uma nova tarefa computacional. Esse tipo de problema conhecido como
Neumann bottleneck; uma forma de amenizar esse problema a insero de memrias
de alto desempenho conhecidas como memria cach: estas possuem baixssima
latncia e so encapsulados junto ao chip do processador onde fazem um intermdio
entre as memrias de latncia mais elevadas (RAM) possibilitando um melhor
aproveitamento dos ciclos de clock do processador. Alm da memria cach existem
outras tecnologias que ajudam a melhorar o desempenho desse tipo de arquitetura:

pipelines: permitem a execuo de mais de uma instruo

simultaneamente (no mesmo ciclo de clock). Isto obtido atravs da


implementao de mltiplas unidades funcionais, que so unidades onde as
instrues so executadas.

Multi-ncleo (mltiplos ncleos, do ingls multi-core) consiste

em colocar dois ou mais ncleos de processamento (cores) no interior de um


nico chip. Estes dois ou mais ncleos so responsveis por dividir as tarefas
entre si, ou seja, permitem trabalhar em um ambiente multitarefa.
2.4.2 Sistemas de mltiplos Processadores

Sistemas com mltiplos processadores so arquiteturas que possuem dois ou


mais processadores interligados e que funcionam em conjunto na execuo de tarefas
independentes ou no processamento simultneo de uma mesma tarefa. Inicialmente, os
computadores eram vistos como mquinas seqenciais, em que o processador executava
as instrues de um programa uma de cada vez. (SLOAN, 2004) Com a implantao de
sistemas com mltiplos processadores, o conceito de paralelismo pode ser expandido a
um nvel mais amplo.

21

2.4.2.1-UMA (Uniform Memory Access)


Neste tipo de mquina, o tempo para o acesso aos dados na memria o mesmo
para todos os processadores a para todas as posies da memria. Essas arquiteturas
tambm so chamadas de SMP (Symmetric MultiProcessor). A forma de interconexo
mais comum neste tipo de mquina o barramento e a memria geralmente
desenvolvida com um nico mdulo. O principal problema com este tipo de arranjo
que o barramento e a memria tornam-se gargalos para o sistema, que fica limitado a
uma nica transferncia por vez. A figura 3 apresenta uma arquitetura UMA.

Fig. 3 Arquitetura UMA (Fonte: SLOAN, 2004)

2.4.2.2 NUMA (Non-Uniform Memory Access)

Neste tipo de multiprocessadores, a memria geralmente distribuda e, portanto


desenvolvida com mltiplos mdulos. Cada processador est associado a um mdulo,
mas o acesso aos mdulos ligados a outro processador possvel. O espao de
endereamento comum a todos os processadores e a latncia para ler ou escrever na
memria pertencente a outro processador maior que a latncia para o acesso
memria local. A figura 4 apresenta a arquitetura NUMA

Fig. 4 Arquitetura NUMA (Fonte: SLOAN, 2004)

22

2.5 AGLOMERADOS DE COMPUTADORES (CLUSTERS)

Um aglomerado de computadores, ou cluster, um grupo de computadores


que trabalham juntos para realizar determinada tarefa computacional. Um cluster
possui trs elementos bsicos: uma coleo de computadores individuais, uma rede
entre esses computadores e software que gerencie a comunicao entre os
computadores.
O sistema operacional mais utilizado em clusters atualmente o GNU/Linux
(JUNIOR, 2004), representando mais de 75 % da lista do TOP500 (lista das 500
arquiteturas de super-computao com maior desempenho), Porm, h tambm
solues proprietrias como o Windows Compute Cluster Server , que a
alternativa da Microsoft para computao de alto desempenho. Ele utiliza a
famlia Windows Server e combina os servios do Active Directory com a
facilidade de uso do Windows para obter uma plataforma eficiente de alto
desempenho
O sistema de cluster GNU/Linux mais conhecido o Beowulf, este faz uso
de computadores pessoais, no especializados e, portanto mais baratos. O projeto foi
criado por Donald Becker da NASA, e hoje so usados em todo mundo,
principalmente para processamento de dados com finalidade cientfica, uma rea em
que so muito utilizados na renderizaco de filmes. As principais vantagens do
cluster Beowulf:
Sistema escalvel, sendo possvel pr em rede e coordenar um
grande nmero de ns, no existindo um limite definido para o tamanho do
cluster.
Flexibilidade em relao ao hardware: Os equipamentos
utilizados so facilmente comercializados, no necessitando de um
equipamento especfico para a criao do cluster.
No caso de um n defeituoso, a substituio to simples quanto
mudar um PC. Desta forma, possvel gerenciar as falhas de maneira
eficiente, baseando-se na fcil substituio de equipamentos.

Baixo custo

23
A figura 5 Apresenta um exemplo de cluster Beowulf, de estaes de
trabalho.

Fig. 5 Cluster Beowulf (Fonte: http://www.dailyvillain.com/gamingr)

O Windows Compute Cluster Server oferece um ambiente mais amigvel


sendo baseado principalmente em interfaces grficas, o que facilita a sua utilizao.
Porm, por ser um sistema fechado, no oferece tantas alternativas de ferramentas
quanto o GNU/Linux. Mais detalhes sobre o Windows Compute Cluster Server
sero vistos no capitulo 4.
Existem outras opes no mercado que so os clusters comerciais que
geralmente usam computadores e software proprietrios. Por ser um pacote
fechado entre software e hardware a estabilidade e desempenho do sistema so
bem combinados; aliado a esse beneficio existe ainda opo de suporte e garantias
bem abrangentes disponveis ao cliente, entretanto o custo muito mais alto se
comparado a clusters que utilizam computadores pessoais.
Outro recurso interessante o uso de estaes de trabalho como auxiliares
de clusters, por exemplo, um cluster pode se conectar a uma rede LAN com vrias
estaes de trabalho ociosas e usar os recursos computacionais disponveis de cada
estao para processar dados. Esse tipo de estrutura recebe o nome de cluster COW
do ingls, cluster of workstations ).

24

3 ESTRUTURA BSICA DE CLUSTERS


necessrio pensar um pouco sobre a estrutura interna do cluster e sua
topologia: isso implicar decidir quais papis as mquinas individuais iro exercer e
qual o tipo de interconexo a mais adequada. Um conceito bsico so os elementos
que compem um cluster, que so seguintes:
N principal (tambm conhecido por head-node): computador
responsvel pela administrao dos ns computacionais exerce tambm a
funo de autenticao e segurana do cluster;
N computacional: computador dedicado a processar os dados do
cluster.
3.1 CLUSTERS SIMTRICOS

A abordagem mais simples um conjunto simtrico; cada n pode funcionar


como um computador individual. Cria-se uma sub-rede com diversas mquinas e
pode-se adicionar ns que so gerenciados por software de cluster especfico. O
problema desse tipo de configurao a falta de segurana e gerenciamento, visto
que no existe um controle centralizado, como mostra a Figura 6. Um exemplo de
cluster simtrico so os clusters que usam de estaes de trabalho

Fig. 6 Cluster simtrico (Fonte: SLOAN, 2004)

25

3.2 CLUSTERS ASSIMTRICOS

Para o cluster desempenhar tarefas mais especifica e complexas, uma


arquitetura assimtrica mais adequada, a figura 7 mostra um esquema desse tipo de
cluster. Com clusters assimtricos um computador o n principal ou head-node.
Ele serve como um gateway entre os ns restantes e os usurios. Os ns
computacionais geralmente utilizam configurao mnima de hardware. Uma vez
que todo o trfego deve passar atravs do head node, os clusters assimtricos
tendem a fornecer um nvel de segurana mais elevado.
O head node muitas vezes age como um servidor primrio o que possibilita
gerenciamento centralizado dos ns computacionais possibilitando servios como
instalao remota e autenticao de usurios.

Fig. 7 Cluster Assimtrico (Fonte: SLOAN, 2004)

Para um melhor intercmbio entre o cluster e as fontes de dados necessrio


expandir a topologia do cluster, detalhes na figura 8 a fim de melhorar o acesso
deste pelos usurios. Para isso usa-se a redes heterogneas: cenrio ao qual cluster
dinamicamente ligado a outro tipo de rede, por exemplo, uma LAN, de um
laboratrio de pesquisa que pode continuamente estabelecer contato com o ele para
processamento de dados.

26

Fig. 8 Cluster Estendido (Fonte: SLOAN, 2004)

O usurio pode conectar ao cluster atravs de uma estao de trabalho e dal


gerenciar tarefas rotineiras tais como verificar o status de uma simulao, ou
processar rapidamente uma quantidade de dados que demoraria mais tempo em uma
estao de trabalho.
Outra questo crtica o projeto de rede. Em pequenos clusters, alguns
switchs podem ser suficientes; em clusters maiores, uma rede totalmente conectada
pode ser proibitivamente cara. Em situaes mais complexas de processamento, o
intercambio de dados entre os ns pode ser prejudicado, pois a troca de mensagens e
sincronizao entre eles exige interfaces de comunicaes mais sofisticadas; de
baixa latncia de comutao, caso contrrio o desempenho geral cai e cluster perde
muito de sua viabilidade.
3.3 MODELOS DE CLUSTERS

Um aglomerado de computadores, cluster, pode ser definido conforme a


funo especifica em um determinado cenrio, portanto pode-se classific-los como:
de alta disponibilidade, de balanceamento de carga e de alto desempenho.
3.3.1 Alta disponibilidade:
Clusters de alta disponibilidade, tambm chamados de clusters de failover,
so freqentemente utilizados em aplicaes de misso crtica onde determinado
servio no pode parar, por exemplo, um site de compras na Internet. A chave para a
disponibilidade elevada a redundncia. Um cluster de alta disponibilidade
composto por vrias mquinas, um subconjunto dos quais pode fornecer o servio

27

apropriado. Apenas uma mquina ou servidor est diretamente disponvel e todas as


outras mquinas estaro em modo de espera. Elas iro controlar o servidor
primrio para assegurar que ele permanea operacional. Se o servidor primrio
falhar, um servidor secundrio assume o seu lugar no sistema, enquanto o servidor
primrio estiver indisponvel.
3.3.2 Balanceamento de carga:

A idia por trs de um cluster de balanceamento de carga proporcionar


melhor desempenho dividindo o trabalho entre vrios computadores. Por exemplo,
quando um servidor web construdo usando o cluster de balanceamento, as
diferentes consultas para o servidor so distribudas entre os computadores nos
clusters. Isto pode ser conseguido utilizando um algoritmo de rodzio simples. Por
exemplo, Round-Robin DNS pode ser usado para mapear as respostas para consultas
DNS para os endereos IP diferentes. Ou seja, quando uma consulta DNS feita, o
servidor DNS local retorna os endereos da mquina prxima do cluster, visitando
as mquinas em um round-robin. No entanto, essa abordagem pode levar a
desequilbrios de cargas. Algoritmos mais sofisticados usam o feedback das
mquinas individuais para determinar qual mquina pode lidar melhor com a
prxima tarefa de processamento.
3.3.3 Alto desempenho

Tambm conhecido como HPC (do ingls High-performance computing)


Este tipo de cluster destinado grandes tarefas computacionais. Uma complexa
tarefa computacional pode ser dividida em pequenas tarefas que so distribudas ao
redor dos ns computacionais, como se fosse um supercomputador massivamente
paralelo. Estes clusters so usados para computao cientifica ou anlises
financeiras, tarefas tpicas para exigncia de alto poder de processamento.

28

4 WINDOWS COMPUTE CLUSTER SERVER


Devido amplitude e importncia de diversas aplicaes abordadas pela
computao de alto desempenho e necessidade da evoluo das tecnologias de
programas voltadas a esta arquitetura, a Microsoft lanou o Windows Compute
cluster Server, que um sistema operacional voltado implantao, configurao e
gerenciamento de clusters.
A Microsoft tem compartilhado seu interesse com outras indstrias de software
e comunidade acadmica para construo de tecnologias de suporte a aplicaes de alto
desempenho sobre arquiteturas paralelas (RUSSEL, 2005). Em um mercado
tradicionalmente dominado por vrias verses do sistema operacional Linux, o
Windows Compute Cluster Server tem sido proposto pela Microsoft como uma
alternativa baseada na verso servidor do sistema operacional Windows para
simplificar a implantao e gerenciamento de cluster.
4.1 ARQUITETURA

O Windows Compute Cluster Server gerencia um grupo de computadores


que inclui um nico n principal (do ingls, head node) e um ou mais ns de
computao (do ingls, compute nodes). A Figura 9 apresenta um diagrama de uma
das possveis arquiteturas para o cluster. Neste caso, pode-se observar o n principal e
os ns de computao. O n principal controla e serve como mediador para todos
os acessos aos recursos do grupo (Active Directory,Servidor de Arquivos, Servidor de
Operaes e o Servidor de E-mail) e o nico ponto de gerenciamento, implantao e
agendamento de servios para o cluster.

29

Fig. 9 Estrutura tpica de um Windows Compute Cluster Server( Adaptado de RUSSEL,


2005)

4.2 INTERFACE DE PASSAGEM DE MENSAGENS DA MICROSOFT (MSMPI)


Com a finalidade de explorar o desempenho do cluster com tecnologia
Windows, foi desenvolvido o MS-MPI, que uma implantao do MPI adaptada s
caractersticas do Windows Compute Cluster Server com a colaborao do
Laboratrio Nacional de Argonne (ANL) nos EUA (RUSSEL, 2005).
4.3. IMPLANTAO DO CLUSTER
Para a implantao do Windows Compute Cluster Server so necessrios
alguns requisitos de hardware, dentre eles:

Processador: Intel ou AMD com suporte arquitetura de 64 bits;

Memria RAM: mnimo 512 MB;

Mximo de 4 processadores por n;

Espao mnimo de disco para instalao: 4GB.

Uma vez satisfeitos estes requisitos, essencial o planejamento da implantao,


inicialmente consistindo na escolha de uma topologia de rede.

30

O Windows Compute Cluster Server distingue cinco topologias de rede,


classificadas em trs tipos diferentes: rede pblica, rede privada e rede MPI. A rede
pblica corresponde rede corporativa, conectada ao n principal e, opcionalmente
aos ns de computao. atravs da rede pblica que os usurios se conectam ao
cluster para submeter seus trabalhos, inclusive remotamente. Todo trfego no cluster
relacionado ao gerenciamento e implantao deve ser realizado sobre a rede pblica
tambm conhecida como Enterprise, caso no exista uma rede privada. A rede privada
dedicada ao cluster, sem acesso externo, encarregando-se do trfego relacionado ao
gerenciamento, implantao e trfego MPI, caso no esteja disponvel uma rede MPI. A
rede MPI, quando disponvel, responsabiliza-se por todo trfego MPI, em geral sobre
uma interconexo de alto desempenho. A existncia da rede MPI essencial em
aplicaes de computao intensiva, onde a cooperao entre as tarefas exige a troca de
grandes massas de dados.
As cinco topologias de rede que podem ser utilizadas pelo Windows Compute
Cluster Server so:Cenrio 1: O n principal possui duas NICs (do ingls Network
Interface Card). Na Figura 10, observa-se que uma NIC est conectada rede pblica
ou corporativa existente e a outra est conectada ao cluster que interliga o n principal
aos ns de computao. Na rede privada trafegam todas as informaes entre o n
principal e os outros ns, inclusive implantao, gerenciamento e trfego MPI.

Fig.10 Topologia 1 (Fonte Adaptado de RUSSEL, 2005)

Cenrio 2: Na Figura 11 apresentado o Cenrio 2. Pode-se observar que tanto o


n principal como os ns de computao possuem duas NICs, uma

31

conectada rede pblica e outra rede privada. Como no Cenrio 1, as


comunicaes entre os ns inclusive implantao, gerenciamento e trfego
MPI so todas transmitidas na rede privada. Entretanto, neste caso, a rede
pblica est ligada a cada computador. Nesta topologia, toda a comunicao
entre os ns de computao e a rede pblica, pode ser feita diretamente, sem a
necessidade de passar pelo n principal como ocorre no Cenrio 1.

Fig. 11 Topologia 2 (Fonte Adaptado de RUSSEL, 2005)

Cenrio 3: O terceiro cenrio similar ao primeiro no sentido de que a rede


pblica ligada somente ao n principal. A principal diferena entre os
Cenrios 1 e 3 que no Cenrio 3, o cluster instalado com uma rede MPI que
conecta todos os ns. Como mostrado na Figura 12, o n principal agora
possui uma NIC adicional, uma placa de alta velocidade conectada rede MPI.
Alm disso, cada computador n possui uma segunda NIC, uma para a rede
privada e outra para a rede MPI. A rede MPI usada para isolar o trfego MPI,
melhorando o desempenho da troca de informaes entre os ns.

32

Fig. 12 Topologia 3 (Fonte Adaptado de RUSSEL, 2005)

Cenrio 4: Na Figura 13 apresentada a quarta topologia de rede. Esta igual


segunda topologia, exceto porque inclui uma rede MPI de alta velocidade. A
rede privada transmite apenas trfego de implantao e gerenciamento. A rede
MPI existe, como no Cenrio 3, para isolar o trfego MPI.

Fig. 13 Topologia 4(Fonte Adaptado de RUSSEL, 2005)

Cenrio 5: Pode-se observar, na Figura 14, que o Cenrio 5 no possui nenhuma


rede privada intra-cluster. Todo o trfego, inclusive intra-cluster, MPI e pblico,
transmitido atravs da rede pblica. Isso maximiza a acessibilidade, mas
custa de uma reduo no desempenho da rede.

33

Fig. 14 Topologia 5 (Fonte Adaptado de RUSSEL, 2005)

As topologias apresentadas diferenciam-se pelo suporte ou no s redes privadas


e MPI e pela forma de acesso rede pblica pelos ns de computao, para que estes
tenham acesso aos controladores de domnio e servios de rede pblica. Em resumo, os
diferentes cenrios servem para confinar os diferentes tipos de trfego em redes
especializadas, reduzindo o tempo de comunicao.
4.4 GERENCIADOR DE TRABALHOS E TAREFAS

Os usurios podem submeter trabalhos para serem executados no cluster atravs


do Gerenciador de Trabalhos e Tarefas. Um trabalho (job) uma requisio de recursos
submetida ao escalonador de trabalhos (Job Scheduler), que contm ou conter uma ou
mais tarefas (task). Uma tarefa no pode existir sem estar associada a um trabalho. Um
trabalho pode conter uma nica tarefa. O escalonador de trabalho o servio
responsvel por colocar trabalhos e tarefas em filas, alocar recursos, despachar tarefas
para ns de computao, e monitorar o estado de trabalhos, tarefas, e ns. A ordem dos
trabalhos na fila obedece a uma poltica de escalonamento. No Windows Compute
Cluster Server so suportados trs tipos de tarefas: tarefa paralela, varredura
paramtrica e fluxo de tarefas, detalhadas a seguir:

Tarefa Paralela (Parallel Task): o trabalho formado por um conjunto de tarefas


que executam simultaneamente trocando mensagens a fim de cooperar para
realizar alguma computao. Trata-se de um programa MPI caracterstico de
clculo cientfico e de engenharia;

34

Varredura Paramtrica (Parametric Sweep): o trabalho formado por vrias


tarefas independentes que no se comunicam, sendo dispensvel o uso da
biblioteca MPI. Normalmente, cada tarefa possui seu prprio conjunto de dados
de entrada e fornece sua sada em arquivos separados.

Fluxo de Tarefas (Task Flow): o trabalho formado por um conjunto de tarefas,


geralmente distintas e independentes, que devem ser executadas em uma ordem
determinada devido algum tipo de dependncia de processamento. O
programador da aplicao que determina o tipo de trabalho a ser utilizado,
segundo a estrutura de programao paralela desenvolvida.
A designao de uma tarefa para os ns de computao feita pelo

escalonador de trabalho, o qual envia para um dos ns dentre aqueles designados para
o trabalho. A menos que dependncias entre as tarefas sejam definidas, estas so
servidas segundo a poltica FCFS (First-Come First-Served) (Russel, 2005)
No caso de vrias tarefas que no trocam informaes entre si (varredura
paralela e fluxo de tarefas), estas so alocadas n a n, at que os processadores de
cada n estejam todos ocupados (RUSSEL, 2005). Assim, se o n designado pelo
escalonador de trabalho dispe de quatro processadores, o mximo suportado pela
verso atual do Windows Compute Cluster Server, as quatro primeiras tarefas sero
alocadas nestes quatro. As quatro seguintes, nos quatro processadores do prximo n
designado, at que todos os processadores, em todos os ns, estejam ocupados. Caso
haja mais tarefas que processadores, estas devem aguardar a liberao de um
processador.

35

5 APLICAO DO CLUSTER
Localizado na UTFPR campus Curitiba, O Laboratrio de Cincias Trmicas LACIT um grupo de pesquisa criado em 1999 com atividades na rea de Mecnica
dos Fluidos, Transferncia de Calor e Termodinmica. O grupo trabalha em diversas
reas de Engenharia Trmica e seus estudos envolvem no s investigao bsica, mas
tambm aplicada.
NO LACIT so feitas diversas simulaes de escoamentos monofsicos,
bifsicos, comportamento de bombas entre outras atividades referentes rea de
mecnica dos fluidos. As simulaes so realizadas atravs do software CFX um
programa comercial de CFD (do ingls Computational Fluid Dynamics). A figura 16
mostra um exemplo de simulao no CFX.

Fig.16 Tela do CFX (Fonte autoria Prpria)

Essas simulaes requerem alto poder computacional, pois o computador ter


que executar complexos e extensos clculos matemticos que exigem alta quantidade de

36

tempo computacional para serem resolvidos, por exemplo, uma simulao rotineira de
um escoamento bifsico, gua e gs, leva em uma estao de trabalho com 4GB de
memria e processador de 4 ncleos de velocidade de 2.8Ghz cerca de 15 a 20 horas
para ser completada; dependendo do refinamento dos clculos esse tempo pode passar
facilmente de 20 para 30 a 40 horas, sendo portanto um inconveniente para o usurio
esperar tanto tempo at analisar os resultados da simulao.
H, portanto, necessidade de um sistema com um poder computacional mais
poderoso que permita executar essas simulaes em um intervalo de tempo menor,
neste contexto que o cluster HPC entra como soluo. Mais detalhe do cluster
mostrado nos captulos seguintes.
5.1 O CLUSTER HPC

O cluster composto de um rack com 42 U de altura e dois servidores que


podem ser incorporados ao rack como mdulos, A figura 17 apresenta detalhes do
cluster HPC. Basicamente esses servidores possuem as seguintes caractersticas:

2 Processadores Intel Quad Core Intel X5560 Xeon , 2.8GHz,

8M Cache,

32 GB de memria DDR-3 Registered DIMM, 1333 MHz (8 x 4

03 discos rgidos de 146GB SAS 3.5 de 15.000 rpm(raid 5)

4 interfaces de rede 10/100/1000 UTP integradas

Fonte Redundante de Alta Potncia Energy Smart (870W),

GB)

Ventiladores redundantes e Hot-swap


Algumas vantagens desse tipo de configurao em relao a clusters HPC de
baixo custo como o Beowulf que utilizam computadores pessoais so as fontes
redundantes e o sistema de refrigerao mais sofisticado alm do hardware bem
mais robusto. Esses fatores garantem maior confiabilidade que o cluster ir estar
funcional por um perodo maior de horas. Mais detalhes sobre a configurao do
hardware do cluster se encontram no apndice B

37

Fig. 17 Cluster HPC LACIT (Fonte Autoria Prpria)

Como os processadores possuem a tecnologia Hyper-Threading ou hiperprocessamento, tecnologia usada em processadores que o faz simular dois
processadores tornando o sistema mais rpido quando se usa vrios programas ao
mesmo tempo; como cada servidor possui 2 processadores Quad, 4 ncleos, ento
tem-se em cada processador, 4 ncleos fsicos e 4 virtuais portanto 8 processadores
fsicos e 8 virtuais em cada servidor num total de 16 processadores por servidor,
portanto o cluster possui 32 processadores.
5.2 WINDOWS HPC SERVER 2008 R2

O sistema operacional escolhido foi o Windows HPC Server 2008 R2,


atualmente o sistema HPC mais moderno da Microsoft. Pode-se fazer download
gratuitamente

por

um

perodo

de

meses

http://www.microsoft.com/hpc/en/us/trial/what-is-hpc.aspx.

no

seguinte

site:

38

Os detalhes do processo de instalao sero descartados, pois se foge do


escopo do trabalho, informaes mais detalhadas da instalao podem ser obtidas no
link acima.
Depois de instalado o Windows deve-se realizar os seguintes passos:
Instalar o Windows HPC Pack 2008 R2 SP 2 , o qual contem as
ferramentas necessrias para utilizar o cluster,
Configurar um domnio para o n principal e ingressar os ns
computacionais neste domnio, detalhes de como configurar um domnio
podem ser vistos no apndice B;
Configurar uma topologia mais apropriada ao cluster, detalhes dos
tipos de topologias podem ser vistos no capitulo 4; atravs do assistente de
instalao do Windows HPC Pack 2008, detalhes do procedimento de
instalao se encontra no apndice C;
A topologia escolhida foi a de tipo 3 pois foi a que melhor se adequou as
necessidades do LACIT. A figura 18 esclarece melhor o contexto

Fig. 18 Topologia Rede Cluster na rede LACITNET (Fonte Autoria Prpria)

Alguns detalhes da figura 5-1 devem ser mais bem descritos:

39

O servidor SERVERLACIT um controlador de domnio (LACITNET)


baseado na plataforma Windows Server 2003 standard, tambm realiza funes
de DHCP (do ingls, Dynamic Host Configuration Protocol), servidor de arquivos e
rote amento da LAN LACIT com a Internet atravs de NAT; possui as seguintes
caractersticas de hardware:
Processador Intel Pentium D 3.2GHZ
2GB de memria DDR2 600
Dois discos de 250GB em Raid1
Os computadores que formam a LAN (do ingls Local Area Network) do LACIT
usam o sistema Windows 7 Professional; possuem modernos processadores de 4
ncleos e mnimo de 4GB de memria RAM. Essas configuraes so exigidas visto
que mesmo com o cluster funcional ainda so realizadas simulaes em estaes de
trabalho.
O cluster esta em seu prprio domnio, DELL, e o controlador do domnio
chamado MASTER este exerce tambm a funo de head node do cluster. No domnio
DELL esta incorporado o servidor chamado CLUSTER 1 com a funo de n
computacional.
Existe, portanto dois domnios na mesma rede, porm no h relaes de
confiana entre eles, ou seja, se um usurio da rede LAN LACIT, domnio LACITNET,
quiser acessar o cluster tal usurio dever estar cadastrado no domnio DELL. Isto no
necessariamente um problema visto que existem poucos usurios que utilizam o cluster
O remote Desktop Protocol (ou somente RDP), como mostra afigura 19 um
protocolo multicanal que permite que um usurio conecte a um computador rodando o
Microsoft Terminal Services. Existem clientes para a maioria das verses do
Windows, e outros sistemas operacionais como o Linux. O servidor escuta por padro a
porta TCP 3389. Por razes de segurana o suporte a remote desktop vem desabilitado
na famlia Windows , deve portanto ativ-lo no servidor MASTER para conseguir usar
esse protocolo corretamente.

40

Fig. 19 rea de trabalho Remota (Fonte: Autoria Prpria)

Para acessar o cluster o usurio deve executar o Remote Desktop. O nome de


usurio e senha so aqueles que esto cadastrados em MASTER, que o controlador de
domnio do cluster. Aps a autenticao o usurio tem acesso ao desktop do head node
e pode executar as simulaes atravs do programa CFX e demais aplicaes
necessrias que devem j estar previamente instaladas e configuradas. Um detalhe
importante que o independente do nmero de ns computacionais disponveis o
numero de ns que o programa CFX pode distribuir limitado pela sua licena de us;.
no LACIT a licena adquirida esta restrita a 12 processadores, portanto, mesmo que o
cluster tivesse mais de 12 processadores disponveis licena impediria de usa-los.
5.3 GERENCIAMENTO BSICO DO CLUSTER

Para Gerenciar o cluster usa-se o programa HPC 2008 Cluster Manager, nele
possvel obter informaes sobre a topologia de rede usada, estado dos ns do cluster:
online ou offline, e nvel de uso do processador em cada n. Basicamente essas
informaes foram as mais usadas, porm o programa possui uma gama maior de
informaes disponveis para um completo gerenciamento do cluster, as figuras 20 e 21
mostram algumas caractersticas desse gerenciador.

41

Fig. 20 Topologia do cluster HPC apresentada no HPC 2008 Cluster Manager (Fonte

Autoria Prpria)

Fig. 21 Gerenciamento de ns do cluster (Fonte Autoria Prpria)

42

No heat Map da figura 21 possvel ver o quanto de utilizao de


processamento cada n computacional esta exercendo no momento e seu estado
operacional.
5.4 UTILIZANDO O CLUSTER COM O CFX

O CFX possui suporte a MPI, que permite a distribuio das tarefas


computacionais entre os ns do cluster como mostrado na figura 22.

Fig. 22 Tela MPI CFX (Fonte Autoria Prpria).

Aps abrir a simulao desejada clica-se em define run onde possivel definir o
nmero de processadores que sero usados para resolver as tarefas computacionais: em
type of run escolhe-se full em run mode coloca-se Submit to Windows CSS
Na figura 23 pode-se ver a distribuio de tarefas entre os ns

43

Fig. 23 Distribuio dos Jobs entre os ns (Fonte Autoria Prpria).

5.5 DESEMPENHO DO CLUSTER HPC

Para uma breve anlise de desempenho do cluster foram feitas simulaes em


um computador pessoal com uma configurao de hardware superior trata-se de um
computador com:

Processador intel Core I7 de 2,8GHz

12 GB Memoria DDR 3 de 1600MHz

Foram realizadas trs simulaes, um escoamento monofsico, gua, um


bifsico, gua e gs e uma simulao do comportamento do escoamento nas ps de uma
bomba centrpeta.
Essas simulaes foram realizadas no computador pessoal citado acima e no
cluster com o intuito de anlise de desempenho. A tabela 1 baixo mostra os resultados.

44

Simulao

Tempo computador pessoal

Tempo no cluster

Escoamento monofsico

3 horas

1 hora e 40 minutos

Escoamento bifsico

10 horas

6 horas e 50 minutos

Escoamento bomba

18 horas

15 horas

Tabela 1 - Desempenho do Cluster (fonte: Autoria Prpria)

Pode-se ver o ganho de desempenho do cluster, um dos fatores que limitam um


desempenho melhor a licena do CFX que s permite 12 processadores e outro um
estudo mais detalhado de como o CFX distribuiu os Jobs entre os clusters.

45

6 CONCLUSO
Dependendo da aplicao, simular numericamente requer alto esforo
computacional. O desenvolvimento cientfico e tecnolgico na rea de informtica
levou ao surgimento de supercomputadores. Porm, sua utilizao invivel devido ao
alto custo associado a esta tecnologia.
Com o intuito de encontrar uma soluo alternativa vivel financeiramente,
estudos sobre computao de alto desempenho HPC (do ingls, High Performance
Computing) foram realizados. A partir destes estudos, foi proposta uma nova arquitetura
com alto poder computacional, o cluster. O cluster um sistema que compreende um
aglomerado de computadores pessoais ou servidores dedicados que trabalham em
conjunto para executar aplicaes ou realizar outras tarefas, mas, que visto como um
recurso nico pelo usurio. Devido a estas caractersticas estes sistemas tm sido
objetos de diversos estudos.
Como resultado de um destes estudos, a Microsoft lanou em o Windows
Compute Cluster Server que um sistema operacional voltado implantao,
configurao e gerenciamento de cluster. Windows Compute Cluster Server possui
vrias ferramentas que facilitam o gerenciamento do cluster. Apesar de se tratar de um
programa proprietrio o uso do Windows Compute Cluster Server permite o usurio
novato nos fundamentos de cluster entender o funcionamento destes luz das
tecnologias da Microsoft, porm os conceitos intrnsecos dos clusters como ns, headnodes, e escalonamento de tarefas so pertinentes tambm plataforma GNU/Linux,
portanto, no futuro tal usurio poder implantar clusters baseados em sistemas Linux
com um conhecimento mais slido sobre clusters. Em relao ao cluster HPC
construdo neste trabalho h algumas consideraes importantes a serem mencionadas:
Por se tratar de um trabalho inicial pode-se caracterizar como sendo um primeiro
passo as etapas realizadas neste trabalho, da teoria a pratica, pois se conseguiu montar a
estrutura bsica de um cluster HPC, o passo seguinte prev algumas melhorias a serem
feitas para atingir um nvel mais elevado de aprimoramento, so elas:

Compra de mais servidores para adiciona-los como ns

computacionais ao cluster;

46

Compra de uma licena HPC de uso do CFX de pelo menos 80

processadores;

Estabelecer uma relao de confiana entre o domnio DELL e o

domnio LACITNET para facilitar a administrao de novos usurios e melhorar


a gerencia entre eles;

Estudo mais aprimorado do Job management para programas do

CFX e futuramente de programas de linguagem Fortran relevantes s simulaes


de CFD.

Implantar o uso de estaes de trabalho ociosas como ns

computacionais para melhorar o desempenho do cluster

47

REFERNCIAS
JUNIOR, F.H.C. Computao de Alto Desempenho em Plataforma Windows, Artigo,

Universidade Federal do Cear (UFC), 2004.


SLOAN, J.D. High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and
MPI, O'Reilly, 2004.
SNOW, C.R. Concurrent Programming, Cambridge University Press, 1992.
IGNACIO, A.A.V. MPI: Uma ferramenta para implementao paralela, Pesquisa
Operacional, Rio de Janeiro, v. 22, n. 1, 2002.
PACHECO, P. S. A user guide to MPI. Technical Report, San Francisco, CA,USA, 1995.
RUSSEL, C. Viso Geral do Microsoft Windows Compute Cluster Server 2003, Microsoft
Windows Server 2003 Administrators Companion (MSPress, 2005).

48

APNDICE A ESPECIFICAO HARDWARE DO CLUSTER


SERVIDOR DELL POWEREDGE R710 (LOTE 03 / ITEM 01 - Dell PowerEdge R710)
2 Processadores Quad Core Intel X5560 Xeon , 2.8GHz, 8M Cache, 6.40 GT/s QuickPath
Interconnect,
Tecnologia Turbo Hyper-Threading
32 GB de memria DDR-3 Registered DIMM, 1333 MHz (8 x 4 GB), 2R para
2 processadores, Advanced ECC
03 discos rgidos de 146GB SAS 3.5" de 15.000 rpm
Configurao dos Discos em RAID 5
Placa SD card Vflash 1GB para controladora iDRAC6 Enterprise
2 Hbas Qlogic 2460 Single Port, Fibre Channel 4Gbps, PCI-e
Placa controladora de array interna PERC6i com 256MB de cache e bateria (Raid 0, 1, 5, 6,
10, 50, 60)
Placa de gerenciamento remoto iDRAC6 Enterprise
4 interfaces de rede 10/100/1000 UTP integradas
Riser com 1 slot PCIe x16 e 2 slots PCIe x4
Cabos de fora C13-C14, 12 A, 4 metros
Software de gerenciamento Dell OpenManage (DVD e documentao)
Console de Gerenciamento Dell
Fonte Redundante de Alta Potncia Energy Smart (870W), Ventiladores redundantes e Hotswap
Unidade de DVD ROM de 16x, SATA
Sem sistema operacional
No inclui teclado, mouse, monitor
Instalao on-site no inclusa
Trilhos deslizantes para rack padro 19 com brao de gerenciamento de cabos
5 anos de garantia
VALOR UNITRIO R$ 24.154,53
VALOR TOTAL R$ 48.309,06

49
RACK DELL
Rack com 42U de altura

Dimenses do equipamento - Largura: 60,5 cm; Profundidade: 107 cm;


Altura: 200 cm; Peso: 225 Kg.
4 Rguas de energia 12 amperes 110/220V com 7 conectores IEC C13 cada
Gaveta de 1U com monitor LCD 17", teclado US e touchpad, conexes USB
Estabilizadores laterais para Rack
SwitchBox de teclado/monitor/mouse de 8 portas UTP
Gabinete de 1U com trilhos para rack padro 19
8 cabos CAT5 2,1m
8 mdulos de converso KVM USB-UTP para switch Box
5 anos de garantia
VALOR UNITRIO R$ 18.900,00

50

APNDICE B INSTALAO DO ACTIVE DIRECTORY

Active

Directory

uma

implementao

de

servio

de

diretrio

no

protocolo LDAP que armazena informaes sobre objetos em rede de computadores e


disponibiliza essas informaes a usurios e administradores desta rede. um software
da Microsoft utilizado em ambientes Windows.
O Active Directory, AD, a exemplo do NIS, surgiu da necessidade de se ter um nico
diretrio, ou seja, ao invs do usurio ter uma senha para acessar o sistema principal da
empresa, uma senha para ler seus e-mails, uma senha para se logar no computador, e
vrias outras senhas, com a utilizao do AD, os usurios podero ter apenas uma senha
para acessar todos os recursos disponveis na rede. Pode-se definir um diretrio como
sendo um banco de dados que armazena as informaes dos usurios.
O AD surgiu juntamente com o Windows 2000 Server. Objetos como usurios, grupos,
membros dos grupos, senhas, contas de computadores, relaes de confiana,
informaes sobre o domnio, unidades organizacionais, etc, ficam armazenados no
banco de dados do AD. Alm de armazenar vrios objetos em seu banco de dados, o
AD disponibiliza vrios servios, como: autenticao dos usurios, replicao do seu
banco de dados, pesquisa dos objetos disponveis na rede, administrao centralizada da
segurana utilizando GPO, entre outros servios. Esses recursos tornam a administrao
do AD bem mais fcil, sendo possvel administrar todos os recursos disponveis na rede
centralizadamente.
Etapa 1 - Executar o DCPROMO
a) Clique no menu Iniciar, escolha a opo "Executar..." / Digite: dcpromo / Clique
no boto "OK"
b) A janela do "Assistente para instalao do Active Directory" ir aparecer. Clique
no boto "Avanar".
c) Na janela de "Compatibilidade de sistema operacional" leia os requisitos
mnimos dos clientes do AD. A seguir, clique no boto "Avanar".
d) Na janela de "Tipo de controlador de domnio", selecione a opo "Controlador
de domnio para um novo domnio" e clique no boto "Avanar".
e) Na janela de "Criar novo domnio", selecione a opo "Domnio em uma nova
floresta" e clique no boto "Avanar".

51

f) A janela de "Novo nome de domnio" a opo mais importante na criao do


AD. Como todo o sistema do AD baseado no DNS, a criao do nome de
domnio ir afetar toda a operao da rede.
g) Entre

com

nome

DNS

completo

do

domnio,

por

exemplo:

meudominio.com.br
Clique no boto "Avanar".
h) Este parte poder demorar alguns minutos, pois o sistema ir procurar pelo
servidor DNS e verificar se o nome j existe.
i) Na janela de "Nome do domnio NetBIOS", aceite a opo padro (que o
primeiro nome do domnio DNS) e clique no boto "Avanar".
j) Na janela de "Pastas do banco de dados e log", lembre-se que a partio dever
ser NTFS e voc somente dever alterar os caminhos padres por motivos de
desempenho.
O caminho "\Windows\NTDS" o local onde sero armazenados os dados do AD.
k) Aceite as opes padres e clique no boto "Avanar".
l) Na janela de "Volume de sistema compartilhado", a partio tambm dever ser
NTFS e somente dever ser alterado caso haja problemas de desempenho.
m) O caminho "\Windows\SYSVOL" o local onde sero armazenados as GPOs e
scripts do AD e esta pasta replicada para todos os outros DC.
n) Aceite a opo padro e clique no boto "Avanar".
Passo2: Lembre-se que o servidor DNS requerido pelo AD deve aceitar registro SRVs e
atualizaes dinmicas.
Portanto, o mais recomendvel utilizar o servidor DNS do Windows Server 2003 e
deixar que o assistente faa a instalao e configurao do mesmo.
a) Selecione a opo "Instalar e configurar o servidor DNS neste computador e
definir este computador para usar o servidor DNS como seu servidor DNS
preferencial" e clique no boto "Avanar".
b) Na janela de "Permisses", selecione a opo "Permisses compatveis somente
com os sistemas operacionais de servidor Windows 2000 ou Windows Server
2003" e clique no boto "Avanar".

52

Esta opo somente dever ser alterada caso voc tenha DCs rodando em plataforma
Windows NT, o que no o caso do presente trabalho.
c) Na janela de senha, digite e confirme a senha de administrador do modo de
restaurao; clique no boto "Avanar".
d) Esta senha importante, pois ela no a mesma senha do administrador do DC
e deve ser usada quando houver problemas no DC ou quando o DC for removido
do computador.
e) Na janela de "Resumo", verifique as opes selecionadas. Caso as opes
estejam corretas, clique no boto "Avanar".
f) Voc ir acompanhar o assistente executando as tarefas solicitadas.
g) Caso ocorra algum erro, aguarde o assistente finalizar e depois execute-o
novamente para desfazer as alteraes.
h) Clique no boto "Concluir".
Voc precisar reiniciar o computador para iniciar o AD. Clique no boto "Reiniciar
agora".

53

APNDICE C - CONFIGURAO BSICA DO CLUSTER HPC


Instalao das interfaces de rede ao cluster

Fig. A1-Tela do assistente de configurao do cluster

Passo 1- no Windows HPC cluster manager, clica-se em configure your network, link
localizado em deployment to list como aparece em destaque na figura A1;
Passo 2- A primeira tela a de configurao da topologia, conforme visto na figura A2;

Fig. A2 - Tela de configurao de topologia

54
Passo 3: Aps escolhido a topologia configura-se as interfaces de rede como visto nas figuras
A3, A4 e A5. Como a interface Enterprise est configurada para obter um endereo IP
automaticamente, as configuraes de IP que aparecem na Figura .A3 so referentes ao servidor
DHCP do servidor Serverlacit

Fig. A3 Status da interface Enterprise

Fig. A4 Configuraes da Interface Private

55

Fig. A5-Configurao da interface Application

Passo 4 : Depois se configura o firewall como visto na figura A6;

Fig. A6 Configurao Firewall

Passo 5: Aps realizadas as configuraes aparecer a janela de configuration Summary


como visto na figura A7;

56

Fig. A7 - Status das configuraes das interfaces

Procedimentos para Adicionar n ao cluster


Passo 1: Clique em Add Node conforme figura A8. importante salientar que o
controlador de domnio ser o Head Node e cada n computacional dever ter instalado
o HPC PACK. Ao instalar o HPC PACK no controlador de domnio este ser
automaticamente configurado como head node.

Fig. A8 Tela inicial do Node Management

57

Passo 2: Aparecer a tela da figura 2, marque a opo Add compute nodes or brokes
nodes that already been configured;

Fig. A9 Tela para selecionar os tipos de ns a serem adicionados

Passo 3: A figura A10 mostra as condies para se adicionar ns pr-configurados,


clique em next;

Fig. A10 Condies necessrios para se adicionar ns pr-configurados

58

Passo 4: Se tudo estiver corretamente configurado aparecer a lista de ns


computacionais disponveis como aparece na Figura A11;

Fig. A11 Adio dos ns pr-configurados

Passo 5: Aps todas as configuraes realizadas clique finish na tela que aparece na
figura A12; a figura A13 mostra o n computacional j adicionado ao cluster.

Fig. A12 Completando a adio do n ao cluster

59

Fig. A13 N computacional adicionado ao cluster

Potrebbero piacerti anche