VI Escola do CBPF Computação Distribuída de Alto Desempenho Marcelo Giovani Marcelo Portes Albuquerque Nilton Alves Jr. Coordenação de Atividades Técnicas – CAT/CBPF/MCT VI Escola do CBPF - 2006 1 G5 – Computação Distribuída de Alto Desempenho Aula 1. Redes de Computadores e Arquitetura de Processadores ••História, História, conceitos conceitos básicos básicos ee protocolos protocolos de de rede rede de de computadores computadores Distribuído, Cluster e Grid Aula 2. Processamento ••Endereçamento, Endereçamento,equipamentos equipamentoseefuncionamento. funcionamento. ••Conceitos básicos: paralelismo, concorrência, Conceitos básicos: paralelismo, concorrência, granularidade, granularidade, speedup eeeficiência, pipeline , ,classificação Flynn eficiência, pipeline classificação Flynn de •speedup de Aula 3. Linguagens de entre Programa ção •Comparações Comparações entre arquiteturas arquiteturas de computadores computadores de 32 32 ee 64 64 •bits: Topologias de comunicação, tipos de cluster, cluster Beowulf, Topologias de comunicação, tipos de cluster, cluster Beowulf, •••bits: História das Linguagens de Programação História das Linguagens de Programação computação em Globus emGrid, Grid,sistemas sistemas GlobuseeCondor Condor •computação Sete elementos básicos da programação estruturada • Sete elementos básicos da programação estruturada Aula 4. Laborat ó rio de Linguagem C/C++ •Filme: Warriors, Aeroporto, IMAX Discovery •Filme: Warriors, Aeroporto, IMAX Discovery ••Apresentação do de ApresentaçãoOrientada doCluster Clusteraatual atual de32bits 32bitseefuturo futurode de64bits 64bitsdo do ••Programação Objetos Programação Orientada a Objetos CBPF • Resolução do grau ••CBPF estruturada versus objeto Resolução deequação equação dosegundo segundo grau Aula 5. Laborat óriode Biblioteca MPI •Programação Programação estruturada versusorientação orientação objeto ••Linguagens Linguagensde deprogramação programação paralela paralelaMPI, MPI,CHARM CHARM •••Resolução de Integral Resolução dePCI-Express Integraldefinida: definida:11ee55processadores processadores •Filme: Filme:NEC, NEC, PCI-Express VI Escola do CBPF - 2006 2 VI Escola do CBPF Redes de Computadores Nilton Alves Jr. Alexandre Urtado de Assis CBPF/MCT, RedeRio/FAPERJ VI Escola do CBPF - 2006 3 Redes de Computadores compartilham serviços e trocam informa ções Que Conjunto de dispositivos interligados fisicamente Base de dados Impressora E-mail ICQ VI Escola do CBPF - 2006 4 Histórico Início da década de 60: Em 1969: Universidades desenvolvem sistemas de compartilhamento de recursos computacionais Interesse Militar através da criação da ARPANET Em 1977: Criação do modelo OSI (Open Systems Interconnection) pela ISO (International Organization for Standardization) para permitir a interoperabilidade entre as diversas plataformas. VI Escola do CBPF - 2006 5 O Modelo OSI Criação de um modelo de Referência Para interoperabilidade entre os diversos fabricantes Utilizava o método de “dividir para conquistar” Criava o conceito de camadas, onde: Cada camada utiliza os serviços oferecidos pela camada imediatamente inferior para implementar e oferecer os seus serviços à camada imediatamente superior Cada camada do dispositivo origem faz requisições para a mesma camada no dispositivo destino Cada camada se restringe a seus serviços, sem se preocupar com os serviços das demais VI Escola do CBPF - 2006 6 Modelo OSI – Camadas Camada 7 Aplicação Camada 6 Apresentação Camada 5 Seção Camada 4 Transporte Camada 3 Rede Camada 2 Enlace Camada 1 Física VI Escola do CBPF - 2006 7 Modelo OSI – Empacotamento VI Escola do CBPF - 2006 8 Camada 1 - Física Aplicação Apresentação Seção Transporte Rede Enlace Transmissão de bits através de um canal de comunicação Especifica as características do meio físico e da transmissão do sinal Conectores Pinagem Níveis de tensão Dimensões físicas Características mecânicas Características elétricas. Física VI Escola do CBPF - 2006 9 Camada 2 - Enlace Aplicação Apresentação Seção Transporte Rede Enlace Agrupa os bits recebidos no nível físico em quadros (frames) Tais quadros são delimitados Detecta e corrige possíveis erros ocorridos na transmissão Endereça equipamentos na rede (endereço MAC) Faz o controle de utilização do meio de comunicação Física VI Escola do CBPF - 2006 10 Camada 3 - Rede Aplicação Apresentação Seção Transporte Rede É responsável pelo roteamento de pacotes através da rede. O roteamento é baseado em um mecanismo de endereçamento global – IP, que identificam unicamente cada máquina. Implementa mecanismos de controle de congestionamento. Enlace Física VI Escola do CBPF - 2006 11 Camada 4 - Transporte Aplicação Apresentação Seção Transporte Rede Enlace Fornece comunicação fim a fim confiável Segmentação e remontagem de mensagens, protocolos TCP e UDP Implementa mecanismos de controle de fluxo fim a fim Implementa controle e recuperação de erro fim a fim Física VI Escola do CBPF - 2006 12 Camada 5 - Sessão Aplicação Apresentação Seção Transporte Rede Estabelece e encerra os enlaces de comunicação Prevê mecanismos de controle de diálogo entre os sistemas Implementa mecanismos de recuperação de falhas em caso de interrupções Enlace Física VI Escola do CBPF - 2006 13 Camada 6 - Apresentação Aplicação Apresentação Seção Transporte Compactação/descompactação de dados Criptografia Converte os dados em um formato de representação universal Rede Enlace Física VI Escola do CBPF - 2006 14 Camada 7 - Aplicação Aplicação Apresentação Seção Funciona como uma interface de ligação entre os processos de comunicação de rede e as aplicações utilizadas pelo usuário. Transporte Rede Enlace Física VI Escola do CBPF - 2006 15 O modelo TCP/IP Desenvolvido pelo Departamento de Defesa Americano (DARPA) Padrão prático Evolução da ARPANET Arquitetura baseada no conceito de interconexão de redes (inter-redes) VI Escola do CBPF - 2006 16 Camadas TCP/IP VI Escola do CBPF - 2006 17 Camadas do protocolo TCP/IP Aplicação: Camada mais alta Protocolos de aplicações clientes e servidores HTTP, FTP, SMTP, POP Transporte: Estabelece comunicações fim a fim Internet: com garantia de entrega (TCP) sem garantia de entrega (UDP). Endereçamento e roteamento de pacotes (IP) envio de mensagens de controle (ICMP) Resolução de endereços de hardware (ARP) Rede: Camada mais baixa de acesso ao meio físico Ethernet, ATM, Frame Relay, Token Ring VI Escola do CBPF - 2006 18 Endereçamento IP O IP - Internet Protocol define um endereço de identificação único para a Internet Endereçamento hierárquico dividido em duas partes: Network ID Host ID Network ID Host ID Parte comum a todas as estações de uma mesma rede VI Escola do CBPF - 2006 19 Endereçamento IP Cada equipamento dentro de uma rede precisa de um Host ID único. Endereço possuem 32 bits (4 bytes) 10011000 01010100 00110010 11010111 152 84 50 215 152.84.50.215 VI Escola do CBPF - 2006 20 Divisão dos endereços IP Os endereços IP foram divididos em 5 classe: A, B, C, D, E As classes se diferenciam pelos bits iniciais E pela quantidade de bits para NetworkID e HostID VI Escola do CBPF - 2006 21 Endereços Especiais Localhost: Endereço de rede: O endereço localhost ou loopback O endereço reservado 127.0.0.1 O endereço de rede é composto por todos os bits HostID iguais a 0. Ex.: 130.239.0.0 Broadcast: O endereço broadcast possibilita o envio de um determinado pacote para todas os dispositivos de uma mesma rede. É representado por todos os bits do HostID iguais a 1. Ex.: 130.239.255.255 VI Escola do CBPF - 2006 22 Classes de endereços – Classe A 8 bits 24 bits Network ID 0nnnnnnn 126 redes Host ID hhhhhhhh hhhhhhhh hhhhhhhh 16.777.214 hosts VI Escola do CBPF - 2006 Endereços: 1.0.0.0 a 126.0.0.0 Redes reservados: 127.0.0.0 e 0.0.0.0 Rede Invalida: 10.0.0.0 23 Classes de endereços – Classe B 16 bits Network ID 16 bits Host ID 10nnnnnn nnnnnnnn 16.384 redes hhhhhhhh hhhhhhhh Endereços: 128.0.0.0 a 191.255.0.0 Redes Inválidas: 172.16.0.0 a 172.31.255.255 65.536 hosts VI Escola do CBPF - 2006 24 Classes de endereços – Classe C 24 bits 8 bits Network ID Host ID 110nnnnn nnnnnnnn nnnnnnnn 2.097.152 redes hhhhhhhh Endereços: 192.0.1.0 a 223.255.255.0 Redes Inválidas: 192.168.0.0 a 192.168.255.255 256 hosts VI Escola do CBPF - 2006 25 Classes de endereços Classe D 1110gggg gggggggg gggggggg gggggggg Usado para Multicast Endereços: 224.0.0.0 até 239.255.255.255 Classe E 1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx Reservado para uso futuro Endereços: 240.0.0.0 a 247.255.255.255 VI Escola do CBPF - 2006 26 Máscara de rede Endereço de 32 bits Identifica o NetworkID do endereço IP Uma máscara de rede possui bits ‘1’ para identificar a NetworkID e bits ‘0’ para identificar o HostID. 11111111 11111111 00000000 00000000 255 255 0 VI Escola do CBPF - 2006 0 27 Máscara de Rede - ANDing ANDing é um processo interno que define se IP local pertence a mesma rede de um IP destino. IP Máscara 11001000 11111111 00100001 11000111 11111111 11111111 11111111 00000000 (200.255.33.190) (255.255.255.0) Resultado 11001000 11111111 00100001 00000000 (200.255.33.0) if (Resultado IP destino == Resultado IP local) printf(“IP´s são da mesma rede”); else printf(“IP´s de redes diferentes”); VI Escola do CBPF - 2006 28 Sub-redes A alocação de endereços baseada em classes gera problemas de desperdício de endereços Para melhor aproveitamento dos endereços muitas redes são divididas em sub-redes Prática comum quando as redes envolvidas são muito grandes Neste caso, o endereço da máscara de rede também deve ser alterado VI Escola do CBPF - 2006 29 Máscara de Sub-rede A máscara de sub-rede é determinada com base nos bits extras utilizados para endereçar as subresdes Ex.: 2 bits 200 . 20 . 32 . 65 /26 11111111 11111111 11111111 11 00000000 NetworkID ID de sub-rede HostID 255.255.255.192 VI Escola do CBPF - 2006 30 Sub-rede classe C Aplicar o conceito de sub-redes a uma classe C significa usar o último octeto não só para identificar os hosts como também para identificar as sub-redes. A máscara padrão é 255.255.255.0 e deverá ser Máscara Bit sub-rede Bit hosts Número de redes Hosts por rede 255.255.255.128 1 7 2 126 255.255.255.192 2 6 4 62 255.255.255.224 3 5 8 30 255.255.255.240 4 4 16 14 255.255.255.248 5 3 32 6 255.255.255.252 6 2 64 2 255.255.255.254 7 1 128 0 VI Escola do CBPF - 2006 31 ARP Address Resolution Protocol é responsável pela descoberta do endereço físico (endereço MAC) correspondente ao IP destino Para mesma rede Roteador envia mensagem Quem DA responde é D? a com o MACpara D A B C D VI Escola do CBPF - 2006 E 32 ARP Address Resolution Protocol é responsável pela descoberta do endereço físico (endereço MAC) correspondente ao IP destino Para uma rede diferente Roteador A envia a mensagem para o roteador Quem O roteador é o roteador? responde com o MAC reparssar ao destino A B C D VI Escola do CBPF - 2006 E 33 VI Escola do CBPF Processadores de 32 e 64 bits Marcelo Giovani Nilton Alves Jr. VI Escola do CBPF - 2006 34 Evolução – Lei de Moore Processador/ano microns Intel 4004 (71) 15 8088 (79) 3 486 1 Athlon Thoroughbred 0,13 2005 0,07 2015 0,02 2025 Proc. Quânticos? Processador/Ano # Transístores 8088 (79) 29.000 286 (82) • “The complexity for minimum component costs has increased at 134.000 a rate of Pentium 60MHz 0,80 roughly a factor of two per year ... Certainly over386 the(85) short term this rate can be 275.000 Pentium 100MHz expected to continue, if0,60 not to increase. Over the longer term, the rate of 486 (89) 1.200.000 increase is a bit more uncertain, although there is no reason to believe it will Pentium 166MHz 0,40 PentiumThat (93) means by3.100.000 not remain nearly constant for at least 10 years. 1975, the Pentium III 350MHz 0,25 number of components per integrated circuit for minimum be 65,000. Pentium MMX (97)cost will 4.300.000 Celeron 366 0,22 I believe that such a large circuit can be built on a single wafer.“, Cramming Pentium II (98) Moore, Electronics 9.500.000 Athlon Thunderbird more components onto0,18 integrated circuits”, Gordon Magazine 19 april 1965. 0,13 Pentiun 4 Northwood Pentium III 21.000.000 • A densidade de transistores em um chip dobra aAthlon cada 18 meses. Pentium IV VI Escola do CBPF - 2006 35.000.000 42.000.000 35 16bits •“Nunca •“Nuncaninguém ninguémirá iráprecisar precisarde deum umPC PCcom commais maisde de640 640kbytes kbytesde dememória”. memória”. (Willian (WillianGates GatesIII, III,meados meadosdos dosanos anos80) 80) ••Nem Nemele, ele,oomago magodos dosnegócios negóciosda dainformática, informática,conseguiu conseguiuprever preverque queos ossoftwares softwares teriam uma forte escalada em seus requisitos de memória como de fato teriam uma forte escalada em seus requisitos de memória como de fato veio veio aa acontecer. acontecer. ••PCs PCs rodando rodando DOS DOS 3.0, 3.0, oo 8088 8088 da da Intel, Intel, registradores registradores de de 16 16 bits, bits, barramento barramento de de comunicação comunicaçãode de88bits, bits,enderaçamento enderaçamentode de1MByte 1MBytede dememória. memória. ••Aplicações Aplicaçõescom com>1MByte, >1MByte,EMS EMS(memória (memóriaexpandida), expandida),blocos blocosde de64KBytes 64KBytes VI Escola do CBPF - 2006 36 32bits ••AAhistória históriaestá estásempre semprese serepetindo. repetindo. ••Migração Migração para para 32 32 bits bits em em 1986, 1986, processador processador 386. 386. OO 386 386 foi foi um um processador processador extremamente extremamente revolucionário, revolucionário, pois pois além além de de permitir permitir endereçar endereçar quantidades quantidades de de memórias impensáveis para a época, trazia possibilidades de multitarefa, memórias impensáveis para a época, trazia possibilidades de multitarefa, isolamento isolamentode deaplicações aplicaçõesetc. etc. ••Os Osatuais atuaisPentium PentiumIV IVainda aindasão sãoprocessadores processadoresde de32 32bits bitseeassim assimpodemos podemospensar pensar neles neles como como 386s 386s bastante bastante “anabolizados”, “anabolizados”, mais mais rápidos, rápidos, mais mais instruções, instruções, mas mas ainda aindacom comas asmesmas mesmaslimitações limitaçõesde deendereçamento endereçamentode dememória memóriade de19 19anos anosatrás atrás. . VI Escola do CBPF - 2006 37 Histórico ••Para Para aplicações aplicações mais mais críticas, críticas, foi foi reinventada reinventada aa “memória “memória EMS” EMS” de de vinte vinte anos anos atrás. atrás.Principalmente Principalmenteem emservidores servidoresque queprecisam precisammais maisde de22Gbytes Gbytesde dememória. memória. ••Na Na verdade verdade oo Windows Windows consegue consegue enxergar enxergar até até 44 Gbytes, Gbytes, mas mas com com oo limite limite máximo de 2 Gbytes para uma única aplicação. máximo de 2 Gbytes para uma única aplicação. ••Super Super servidores servidores de de 32 32 bits bits com com 8,8, 16 16 ou ou até até 32 32 Gbytes Gbytes de de RAM, RAM, utilizam utilizam um um esquema esquemade depaginação paginaçãode dememória memóriasemelhante semelhanteao aoque quese seusava usavano noDOS DOS3.0!! 3.0!!Mais Mais eficiente, eficiente,mais maissofisticado, sofisticado,mas masna naessência essênciaaamesma mesmacoisa. coisa. VI Escola do CBPF - 2006 38 Histórico ••Intel IntelPentium PentiumIV IVEM64T: EM64T:ultrapassa ultrapassaoolimite limitede deendereçamento endereçamentode de4Gbytes 4Gbytesalém além de desuportar suportaralgumas algumasinstruções instruçõesde de64bits. 64bits. •AMD •AMDAthlon Athlon64: 64:suporta suportanativamente nativamenteintruções intruçõesde de32 32ee64bits 64bits ••Intel Intel ITANIUM: ITANIUM: set set de de instruções instruções completamente completamente diferente diferente do do resto resto ee visa visa um um nicho nicho muito muito específico específico que que são são máquinas máquinas para para substituir substituir outras outras mais mais caras caras de de arquitetura arquiteturaRISC. RISC. ••AMD AMD Opteron: Opteron: semelhante semelhante ao ao Athlon64 Athlon64 porém, porém, com com características características de de servidor servidor tais taiscomo comoL2 L2maior, maior,capacidade capacidadede deaté até88núcleos, núcleos,cache cachededicado dedicadopara paracada cadanúcleo. núcleo. ••Intel Intel XEON: XEON: barramento barramento bidirecional, bidirecional, cache cache compartilhado compartilhado pelos pelos núcleos, núcleos, somente somenteinstruções instruçõesde de64bits, 64bits,emula emula32bits. 32bits. VI Escola do CBPF - 2006 39 Comparativo Opteron x Xeon VI Escola do CBPF - 2006 40