SlideShare a Scribd company logo
1 of 44
PROCESSAMENTO PARALELO
O processamento sequencial atende a maior parte das necessidades.
Porém algumas necessitam de maior poder de processamento.
Isso é conseguido através do Processamento Paralelo.
• Previsão do tempo
• Indústria Aeronáutica
• Pesquisas Médicas
IBM 704 (1954)
O IBM 704 foi o primeiro computador comercialmente disponível a fazer uso de aritmética
com pontos flutuantes automáticos.
Definição: É usar múltiplos (dois ou mais) processadores,
simultaneamente para resolver um mesmo problema.
Objetivo: Redução do tempo necessário para resolver um
problema (desempenho);
•Paralelismo de atividades diferentes e que precisam ser
realizadas em um tempo aceitável para a tomada de
decisões corretas.
Motivação: Problemas cada vez mais complexos e/ou
maiores;
•Clock dos processadores se aproximando dos limites
ditados pela física;
PROCESSAMENTO PARALELO
O QUE É UM PROGRAMA?
É uma entidade estática e permanente,
composto por uma sequência de instruções,
passivo sob o ponto de vista do sistema
operacional.
PROGRAMA
O QUE É UM PROCESSO?
É uma entidade dinâmica, que altera seu estado a medida
que avança sua execução.
Assim, o processo é uma abstração que representa um
programa em execução.
PROCESSO
Programa em execução com um único fluxo de execução.
Em sistemas tradicionais, cada processo tem seu espaço de
endereçamento individual e apenas um fluxo de execução
(thread).
THREAD
O QUE SÃO THREADS ?
Programa em execução com múltiplos fluxos de
execução.
Em sistemas paralelos, cada processo tem seu
espaço de endereçamento individual e vários fluxos
de execução no mesmo espaço de endereçamento.
THREADS
COMO É A NOSSA VISÃO TRADICIONAL
Computador é uma máquina sequencial;
Os problemas são resolvidos por sequências discretas de
instruções;
As instruções são executadas de forma serial;
ABORDAGEM SEQUENCIAL
ABORDAGEM PARALELA
Taxonomia de Flynn.
SISD – Single instruction Single Data MISD – Multiple Instruction Single Data
SIMD – Single Instruction Multiple Data MIMD – Multiple Instruction Multiple Data
ARQUITETURA SIMD
Em máquinas SIMD, um programa também é uma sequência única de
instruções armazenadas em memória. Cada instrução é decodificada em seu
turno, indicado por um único registrador contador de programa, por uma
única unidade de controle.
SISTEMAS DE PROCESSAMENTO MATRICIAL
O programa SIMD é armazenado em uma memória de controle, que é também o
repositório inicial para os dados. Os dados que serão processados pelos PEs
(PE, de Processing Element) devem ser distribuídos a diversos elementos de
memória (ME).
ARQUITETURA BÁSICA
Todos PEs operam sincronamente, iniciando e concluindo a instrução ao
mesmo tempo. Cada PE tem seus registradores locais e pode executar
operações lógicas e aritméticas sobre os itens de dados de um arranjo.
PRINCÍPIO DE OPERAÇÃO
Uma estratégia de máquina SIMD é usar PEs cada vez mais simples e
numerosas, como forma de ampliar o potencial de paralelismo usando
elementos de processamento menos complexos.
PROCESSADORES BIT SLICE
• O ILLIAC IV (Illinois Array Computer) 1960 - foi o primeiro sistema SIMD de
ampla repercussão.
• GF-11 foi construído pela IBM no início da década de 1980, como um
protótipo de pesquisa voltado para a realização de cálculos numéricos em
cromodinâmica quântica.
• MPP (MassivelyParallel Processor) é um exemplo de máquina bit slice,
tendo sido construída pela Goodyear Aerospace no início da década de
1980.
EXEMPLOS
ARQUITETURA MIMD
Fluxo Múltiplo de Instruções/Fluxo Múltiplo de Dado sé uma arquitetura
paralela composta de múltiplos processadores e múltiplos módulos de
memória, conectados via rede.
Eles são divididos em duas categorias: Memória compartilhada e Passagem
de mensagens.
ARQUITETURA SIMD
• É onde os processadores se comunicam através de leituras e escritas em
regiões de uma memória compartilhada que é igualmente acessada por
todos.
MODELO DE MEMÓRIA COMPARTILHADA
• Cada processador tem acesso a sua própria memória local. A comunicação
entre os processadores é feita através de um sistema de passagem de
mensagens, executada via operações de envio e recebimento de
mensagens em uma rede.
MODELO DE PASSAGEM DE MENSAGENS
A tecnologia multicore consiste em colocar mais de uma unidade de
execução (core ou núcleo) no interior de um único chip processador.
MULTICORE
• Maior eficácia do sistema e desempenho aprimorado de aplicativos em
computadores executando vários aplicativos simultaneamente
• Desempenho aprimorado para aplicativos multithreaded
• Compatibilidade para mais usuários ou tarefas em aplicativos com muitas
transações
• Desempenho superior em aplicativos que utilizam processamento de forma
intensiva
• Economia no preço de licenciamento de softwares proprietários, passando a
ter um maior poder de processamento sem necessitar de uma nova máquina
• Redução da dissipação térmica quando comparado ao Single-Core
PRINCIPAIS VANTAGENS DA ARQUITETURA MULTICORE
É a capacidade que o sistema operacional possui de executar várias
threads simultaneamente sem que uma interfira na outra. Estas threads
compartilham os recursos do processo, mas são capazes de ser
executadas de forma independente. Para possuir processamento
multithread “real”, os processadores precisam ser capazes de atender
duas ou mais threads ao mesmo tempo.
MULTITHREADING
• Multithreading convencional
• Single-Threaded CPU
• Single-Threaded SMP
• Hyper-threading
ELES SÃO DIVIDIDOS EM DUAS CATEGORIAS
Uma parte do que a CPU faz é ilusão. Por exemplo arquiteturas modernas de
processadores fora de ordem (OOE) não executam o código sequencialmente
na ordem em que foi escrito. A arquitetura OOE pega o código que foi escrito
e o compila para ser executado numa ordem especifica, reprogramando a
sequência de instruções (se possível) de modo que elas façam uso máximo
dos recursos do processador, executa, e então os organiza de volta a sua
ordem original de modo que os resultados possam ser escritos na memória
MULTITHREADING CONVENCIONAL
No diagrama, os retângulos
coloridos na RAM
representam instruções de quatro
programas diferentes em execução.
De acordo com a imagem, somente
as instruções do programa vermelho
estão sendo executados no
momento, enquanto o resto aguarda
pacientemente por seu turno na
memória até que a CPU
possa rapidamente virar sua
atenção a eles.
SINGLE-THREADED CPU
No diagrama acima, o
programa vermelho e o
processo amarelo estão
executando
simultaneamente, um em
cada processador.
Assim que seus respectivos
time slices estiverem
prontos, seus contextos
serão salvos, seus códigos
e dados serão limpos da
CPU, e dois novos
processos serão
preparados para execução.
SINGLE-THREADED SMP
Multithreading simultâneo
(simultaneousmultithreading –
SMT), também conhecido como
Hyper-threading, leva o
superthreading ao próximo nível.
Hyper-threading é simplesmente
o superthreading sem a restrição
de que todas as instruções
emitidas pelo Front end a cada
clock sejam da mesma thread.
HYPER-THREADING
SUPERTHREAD-SINGLE_CPU-THUM
PIPELINEBUBBLE
O uso de caches grandes e de vários níveis pode reduzir substancialmente as
demandas de largura de banda de memória de um processador. Se essas demandas
são reduzidas, vários processadores podem compartilhar a mesma memória.
ARQUITETURA DE MEMÓRIA NO
PROCESSAMENTO PARALELO
ARQUITETURA DE MEMÓRIA COMPARTILHADA SIMÉTRICA
Máquinas de memória compartilhada podem ser divididas em
duas classes principais baseadas nos tempos de acesso à
memória:
• UMA
• NUMA.
ARQUITETURA DE MEMÓRIA COMPARTILHADA SIMÉTRICA
Figura representando várias CPU’s compartilhando a mesma memória
É uma arquitetura de memória compartilhada usada
em computadores paralelos. Todos os processadores no modelo
UMA compartilha a memória física de maneira uniforme.
MEMÓRIA DE ACESSO UNIFORME - UNIFORMMEMORY ACCESS (UMA)
É uma arquitetura de memória usada em projeto de multiprocessamento,
onde o tempo de acesso à memória depende da posição da memória em
relação ao processador.
MEMÓRIA DE ACESSO NÃO-UNIFORME - NON-UNIFORMMEMORY ACCESS
(NUMA)
NCC-NUMA - (Non-Cache-Coherent Non-Uniform Memory Access)
Acesso não-uniforme à memória sem coerência de cache;
CC-NUMA - (Cache-Coherent Non-Uniform Memory Access)
Acesso não uniforme à memória com coerência de cache;
SC-NUMA - (Software-Coherent Non-Uniform Memory Access)
Acesso não uniforme à memória com coerência de cache em software;
COMA - (Cache-Only Memory Architecture)
Arquiteturas de memória somente com cache
ESTA CLASSE DIVIDIDA SEGUNDO SEU TRATAMENTO DE COERÊNCIA
DE CACHE.
COMA - (CACHE-ONLY MEMORY ARCHITECTURE)
Neste caso, todas as memórias locais estão estruturadas como memória cache(C) e
são chamadas de COMA cachês, como mostra a figura abaixo.
Os processadores possuem sua própria memória local, não existindo
o conceito de espaço de endereçamento global entre todos os
processadores.
Requerem uma rede de comunicação para conectar memórias
interprocessadores.
MEMÓRIA DISTRIBUÍDA
As arquiteturas de memória híbrida possuem as características
comuns às duas anteriormente citadas.
Empregando tanto arquiteturas de memória compartilhada quanto
de memória distribuída.
ARQUITETURAS DE MEMÓRIA COMPARTILHADA DISTRIBUÍDA -
MEMÓRIA HÍBRIDA DISTRIBUÍDA/COMPARTILHADA – HYBRID
DISTRIBUTED-SHARED MEMORY
É o nome dado a um sistema que relaciona dois ou mais
computadores para que estes trabalhem de maneira conjunta no
intuito de processar uma tarefa.
Cada computador que faz parte do cluster recebe o nome de nó
(ou node).
CLUSTER
Clusters de alto desempenho são direcionados a aplicações bastante
exigentes no que diz respeito ao processamento. Sistemas utilizados em
pesquisas científicas, por exemplo.
CLUSTER DE ALTO DESEMPENHO
(HIGH PERFORMANCE COMPUTING CLUSTER)
CLUSTER DE ALTA DISPONIBILIDADE
(HIGH AVAILABILITY COMPUTING CLUSTER)
O foco está em sempre manter a aplicação em pleno funcionamento: não é
aceitável que o sistema pare de funcionar.
Para atender a esta exigência, os clusters de alta disponibilidade podem contar
com diversos recursos: ferramentas de monitoramento que identificam nós
defeituosos ou falhas na conexão
As tarefas de processamento são distribuídas o mais
uniformemente possível entre os nós. O foco aqui é fazer
com que cada computador receba e atenda a uma
requisição e não, necessariamente, que divida uma tarefa
com outras máquinas.
CLUSTER PARA BALANCEAMENTO DE CARGA
(LOADBALANCING)
COMBINAÇÃO DE TIPOS DE CLUSTERS
Conforme a necessidade pode-se combinar características
de tipos diferentes no intuito de atender plenamente à
aplicação.
Este nome faz referência a um padrão de clustering disponibilizado pela
NASA (National Aeronautics and Space Agency) em 1994 e amplamente
adotado desde então.
CLUSTER BEOWULF
CARACTERÍSTICAS:
Entre os nós, deve haver pelo menos um que atue como mestre
(chamadas de front-end) para exercer o controle dos demais (back-end).
• No bit(Bit Level)
• Paralelismo no nível de instrução(InstructionLevel)
• Taskparallelism - Paralelismo de Tarefas (Paralelismo de
Threads)
• Paralelismo de dados
MODOS DE PARALELISMO
A Lei de Amdahl
É uma das fórmulas que tenta explicar o
ganho obtido em uma aplicação ao
adicionar mais cores de processamento.
LEIS DE AMDAHL E GUSTAFSON
Quando executamos em
uma máquina paralela
com N processadores, o
tempo gasto será igual a:
LEIS DE AMDAHL E GUSTAFSON
O trecho paralelizável
terá partido dos “N”
processadores. O ganho
de processamento é
dado por:
Lei de Gustafson - parte do tempo de execução em
paralelo para estimar o speedup máximo comparado com
a execução sequencial. Com isso, Gustafson propôs a
seguinte formula:
LEIS DE AMDAHL E GUSTAFSON
G = N + (1 | | N) _ s

More Related Content

What's hot

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa maeMarcos Basilio
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Cleber Ramos
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioSuzana Viana Mota
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Leinylson Fontinele
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Leinylson Fontinele
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionaisAparicio Junior
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisLuciano Crecente
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Faculdade Mater Christi
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 

What's hot (20)

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa mae
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Aula 06 - Sistema Binário
Aula 06 - Sistema BinárioAula 06 - Sistema Binário
Aula 06 - Sistema Binário
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema Binário
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionais
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Scrum
ScrumScrum
Scrum
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 

Similar to Processamento paralelo

Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia J Chaves Silva
 
Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaLincoln Lamas
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computadorredesinforma
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionaisSuperTec1
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e softwareMarcelle Guiné
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e softwareMarcelle Guiné
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaAdriano Teixeira de Souza
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoAdriano Teixeira de Souza
 
Introdução a computação 04 (1)
Introdução a computação 04 (1)Introdução a computação 04 (1)
Introdução a computação 04 (1)Felipe Pereira
 
Introdução a computação 04
Introdução a computação 04Introdução a computação 04
Introdução a computação 04Felipe Pereira
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2Paulo Fonseca
 

Similar to Processamento paralelo (20)

Arquitetura paralela
Arquitetura paralelaArquitetura paralela
Arquitetura paralela
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
Processador
ProcessadorProcessador
Processador
 
Máquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da MicroarquiteturaMáquinas Multiníveis - Nível da Microarquitetura
Máquinas Multiníveis - Nível da Microarquitetura
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e software
 
Aspectos basicos de hardware e software
Aspectos basicos de hardware e softwareAspectos basicos de hardware e software
Aspectos basicos de hardware e software
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação Paralela
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - Introdução
 
Hardware
Hardware Hardware
Hardware
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Introdução a computação 04 (1)
Introdução a computação 04 (1)Introdução a computação 04 (1)
Introdução a computação 04 (1)
 
Introdução a computação 04
Introdução a computação 04Introdução a computação 04
Introdução a computação 04
 
Joaopinheiro
JoaopinheiroJoaopinheiro
Joaopinheiro
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 

Recently uploaded

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptNathaliaFreitas32
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdfjacquescardosodias
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 

Recently uploaded (20)

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 

Processamento paralelo

  • 2. O processamento sequencial atende a maior parte das necessidades. Porém algumas necessitam de maior poder de processamento. Isso é conseguido através do Processamento Paralelo. • Previsão do tempo • Indústria Aeronáutica • Pesquisas Médicas
  • 3. IBM 704 (1954) O IBM 704 foi o primeiro computador comercialmente disponível a fazer uso de aritmética com pontos flutuantes automáticos.
  • 4. Definição: É usar múltiplos (dois ou mais) processadores, simultaneamente para resolver um mesmo problema. Objetivo: Redução do tempo necessário para resolver um problema (desempenho); •Paralelismo de atividades diferentes e que precisam ser realizadas em um tempo aceitável para a tomada de decisões corretas. Motivação: Problemas cada vez mais complexos e/ou maiores; •Clock dos processadores se aproximando dos limites ditados pela física; PROCESSAMENTO PARALELO
  • 5. O QUE É UM PROGRAMA?
  • 6. É uma entidade estática e permanente, composto por uma sequência de instruções, passivo sob o ponto de vista do sistema operacional. PROGRAMA
  • 7. O QUE É UM PROCESSO?
  • 8. É uma entidade dinâmica, que altera seu estado a medida que avança sua execução. Assim, o processo é uma abstração que representa um programa em execução. PROCESSO
  • 9. Programa em execução com um único fluxo de execução. Em sistemas tradicionais, cada processo tem seu espaço de endereçamento individual e apenas um fluxo de execução (thread). THREAD
  • 10. O QUE SÃO THREADS ?
  • 11. Programa em execução com múltiplos fluxos de execução. Em sistemas paralelos, cada processo tem seu espaço de endereçamento individual e vários fluxos de execução no mesmo espaço de endereçamento. THREADS
  • 12. COMO É A NOSSA VISÃO TRADICIONAL Computador é uma máquina sequencial; Os problemas são resolvidos por sequências discretas de instruções; As instruções são executadas de forma serial;
  • 15. Taxonomia de Flynn. SISD – Single instruction Single Data MISD – Multiple Instruction Single Data SIMD – Single Instruction Multiple Data MIMD – Multiple Instruction Multiple Data
  • 17. Em máquinas SIMD, um programa também é uma sequência única de instruções armazenadas em memória. Cada instrução é decodificada em seu turno, indicado por um único registrador contador de programa, por uma única unidade de controle. SISTEMAS DE PROCESSAMENTO MATRICIAL O programa SIMD é armazenado em uma memória de controle, que é também o repositório inicial para os dados. Os dados que serão processados pelos PEs (PE, de Processing Element) devem ser distribuídos a diversos elementos de memória (ME). ARQUITETURA BÁSICA Todos PEs operam sincronamente, iniciando e concluindo a instrução ao mesmo tempo. Cada PE tem seus registradores locais e pode executar operações lógicas e aritméticas sobre os itens de dados de um arranjo. PRINCÍPIO DE OPERAÇÃO
  • 18. Uma estratégia de máquina SIMD é usar PEs cada vez mais simples e numerosas, como forma de ampliar o potencial de paralelismo usando elementos de processamento menos complexos. PROCESSADORES BIT SLICE • O ILLIAC IV (Illinois Array Computer) 1960 - foi o primeiro sistema SIMD de ampla repercussão. • GF-11 foi construído pela IBM no início da década de 1980, como um protótipo de pesquisa voltado para a realização de cálculos numéricos em cromodinâmica quântica. • MPP (MassivelyParallel Processor) é um exemplo de máquina bit slice, tendo sido construída pela Goodyear Aerospace no início da década de 1980. EXEMPLOS
  • 20. Fluxo Múltiplo de Instruções/Fluxo Múltiplo de Dado sé uma arquitetura paralela composta de múltiplos processadores e múltiplos módulos de memória, conectados via rede. Eles são divididos em duas categorias: Memória compartilhada e Passagem de mensagens. ARQUITETURA SIMD • É onde os processadores se comunicam através de leituras e escritas em regiões de uma memória compartilhada que é igualmente acessada por todos. MODELO DE MEMÓRIA COMPARTILHADA • Cada processador tem acesso a sua própria memória local. A comunicação entre os processadores é feita através de um sistema de passagem de mensagens, executada via operações de envio e recebimento de mensagens em uma rede. MODELO DE PASSAGEM DE MENSAGENS
  • 21. A tecnologia multicore consiste em colocar mais de uma unidade de execução (core ou núcleo) no interior de um único chip processador. MULTICORE • Maior eficácia do sistema e desempenho aprimorado de aplicativos em computadores executando vários aplicativos simultaneamente • Desempenho aprimorado para aplicativos multithreaded • Compatibilidade para mais usuários ou tarefas em aplicativos com muitas transações • Desempenho superior em aplicativos que utilizam processamento de forma intensiva • Economia no preço de licenciamento de softwares proprietários, passando a ter um maior poder de processamento sem necessitar de uma nova máquina • Redução da dissipação térmica quando comparado ao Single-Core PRINCIPAIS VANTAGENS DA ARQUITETURA MULTICORE
  • 22. É a capacidade que o sistema operacional possui de executar várias threads simultaneamente sem que uma interfira na outra. Estas threads compartilham os recursos do processo, mas são capazes de ser executadas de forma independente. Para possuir processamento multithread “real”, os processadores precisam ser capazes de atender duas ou mais threads ao mesmo tempo. MULTITHREADING • Multithreading convencional • Single-Threaded CPU • Single-Threaded SMP • Hyper-threading ELES SÃO DIVIDIDOS EM DUAS CATEGORIAS
  • 23. Uma parte do que a CPU faz é ilusão. Por exemplo arquiteturas modernas de processadores fora de ordem (OOE) não executam o código sequencialmente na ordem em que foi escrito. A arquitetura OOE pega o código que foi escrito e o compila para ser executado numa ordem especifica, reprogramando a sequência de instruções (se possível) de modo que elas façam uso máximo dos recursos do processador, executa, e então os organiza de volta a sua ordem original de modo que os resultados possam ser escritos na memória MULTITHREADING CONVENCIONAL
  • 24. No diagrama, os retângulos coloridos na RAM representam instruções de quatro programas diferentes em execução. De acordo com a imagem, somente as instruções do programa vermelho estão sendo executados no momento, enquanto o resto aguarda pacientemente por seu turno na memória até que a CPU possa rapidamente virar sua atenção a eles. SINGLE-THREADED CPU
  • 25. No diagrama acima, o programa vermelho e o processo amarelo estão executando simultaneamente, um em cada processador. Assim que seus respectivos time slices estiverem prontos, seus contextos serão salvos, seus códigos e dados serão limpos da CPU, e dois novos processos serão preparados para execução. SINGLE-THREADED SMP
  • 26. Multithreading simultâneo (simultaneousmultithreading – SMT), também conhecido como Hyper-threading, leva o superthreading ao próximo nível. Hyper-threading é simplesmente o superthreading sem a restrição de que todas as instruções emitidas pelo Front end a cada clock sejam da mesma thread. HYPER-THREADING
  • 29. O uso de caches grandes e de vários níveis pode reduzir substancialmente as demandas de largura de banda de memória de um processador. Se essas demandas são reduzidas, vários processadores podem compartilhar a mesma memória. ARQUITETURA DE MEMÓRIA NO PROCESSAMENTO PARALELO ARQUITETURA DE MEMÓRIA COMPARTILHADA SIMÉTRICA
  • 30. Máquinas de memória compartilhada podem ser divididas em duas classes principais baseadas nos tempos de acesso à memória: • UMA • NUMA. ARQUITETURA DE MEMÓRIA COMPARTILHADA SIMÉTRICA Figura representando várias CPU’s compartilhando a mesma memória
  • 31. É uma arquitetura de memória compartilhada usada em computadores paralelos. Todos os processadores no modelo UMA compartilha a memória física de maneira uniforme. MEMÓRIA DE ACESSO UNIFORME - UNIFORMMEMORY ACCESS (UMA)
  • 32. É uma arquitetura de memória usada em projeto de multiprocessamento, onde o tempo de acesso à memória depende da posição da memória em relação ao processador. MEMÓRIA DE ACESSO NÃO-UNIFORME - NON-UNIFORMMEMORY ACCESS (NUMA)
  • 33. NCC-NUMA - (Non-Cache-Coherent Non-Uniform Memory Access) Acesso não-uniforme à memória sem coerência de cache; CC-NUMA - (Cache-Coherent Non-Uniform Memory Access) Acesso não uniforme à memória com coerência de cache; SC-NUMA - (Software-Coherent Non-Uniform Memory Access) Acesso não uniforme à memória com coerência de cache em software; COMA - (Cache-Only Memory Architecture) Arquiteturas de memória somente com cache ESTA CLASSE DIVIDIDA SEGUNDO SEU TRATAMENTO DE COERÊNCIA DE CACHE.
  • 34. COMA - (CACHE-ONLY MEMORY ARCHITECTURE) Neste caso, todas as memórias locais estão estruturadas como memória cache(C) e são chamadas de COMA cachês, como mostra a figura abaixo.
  • 35. Os processadores possuem sua própria memória local, não existindo o conceito de espaço de endereçamento global entre todos os processadores. Requerem uma rede de comunicação para conectar memórias interprocessadores. MEMÓRIA DISTRIBUÍDA
  • 36. As arquiteturas de memória híbrida possuem as características comuns às duas anteriormente citadas. Empregando tanto arquiteturas de memória compartilhada quanto de memória distribuída. ARQUITETURAS DE MEMÓRIA COMPARTILHADA DISTRIBUÍDA - MEMÓRIA HÍBRIDA DISTRIBUÍDA/COMPARTILHADA – HYBRID DISTRIBUTED-SHARED MEMORY
  • 37. É o nome dado a um sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Cada computador que faz parte do cluster recebe o nome de nó (ou node). CLUSTER
  • 38. Clusters de alto desempenho são direcionados a aplicações bastante exigentes no que diz respeito ao processamento. Sistemas utilizados em pesquisas científicas, por exemplo. CLUSTER DE ALTO DESEMPENHO (HIGH PERFORMANCE COMPUTING CLUSTER) CLUSTER DE ALTA DISPONIBILIDADE (HIGH AVAILABILITY COMPUTING CLUSTER) O foco está em sempre manter a aplicação em pleno funcionamento: não é aceitável que o sistema pare de funcionar. Para atender a esta exigência, os clusters de alta disponibilidade podem contar com diversos recursos: ferramentas de monitoramento que identificam nós defeituosos ou falhas na conexão
  • 39. As tarefas de processamento são distribuídas o mais uniformemente possível entre os nós. O foco aqui é fazer com que cada computador receba e atenda a uma requisição e não, necessariamente, que divida uma tarefa com outras máquinas. CLUSTER PARA BALANCEAMENTO DE CARGA (LOADBALANCING) COMBINAÇÃO DE TIPOS DE CLUSTERS Conforme a necessidade pode-se combinar características de tipos diferentes no intuito de atender plenamente à aplicação.
  • 40. Este nome faz referência a um padrão de clustering disponibilizado pela NASA (National Aeronautics and Space Agency) em 1994 e amplamente adotado desde então. CLUSTER BEOWULF CARACTERÍSTICAS: Entre os nós, deve haver pelo menos um que atue como mestre (chamadas de front-end) para exercer o controle dos demais (back-end).
  • 41. • No bit(Bit Level) • Paralelismo no nível de instrução(InstructionLevel) • Taskparallelism - Paralelismo de Tarefas (Paralelismo de Threads) • Paralelismo de dados MODOS DE PARALELISMO
  • 42. A Lei de Amdahl É uma das fórmulas que tenta explicar o ganho obtido em uma aplicação ao adicionar mais cores de processamento. LEIS DE AMDAHL E GUSTAFSON
  • 43. Quando executamos em uma máquina paralela com N processadores, o tempo gasto será igual a: LEIS DE AMDAHL E GUSTAFSON O trecho paralelizável terá partido dos “N” processadores. O ganho de processamento é dado por:
  • 44. Lei de Gustafson - parte do tempo de execução em paralelo para estimar o speedup máximo comparado com a execução sequencial. Com isso, Gustafson propôs a seguinte formula: LEIS DE AMDAHL E GUSTAFSON G = N + (1 | | N) _ s