ssc#0143 programaÇÃo(concorrente(wiki.icmc.usp.br/images/d/da/aula-03-terminologia... · ssc#0143...

27
SSC0143 PROGRAMAÇÃO CONCORRENTE Aula 06 – Terminologia Geral de Computação Paralela Prof. Jó Ueyama e Julio Cezar Estrella

Upload: others

Post on 22-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

SSC-­‐0143    PROGRAMAÇÃO  CONCORRENTE  

Aula  06  –  Terminologia  Geral  de  Computação  Paralela  Prof.  Jó  Ueyama  e  Julio  Cezar  Estrella  

Page 2: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

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#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Visão  Geral  da  Aula  de  Hoje    

3  1º  Semestre  de  2013  

• Termos  Gerais  1  

• Exercício  e  Leitura  Recomendada  2  

Page 4: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

TERMOS  GERAIS  

4  1º  Semestre  de  2013  

Page 5: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Como  em  qualquer  área,  a  computação  paralela  também  possui  o  seu  “jargão”  

•  Os  termos  mais  comumente  uUlizados  associados  a  computação  paralela  são  descritos  nesta  aula  

5  1º  Semestre  de  2013  

Page 6: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Tarefa  (Task)  – Uma  seção  logicamente  discreta  de  trabalho  computacional.  É  Upicamente  um  programa  ou  um  conjunto  de  instruções  de  um  programa  executados  por  um  processador  

6  1º  Semestre  de  2013  

Page 7: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Tarefa  Paralela  (Parallel  Task)  – Uma  tarefa  que  pode  ser  executada  por  múlUplos  processadores  

7  1º  Semestre  de  2013  

Page 8: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Execução  Serial  (Serial  ExecuMon)  – Execução  de  um  programa  sequencialmente,  uma  instrução  por  vez.  No  senUdo  mais  simples  isso  é  o  que  ocorre  em  uma  máquina  de  um  processador.  No  entanto,  praUcamente  todas  as  tarefas  tem  seções  que  devem  ser  executadas  em  série  

8  1º  Semestre  de  2013  

Page 9: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Execução  Paralela  (Parallel  ExecuMon)  – Execução  de  um  programa  com  mais  de  uma  tarefa.  Instruções  de  mais  de  uma  tarefa  podem  ser  executadas    no  mesmo  momento  no  tempo.  

 

1º  Semestre  de  2013   9  

Page 10: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Pipelinning  – Quebra  de  uma  tarefa  em  etapas  realizadas  por  unidades  diferentes  de  processamento  

1º  Semestre  de  2013   10  

Page 11: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Memoria  ComparMlhada  (Shared  Memory)  – Do  ponto  de  vista  de  hardware,  descreve  uma  arquitetura  de  computador  em  que  todos  os  processadores  têm  acesso  direto  a  uma  memória  fsica  comum.    Do  ponto  de  vista  de  programação,  descreve  um  modelo  em  que  as  tarefas  em  paralelo  possuem  o  mesmo  espaço  de  endereçamento  de  memória  e  podem  acessar  diretamente  a  mesma  localização  lógica  da  memória  independentemente  de  onde  a  memória  fsica  esteja  localizada.  

1º  Semestre  de  2013   11  

Page 12: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  MulMprocessador  Simétrico  (Simetric  MulM-­‐Processor)  – Arquitetura  de  hardware  com  múlUplos  processadores  iguais  que  comparUlham  um  único  espaço  de  endereçamento  (memória  comparUlhada)  e  podem  acessar  de  forma  indisUnta  todos  os  recursos  de  E/S.  Pode  ser  uUlizada  como  uma  máquina  paralela  com  memória  comparUlhada.  

1º  Semestre  de  2013   12  

Page 13: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  •  Memória  Distribuída  (Distributed  Memory)  – Em  hardware,  refere-­‐se  à  presença  somente  de  memória  local  aos  processadores  de  uma  arquitetura  paralela,  que  são  interconectados  por  um  meio  de  comunicação.  Como  um  modelo  de  programação,  as  tarefas  só  podem  acessar  a  memória  local.  A  comunicação  de  dados  entre  os  diversos  processadores  é  feita  pelo  meio  de  comunicação  que  os  interliga.      

1º  Semestre  de  2013   13  

Page 14: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Comunicação  (CommunicaMon)  – Tarefas  paralelas  precisam  normalmente  trocar  dados  durante  sua  execução.  Comunicação,  no  contexto  de  processamento  paralelo,  se  refere  a  essa  troca  de  dados.    

1º  Semestre  de  2013   14  

Page 15: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Sincronização  (SynchronizaMon)  – A  coordenação  das  tarefas  paralelas,  em  tempo  de  execução,  é  importante  para  garanUr  resultados  determinísUcos.  Sincronização  neste  contexto  se  refere  às  técnicas  uUlizadas  para  garanUr  essa  coordenação.    

1º  Semestre  de  2013   15  

Page 16: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Granularidade  (Granularity)  –  Em  computação  paralela,  a  granularidade  é  a  relação  entre  computação  e  comunicação  dos  trechos  de  código  gerados  a  parUr  da  divisão  do  problema  a  ser  resolvido    •  Coarse  (grossa)  

– Grandes  trechos  de  código  com  comunicação  baixa  -­‐>  menor  potencial  de  exploração  de  paralelismo  

•  Fine  (fina)  – Pequenos  trechos  de  código  com  comunicação  alta  -­‐>  maior  potencial  de  exploração  de  paralelismo  

1º  Semestre  de  2013   16  

Page 17: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Speedup  – Tempo  da  execução  serial  /  Tempo  da  execução  paralela  

•  Um   dos   indicadores   mais   simples   e   o   mais  uUlizado   para   quanUficar   o   desempenho   de  um  programa  paralelo  

   

1º  Semestre  de  2013   17  

Page 18: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Sobrecarga  Paralela  (Parallel  Overhead)  – A  quanUdade  de  tempo  despendida  para  coordenar  uma  tarefa  paralela,  sem  realizar  um  trabalho  úUl.  A  sobrecarga  pode  incluir  fatores  como:    •  Tempo  de  início  da  tarefa  •  Sincronização  •  Comunicação  de  dados  •  Sobrecarga  de  sopware  imposto  por  compiladores  paralelos,  bibliotecas,  ferramentas,  sistemas  operacionais,  etc..  

•  Tempo  de  término  da  tarefa  

1º  Semestre  de  2013   18  

Page 19: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Escalabilidade  (Scalability)  – Refere-­‐se  à  habilidade  de  aumento  do    speedup  em  um  sistema  paralelo  com  a  adição  de  mais  processadores.    

•  Fatores  contribuintes:  –  CaracterísUcas  da  aplicação  – Algoritmo  da  aplicação  – Hardware  –  memória,  cpu,  comunicação,  largura  de  banda  

1º  Semestre  de  2013   19  

Page 20: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Processadores  MulM-­‐core  – MúlUplos  Processadores  (cores)  e  um  único  chip  

 

1º  Semestre  de  2013   20  

Page 21: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Computação  em  Cluster  (Cluster  CompuMng)  – Um  grupo  de  computadores  ligados  por  uma  ou  mais  redes  de  comunicação  com  a  finalidade  de  aumento  de  desempenho  e  confiabilidade.  Pode  ser  uUlizado  como  uma  máquina  paralela  com  memória  distribuída.    

1º  Semestre  de  2013   21  

Page 22: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Termos  Gerais  

•  Supercomputador/Computação  de  Alto  Desempenho  (SupercompuMng/High  Performance  CompuMng  •  Termos  uUlizados  para  referir  máquinas  ou  processos  

computacionais  com  alta  velocidade  de  execução  em  comparação  às  máquinas  e  processos  computacionais  comumente  disponíveis.    

1º  Semestre  de  2013   22  

Page 23: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

EXERCÍCIO  E  LEITURA  RECOMENDADA  

23  1º  Semestre  de  2013  

Page 24: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Exercício  

•  Acessar  o  Moodle  

24  1º  Semestre  de  2013  

Page 25: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Leitura  Recomendada  •  IntroducUon  to  Parallel  CompuUng,  Ananth  Grama,  Anshul  Gupta,  George  Karypis,  Vipin  Kumar  -­‐  2ª  ed.,  Addison  Wesley  

25  1º  Semestre  de  2013  

Page 26: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Dúvidas  

26  1º  Semestre  de  2013  

Page 27: SSC#0143 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/d/da/Aula-03-Terminologia... · SSC#0143 PROGRAMAÇÃO(CONCORRENTE(Aula(06(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyamae&Julio&

Próxima  Aula...  

•  Modelos  de  Programação  Paralela  

27  1º  Semestre  de  2013