processamento paralelo arquitetura de sistemas paralelos e distribuídos prof. joão paulo a....
TRANSCRIPT
![Page 1: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/1.jpg)
Processamento ParaleloArquitetura de Sistemas Paralelos e Distribuídos
Prof. João Paulo A. Almeida ([email protected])
2011/01 - INF02799
![Page 2: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/2.jpg)
Informações gerais
• Página web: http://nemo.inf.ufes.br/jpalmeida/ensino/2011-01-processamento-paralelo
• Carga horária semestral total: 60 horas• Horário: terças e quintas-feiras: 15:00-17:00• Local: CT-IX sala 202 (por enquanto)
![Page 3: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/3.jpg)
Avaliação
• Duas provas parciais e trabalhos• A média parcial (MP) é calculada por:
MP = 0,6*P + 0,4*Tonde: P é a média aritmética das provas parciais eT é a média aritmética das notas dos trabalhos.
• A média final (MF) será:MF = MP, se MP ≥ 7,0 (e houver presença)MF = (PF + MP)/2, se MP < 7,0
(PF é a nota da prova final)
• Se MF ≥ 5,0 -> Aprovado• Se MF < 5,0 -> Reprovado
![Page 4: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/4.jpg)
Material didático
• COULOURIS, George F.; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas distribuídos: conceitos e projeto. 4. ed. Porto Alegre: Bookman, 2007.
• Distributed Systems: Concepts and Design, 4. ed. Addison Wesley, 2005.
• Pelo menos os capítulos: – 1, 2, 4, 5, 9, 19, 20
![Page 5: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/5.jpg)
Material didático
• Artigos e tutoriais online:– P.A. Bernstein. Middleware. Communications of the ACM,
Vol. 39, No. 2, February 1996, 86-98.– P. Eugster, P. Felber, R. Gerraoui, A.M. Kermarrec, The
Many Faces of Publish/Subscribe, ACM Computing Surveys, Vol. 35, No. 2, June 2003, pp. 114–131.
– http://java.sun.com/docs/books/tutorial/rmi/index.html– http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JMS.html#wp
84181
![Page 6: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/6.jpg)
O que é um sistema distribuído?
Rede B
Rede C
Rede A
Fonte: Luís Ferreira Pires, Universidade de Twente
![Page 7: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/7.jpg)
Distribuição é um fato, parte do problema
• Usuários e recursos estão fisicamente distribuídos
• Temos que lidar com a distribuição• Exemplos:
– Páginas na Internet– Usuários de e-mail
![Page 8: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/8.jpg)
Distribuição é parte da solução
• Podemos explorar distribuição– Distribuição não é requisito da aplicação ou dos
usuários, mas explora-se a distribuição para obter:
– Aplicações mais rápidas: por exemplo, com uma pesquisa de banco de dados com menor tempo de resposta; cálculos complexos / computação científica, etc.
– Aplicações mais confiáveis: sistemas de bancos, seguradoras, indústrias, etc.
– Aplicações de maior capacidade: número de caixas eletrônicos e clientes na Internet fazendo operações bancárias / pedidos / pesquisas
![Page 9: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/9.jpg)
Compartilhamento de recursos
• Capacidade de processamento• Memória• Armazenamento• Banda de rede / acesso• Disponibilidade• Dispositivos (impressoras, monitores)• Bateria
![Page 10: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/10.jpg)
Níveis de paralelismo
1. Paralelismo no nível de instrução2. Várias linhas de execução em um mesmo
processador3. Várias linhas de execução em diferentes
processadores (SMP, dual, quad core)4. Computadores paralelos
• interconectados com redes dedicadas de alta velocidade
5. Cluster de computadores6. Computadores na Internet
• Redes compartilhadas, comunicação peer-to-peer, máquinas heterogêneas, problemas de segurança, …
Autonomia
![Page 11: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/11.jpg)
Paralelismo no nível de instrução
• Velocidade (throughput) versus custo• Metodologias básicas para melhorar a
velocidade (fixando circuito e ISA): – Simplificar organização da máquina de modo a
reduzir o período do clock;– Reduzir número de ciclos de clock necessários
para executar uma instrução;– Sobrepor a execução das instruções (pipelines!!!)
• Uma CPU, fazendo uso mais adequado do hardware
![Page 12: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/12.jpg)
Paralelismo no nível de instrução
• Exemplo da lavanderia• Patrícia, Fernanda, Pedro, João
têm cada um saco de roupas para lavar, secar e dobrar
• O ciclo de lavagem leva 30 minutos• O de secagem leva 30 minutos• O tempo para dobrar é de 30 minutos • O funcionário leva 30 minutos
para colocar as roupas no armário
A
![Page 13: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/13.jpg)
Lavanderia sequencial
30
B
C
D
ATempo
30 30 3030 30 3030 30 30 3030 30 30 3030
6 PM 7 8 9 10 11 12 1 2 AM
•De maneira sequencial, eles levam 8 horas para 4 cargas•Quanto tempo levaria se eles utilizassem a técnica de pipeline?
![Page 14: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/14.jpg)
Lavanderia paralela (pipeline)
•Lavanderia Pipelined leva 3.5 horas para 4 cargas!
Task
Order
12 2 AM6 PM 7 8 9 10 11 1
Tempo
B
C
D
A
3030 30 3030 30 30
![Page 15: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/15.jpg)
Paralelismo no nível de instrução
• 5 estágios básicos– Carrega (fetch)
instrução (F)– decodifica instrução
instruction / lê registradores (R)
– executa (X)– acessa memória (M)– armazena resultados
nos registradores (W)
I-Fetch
Decode
Execute
Memory
WriteResult
![Page 16: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/16.jpg)
Paralelismo no nível de instrução
F
Inst
ruçã
o
R X M W
F R X M W
F R X M W
F R X M W
F R X M
F R X
![Page 17: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/17.jpg)
Paralelismo no nível de instrução
• Pipelining é um mecanismo que permite a sobreposição temporal das diversas fases da execução de instruções
• Aumenta o throughput das instruções (mais instruções são executadas por unidade de tempo). Porém, pipeline não ajuda na latência da execução de uma única instrução
![Page 18: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/18.jpg)
Paralelismo no nível de instrução
• Assume independência entre fases da execução da instrução
• Não é sempre o caso (ex., saltos condicionais) levam a ociosidade
• Afeta a eficiência
• Um assuntos para arquitetura de computadores...
![Page 19: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/19.jpg)
Níveis de paralelismo
1. Paralelismo no nível de instrução2. Várias linhas de execução em um mesmo
processador3. Várias linhas de execução em diferentes
processadores (SMP, dual, quad core)4. Computadores paralelos
• interconectados com redes dedicadas de alta velocidade
5. Cluster de computadores6. Computadores na Internet
• Redes compartilhadas, comunicação peer-to-peer, máquinas heterogêneas, problemas de segurança, …
Autonomia
![Page 20: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/20.jpg)
Várias linhas de execução: um processador• Paralelismo
“simulado”– processos– threads
• “Logicamente” há várias linhas de execução
• “Fisicamente” não há• Um assunto de
sistemas operacionais...
• ... mas uso de multi-threading / processos é muito importante na programação de sistemas distribuídos
Fonte: Douglas Schmidt http://www.cs.wustl.edu/~schmidt/PDF/mt-unix4.pdf
![Page 21: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/21.jpg)
Níveis de paralelismo
1. Paralelismo no nível de instrução2. Várias linhas de execução em um mesmo
processador3. Várias linhas de execução em diferentes
processadores (SMP, dual, quad core)4. Computadores paralelos
• interconectados com redes dedicadas de alta velocidade
5. Cluster de computadores6. Computadores na Internet
• Redes compartilhadas, comunicação peer-to-peer, máquinas heterogêneas, problemas de segurança, …
Autonomia
![Page 22: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/22.jpg)
Vários processadores, memória compartilhada
Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed. ,by B. Wilkinson & M. Allen,
![Page 23: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/23.jpg)
Vários processadores, memória compartilhada
Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed. ,by B. Wilkinson & M. Allen,
Symmetric Multiprocessing / SMP: Processadores idênticos / multi core Memória compartilhada
![Page 24: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/24.jpg)
Quad Pentiummulti-core: vários processadores, mesmo chip
Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed. ,by B. Wilkinson & M. Allen,
![Page 25: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/25.jpg)
Processador de 3 cores Xenon no Xbox 360
![Page 26: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/26.jpg)
Multi-computadores / Computadores paralelosMemória Local
![Page 27: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/27.jpg)
Processador de 1+1+6 cores Cell no PS3
http://beautifulpixels.blogspot.com/2008/08/multi-platform-multi-core-architecture.html
![Page 28: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/28.jpg)
Memória Compartilhada Distribuída
NUMA (Non-Uniform Memory Access)Acesso à memória local é mais rápido que acesso à memória remota
![Page 29: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/29.jpg)
CUDA
![Page 30: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/30.jpg)
Supercomputadores
• O termo não tem muito sentido arquitetural• Só para identificar os (multi)computadores que
tem maior poder de processamento quando são construídos
• Ou usado para falar sobre “computação de alto desempenho”
![Page 31: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/31.jpg)
Supercomputadores (nov. 2010)
http://en.wikipedia.org/wiki/Top500
Rank Site Computer/Year Vendor Cores Rmax Rpeak TFlops Power (KW)
1National Supercomputing Center in Tianjin
China
Tianhe-1A - NUDT TH MPP, X5670 2.93Ghz 6C, NVIDIA GPU, FT-1000 8C / 2010NUDT
186368 2566.00 4701.00 4040.00
2DOE/SC/Oak Ridge National Laboratory
United States
Jaguar - Cray XT5-HE Opteron 6-core 2.6 GHz / 2009Cray Inc.
224162 1759.00 2331.00 6950.60
3National Supercomputing Centre in Shenzhen (NSCS)
China
Nebulae - Dawning TC3600 Blade, Intel X5650, NVidia Tesla C2050 GPU / 2010Dawning
120640 1271.00 2984.30 2580.00
4GSIC Center, Tokyo Institute of Technology
Japan
TSUBAME 2.0 - HP ProLiant SL390s G7 Xeon 6C X5670, Nvidia GPU, Linux/Windows / 2010NEC/HP
73278 1192.00 2287.63 1398.61
5DOE/SC/LBNL/NERSC
United States
Hopper - Cray XE6 12-core 2.1 GHz / 2010Cray Inc.
153408 1054.00 1288.63 2910.00
In 2010, the fastest PC processors six-core has a theoretical peak performance of 0.107 TFLOPS (Intel Core i7 980 XE)
![Page 32: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/32.jpg)
http://www.top500.org/lists/2010/11/performance_development
i7 20106-cores
![Page 33: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/33.jpg)
No Brasil
• #29– National Institute for Space Research (INPE)– Tupã - Cray XT6 (AMD) 12-core 2.1 GHz / 2010
Cray Inc.– 30720 cores– Rmax 205.10 Tflops– Rpeak 258.05 Tflops
– http://www.top500.org/system/10619
![Page 34: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/34.jpg)
No Brasil
• #116 NACAD/COPPE/UFRJBrazil
• 6464 cores• Intel EM64T Xeon X55xx (Nehalem-EP)
![Page 35: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/35.jpg)
Cyclops64 (Blue Gene/C)Arquitetura celular
Objetivo: 1.1 Pflops
![Page 36: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/36.jpg)
Cyclops64 (Blue Gene/C)
• Cada chip contém 80 processadores de 64-bits / 500 MHz, cada processador suporta 2 linhas de execução (threads).
• 80 gigaflops por chip (desempenho teórico de pico)
![Page 37: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/37.jpg)
Cyclops64 (Blue Gene/C)
x4
![Page 38: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/38.jpg)
Cyclops64 (Blue Gene/C)
x48
x4
![Page 39: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/39.jpg)
Cyclops64 (Blue Gene/C)
x4
x48
x72
![Page 40: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/40.jpg)
Para quem perdeu as contas...
• 2 x 80 x 4 x 48 x 72• 2.211.840 linhas de execução• 1.1 Pflops• 13.8 TB RAM
![Page 41: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/41.jpg)
Taxonomia de Flynn
SingleInstruction
MultipleInstruction
SingleData
SISD(PCs /
Mainframes)
MISD(redundância, ex:
avião)
MultipleData
SIMD(vector / array)
MIMD(maioria dos
supercomputadores atuais)
![Page 42: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/42.jpg)
SIMD
• Single Instruction Multiple Data• Computadores vetoriais
http://en.wikipedia.org/wiki/Image:Processor_board_cray-1_hg.jpg
![Page 43: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/43.jpg)
Cluster (MIMD)
![Page 44: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/44.jpg)
Blade server farms
http://en.wikipedia.org/wiki/Image:IBM_bladecenter_%28front%29.jpg
![Page 45: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/45.jpg)
Wikimedia server farm
![Page 46: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/46.jpg)
Cluster x “farms”
• Esta terminologia não é usada de forma rígida• Mas, tipicamente, farms tem alimentação
compartilhada, algumas facilidades de gerenciamente em hardware (hot swapping)
• Disponibilidade além de capacidade de processamento
• Problemas de fácil paralelização– Servidores web– Distribuição de carga (load balancing)
![Page 47: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/47.jpg)
Dificuldades
• HVAC - heating, ventilating, and air conditioning• Refrigeração
– desempenho por watt dissipado
• Antigo Cluster do LCAD– dois ar-condicionados (totalizando 30.000 BTU's)
+ ventilador de teto + ventiladores das CPUs– sensores de temperatura
• Refrigeração a líquido• Muitos farms têm refrigeração compartilhada
![Page 48: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/48.jpg)
Dificuldades
• Falhas• Com muitos elementos não há como não haver
falhas• Faça um cálculo de probabilidade:
– 1024 máquinas, com taxa λ de falha...– Qual a taxa de falha da máquina como um todo,
se a máquina tivesse que funcionar a todo momento?
![Page 49: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/49.jpg)
Computação de alto desempenho na Internet
• Formação de clusters virtuais (grid) (na Internet)• BOINC• SETI@home, FOLDING@home, Einstein@home• 500 Tflop/s (média), Jan. 2007• 925 Tflops/s (média), Fev. 2008• 1.287 Pflops, Dez. 2008
– Com 565000 computadores
• 5.1 PFLOPS as of April 21, 2010• Universidade da Califórnia, Berkeley • http://en.wikipedia.org/wiki/BOINC
![Page 50: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/50.jpg)
BotnetsDate created Name Estimated no. of bots Spam capacity Aliases
2009 (May) BredoLab 30,000,000 3.6 billion/day Oficla
2008 (around) Mariposa 12,000,000 0 ?
? Conficker 10,500,000+ 10 billion/dayDownUp, DownAndUp, DownAdUp, Kido
? Zeus 3,600,000 (US Only) -1n/aZbot, PRG, Wsnpoem, Gorhax, Kneber
2007 (Around) Cutwail 1,500,000 74 billion/dayPandex, Mutant (related to: Wigon, Pushdo)
? Grum 560,000 39.9 billion/day Tedroo
? Mega-D 509,000 10 billion/day Ozdok
? Kraken 495,000 9 billion/day Kracken
http://en.wikipedia.org/wiki/Botnet
![Page 51: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/51.jpg)
Aplicações distribuídas: interação entre partes
• A complexidade às vezes está na forma de interação ou na coordenação entre as partes distribuídas
Rede B
Rede C
Rede A
![Page 52: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/52.jpg)
Diferentes modelos de interação
• RPC – Remote Procedure Call• Orientado a objetos distribuídos
– Distributed Objects– Remote Method Invocation
• Orientado a passagem de mensagem• Orientado a eventos (publish/subscribe)• Orientado a streams (fluxo de dados)
– Multimedia streams: áudio e vídeo
• Orientado a serviços
![Page 53: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/53.jpg)
Falhas independentes
• Partes de um sistema podem falhar por diversos motivos– banais: falta de energia elétrica– erros de projeto (programação) no
desenvolvimento de uma parte do sistema– crashes de sistemas operacionais– falha de hardware
![Page 54: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/54.jpg)
Falhas independentes
• “A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.” (Lesley Lamport, 1992)
![Page 55: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/55.jpg)
Particionamento de rede
Rede B
Rede C
Rede A
![Page 56: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/56.jpg)
Atraso, limitações de banda
• Redes impões atraso na comunicação• Não somente pela capacidade de transmissão
(banda) mas também pela distância geográfica
![Page 57: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/57.jpg)
Escalabilidade
• O sistema deverá permanecer eficiente mesmo com um aumento no número de usuários (carga) e recursos:– Sistema deverá comportar aumento de recursos– Custo de adicionar recursos deve ser razoável– Perda de desempenho com aumento de
usuários/carga deve ser limitado
• Escalabilidade de sistemas distribuídos agrega valor:– Imagina uma web que fosse limitada no número
de páginas, usuários conectados simultaneamente…
![Page 58: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/58.jpg)
Heterogeneidade
• Diferentes arquiteturas de hardware– Intel, Apple, telefones celulares, …
• Diferentes sistemas operacionais– Windows (e suas versões), UNIX (e suas variantes),
VMS e outros sistemas legados, sistemas operacionais de tempo real, sistemas operacionais para dispositivos móveis (e.g., Symbian, Windows Mobile)
• Diferentes tipos de rede– Apesar do TCP/IP ter dominado os níveis de
transporte/rede
• Diferentes linguagens de programação• Diferentes implementações
![Page 59: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/59.jpg)
Heterogeneidade
Fonte: http://www.cs.wustl.edu/~schmidt/PDF/MT-Orbix4.pdf
![Page 60: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/60.jpg)
Padronização
• Padronização de algumas partes necessárias para interoperabilidade
• Interoperabilidade: capacidade de sistemas de trabalhar em conjunto
• Padronização necessária para portabilidade• Portabilidade: capacidade de
(partes/componentes de) sistemas de serem usados em vários contextos
• Não há como padronizar tudo• E os padrões também mudam com o tempo
![Page 61: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/61.jpg)
Padronização e “Abertura” (Openness)
• Interfaces mais importantes são publicadas (documentadas)
• Mecanismo de comunicação uniforme, compartilhado
• Cada parte pode ser construída independentemente por diferentes vendedores/desenvolvedores– Portanto devem se adequar a padrões e
interfaces publicadas
![Page 62: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/62.jpg)
Segurança
Rede B
Rede C
Rede A
![Page 63: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/63.jpg)
Segurança
• Confidentiality- Confidencialidade• Integrity - Integridade• Availability – Disponibilidade• ... da informação e de serviços• Confidencialidade - propriedade que limita o acesso
somente às entidades legítimas, ou seja, àquelas autorizadas pelo proprietário da informação
• Integridade - propriedade que garante que a informação e serviços mantenham as características originais estabelecidas pelo proprietário
• Disponibilidade - propriedade que garante que a informação e serviços estejam sempre disponíveis para o uso legítimo
![Page 64: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/64.jpg)
Segurança
• Hackers também podem explorar a distribuição para seu benefício– Ataques de larga escala que levam à
indisponibilidade de sistemas (Denial Of Service attacks)
– Acesso a sistemas mau configurados e seus recursos; pense em:
• Disco e Banda (pirataria, material ilegal)• Processamento (para quebra de criptografia)• Processamento e Banda (SPAM)
![Page 65: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/65.jpg)
Diferentes domínios de administração
• Partes do sistema podem pertencer a diferentes organizações
• Autonomia no nível organizacional• Diferentes tecnologias e padrões• Diferentes procedimentos de manutenção• Exacerba o problema de heterogeneidade• Exacerba o problema de falhas independentes• Exacerba o problema de segurança
≥≥
![Page 66: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/66.jpg)
Aplicações centralizadas x Aplicações distribuídas
Custo de comunicação entre partes do sistema
Falhas Particionamento
Aplicações Centralizadas
Baixo Todas partes do sistema falham em conjunto
Não há
Aplicações Distribuídas
Mais alto / Variável
Partes falham independentemente
Partes podem ficar sem comunicação
![Page 67: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/67.jpg)
Aplicações centralizadas x Aplicações distribuídas
Segurança Escalabilidade …
Aplicações Centralizadas
Controle mais simples
Limitada por natureza
…
Aplicações Distribuídas
Vários pontos de entrada
Depende de projeto adequado
…
![Page 68: Processamento Paralelo Arquitetura de Sistemas Paralelos e Distribuídos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)jpalmeida@inf.ufes.br 2011/01](https://reader035.vdocuments.mx/reader035/viewer/2022081420/552fc15e497959413d8e5baf/html5/thumbnails/68.jpg)
Próxima Aula
• Vamos pisar no chão: middleware
Rede B
Rede C
Rede A