Anda di halaman 1dari 59

Intvoduo u C!

ustev
IuIz duuvdo GuuvIno de Vusconce!os
Irocossnmonfo nrnIoIo
O processamento paralelo consiste em dividir
Uma tarefa em suas partes independentes e
Na execuo de cada uma destas partes em diferentes
processadores.
Isto Paralelismo
Tipos de Paralelismo Tipos de Paralelismo
Memria compartilhada: possuem mais de um processador
em um mesmo computador. Todos eles compartilham os
recursos de memria e disco existentes, segundo uma
poltica de controle de concorrncia adotada pelo sistema
operacional. Ex.: SMP
Memria Distribuda: h pouco ou nenhum
compartilhamento de recursos entre processadores.
Normalmente, cada n de um sistema MPP um computador
independente, como memria e discos prprios.
Irocossnmonfo InrnIoIo O quo o
rocIso snbor nrn dosonvoIvor l/2
Precisa ter o domnio de um conjunto de conceitos, so eles:
Diferentes tipos de processamento paralelo.
Com Swar (Simd Within a Register = Processadores MMX)
Com SMP (Symetric Multi-Processor = Comp. com mais de um
processador)
Com Beowulf (mais utilizado)
Com MOSIX
Com Cluster de workstation
Bibliotecas utilizadas para distribuio de
Processos
Threads
PVM (Parallel Virtual Machine) e
MPI (Message Passing Interface).
Irocossnmonfo InrnIoIo O quo o
rocIso snbor nrn dosonvoIvor 2/2
E ainda
Como desenvolver algoritmos e cdigos utilizando processamento
paralelo.
necessrio ainda o conhecimento da terminologia utilizada e do
hardware necessrio
Requisitos: Os programas devem ser desenvolvidos com o Requisitos: Os programas devem ser desenvolvidos com o
uso de mltiplas threads (multi-threadings) ou mltiplos-
processos (multi-processing).
TIos do Irocossnmonfo InrnIoIo l/6
Processamento paralelo com Swar
Simd (Single Instruction, Multiple Data) Within a Register
Consiste em utilizar as instrues MMX disponibilizadas nos
processadores (Pentium MMX), para realizar tarefas em paralelo.
Requer programao em baixo nvel.
Pode fazer processamento paralelo em uma mquina com um nico Pode fazer processamento paralelo em uma mquina com um nico
processador.
TIos do Irocossnmonfo InrnIoIo 2/6
Processamento paralelo com SMP
Symetric Multi Processor
SMP = computadores com mais de um processador com as mesmas
caractersticas
Os processadores compartilham o mesmo BUS e a mesma
memria.
Veja a placa me modelo ASUSCUV4X-DLS com dois slots para
processadores PIII de 1000MHz.
Requisitos: Os programas devem ser desenvolvidos com o
uso de mltiplas threads (multi-threadings) ou mltiplos-
processos (multi-processing).
Vantagens: Relativamente fcil de programar.
Desvantagens: Requer mquinas com dois ou mais
processadores (so mquinas mais caras).
Processamento paralelo com cluster Beowulf
Beowulf uma tecnologia de cluster que agrupa computadores
rodando GNU/Linux para formar um supercomputador virtual via
processamento paralelo (distribudo).
Requisitos:
Conjunto de computadores (sem teclado, sem monitor e sem mouse)
conectados em rede para processamento paralelo (uso exclusivo).
TIos do Irocossnmonfo InrnIoIo 3/6
conectados em rede para processamento paralelo (uso exclusivo).
Requer o uso de uma biblioteca de mensagens como PVM ou MPI, ou
o uso de mltiplos processos com o Mosix.
GNU/Linux no servidor e cliente
Software livre
Repassar implementao e resultados para a comunidade
Vantagens: Manuteno facilitada, reduo do nmero de
problemas ocasionados pela instalao de pacotes desnecessrios.
Menor custo das mquinas e de manuteno.
Desvantagens: As mquinas tem seu uso limitado ao
processamento definido pelo servidor.
TIos do Irocossnmonfo InrnIoIo 4/6
Processamento paralelo com cluster de workstation
Conjunto de computadores completos (com teclado, monitor,
mouse), conectados em rede, e que cumprem duas funes:
o uso dirio, com diversos tipos de programas como
processadores de texto e planilhas,
o uso para processamento paralelo pesado no final do dia e/ou
nos fins de semana. nos fins de semana.
Requisitos: As mquinas devem ser completas e independentes.
Requer o uso de uma biblioteca de troca de mensagens como PVM
ou MPI.
Vantagens: Possibilita o uso das mquinas por diferentes usurios
para realizao de suas tarefas rotineiras.
Desvantagens: Como vrios usurios esto utilizando os
processadores para outras tarefas, o desempenho do sistema
reduzido. Na prtica reduz o uso do cluster ao final do dia e nos
fins de semana. Tem um custo maior por mquina e mais
problemas com a manuteno do sistema.
TIos do Irocossnmonfo InrnIoIo 5/6
Processamento paralelo em um cluster com MOSIX
Adendo ao kernel do GNU/LINUX que adiciona ao mesmo
capacidades de computao com cluster.
Possibilitando que as estaes do cluster, baseadas em
X86/Pentium/AMD, trabalhem de forma cooperativa, como sendo
um nico sistema.
A migrao dos processos entre as vrias mquinas do cluster A migrao dos processos entre as vrias mquinas do cluster
automtica. Isso permite que programas antigos funcionem num
ambiente de cluster com pouqussimas alteraes.
Caractersticas do MOSIX:
Balanceamento dinmico e inteligente de carga,
uso com cluster heterogneo,
transparncia,
escabilidade,
descentralizao e
autonomia dos ns.
TIos do Irocossnmonfo InrnIoIo 6/6
Processamento paralelo em um cluster com MOSIX
Requisitos: Requer a recompilao do kernel com a incluso do
Mosix ou instalao de kernel em pacote (como os pacotes rpm do
GNU/Linux/RedHat). O site do Mosix apresenta informaes
detalhadas de como instalar o Mosix. Uso do OpenMOSIX.
Vantagens: O trabalho de programao reduzido, exigindo
apenas a implementao dos mecanismos de troca de mensagens
entre os diferentes processos. Otimizao do uso das mquinas
do cluster com a migrao automtica dos processos.
Desvantagens: Exige a recompilao do kernel.
www.mosix.org
IIbIIofocns do dosonvoIvImonfo
Os programas podem ser desenvolvidos utilizando-se:
processos,
threads, ou
sistemas de troca de mensagens PVM, MPI.
Os dois grandes padres para troca de mensagens em Os dois grandes padres para troca de mensagens em
clusters, so:
Paralel Virtual Machine (PVM) e
Message Passing Interface (MPI).
O PVM o padro mais antigo, realmente o nome de uma
biblioteca.
O MPI a novidade na rea, um padro com vrias
implementaes criadas principalmente por universidades e
algumas suportadas comercialmente por empresas
Irocossos l/2
Computadores com sistemas operacionais multi-tarefa
disponibilizam um conjunto de funes para diviso e
compartilhamento do processador e da memria.
Estes sistemas costumam disponibilizar
Chamadas ao kernel que possibilitam a criao de Chamadas ao kernel que possibilitam a criao de
mltiplos processos.
Se a mquina tem mais de um processador, o sistema
operacional distribui os processos pelos processadores.
No GNU/Linux e nas variantes do Unix, um processo pode
ser clonado com a funo fork(). A comunicao entre os
processos feita de forma simplificada com o uso de pipes.
Irocossos 2/2
Requisitos: Requer o aprendizado do uso das instrues fork
(para clonar processos) e pipe (para comunicao entre os
processos).
Vantagens: Pode ser utilizado com Mosix, no sendo
necessrio acrescentar mecanismos de distribuio dos necessrio acrescentar mecanismos de distribuio dos
processos.
Desvantagens: O Mosix s disponvel na plataforma
GNU/LINUX.
Thronds l/2
Threads so mltiplos caminhos de execuo que rodam
concorrentemente na memria compartilhada e que
compartilham os mesmos recursos e sinais do processo
pai.
Uma thread um processo simplificado, mais leve ou Uma thread um processo simplificado, mais leve ou
light, custa pouco para o sistema operacional, sendo fcil
de criar, manter e gerenciar.
O padro de implementao de threads o POSIX 1003.1c
threads standard.
Thronds 2/2
Requisitos: Requer o conhecimento da biblioteca de
programao com threads (tambm conhecida como
PThreads).
Vantagens: Em poucas palavras o pacote definitivo para o
desenvolvimento de programao em larga escala no Linux. desenvolvimento de programao em larga escala no Linux.
Relativamente fcil de programar. O GNU/Linux tem total
suporte ao Pthreads.
Desvantagens: No pode ser utilizado com MOSIX.
Um processo possui rea de dados prpria, enquanto thread no. Isso significa
que cada processo tem a sua prpria rea de dados, em geral, inacessvel aos
outros, enquanto que threads compartilham uma mesma rea de dados. difcil
visualizar exatamente o que significa sem conhecer aspectos internos do SO e
sem ter conhecimento avanado em programao.
IVM (InrnIIoI VIrfunI MnchIno) l/2
a biblioteca mais utilizada para processamento
distribudo. o padro de fato da indstria de software.
O PVM se baseia em duas primitivas bsicas:
envie mensagem e
receba mensagem.
de fcil utilizao, mas no to poderoso quando de fcil utilizao, mas no to poderoso quando
comparado com o MPI.
O usurio deve configurar as mquinas para que sejam o
mais idnticas possvel, facilitando a manuteno e
estabelecendo uma relao de confiana entre elas.
Uso de SSH (alternativa ao Telnet, mais recente que RSH,
possui criptografia RSA) para acessar mquinas. O usurio
roda o gerenciador do PVM, adiciona mquinas ao cluster e
depois simplesmente executa o programa feito usando as
bibliotecas PVM.
IVM (InrnIIoI VIrfunI MnchIno) 2/2
Requisitos: Para o desenvolvimento dos programas
necessrio conhecer a biblioteca PVM. um sistema
explicito, ou seja, cabe ao programador dividir as tarefas
atravs da troca de mensagens.
Vantagens: Possibilita o uso do processamento distribudo. Vantagens: Possibilita o uso do processamento distribudo.
o mais utilizado. Alguns programas de engenharia e
matemtica geram cdigo automaticamente para o PVM.
Desvantagens: No mais o padro. O desenvolvimento
dos programas fica bem mais complicado quando
comparado com threads.
MII (Mossngo InssIng Inforfnco) l/2
um mtodo que inclui conceitos novos como rank (cada
processo tem uma identificao nica, crescente), group
(conjunto ordenado de processos) e communicator (uma
coleo de grupos), que permitem um gerenciamento mais
complexo (e inteligente) do uso de cada mquina do cluster.
O MPI tem opes mais avanadas (que o PVM), como O MPI tem opes mais avanadas (que o PVM), como
envio de mensagens broadcast (para todas as mquinas do
cluster) e multicast (para um grupo especfico de mquinas),
assim como um melhor controle sobre o tratamento que cada
mensagem ter ao ser recebida por outro ponto do cluster.
A configurao do MPI depende da implementao utilizada e
algumas delas chegam a instalar front-ends para
compiladores em C e Fortran, mas a forma geral de uso
semelhante.
MII (Mossngo InssIng Inforfnco) 2/2
Requisitos: Requer o conhecimento de um sistema bastante
complexo de troca de mensagens, o MPI. um mtodo
explicito.
Vantagens: o novo padro para processamento distribudo,
embora ainda seja menos utilizado que o PVM. embora ainda seja menos utilizado que o PVM.
Desvantagens: Na prtica significa aprender uma nova
linguagem de programao. um padro da indstria com
vrias implementaes individuais. complicado.
IoowuIf - Irojofo InIcInI
Em 1994, junto com a Cesdis (Center of Excellence in Space Data and Information
Sciences), uma diviso da NASA tinha a necessidade de obter uma mquina com poder
de processamento em torno de um gigaflop a fim de resolver problemas relacionados
a grandes clculos seqenciais de dados em aplicaes de ESS (Earth and Space
Sciences ou Cincias da Terra e do Espao), o que resultaria em clculos de um bilho
de operaes em ponto flutuante por segundo. Uma mquina MPP com esse poder
computacional na poca girava em torno de um milho de dlares, o que era
considerado algo muito caro para um grupo restrito de pesquisadores. Foi ento
montado o projeto de um cluster com 16 PCs 486 DX4, Sistema Operacional Linux, e montado o projeto de um cluster com 16 PCs 486 DX4, Sistema Operacional Linux, e
um fato importante foi o uso de Ethernet 10Mbit/s. Os processadores eram
relativamente rpidos para um nico Ethernet, e os switches do Ethernet eram ainda
muito caros. Para balancear o sistema, Donald Becker reescreveu seus drivers do
Ethernet para Linux e construiu um Ethernet ligado a uma espcie de "channel bonded",
em que o trfego da rede fosse realizado por meio de dois ou mais Ethernets. Na poca
o Fast Ethernet e os Switches eram inviveis em funo do custo. Com isso conseguiu-
se uma grande capacidade de processamento a um custo relativamente baixo. Uma
soluo cots-effective aos computadores de alta performance. Esse cluster atingiu a
marca de 70 megaflops, com um custo final do projeto de U$ 40.000,00, o que
representou 10% do preo de uma mquina MPP com processamento equivalente em
1994. O sucesso do projeto se proliferou rapidamente no meio cientfico e
acadmico.
(1993 Donald Becker e Thomas Sterling)
O nomo IoowuIf
O nome Beowulf foi inspirado originalmente por um
popular heri escandinavo, como referncia a um
poema pico medieval sobre a batalha entre um
bravo guerreiro com um monstro do fundo do
mar chamado Grendel. Uma histria similar mar chamado Grendel. Uma histria similar
quela de Davi e Golias, em que o simples
triunfa perante todas as probabilidades.
Atualmente todos os projetos de clusters que se
espelham estrutura do original so chamados
"computadores de um conjunto de classe Beowulf".
Os clusters de Beowulf so reconhecidos agora
como o genrico dentro da comunidade de HPC
(High Performance Computing) [Thomas Sterling]
IxomIo
Colaborao para desenvolvimento do Linux.
www.beowulf.org
Por ser um cluster de alto desempenho, baixo custo, e
com ndice alto de aproveitamento, sua rea de
aplicao se expande rapidamente, sendo aplicada aplicao se expande rapidamente, sendo aplicada
inclusive produo de filmes.
Um exemplo o filme Titanic, no qual foi montado um
cluster com 105 mquinas comuns e Sistema
Operacional Linux, utilizado para renderizar os
clculos das cenas, e isso a um custo 40% menor do
que poderia apresentar uma soluo de um computador
de alta performance para realizar o mesmo servio.
O CIusfor
Construo baseada em computadores de uso
geral (desktops, inclusive obsoletos);
Uso do Linux como sistema operacional;
Utilizao de bibliotecas de livre distribuio
para troca de mensagens (PVM e MPI) para troca de mensagens (PVM e MPI)
Existe um servidor responsvel por controlar
todo o Cluster, principalmente quanto a
distribuio de tarefas e processamento (pode
haver mais de um servidor, dedicado a tarefas
especficas, como monitorao de falhas). Este
servidor chamado de front-end, ou n mestre.
O CIusfor
Os Clusters Beowulf so formados
Por vrios computadores normais interligados em rede.
No necessrio nenhum hardware sofisticado,
Sistema de baixo custo, que possa ser utilizado por
universidades e pesquisadores com poucos recursos.
Estes clusters Estes clusters
no servem para processar dados em tempo real (um
game qualquer por exemplo),
mas apenas para processar grandes quantidades de
dados, que podem ser quebrados em pequenas partes e
divididos entre os vrios computadores.
aplicao de efeitos especiais e renderizao de imagens
para filmes de cinema. (Morimoto, 2003)
O CIusfor
Antes tinham o cluster of workstations (COW) e o network of
workststions (NOW), Beowulf foi criado usando o paradigma
mais recente de Pile-of-PCs (PoPC) - pilhas de PCs
enfatizando:
uso de componentes disponveis no mercado;
uma rede uma rede
nenhum componente feito sob encomenda, de modo a
facilitar a replicao;
E/S escalvel;
uma base de software disponvel livremente e
uso de ferramentas de computao distribuda,
disponveis livremente com alteraes mnimas;
Topologia MIMD e loosed coupled
Vnnfngons
Nenhum fornecedor possui os direitos sobre o produto.
Sistemas podem ser construdos usando componentes de
diversas origens, graas ao uso de interfaces padro, tais
como IDE, PCI e SCSI.
Pode-se tomar vantagem das rpidas evolues
tecnolgicas, permitindo adquirir sistemas mais recentes, tecnolgicas, permitindo adquirir sistemas mais recentes,
melhores, a menores preos, capazes de continuar rodando o
mesmo software. Os primeiros sistemas construdos
baseavam-se no processador 80486DX4-100 enquanto os
mais recentes usam Pentium III/IV ou Athlon.
Sistemas podem ser montados e modificados ao longo do
tempo, de acordo com as necessidades e recursos (inclusive
financeiros) do usurio, sem depender de configuraes
disponveis de um vendedor.
Cada n pode ser um sistema completo.
Inforos dn ConsoIIdno do IoowuIf
Praticidade oferecida pela indstria que fornece agora
subsistemas inteiramente montados e de fcil manuseio
(microprocessadores, motherboards, discos e placas de relao da
rede), visto que esses componentes esto cada vez mais
disponveis no mercado.
Disponibilidade de software com cdigo fonte aberto,
particularmente o sistema Linux,
compiladores do GNU,
ferramentas de programao e
bibliotecas MPI e de PVM de passagem de mensagens entre
nodos,
que facilitam a criao de recursos para computao paralela.
Aumento gradativo da necessidade de desempenho elevado de
processamento.
Inforos dn ConsoIIdno do IoowuIf
Desempenho elevado e semelhante aos MPPs, a um custo final
mais acessvel.
Facilidade na realizao de manutenes, para as quais pode-se
utilizar ferramentas via login remoto (telnet ou ssh).
Total independncia de qualquer tipo de fornecedor, tanto de
software quanto de hardware. software quanto de hardware.
Facilidade na administrao e soluo de problemas de nodos. Se
houver um problema com um nodo do cluster, no necessria a
manuteno deste para retornar ao trabalho.
Acessvel a qualquer pessoa, inclusive em casa. Pode ser usado
para estudos em programao paralela, com a vantagem de ter
baixo custo.
O Sistema Operacional totalmente gratuito, podendo ser feito o
download da internet.
ArquIfofurn IoowuIf
Servidor:
Administrao e distribuio das tarefas
Interface com exterior
Responsvel pela segurana
Chamado front-end
Normalmente apenas um, mas em grandes clusters pode ser mais de um.
nica mquina do cluster com perifricos nica mquina do cluster com perifricos
Cliente
Ns restantes
Configurados e controlados pelo servidor.
Normalmente sem teclados e mouse (s vezes sem disco rgido)
No podem ser acessados pela rede externa
Login remoto a partir do servidor
Responsveis pelo processamento dos dados
Rede dedicada
Interliga ns
Normalmente Ethernet
ArquIfofurn
Servidor (mestre /
front-end)
Rede
Distribuir e controlar tarefas
Acesso Externo
Linux
Perifricos
PVM e MPI
Switch - Ethernet
Cliente Cliente Cliente
Processar quantidade de dados
Linux
PVM e MPI
Sem perifricos e sem acesso rede externa
IuncIonnmonfo
Teoricamente o funcionamento muito simples.
A tarefa separada em partes independentes, distribudas nos vrios
nodos que esto na estrutura do cluster, nos quais as informaes so
processadas, realizadas pela mquina que designada como front-end do
sistema (mestre-escravo).
Esse tipo de cluster parece maravilhoso, mas existe um pequeno detalhe que
os tornam pouco teis em situaes que no necessitam de tanto poder os tornam pouco teis em situaes que no necessitam de tanto poder
computacional, pois at possvel processar um numero fabuloso de dados,
mas somente ao utilizar aplicativos desenvolvidos com suporte
arquitetura.
Constitudo de vrios ns escravos (back end) controlados por um
computador principal (front end), ao qual se tem acesso direto, ligados por
uma rede Fast Ethernet.
O front end o responsvel pela distribuio das tarefas e os escravos
limitam-se a processar os clculos que lhes so enviados.
O MOSIX eficiente na tarefa de distribuio dinmica de
processamento entre os computadores do Cluster.
IuncIonnmonfo
Servidor (mestre /
front-end)
Rede
Tarefas
Distribui as tarefas
Uso de Sockets
UDP entre daemons
TCP daemons e tarefas
Cliente Cliente Cliente
Processam partes das tarefas e
Retornam para servidor
TCP daemons e tarefas
IuncIonnmonfo
Aplicativos para esta arquitetura no um grande problema para as
universidades e/ou grandes estdios, que em sua maioria cuidam
internamente do desenvolvimento de seus programas para obter melhor
desempenho em seu cluster.
Geralmente, para desenvolver um programa, precisa ser adotada alguma
biblioteca exclusiva a fim de fazer a passagem de mensagens, todavia isso
no impede que os programadores desfrutem de sockets diretamente
(entre daemons e tarefas), mas no existe motivo para complicar o
desenvolvimento do programa em relao a uma mincia de programao de
baixo nvel. Ento o uso de uma biblioteca pelo programador permite que ele
se preocupe somente com os algoritmos de envio de mensagem e no com
caractersticas mais especficas (como a mensagem ser enviada).
Os dois padres de biblioteca mais usados para fazer a passagem de
mensagens so o Parallel Virtual Machine (PVM) e o Message Passing
Interface (MPI). Ambos existem h anos, porm o PVM um padro mais
antigo do que o MPI, este mais recente e torna-se cada dia mais usual.
AIIcnos
Servidores Web de alto-desempenho um cluster pode balancear a carga e aumentar
a capacidade de resposta, quando o sistema estiver sob intensa utilizao;
Base de Dados Reduzir tempo de resposta
Aplicaes com inteligncia artificial e automao rea que utiliza algoritmos que
ocupam os recursos do sistema de uma forma intensiva e exponencial em relao
dimenso do problema como reconhecimento de padres, redes neurais e mquinas de
inferncia;
Engenharia Gentica atravs do sequenciamento de DNA; Engenharia Gentica atravs do sequenciamento de DNA;
Computao Grfica Diminuir o tempo de renderizao de imagens;
Analise de Elementos Finitos clculo de estruturas, navios, avies e veculos
espaciais;
Explorao Ssmica possibilidade de analisar grande conjunto dados gerados por
levantamentos sismolgicos e mapeamento de satlite;
Problemas de pesquisa bsica em qumica, fsica e engenharia, tais como mecnica
quntica, estatstica, qumica de polmeros, crescimento de cristais, dinmica molecular,
distribuies de conexes em circuitos VLSI entre outros;
Pesquisas militares projetos de novas armas, simulao dos efeitos causados por
novas armas, processamento de sinais de radares para comando de msseis
antibalsticos e gerao automtica de mapas;
Hnrdwnro o Soffwnro
Hardware, 2 tipos
Ns e Rede
Placa-me (por n)
Centro das conexes do computador
Caractersiticas so determinadas no chipset.
Usar chipset com controle de temperatura
Chipset dividido em 2 canais:
North Bridge = controla barramento de vdeo
South Bridge = controla dispositivos E/S
CPU (por n)
Processadores CISC (muitas instrues)
Clock Speed: velocidade que executa instrues (MHz)
Cache: armazena dados comumente utilizados pelo ncleo de
operaes. L1 (rea menor para dados e outra para instrues). L2
(maior rea de armazenamento)
FSB (Front Side Bus): onde instrues passam antes de chegar ao
L2. Taxa de 333 MHz e largura de banda do barramento 64 bits,
possui bus bandwidth (banda passante) = 333 x 64.
Hnrdwnro o Soffwnro
Hardware, 2 tipos
Sistema de memria (por n)
Armazena instrues do SO e programas.
Quanto mais, melhor.
Disco rgido (por n)
Maior capacidade de armazenamento
Tempo mdio de acesso: tempo para Tempo mdio de acesso: tempo para
encontrar um byte
Velocidade de transferncia: Fast SCSI
(10 MB/s), Ultra SCSI (20), Ultra2
SCSI(40)
Equipamentos de rede
Roteador: examina endereo da
mensagem e v para onde vai
Switch
Placa-rede por n (n-mestre, se for
acessado por fora (LAN / Internet), deve
ter 2 placas de rede)
Gabinetes: Escolher um bom, com espao.
ArquIfofurn
Servidor (mestre /
front-end)
Rede
Placa-me / Processador
Chipset (controle de temperatura)
Memria
HD
Placa de Rede (2 se tiver acesso externo)
Acesso externo
(LAN / Internet)
Cliente Cliente Cliente
N bsico (normal)
Placa-me / Processador
Chipset (controle de temperatura)
Memria
HD
Placa de Rede
Diskless
Placa-me / Processador
Chipset (controle de temperatura)
Memria
Placa de Rede
Hnrdwnro o Soffwnro
Escolha do rack para colocar ns (cabos escondidos e
equipamentos protegidos).
Podem ser usadas prateleiras.
Usar ar condicionado e ventilao no hack.
Monitorar temperatura das placas-me atravs de chipsets
Instalao eltrica e aterramento.
Uso de No-breaks e geradores.
Hnrdwnro o Soffwnro
Tecnologias de rede
Deve ter suporte para Linux;
Adaptadores de rede PCI com drivers para Linux;
Protocolos eficientes;
Deve ser escalonvel de forma a permitir o upgrade do equipamento ativo.
Tecnologias de Rede local com suporte para Linux:
Ethernet (10 Mbps);
Fast Ethernet (100Mbps);
Gigabit Ethernet (1Gbps);
Myrinet (1.2Gbps);
HIPPI (800 Mbps ou 1.6 Gbps);
Hnrdwnro o Soffwnro
Servidor (mestre /
front-end)
Rede
Suporte Linux
Ethernet, Fast Ethernet,
Giga Ethernet, Myrinet ou
Cliente Cliente Cliente
Giga Ethernet, Myrinet ou
HIPPI
Hnrdwnro o Soffwnro
Tecnologias de rede. preciso definir:
Informaes de rede (rede, mscara e IP de cada n);
Padronizao dos hostnames;
Domnio de rede;
Definir se o Cluster ter acesso rede local ou Internet
(neste ltimo caso, necessrio duas placas de redes (neste ltimo caso, necessrio duas placas de redes
para o n mestre)
Ex.: Cluster sem Internet.
N mestre N escravo
Hostname Fatec00
Endereo Rede 10.1.1.0
Mscara 255.255.255.0
IP 10.1.1.100
Domnio fatec.edu
Hostname Fatec01
Endereo Rede 10.1.1.0
Mscara 255.255.255.0
IP 10.1.1.101
Domnio fatec.edu
Hnrdwnro o Soffwnro
Servidor (mestre /
front-end)
Rede
Hostname Fatec00
Endereo Rede 10.1.1.0
Mscara 255.255.255.0
IP 10.1.1.100
Domnio fatec.edu
Cliente Cliente Cliente
Hostname Fatec01
Endereo Rede 10.1.1.0
Mscara 255.255.255.0
IP 10.1.1.101
Domnio fatec.edu
Hostname Fatec02
Endereo Rede 10.1.1.0
Mscara 255.255.255.0
IP 10.1.1.102
Domnio fatec.edu
Hostname FatecNN
Endereo Rede 10.1.1.0
Mscara 255.255.255.0
IP 10.1.1.NNN
Domnio fatec.edu
Hnrdwnro o Soffwnro
Hnrdwnro o Soffwnro
Software (Sistema Operacional Linux GNU)
Multitarefa real;
Memria virtual;
Modularizao - O Linux somente carrega para a memria o que
usado durante o processamento, liberando totalmente a memria
assim que o programa/dispositivo finalizado.
Suporte a diversos dispositivos e perifricos disponveis no Suporte a diversos dispositivos e perifricos disponveis no
mercado, tanto os novos como obsoletos.
Suporte a nomes extensos de arquivos e diretrios (255 caracteres).
Pode ser executado em arquiteturas diferentes (Intel, Macintosh, Alpha,
Arm, etc).
Suporte a verso do Kernel 2.4, no mnimo;
Biblioteca compartilhada;
gerenciamento de memria prprio;
Suporte a diversos sistemas de arquivos: ext2, ext3, jfs, Xfs e
Reiserfs.
Hnrdwnro o Soffwnro
Sistema de arquivos
Ext2 padro do Linux desde o incio
fsck vasculha disco em busca de erros depois dos
desligamentos incorretos
Pastas e arquivos na maioria das vezes eram perdidos
Este perigo foi minimizado pelo journaling mantm log
com as mudanas, restaurando consistncias ao ser
religado.
Presente no ext3, ReiserFS e JFS.
Hnrdwnro o Soffwnro
Sistema de arquivos EXT3
uma alternativa para usurios do sistema de
arquivos ext2 que desejam obter as vantagens do
journaling
Permite a converso entre os sistemas de arquivos ext2
e ext3 sem a necessidade de reformatao e ext3 sem a necessidade de reformatao
Desde a verso 2.4 encontra-se disponvel como parte
integrante do kernel do sistema operacional Linux
Presente desde Conectiva 8.0, RedHat 7.2 e Mandrake
8.0
Muito utilizado!!!
Hnrdwnro o Soffwnro
Sistema de arquivos ReiserFS
Projetado por Hans Reiser, tem a grande vantagem de
ser o primeiro sistema de arquivos baseado em
journaling a ser includo como parte integrante do
kernel do Linux
Ainda no oferece suporte a quotas para usurios e
grupos
Permite arquivos com at 2 GB de tamanho
Possui otimizaes para trabalhar com arquivos
pequenos, reduzindo a fragmentao
Conectiva (desde a v6.0), RedHat 7.1, SuSe Linux 7.0 e
Mandrake 8.0
Hnrdwnro o Soffwnro
Sistema de arquivos XFS
Criado em 1994 pela SGI para substituir outro sistema de
arquivos (EFS), tornou-se disponvel para Linux em
Jul/2001 pela licena GPL
Projetado especialmente para trabalhar com arquivos
grandes (petabytes) e diretrios com vrios arquivos grandes (petabytes) e diretrios com vrios arquivos
Pode trabalhar com tamanho de bloco variando de 512
bytes at 64 KB
Oferece suporte a quotas para usurios e grupos
RedHat 7.1 e Mandrake 8.0
O suporte a ele ainda no parte integrante do
kernel do Linux, mas pode ser adicionado com a
aplicao de Patches
Hnrdwnro o Soffwnro
Sistema de arquivos JFS
Criado pela IBM para uso em servidores corporativos
Permite o emprego de blocos com tamanho de
512,1024,2048 e 4096 bytes
Para um tamanho de bloco de 512 bytes, o tamanho Para um tamanho de bloco de 512 bytes, o tamanho
mximo de um arquivo de 512 Tb
Para um tamanho de bloco de 4KB, o tamanho
mximo de um arquivo de 4 petabytes
Incorporado na v2.5.6 do kernel para o sistema
operacional Linux
O suporte a ele ainda no parte integrante do
kernel do Linux, mas pode ser adicionado com a
aplicao de Patches
Hnrdwnro o Soffwnro
Servidor (mestre /
front-end)
Rede
Linux kernel 2.4 no mnimo
Sistema arquivo: EXT3 ou Reiser
Cliente Cliente Cliente
Linux kernel 2.4 no mnimo
Sistema arquivo: EXT3 ou Reiser
Hnrdwnro o Soffwnro
Biblioteca de passagem PVM
Parallel Virtual Machine
O conjunto de ns que constitui a mquina
virtual escolhido pelo usurio;
O modelo de mensagens explcito O modelo de mensagens explcito
Permite heterogeneidade, seja de
arquitetura, formato de dados, velocidade de
computao, carga do processador e da rede.
Hnrdwnro o Soffwnro
Biblioteca de passagem PVM
O sistema PVM divide-se em:
Um daemon (pvmd) colocado em todos os ns do
cluster (prov deteco de falhas, e roteamento de
mensagens)
Uma biblioteca de funes Uma biblioteca de funes utilizadas pelas
aplicaes (libpvm ou libfpvm) que podem ser
utilizadas pelos usurios (codificar, enviar e receber
mensagens, criao e eliminao de processos,
sincronizao de tarefas por barreiras e modificaes
na mquina virtual)
Console: Interface entre usurio e sistema
Aplicao: programa do usurio
Hnrdwnro o Soffwnro
Biblioteca de passagem PVM
Suporta heterogeneidade em trs nveis:
Aplicao: Sub-tarefas podem explorar a arquitetura
que melhor se adapte ao seu problema.
Mquina: Computadores com diferentes formatos de Mquina: Computadores com diferentes formatos de
dados, arquiteturas e sistemas operacionais.
Redes: Diferentes tipos de redes (Ethernet, Token Ring,
etc).
Hnrdwnro o Soffwnro
Biblioteca de passagem PVM
As subrotinas da biblioteca PVM podem ser divididas,
basicamente, em 5 classes:
troca de mensagens
controle de tarefas
biblioteca de grupo biblioteca de grupo
controle da mquina virtual
funes diversas
Quando a transmisso for entre arquiteturas diferentes,
feita uma converso dos dados pelo formato XDR (eXternal
Data Representation) automaticamente conforme RFC 1832.
Hnrdwnro o Soffwnro
Biblioteca de passagem PVM
O PVM utiliza os seguintes mecanismos de comunicao
entre processos:
Sockets UDP para comunicao entre os daemons. O
protocolo de transporte UDP oferece um servio de mensagens
no confivel pelo que esta tem de ser garantida ao nvel da no confivel pelo que esta tem de ser garantida ao nvel da
camada protocolar constituda pelo PVM. O TCP no
utilizado devido ao elevado nmero de conexes que seria
necessrio estabelecer entre os diversos ns
Sockets TCP para comunicao entre tarefas e entre um
daemon e uma tarefa, que oferecem um servio stream
oriented confivel.
OBS.: O XPVM uma interface grfica para ambiente X-
Windows que permite monitorizar o desempenho e debug ao
nvel das chamadas do PVM.
Hnrdwnro o Soffwnro
Biblioteca de passagem PVM
A criao da mquina virtual pode ser feita de duas
maneiras, atravs de qualquer programa escrito pelo
usurio ou pelo console PVM, executado pelo
programa pvm, includo na distribuio PVM.
Console PVM
Algumas tarefas comuns de gerenciamento possveis
de serem executadas a partir do console PVM:
Acrescentar e remover mquinas na MV
Iniciar e encerrar tarefas em mquinas que fazem
parte da MV
Listar parte ou todas as tarefas da MV
Enviar sinais paras tarefas
Hnrdwnro o Soffwnro
Comandos PVM (PDF)
conf - Comando que permite visualizar as mquinas que foram
inicializadas com comando pvmd3
quit - Comando que cancela o console do PVM sem cancelar
os processos ativos os processos ativos
halt - Comando que cancela o console do PVM, juntamente
com todos os daemons pvmd3, cancelando a execuo do
programa
add - Comando que possibilita adicionar um ou mais processadores
configurao atual
delete - Comando que possibilita eliminar um ou mais processadores
da configurao atual
spawn - Comando que possibilita executar um programa a partir do
console
Hnrdwnro o Soffwnro
Servidor (mestre /
front-end)
Rede
Daemon pvm
Libpvm
Console
Aplicao
Cliente Cliente Cliente
Daemon pvm
Libpvm
Aplicao Cliente
Hnrdwnro o Soffwnro
Comandos PVM - http://www.csm.ornl.gov/pvm/pvm_home.html
Rodar PVM3. no shell, digitar pvm
Criar arquivo de mquinas (nomes das mquinas)
Ex.: vi arquivo_de_mquinas
alfa.fatec.br ou add alfa
beta.fatec.br ou add beta
Compilar programa
cc -o prog_exe prog_font.c cc -o prog_exe prog_font.c
Executar programa
Carregar hosts (MV): pvmd arquivo_de_mquinas & ou pvmd hosts &
chama daemon pvmd e executa em background &
Carregar programa: nome_do_programa_compilado
Uso do pvm_myitd para identificar processos.
Criar processos escravos (pvm_spawn)
Estabelecer buffer (pvm_initsend)
Empacotar dados (pvm_pkbyte, pvm_pkfloat, etc, pvm_pack coloca dados no buffer)
Enviar as mensagens (pvm_send)
Chama rotina de recebimento (pvm_recv)
Desempacotar dados (pvm_unpack)
Fim da execuo
Halt pra pvmds
Quando houver problemas (gravados em /tmp/pvm*.)
id -u (Obtm cdigo do sistema) e depois digitar o nmero do id.

Anda mungkin juga menyukai