28
SSC0742 PROGRAMAÇÃO CONCORRENTE Aula 02 – Revisão de Arquiteturas Paralelas – Parte 1 Prof. Jó Ueyama

SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SSC-­‐0742    PROGRAMAÇÃO  CONCORRENTE  

Aula  02  –  Revisão  de  Arquiteturas  Paralelas  –  Parte  1  Prof.  Jó  Ueyama  

Page 2: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Créditos  

2  1º  Semestre  de  2013  

Os   slides   integrantes   deste   material  foram   construídos   a   par4r   dos  conteúdos   relacionados   às   referências  bibliográficas  descritas  neste  documento  

Page 3: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Visão  Geral  da  Aula  de  Hoje    

3  1º  Semestre  de  2013  

• Classificação  de  Arquiteturas  1  • Taxonomia  de  Flynn  2  • SISD  3  • SIMD    4  • MISD  5  • MIMD  6  • Exercício  e  Leitura  Recomendada  7  

Page 4: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

CLASSIFICAÇÃO  DE  ARQUITETURAS  

4  1º  Semestre  de  2013  

Page 5: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Arquitetura  de  Von  Neumann  

1º  Semestre  de  2013   5  

Page 6: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Arquitetura  de  Von  Neumann  

6  1º  Semestre  de  2013  

•  BaXzada   em   homenagem   ao   matemáXco  húngaro   John   von   Neumann,   que   em   1945  introduziu   os   conceitos   básicos   dos  computadores  atuais.  

•  O  Conceito  mais  importante  é  o  de  programa  armazenado   na   memória.   Antes   disso   os  programas   eram   fe i tos   at ravés   de  interligações  esicas  dos  circuitos.    

Page 7: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Classificação  das  Arquiteturas  

•  Várias  maneiras  foram  propostas  para  a  classificação  das  arquiteturas  de  computadores.      

1º  Semestre  de  2013   7  

•  Uma  das  mais  simples,  e  talvez  por  isso,  mais  uXlizada  é  a  classificação  de  Flynn.    

Page 8: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Classificação  das  Arquiteturas  

•  Classificação  de  Flynn  (Em  uso  desde  1966)  – DisXngue  arquiteturas  de  computadores  de  acordo  com  a  mulXplicidade  de  fluxos  simultâneos  de  processamento  de  instruções  e  de  acessos  à  memória    

– Cada  um  deles  pode  ser  •  Simples  ou  MúlXplos  

1º  Semestre  de  2013   8  

Page 9: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Classificação  das  Arquiteturas  

•  4  Classes  – SISD  – SIMD  – MISD  – MIMD  

1º  Semestre  de  2013   9  

Multiple Instruction, Single Data

Page 10: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SISD  

10  1º  Semestre  de  2013  

Page 11: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SISD  Single  Instruc4on,  Single  Data  •  Um  computador  não  paralelo,  a  arquitetura  básica  de  von  Neumann  –  Fluxo  Simples  de  Instruções:  Apenas  um  fluxo  de  instruções  e  processado  de  cada  vez  

–  Fluxo  Simples  de  Dados:  Um  único  fluxo  de  dados  existe  entre  processador  e  memória  

–  Execução  determinísXca  •  É  o  mais  anXgo  e  comum  Xpo  de  computador  usado  atualmente    

1º  Semestre  de  2013   11  

Page 12: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SISD  

1º  Semestre  de  2013   12  

UNIVAC1  IBM-­‐360  

CRAY-­‐1  

CDC-­‐7600  

PDP-­‐1  

LAPTOP  

Page 13: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SIMD  

13  1º  Semestre  de  2013  

Page 14: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SIMD  Single  Instruc4on,  Mul4ple  Data  •  Um  Xpo  de  computador  paralelo  

–  Única  instrução:  Todas  as  unidades  de  processamento  executam  a  mesma  instrução    

–  Vários  dados:  Cada  unidade  de  processamento  pode  operar  em  um  elemento  de  dados  diferentes  

•  Mais  adequado  para  problemas  específicos  caracterizados  por  um  alto  grau  de  regularidade,  tais  como  gráficos/processamento  de  imagens  

•  A  maioria  dos  computadores  modernos  –  ParXcularmente  aqueles  com  as  unidades  de  processadores  gráficos  (GPUs)  empregam  SIMD  instruções  e  unidades  de  execução.  

1º  Semestre  de  2013   14  

Page 15: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SIMD  

1º  Semestre  de  2013   15  

Page 16: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

SIMD  

1º  Semestre  de  2013   16  

CRAY  Y-­‐MP  

Thinking  Machines  CM-­‐2  

ILLIAC-­‐IV  

Maspar   CRAY  X-­‐MP  

CELL  PROCESSOR  (GPU)  

Page 17: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MISD  

17  1º  Semestre  de  2013  

Page 18: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MISD  

1º  Semestre  de  2013   18  

Mul4ple  Instruc4on,  Single  Data  •  Único  fluxo  de  dados  alimentado  em  várias  unidades  de  processamento.  Cada  unidade  de  transformação  opera  sobre  os  dados  de  forma  independente  por  meio  de  fluxos  de  instruções  independentes.    

•  Poucos  exemplos  concretos  desta  categoria  de  computadores  –  Experimental  Carnegie-­‐Mellon  C.mmp  (1971)  

•  Ex.:  disposiXvos  provendo  tolerância  a  falhas  para  mascarar  e/ou  detectar  erros  

Page 19: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MISD  

1º  Semestre  de  2013   19  

Page 20: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MIMD  

20  1º  Semestre  de  2013  

Page 21: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MIMD  

1º  Semestre  de  2013   21  

Mul4ple  Instruc4on,  Mul4ple  Data  •  Cada  processador  pode  executar  um  fluxo  de  instruções  

diferentes  •  Cada  processador  pode  trabalhar  com  diferentes  fluxos    

de  dados  •  A  execução  pode  ser  síncrona  ou  assíncrona  •  Atualmente  o  Xpo  mais  comum  de  computador  paralelo  

–  Exemplos:  A  maioria  dos  supercomputadores  atuais,  clusters  de  computadores  paralelos,  "grids”,  computadores  SMP,  computadores  mulX-­‐core.      

Page 22: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MIMD  

1º  Semestre  de  2013   22  

Page 23: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

MIMD  

1º  Semestre  de  2013   23  

IBM  POWER5  

AMD  Opteron  

Cray  XT3  

Intel  IA32  

HP/Compaq  Alphaserver  

IBM  BG/L  

Page 24: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

LEITURA  RECOMENDADA  

24  1º  Semestre  de  2013  

Page 25: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Leitura  Recomendada  •  IntroducXon  to  Parallel  CompuXng,  Ananth  Grama,  Anshul  Gupta,  George  Karypis,  Vipin  Kumar  -­‐  2ª  ed.,  Addison  Wesley  –  Capítulo  01    

25  1º  Semestre  de  2013  

Page 26: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Bibliografia  

•  IntroducXon   to   Parallel   CompuXng,   Ananth  Grama,   Anshul   Gupta,   George   Karypis,   Vipin  Kumar  -­‐  2ª  ed.,  Addison  Wesley  

•  IntroducXon  do  Parallel  CompuXng  –  hxp s : / / c ompuXn g . l l n l . g o v / t u t o r i a l s /parallel_comp/  

1º  Semestre  de  2013   26  

Page 27: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Dúvidas  

27  1º  Semestre  de  2013  

Page 28: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(

Próxima  Aula...  

•  Revisão  de  Arquiteturas  Paralelas  –  Parte  2    

28  1º  Semestre  de  2013