Vous êtes sur la page 1sur 37

Estado da Arte da Computao em Clusters GNU/Linux

Marcos Pitanga

Clusters o incio NORAD


North American Air Defense

SAGE - 1962
Semi-Automatic Ground Environment

Histrico da Supercomputao

O que um Cluster?

uma arquitetura que compreende dois ou mais computadores que trabalham em conjunto para executar aplicaes ou realizar outras tarefas, de tal forma para que os usurios que os utilizam tenham a impresso que somente um nico sistema responde para eles.

Porqu usar um cluster? diminuir o tempo de execuo de um determinado programa; distribuir a carga entre vrios computadores; garantir que seu servio esteja no ar.
Existem vrias tcnicas diferentes de cluster, cada uma com um objetivo diferente

Viso em camadas

Tipos de Clusters
* Alta Performance de Computao

Beowulf, programao paralela...

openMosix

* Web Service

LVS/Piranha, LB em conexes TCP, Dados Replicados GFS, PVFS, mesma viso dos dados a todos os ns Heartbeat, drbd, Lifekeeper

* Storage Clusters

* Alta Disponibilidade

Porqu o GNU/Linux?

gratuito Cdigo Aberto Multitarefa, Multiusurio Conectividade com vrias plataformas Protocolo TCP/IP nativo Servidores de rede gratuitos: web, ftp, firewall, tftp, dns, etc... No requer licenas de uso No precisa de uma mquina potente para funcionar....

Vantagens Clusters GNU/Linux


* Desempenho * Custo * PoPCs (Pile of Pcs) * COTS (Commodity Off-The-Shelf) - Componentes de fcil disponibilidade - Fcil manuteno - Independncia de fornecedores de hardware - Hardware reutilizvel - Sistema Operacional de Cdigo Aberto - Escalabilidade

Beowulf - cluster de processamento O principal objetivo de um cluster beowulf aumentar o poder computacional e diminuir o tempo de execuo de programas, distribuindo trechos do processamento pelos vrios ns. Muito utilizado em laboratrios que necessitam fazer uma grande quantidade de clculos numricos.

Beowulf

Nenhum componente feito sob encomenda;

Independncia de fornecedores de hardware e software;

Perifricos escalveis;
Software livre de cdigo aberto;

Uso de ferramentas de computao distribuda disponvel livremente com alteraes mnima;

Rank

Site Country/Year
Earth Simulator Center Japan/2002 Los Alamos National Laboratory United States/2002 Virginia Tech United States/2003 NCSA United States/2003 Pacific Northwest National Laboratory United States/2003 Los Alamos National Laboratory United States/2003 Lawrence Livermore National Laboratory United States/2002 Lawrence Livermore National Laboratory United States/2000 NERSC/LBNL United States/2002 Lawrence Livermore National Laboratory United States/2003

Computer / Processors Manufacturer Earth-Simulator / 5120 NEC ASCI Q AlphaServer SC45, 1.25 GHz / 8192 HP X 1100 Dual 2.0 GHz Apple G5/Mellanox Infiniband 4X/Cisco GigE / 2200 Self-made Tungsten PowerEdge 1750, P4 Xeon 3.06 GHz, Myrinet / 2500 Dell Mpp2 Integrity rx2600 Itanium2 1.5 GHz, Quadrics / 1936 HP Lightning Opteron 2 GHz, Myrinet / 2816 Linux Networx MCR Linux Cluster Xeon 2.4 GHz Quadrics / 2304 Linux Networx/Quadrics ASCI White, SP Power3 375 MHz / 8192 IBM Seaborg SP Power3 375 MHz 16 way / 6656 IBM xSeries Cluster Xeon 2.4 GHz Quadrics / 1920 IBM/Quadrics

Rmax Rpeak

35860 40960

13880 20480

10280 17600

9819 15300

8633 11616

8051 11264

7634 11060

7304 12288

7304 9984

10

6586 9216

Hello World Seqencial


#include <stdio.h>
main() { printf(Hello World); return 0; }

Hello Wold Paralelizado


# include "mpi.h #Include <stdio.h>

int main(int argc,char *argv[]) {


int meu_id, numero_processos; // Rotinas de inicializao

MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&numero_processos); MPI_Comm_rank(MPI_COMM_WORLD,&meu_id);

fprintf(stdout,Ol mundo! Sou o processo %i de %i criados, meu_id, numero_processos);


// Rotinas de finalizao MPI_Finalize(); return 0; }

- cluster de migrao de processos No OpenMosix, o principal objetivo distribuir tarefas entre vrios servidores, sem a necessidade de programao especial. Os processos migram naturalmente de uma mquina para outra, procura de um melhor desempenho. Muito interessante para ser utilizado em servidores carregados, para distribuir a carga.

openMosix

Cluster SMP em Rede Fork and Forget Migrao Preemptiva de Processos Balanceamento Dinmico de Carga MFS + DFSA

Aplicaes Paralelas

Cluster Alta-Disponibilidade
alguns servios no podem parar.
todo equipamento um dia pra.

os equipamentos que no podem parar tambm param.

Alguns Nmeros...
Um equipamento comum, possui uma disponibilidade 99% a 99,99% dependendo da sua qualidade...
com 99,9% de disponibilidade, o equipamento fica fora do ar 8 horas por ano.

Com 99,99% ele fica fora do ar 53 minutos em um ano


Com 99,999% a ele fica indisponvel apenas 5 minutos por ano.

Uma situao real

Situao real 2

Os arquivos
drbd Muitas alteraes, necessidade de integridade total dos dados. Um bom exemplo: Banco de Dados
rsync Muitas alteraes pequenas, pode sofrer pequenas perdas. Normalmente repositrios de arquivos de usurio se encaixam nessa definio. scp Alteraes espordicas. Com pginas em um servidor web.

Sistema de Arquivos Distribudos NFS, openAFS, LUSTRE, Intermezzo, openGFS

O DRBD

Balanceamento de Carga
Escalonamento de processos Balanceamento de Carga Estabilidade no sistema Eficincia Alto desempenho

Balanceamento de Carga

Tecnologias de Redes

Fast Ethernet
Myrinet SCI Gigabit ATM FibreChannel etc...

Fast Ethernet

Myrinet
Full Duplex 2 + 2 Gbps Baixa Latncia Cut-through e Crossbar Caminhos alternativos Interage com processos Host, fazendo bypass do SO, conversando diretamente com a rede Chip VLSI LANai Processador RISC Mem Local 128K para os pacotes SRAM 512K a 1Mb

SCI Scalable Coehrent Interface

Topologia Anel
Latncia 3us

Paradigma de Memria Distribuda Compartilhada


Fabricada pela Dolphin e Scali

Cluster Middleware
Single System Image (SSI) System Availability (SA)

Programando para clusters HPC


APIs ---> MPI, PVM Linguagens --> C, C++, Perl, Python, Fortran 77, 90, 95, High Performance Fortran, Cilk, Linda Cuidados na granularidade do problema Arquitetura homognea ou heterognea? Portabilidade Ferramentas de depurao

Programando para clusters HPC

Tendncias Grid Computing

Referncias
www.linux-ha.org

www.samag.com/articles/2001/0109/
www.linuxfocus.org/English/November 2000/article179.shtml www.linuxvirtualserver.org/

www.top500.org
www.beowulf.org www.openmosix.org

Marcos
Pitanga
pitanga@domain.com.br marcos_pitanga@ig.com.br

Vous aimerez peut-être aussi