1) O documento apresenta uma palestra sobre arquiteturas paralelas ministrada pelo Prof. Edson Midorikawa na Escola Regional de Alto Desempenho de SP.
2) O Prof. Edson Midorikawa é professor da Escola Politécnica da USP e membro do Laboratório de Arquitetura e Computação de Alto Desempenho.
3) A palestra aborda tópicos como classificação de máquinas paralelas, paralelismo em arquitetura de computadores e arquiteturas avançadas
Data center - Instituto Federal FarroupilhaLuciano Vargas
Apresentação da palestra ministrada no Instituto Federal Farroupilha. Abordados temas como Segurança da Informação, Cloud Computing, Tecnologia da Informação.
Data center - Instituto Federal FarroupilhaLuciano Vargas
Apresentação da palestra ministrada no Instituto Federal Farroupilha. Abordados temas como Segurança da Informação, Cloud Computing, Tecnologia da Informação.
proposta curricular para educação de jovens e adultos- Língua portuguesa- anos finais do ensino fundamental (6º ao 9º ano). Planejamento de unidades letivas para professores da EJA da disciplina língua portuguesa- pode ser trabalhado nos dois segmentos - proposta para trabalhar com alunos da EJA com a disciplina língua portuguesa.Sugestão de proposta curricular da disciplina português para turmas de educação de jovens e adultos - ensino fundamental. A proposta curricular da EJa lingua portuguesa traz sugestões para professores dos anos finais (6º ao 9º ano), sabendo que essa modalidade deve ser trabalhada com metodologias diversificadas para que o aluno não desista de estudar.
proposta curricular da educação de jovens e adultos da disciplina geografia, para os anos finais do ensino fundamental. planejamento de unidades, plano de curso da EJA- GEografia
para o professor que trabalha com a educação de jovens e adultos- anos finais do ensino fundamental.
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Betel, Ordenança para buscar a paz e fazer o bem, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
livro em pdf para professores da educação de jovens e adultos dos anos iniciais ( alfabetização e 1º ano)- material excelente para quem trabalha com turmas de eja. Material para quem dar aula na educação de jovens e adultos . excelente material para professores
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoMateusTavares54
Quer aprender inglês e espanhol de um jeito divertido? Aqui você encontra atividades legais para imprimir e usar. É só imprimir e começar a brincar enquanto aprende!
1. I Escola Regional de Alto Desempenho de SP
São Paulo - SP – 30 e 31 de Julho de 2010
Arquiteturas Paralelas
Prof. Dr. Edson T. Midorikawa
edson.midorikawa@poli.usp.br
Departamento de Engenharia de Computação
e Sistemas Digitais
Escola Politécnica da USP
ERAD-SP 2010 1
2. Apresentação – Prof. Edson Midorikawa
• Formação
– Graduação em Engenharia Elétrica – EPUSP (1986)
– Mestrado em Engenharia Elétrica – EPUSP (1992)
– Doutorado em Engenharia Elétrica – EPUSP (1997)
• Atividades
– Professor doutor da Escola Politécnica da USP
– Membro do LAHPC (Laboratório de Arquitetura e Computação
de Alto Desempenho)
• Áreas de Interesse
– Arquiteturas paralelas (multicore, hierarquia de memória)
– Máquinas virtuais (escalonamento de recursos, gerencia de
memória, interação MMV-SO)
– Computação avançada (cluster, grid, cloud computing)
ERAD-SP 2010 2
5. Motivação
• Por que estudar “Arquitetura de Computadores”?
– Disciplina obrigatória nos cursos de Engenharia de
Computação, Ciência da Computação,
Sistemas de Informação, etc.
– Melhor entendimento do funcionamento (e aproveitamento)
das máquinas modernas.
– Cria novas oportunidades de pesquisa em computação
avançada.
ERAD-SP 2010 5
6. Motivação
• Por que pesquisar “Arquiteturas Paralelas”?
– Explora alternativas de projeto de novos sistemas para
aumento de desempenho e de recursos de microeletrônica.
– Área de pesquisa com uma comunidade brasileira ativa e
atuante em várias áreas (SBAC-PAD)
– Áreas de atuação:
• Desenvolvimento de novos modelos de computação
• Desenvolvimento de novas arquiteturas de sistemas
computacionais (processadores multi-core, multiprocessadores,
sistemas de cluster, grid e cloud computing)
• Viabiliza novas aplicações computacionais (modelos matemáticos)
– Previsão de tempo e de clima
– Drug design, genômica, proteômica
– Simulação (car crash, plataforma petrolífera, ...)
ERAD-SP 2010 6
7. Motivação
• Evolução em várias categorias de computadores
ENIAC NORC CDC-6600 Cray-1 Cray-2 Cray-3 Cray T3E
super-
computador Cray-4
?
UNIVAC /360 /370 /390 z/900
mainframe
PDP-8 PDP-11 VAX
minicomputador x
RS/6000 Xeon
servidor/workstation
4004 8080 8088 PPro
microcomputador
80286 80486 PII PIIIP4
desktop PC
Altair 8088 80386 Pentium
value PC
Celeron
1950 1960 1970 1980 1990 2000
ERAD-SP 2010 7
8. Motivação
• Evolução do desempenho de processadores
SPE C int92
L e ve ling off
10000
P4/3200 * Pr e s c ott (2M )
* *
* * Pr e s c ott (1M )
5000 P4/3060N or thw ood B
P4/2400 ****
P4/2000 P4/2800
* *
P4/2200
2000 **
P4/1500
P4/1700
PI I I /600 I I /1000
1000 ** * PI
PI I /400PI I I /500
PI I /300*
* PI I /450
500 *
~ 100*/10 ye ar s Pe ntium/200Pe ntium Pr o/200
*
200 *
*
Pe ntium/133 * Pe ntium/166
Pe ntium/100
* *Pe ntium/120
100
Pe ntium/66
*
50 * 486-D X 4/100
486/50 * 486-D X 2/66
*
486/33 *
20 486-D X 2/50
*
*
486/25
10 *386/33
386/20 *386/25
5 *
*
386/16
80286/12
2 *
80286/10
1 *
8088/8
0.5 *
0.2 * 8088/5
Y e ar
79 1980 1 82 83 84 85 86 87 88 891990
8 91 92 93 94 95 96 97 98 99 2000
01 02 03 04 05
ERAD-SP 2010 8
9. Motivação
• Fatores para melhora de desempenho
fc
(MHz)
Le ve ling off
5000
Pe ntium 4 * * *
*
2000 **
* *
*
1000
Aumento da ~100*/10ye ars
*
* *
500
Frequencia do relógio Pe ntium III *
*
**
*
Pe ntium II *
* *
200 * *
Pe ntium Pe ntium Pro
*
486-DX4 **
100 *
~10*/10ye ars
486-DX2 * *
50 * *
486
* *
386
* *
20 *
286 *
*
10 *
8088 *
5 *
2
1 Year
78 79 1980 81 82 83 84 85 86 87 88 89 1990 91 92 93 94 95 96 97 98 99 2000 01 02 03 04 05
Year of first volume shipment
ERAD-SP 2010 9
11. Motivação
• Fatores para melhora de desempenho (3)
• Como manter a tendencia de aumento de desempenho
dos processadores?
• O que fazer se não é possível manter continuamente
o aumento do clock?
• Como utilizar eficientemente os transistores
disponíveis em um chip?
ERAD-SP 2010 11
13. Classificação de Máquinas Paralelas
• Classificação de Flynn
– Classificação de arquiteturas paralelas genérica
de acordo com as características do fluxo de
instruções e o fluxo de dados (único ou múltiplo)
Michael J. Flynn
ERAD-SP 2010 13
14. Classificação de Máquinas Paralelas
• SISD
– Single Instruction, Single Data
• Um único fluxo de instruções
• Um único fluxo de dados
– Contém as arquiteturas tradicionais não paralelas
• Máquinas de Von Neumann
instrução dado
UC = unidade de controle
UP = unidade de processsamento
MEM = memória
ERAD-SP 2010 14
15. Classificação de Máquinas Paralelas
• SIMD
– Single Instruction, Multiple Data
• Um único fluxo de instrução
• Múltiplos fluxos de dados
– Execução síncrona da instrução
para todos os dados
– Exemplos:
• Processadores vetoriais (Cray 1) instrução dados
• GPU
ERAD-SP 2010 15
16. Classificação de Máquinas Paralelas
• MISD
– Multiple Instruction, Single Data
• Múltiplos fluxos de instrução
• Um único fluxo de dados
UP2
– Execução de várias instruções
UP3
em um único dado.
...
...
– Não há exemplos. UCn UPn
instruções
dado
ERAD-SP 2010 16
17. Classificação de Máquinas Paralelas
• MIMD
– Multiple Instruction, Multiple Data
• Múltiplos fluxos de instruções
• Múltiplos fluxos de dados
– Permite a execução de
instruções diferentes para
cada um dos dados
– Exemplos:
• Arquiteturas paralelas atuais instruções dados
• Top500.org
ERAD-SP 2010 17
18. Máquinas Paralelas
• Top500.org
– Lista com os 500 computadores mais rápidos
– Atualizada duas vezes ao ano (junho e novembro)
ERAD-SP 2010 18
21. Fontes de Paralelismo
• Há várias fontes de execução paralela em um
computador moderno:
– Aplicações diferentes;
Multiprogramação
– Instâncias de execução Multitarefa
da mesma aplicação;
– Fluxo de instruções (threads)
de uma aplicação; Processadores
multicore
– Instruções de um programa (ILP)
ERAD-SP 2010 21
22. Fontes de Paralelismo
• Paralelismo no Nível de Instrução (ILP)
– Permite executar várias instruções em cada ciclo de relógio.
– Modificações na microarquitetura do processador para
possibilitar a execução paralela de instruções.
– Alternativas:
• Paralelismo temporal: encadeamento no fluxo de execução das
instruções (pipeline);
• Paralelismo na emissão de instruções: submissão de várias
instruções para execução pelo fluxo de dados (VLIW e
superescalaridade);
• Paralelismo de dados: permite executar várias instâncias da
mesma instrução para um conjunto de dados (processamento
SIMD ou vetorial).
ERAD-SP 2010 22
23. Fontes de Paralelismo
Paradigmas de processamento ILP
Paralelismo Paralelismo de Paralelismo
Temporal Emissão de Instruções de Dados
Resolução estática Resolução dinâmica
de dependências de dependências
Processadores
Processadores Processadores extensão
com Pipeline
VLIW Superscalares SIMD
ERAD-SP 2010 23
24. Evolução do Paralelismo
Extensão do Processamento
paralelismo ILP
Sequencial
da execução
+ paralelismo
Paralelismo de envio de + paralelismo
temporal instruções de dados
Processadores Processadores
Processadores Processadores
von Neumann Superscalares com
tradicionais Pipelined Superscalares extensão SIMD
~ 1985/88 ~ 1990/93 ~ 1994/00 t
Nível de
redundância
de hardware
ERAD-SP 2010 24
25. Pipelining
• Execução de uma instrução é dividida em etapas:
Memória
Memória Registra-
dores
IF ID EXE MEM WB
IF = busca da instrução na memória (inclui atualização do PC)
ID = decodificação da instrução + busca de valores em registradores
EXE = execução da instrução (ULA ou cálculo de endereços)
MEM = acesso à memória ou instrução de desvio
WB = escrita resultados nos registradores de saída
Uma instrução leva 5 períodos de clock para concluir.
ERAD-SP 2010 25
26. Pipelining
• Fluxo de dados do processador MIPS didático
(COD/4e, Patterson & Hennessy)
ERAD-SP 2010 26
27. Pipelining
• Inicia a execução de uma instrução por ciclo de clock
IF I1 I2 I3 I4 I5 I6
fluxo de
instruções ID I1 I2 I3 I4 I5
EXE I1 I2 I3 I4
MEM I1 I2 I3
WB I1 I2
ciclo 1 2 3 4 5 6
A cada ciclo de clock, termina-se a execução de uma instrução.
ERAD-SP 2010 27
28. Superescalaridade
• Em um processador superescalar, várias instruções são
submetidas para execução simultaneamente.
Memoria
Memoria Regis-
tradores
instruções instruções
Busca
de instr. ID EXE MEM WB
• Várias instruções do programa são analisadas para
execução paralela.
PROBLEMA: dependência de dados entre instruções.
ERAD-SP 2010 28
29. Superescalaridade
• Dependência de dados
1 2 3 4 5 6 7 8 9
Time (cycles)
$s0
lw $t0
lw $t0, 40($s0) 40 +
RF DM RF
IM
$t0 $t0
add $t1
add $t1, $t0, $s1 $s1 $s1 +
RF $s2 RF $s2 DM RF
IM
sub $t0
sub $t0, $s2, $s3 $s3 $s3 -
Stall $s4
and and $t2
and $t2, $s4, $t0 $t0 &
RF $s5 DM RF
IM IM
or or $t3
or $t3, $s5, $s6 $s6 |
$t3
sw $s7
sw $s7, 80($t3) 80 +
RF DM RF
IM
ERAD-SP 2010 29
30. Superescalaridade
• Para resolver o problema da dependência de dados, um
processador superescalar permite a execução fora de
ordem das instruções (OOO – out of order execution)
1 2 3 4 5 6 7 8
Time (cycles)
$s0
lw $t0
lw $t0, 40($s0) 40 +
RF $s5 DM RF
IM
or $t3
or $t3, $s5, $s6 $s6 |
RAW
$t3
sw $s7
sw $s7, 80($t3) 80 +
RF DM RF
two cycle latency IM
between load and RAW
use of $t0
$t0
add $t1
add $t1, $t0, $s1 $s1 +
RF $s2 DM RF
WAR IM
sub $t0
sub $t0, $s2, $s3 $s3 -
RAW
$s4
and $t2
and $t2, $s4, $t0 $t0 &
RF DM RF
IM
ERAD-SP 2010 30
31. Multithreading
• Algumas definições:
– Processo: programa rodando em um computador.
– Vários processos estão em execução simultaneamente, como
p. ex.: browser Web, editor de texto, anti-virus.
– Thread: parte de um processo.
– Cada processo pode ter vários threads, como p. ex.: um editor
de texto pode ter vários threads para digitação, verificação
ortográfica e impressão.
• Em um processador convencional:
– Apenas um thread é executado por vez.
– Quando ocorre uma parada (stall) na execução de um thread
(p.ex. acesso à memória), realiza-se uma troca de contexto
para outro thread.
ERAD-SP 2010 31
32. Multithreading
• Em um processador com multithreading, vários threads
podem estar ativos ao mesmo tempo:
– Possui mais de um conjunto de registradores de estado
– Quando ocorre stall em um thread, outro é colocado em
execução imediatamente (não há necessidade de operações
de salvamente e carga de estado)
– Se um thread não usar uma unidade funcional (p.ex. somador,
ULA, FPU), outro pode usá-lo
• Não modifica o paralelismo de instruções de um único
thread, mas aumenta o desempenho geral do sistema.
ERAD-SP 2010 32
33. Multithreading
• A presença de vários conjuntos de registradores de
estado é normalmente interpretado pelos sistemas
operacionais como se houvesse vários processadores
(virtuais), onde os processos podem ser escalonados.
• Permite um melhor compartilhamento dos recursos do
processador
– Unidades funcionais
– Memórias cache
ERAD-SP 2010 33
34. Multithreading
• Simultaneous Multithreading (SMT)
– Permite executar instruções de threads de vários programas
(processos) simultaneamente sem a necessidade de troca de
contexto
sem blocked Interleaved
multithreading multithreading multithreading SMT
ciclos
cache
miss
– Vantagens
• Permite a execução simultânea de mais instruções por ciclo
• Desempenho total se tiver apenas um thread ativo
ERAD-SP 2010 34
36. Multithreading
• Simultaneous Multithreading
– A Intel implementa a técnica SMT em seus processadores
com o nome comercial “Hyperthreading” (HT)
permitindo a execução simultânea
de 2 threads por core.
– Sun UltraSparc T2 (8 threads por core)
– IBM Power 7 (4 threads por core)
ERAD-SP 2010 36
38. Processadores Multicore
• Etapa atual no desenvolvimento de novas
arquiteturas de processadores.
• Permite a execução simultânea de
múltiplos threads e/ou aplicações.
• Inclui vários núcleos de
processadores na pastilha.
ERAD-SP 2010 38
44. Paralelismo no Nível de Threads
Granularidade
do paralelismo
Múltiplos threads
TLP
(paralelismo no nível de threads)
Thread
(fluxo de instruções)
ILP
(paralelismo no nível de instruções)
ERAD-SP 2010 44
45. Paralelismo no Nível de Threads
• Execução paralela de threads
De onde vem os vários threads?
de aplicações da mesma
diferentes aplicação
Multiprogramação Multitarefa,
Multithreading
ERAD-SP 2010 45
46. Paralelismo no Nível de Threads
Implementação de paralelismo no nível de
threads em microprocessadores
SMP: Symmetric Multiprocessing SMT: Simultaneous Multithreading
(CMP: Chip Multiprocessing) (HT: Hyperthreading (Intel))
Implementação de dois ou mais cores Implementação de um
colocados na mesma pastilha core multithreaded
pastilha
(chip) Core
SMT
Core L2/L3 Core
L2/L3
L3/Memória
ERAD-SP 2010 L3/Memória 46
47. Paralelismo no Nível de Threads
• Simultaneous
Superescalar Superescalar com SMT
Multithreading (4-way) (4-way/2 threads)
Thread Thread 1 Thread 2
ERAD-SP 2010 47
48. Paralelismo no Nível de Threads
• Simultaneous
Multiprocessing
Nehalem-EX
ERAD-SP 2010 48
49. Simultaneous Multiprocessing
• A presença de vários núcleos de processador (core) em
um computador pode ser realizada em dois níveis
distintos:
– Multiprocessador: vários chips processadores.
– Multicore: um único chip processador com vários cores.
chip único
ERAD-SP 2010 49
50. Multicore
• Vários “processadores single core” agrupados em um
único chip (CMP = chip multiprocessor).
– Replicação real dos recursos de um processador dentro do chip
(ao contrário do multithreading)
– Compatibilidade de código com os multiprocessadores
(modelo de memória compartilhada)
– Incorpora uma hierarquia complexa de memórias cache interna
• Caches L1 e L2 privados (particulares a cada core)
• Cache L3 único e compartilhado entre os cores
ERAD-SP 2010 50
51. Multicore
• Organização interna de um Multicore
– Principais componentes:
• Núcleos de processador
(cores)
• Memórias cache
• Rede de interconexão interna
• Interface com barramento
de E/S externo
• Controlador de interrupções
• Timers
• etc
Fonte: ARM, The ARM Cortex-A9 Processors White Paper, 2009.
ERAD-SP 2010 51
53. Multicore
• Interconexão Interna
Implementação das interconexões
Árbitro/Implementações
Crossbar Anel
de cache multi-porta
Aspectos quantitativos, tais como número de fontes e destinos ou requisitos de banda, afetam
qual alternativa de implementação é mais benéfica.
Número pequeno de Número grande de
fontes e destinos fontes e destinos
p.ex. Conexão dos dual-cores UltraSPARC T1 (2005) Cell BE (2006)
aos cache L2 compartilhado UltraSPARC T2 (2007) XRI (2005)
ERAD-SP 2010 53
54. Multicore
• Aplicação de multicores vs. SMP e processadores
superescalares
– Instrução
– Bloco básico
– Loop
– Tarefa
– Processo
Fonte: Olukotun et al. Chip Multiprocessor Architecture, 2007.
ERAD-SP 2010 54
55. Multicore
• Breve Histórico
Prescott Smithfield
(core original) (dois cores Prescott modificados colocados no mesmo die)
2/2004 5/2005
90 nm 90 nm
112 mm2 2 x 103 mm2
125 mtrs 2 x 115 mtrs
L2: 1 MB L2: 2 MB
Pentium D/EE
Pentium 4 A/E/F series Pentium D 8xx
Pentium 4 5xx series Pentium EE 840
ERAD-SP 2010 55
56. Multicore
• Breve Histórico
Conroe Kentsfield
(die) (dois Conroes no mesmo empacotamento)
7/2006 11/2006
65 nm 65 nm
143 mm2 2 x 143 mm2
167/291 mtrs 2 x 167/291 mtrs
Core 2 Duo E 6x00 series Core 2 Extreme QX6x00 series
Core2 Extrem X6x00 series
ERAD-SP 2010 56
57. Desafio dos Multicores
• Os processadores multicore...
– possuem uma grande capacidade computacional
(“lembre-se que um octocore permite executar ao menos 8
threads simultaneamente”);
– Implementam várias otimizações para execução paralela
(caches integrados, alta banda de comunicação, etc);
mas
– Os programas existentes não foram escritos para usar
tais recursos.
ERAD-SP 2010 57
58. Desafio dos Multicores
• É muito importante que a aplicação seja capaz de
aproveitar completamente os recursos dos
processadores multicore.
Conceitos de programação paralela
e multithreaded.
ERAD-SP 2010 58
61. Multicores Avançados
• IBM Power 7
– Lançado em 2010
– 1,2 bilhões de transistores
– Módulos de até 4 soquetes
– 4, 6 ou 8 cores por chip
– 4 threads SMT por core
– 12 unidades funcionais por
core
ERAD-SP 2010 61
62. Multicores Avançados
• Sun UltraSparc T3
– a ser lançado em 2010
– 1 bilhão de transistores
– 16 cores
– 8 threads SMT por core
– 128 threads por chip
– SMP com 4 processadores
ERAD-SP 2010 62
65. Manycore
• Cell
Fonte: Gshwind M., „Chip Multiprocessing and the Cell BE,” ACM Computing Frontiers, 2006,
http://beatys1.mscd.edu/compfront//2006/cf06-gschwind.pdf
ERAD-SP 2010 65
66. Manycore
• Cell
Circuito de um único SPE
Fonte: Gshwind M., „Chip Multiprocessing and the Cell BE,” ACM Computing Frontiers, 2006,
http://beatys1.mscd.edu/compfront//2006/cf06-gschwind.pdf
ERAD-SP 2010 66
68. GPGPU
• GPGPU = General Purpose computation on Graphics
Processing Unit
• Utilização de GPUs (unidades de processamento
gráfico) para execução de computação normalmente
realizada em CPUs.
• Exemplos:
– NVIDIA
– ATI
ERAD-SP 2010 68
69. GPGPU
• GPU
– Unidade de processamento especializado para acelerar o
processamento gráfico 2D e 3D.
ERAD-SP 2010 69
70. GPGPU
• GPU
– Arquitetura baseada em SP (streaming processor) e
SFU (Special Function Units)
ERAD-SP 2010 70
71. GPGPU
• CPU vs. GPU
– Comparação relativa a utilização de área de silício alocada por
funcionalidade nas CPUs e GPUs.
Fonte: Nvidia, Compute Unified Device Architecture Programming Guide. 2008.
ERAD-SP 2010 71
78. Multiprocessadores
• Cada processador pode ser um multicore com suporte a
multithreading
– Vários níveis de paralelismo
• Outras questões importantes
– Coerência de caches
– Multiprocessadores NUMA
– Programação paralela
ERAD-SP 2010 78
80. Multiprocessadores
• Multiprocessadores
NUMA
– NUMA = Non-Uniform
Memory Acess
– Grupos de processadores
com sua respectiva
memória
– Tempos de acesso à
memória diferentes
– Mantém modelo de
memória compartilhada
(mas precisa cuidados
para obter desempenho)
ERAD-SP 2010 80
81. Multiprocessadores
• Programação Paralela
– Método de desenvolvimento de programas que explora a
disponibilidade de vários processadores/cores para uma
única aplicação.
– Modelos de programação
• Memória compartilhada (OpenMP, CPar)
• Memória distribuída (MPI)
• Mais informações:
Minicurso 3 (básico):
Programação Paralela: multicores e clusters
Profa. Dra. Liria Matsumoto Sato (Poli-USP)
(amanhã – 31/07 às 14h00)
ERAD-SP 2010 81
82. Clusters
• Arquitetura de sistema paralelo multiprocessador
organizado como um conjunto de processadores
interligados através de uma rede de interconexão rápida
Interconexão rápida (Myrinet,
Infiniband, Gigabit Ethernet)
Rede interna de administração
(Ethernet)
cluster
ERAD-SP 2010 82
83. Clusters
• Conhecido inicialmente como NOW (Network of
Workstations) ou COW (cluster of workstations)
• Cada nó tem sua própria memória local (não
compartilhada)
– Comunicação por troca de mensagens
– Difícil programação
• Modelo de programação diferente
• Conceito cliente-servidor
• MPI
ERAD-SP 2010 83
86. Arquiteturas Paralelas
Alguns pensamentos:
• Hoje, a maioria de sistemas computacionais apresenta
uma arquitetura paralela. Contudo nossos cursos não
apresentam este conteúdo de forma detalhada.
• É uma grande oportunidade para todos melhorar sua
formação com um estudo detalhado deste tópico.
ERAD-SP 2010 86
87. Arquiteturas Paralelas
Pensamento final:
• Precisamos difundir a necessidade
em compreender o funcionamento
das arquiteturas paralelas e do
aprendizado das técnicas de
programação paralela e distribuída
para usufruirmos dos benefícios
destas máquinas.
ERAD-SP 2010 87
88. Bibliografia
Algumas referências bibliográficas interessantes para
consulta sobre Arquiteturas Paralelas:
• Akter, S.; Roberts, J. Multi-core Programming. Intel Press, 2006.
• Culler, D.; Singh, J. Parallel Computer Architecture: A Hardware/
Software Approach. Morgan Kaufmann, 1999.
• De Rose, C.; Navaux, P. Arquiteturas Paralelas. Editora Sagra-Luzzatto,
2003. (Série Livros Didáticos - Número 15)
• Grama, A.; Gupta, A.; Karypis, G. and Kumar, V. Introduction to Parallel
Computing. 2nd ed., Addison-Wesley, 2003.
• Hennessy, J.L.; Patterson, D.A. Computer Architecture: A Quantitative
Approach. 4th ed., Morgan Kaufmann, 2007.
• Olukotun, K.; Hammond, L. and Laudon, J. Chip Multiprocessor
Architecture: Techniques to Improve Throughput and Latency.
Morgan & Claypool, 2007.
• Zomaya, A.Y.H. (ed.) Parallel & Distributed Computing Handbook.
McGraw-Hill, 1996.
ERAD-SP 2010 88