Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação Arquiteturas paralelas e distribuídas Arquiteturas paralelas e distribuídas Cray T90 Cray SX6 Arquiteturas paralelas e distribuídas Multiprocessadores simétricos (SMP) Múltiplos processadores similares conectados entre si e à memória por um barramento ou alguma outra forma de circuito de conexão interno Compartilhamento total Sistema operacional controla tudo P/C P/C P/C P/C Barramento / Matriz de chaveamento MC MC MC Baixa escalabilidade – gargalo no barramento. Exemplos: IBM R50, SGI Power Challenge, SUN Ultra Enterprise 10000, HP/Convex Exemplar X-Class, DEC Alpha Server 8400 Arquiteturas paralelas e distribuídas HP Integrity rx8620-32 Server Intel Quad Xeon 7400 Server Arquiteturas paralelas e distribuídas Máquinas maciçamente paralelas (MPP) P/C P/C P/C M M M Rede de interconexão de baixa latência Rede de interconexão proprietária. Comunicação através de troca de mensagens. Exemplos: Intel Paragon, Connection Machine CM-5, IBM SP-2 Arquiteturas paralelas e distribuídas Intel Paragon IBM SP2 Connection Machine CM-5 Arquiteturas paralelas e distribuídas Blue Gene da IBM Arquiteturas paralelas e distribuídas Máquinas com memória compartilhada distribuída (DSM) P/C P/C P/C M M M Rede de interconexão de baixa latência NUMA / NORMA Os processadores podem acessar todas as memórias. (único espaço de endereçamento) DSM implementado em SW, HW ou misto. Exemplos: Stanford DASH, Cray T3D, estações de trabalho rodando TreadMarks Arquiteturas paralelas e distribuídas Cray T3D Clusters - Motivação Processamento de alto desempenho ⌐ milhares de aplicações ao mesmo tempo ⌐ tarefas paralelas Ao longo dos anos uso de arquiteturas massivamente paralelas (MPP) e de memória compartilhada (SMP) Custo elevado desses tipos de máquinas Computadores pessoais custo menor O que é cluster ? “Cluster é um sistema distribuído que consiste na coleção de computadores interconectados, usados como um sistema único” (Gregory F. Pfister – In search of cluster) Sistema de processamento de dados paralelo ou distribuído Agregar computadores pessoais Computadores conectados de forma cooperativa Visão de sistema único para usuários e aplicações Execução de aplicações específicas de uma organização Arquitetura de cluster Parallel Applications Parallel Applications Parallel Applications Sequential Applications Sequential Applications Sequential Applications Parallel Programming Environment Cluster Middleware (Single System Image and Availability Infrastructure) PC/Workstation PC/Workstation PC/Workstation PC/Workstation Communications Communications Communications Communications Software Software Software Software Network Interface Hardware Network Interface Hardware Network Interface Hardware Network Interface Hardware Cluster Interconnection Network/Switch Classificação dos clusters Limite geográfico Métricas para Utilização dos nodos classificação dos clusters Tipo de topologia -Pequena (sala, laboratório) -Média (departamento) -Grande (organização) -Dedicados -Não dedicados -NOW (Network of Workstations) -COW (Cluster of Workstations) -Clumps (Cluster de SMPs) Aplicações alvo -Alto desempenho -Alta disponibilidade Tipos de nós -Homogêneo -Heterogêneo Classificação dos clusters Limite geográfico: área de atuação do cluster Pequena (sala, laboratório) Média (departamento) Grande (organização) Classificação dos clusters Utilização dos nós: define quais políticas de gerenciamento, segurança, alta disponibilidade, qual tipo de middleware usar Dedicados Não dedicados Classificação dos clusters Tipo de topologia: qual hardware usar NOW (Network of Workstations): estações de trabalho normais COW (Cluster of Workstations): heterogêneas, usadas em aplicações específicas Clumps (Cluster de SMPs): composto por máquinas SMP NOW Redes de estações de trabalho (NOW) P/C P/C P/C M M M Rede padrão (Ethernet,ATM) Compartilhamento de recursos. Utiliza rede convencional. Exemplos: estações de trabalho interligadas por Ethernet NOW COW Máquinas agregadas (COW) P/C P/C P/C M M M Rede padrão ou de alto desempenho Aplicações paralelas, alta disponibilidade, balanceamento de carga. Pode utilizar rede convencional ou de alto desempenho. Otimizações em software. Exemplos: iCluster HP Labs (Grenoble), Primergy Server do PC2 (Paderborn), cluster Amazônia (CPAD-PUCRS/HP) Clusters Clusters Amazônia e Ombrófila CPAD-PUCRS/HP Clusters HP i-cluster Grenoble