ssc#0742...
TRANSCRIPT
![Page 1: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/1.jpg)
SSC-‐0742 PROGRAMAÇÃO CONCORRENTE
Aula 03 – Terminologia Geral de Computação Paralela Prof. Jó Ueyama
![Page 2: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/2.jpg)
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(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/3.jpg)
Visão Geral da Aula de Hoje
3 1º Semestre de 2013
• Termos Gerais 1
• Exercício e Leitura Recomendada 2
![Page 4: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/4.jpg)
TERMOS GERAIS
4 1º Semestre de 2013
![Page 5: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/5.jpg)
Termos Gerais
• Como em qualquer área, a computação paralela também possui o seu “jargão”
• Os termos mais comumente uTlizados associados a computação paralela são descritos nesta aula
5 1º Semestre de 2013
![Page 6: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/6.jpg)
Termos Gerais
• Tarefa (Task) – Uma seção logicamente discreta de trabalho computacional. É Tpicamente um programa ou um conjunto de instruções de um programa executados por um processador
6 1º Semestre de 2013
![Page 7: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/7.jpg)
Termos Gerais
• Tarefa Paralela (Parallel Task) – Uma tarefa que pode ser executada por múlTplos processadores
7 1º Semestre de 2013
![Page 8: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/8.jpg)
Termos Gerais
• Execução Serial (Serial ExecuMon) – Execução de um programa sequencialmente, uma instrução por vez. No senTdo mais simples isso é o que ocorre em uma máquina de um processador. No entanto, praTcamente todas as tarefas tem seções que devem ser executadas em série
8 1º Semestre de 2013
![Page 9: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/9.jpg)
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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/10.jpg)
Termos Gerais
• Pipelinning – Quebra de uma tarefa em etapas realizadas por unidades diferentes de processamento
1º Semestre de 2013 10
![Page 11: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/11.jpg)
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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/12.jpg)
Termos Gerais
• MulMprocessador Simétrico (Simetric MulM-‐Processor) – Arquitetura de hardware com múlTplos processadores iguais que comparTlham um único espaço de endereçamento (memória comparTlhada) e podem acessar de forma indisTnta todos os recursos de E/S. Pode ser uTlizada como uma máquina paralela com memória comparTlhada.
1º Semestre de 2013 12
![Page 13: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/13.jpg)
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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/14.jpg)
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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/15.jpg)
Termos Gerais
• Sincronização (SynchronizaMon) – A coordenação das tarefas paralelas, em tempo de execução, é importante para garanTr resultados determinísTcos. Sincronização neste contexto se refere às técnicas uTlizadas para garanTr essa coordenação.
1º Semestre de 2013 15
![Page 16: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/16.jpg)
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 parTr 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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/17.jpg)
Termos Gerais
• Speedup – Tempo da execução serial / Tempo da execução paralela
• Um dos indicadores mais simples e o mais uTlizado para quanTficar o desempenho de um programa paralelo
1º Semestre de 2013 17
![Page 18: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/18.jpg)
Termos Gerais
• Sobrecarga Paralela (Parallel Overhead) – A quanTdade de tempo despendida para coordenar uma tarefa paralela, sem realizar um trabalho úTl. 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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/19.jpg)
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ísTcas da aplicação – Algoritmo da aplicação – Hardware – memória, cpu, comunicação, largura de banda
1º Semestre de 2013 19
![Page 20: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/20.jpg)
Termos Gerais
• Processadores MulM-‐core – MúlTplos Processadores (cores) e um único chip
1º Semestre de 2013 20
![Page 21: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/21.jpg)
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 uTlizado como uma máquina paralela com memória distribuída.
1º Semestre de 2013 21
![Page 22: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/22.jpg)
Termos Gerais
• Supercomputador/Computação de Alto Desempenho (SupercompuMng/High Performance CompuMng • Termos uTlizados 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#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/23.jpg)
EXERCÍCIO E LEITURA RECOMENDADA
23 1º Semestre de 2013
![Page 24: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/24.jpg)
Exercício
• Acessar o Moodle
24 1º Semestre de 2013
![Page 25: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/25.jpg)
Leitura Recomendada • IntroducTon to Parallel CompuTng, Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar -‐ 2ª ed., Addison Wesley
25 1º Semestre de 2013
![Page 26: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/26.jpg)
Dúvidas
26 1º Semestre de 2013
![Page 27: SSC#0742 PROGRAMAÇÃO(CONCORRENTE(wiki.icmc.usp.br/images/1/19/Aula-03-Terminologia-Computação-Par… · PROGRAMAÇÃO(CONCORRENTE(Aula(03(–Terminologia(Geral(de(Computação(Paralela(Prof.&Jó&Ueyama&](https://reader034.vdocuments.pub/reader034/viewer/2022050119/5f4ff357fce09721153ccc74/html5/thumbnails/27.jpg)
Próxima Aula...
• Modelos de Programação Paralela
27 1º Semestre de 2013