SlideShare uma empresa Scribd logo
1 de 23
Arquitetura de
computadores
Computação Paralela
Fernando Gomes
Marlon Victor
Ricardo Amorim
Thiago Domingos
O que é computação paralela?
Imagine que você precisa realizar um cálculo
muito extenso em pouquíssimo tempo. Para
realizar tal tarefa, você chama um grupo de
amigos e divide esse cálculo em partes, uma
para cada amigo. Depois de realizado o cálculo
de cada parte, você junta os resultados obtidos
para conseguir o resultado final desse calculo
extenso.
O que é computação paralela?
1+1
2+2
3+3
4+4
5+5
C
Á
L
C
U
L
O
E
X
T
E
N
S
O
DADOS
DIVIDIDOS
30
Dividir para Conquistar
O que é computação paralela?
■INFORMÁTICA EM SERIE
■Tradicionalmente, o software foi escrito para computação em série: Um problema é dividido em uma
série discreta de instruções
■As instruções são executadas sequencialmente uma após a outra
■Executado em um único processador
■Apenas uma instrução pode ser executada a qualquer momento no tempo
O que é computação paralela?
■No sentido mais simples, a computação paralela é o uso simultâneo de múltiplos recursos
computacionais para resolver um problema computacional: Um problema é dividido em partes
discretas que podem ser resolvidas simultaneamente.
■Cada parte é dividida em uma série de instruções.
■As instruções de cada peça executam simultaneamente em diferentes processadores.
■Um mecanismo geral de controle / coordenação é empregado
O conceito
O processo computacional deve ser capaz de:
• Ser dividido em peças discretas que podem ser resolvidas
simultaneamente;
• Executar várias instruções do programa a qualquer momento;
• Ser resolvido em menos tempo com vários recursos de computação do
que com um único recurso de computação.
Os recursos de computação são tipicamente:
• Um único computador com vários processadores / núcleos
• Um número arbitrário de tais computadores conectados por uma rede
Computadores paralelos
Praticamente todos os computadores autônomos hoje são paralelos a
partir de uma perspectiva de hardware: Várias unidades funcionais (cache
L1, cache L2, ramificação, prefetch, decodificação, ponto flutuante,
processamento gráfico (GPU), número inteiro, etc.)
Unidades / núcleos de execução múltipla
Múltiplos segmentos de hardware
As redes conectam múltiplos computadores autônomos (nós) para criar conjuntos de
computadores paralelos maiores.
Computadores paralelos
A maioria dos
grandes
computadores
paralelos do
mundo
(supercomputad
ores) são
clusters de
hardware
produzidos por
um punhado de
vendedores
(principalmente)
bem conhecidos
Por que usar a computação paralela?
GANHAR TEMPO E / OU
DINHEIRO: Em teoria, lançar
mais recursos em uma tarefa
reduzirá seu tempo até a
conclusão, com potencial de
redução de custos.
Computadores paralelos podem
ser construídos a partir de
componentes baratos e básicos.
FORNECER CONCORRÊNCIA:
Um único recurso de computação
só pode fazer uma coisa por
vez. Múltiplos recursos de
computação podem fazer muitas
coisas simultaneamente.
Exemplo: Redes colaborativas
fornecem um local global onde
pessoas de todo o mundo podem
se encontrar e realizar o trabalho
"praticamente".
SOLUÇÃO DE PROBLEMAS / MAIS COMPLEXOS: Muitos problemas são tão grandes e / ou
complexos que é impraticável ou impossível resolvê-los em um único computador,
especialmente com a memória limitada do computador.
Exemplo: "Grand Challenge Problems" ( pt.wikipedia.org/wiki/Grand_Challenge ) que requer
PetaFLOPS e PetaBytes de recursos de computação.
Exemplo: motores de pesquisa / banco de dados da Web que processam milhões de
transações a cada segundo
Cluster
Uma evolução da
computação paralela
Arquitetura CLUSTER
Cluster é um sistema distribuído de
computadores independentes e interligados
(computação de alto desempenho), cujo o
objetivo é suprir a necessidade de um grande
poder computacional com um conjunto de
computadores de forma transparente ao usuário.
Há uma enormidade de aplicações que só podem
ser atendidas satisfatoriamente com computação
de alto desempenho: sistemas meteorológicos,
ferramentas de mapeamento genético,
simuladores geotérmicos, programas de
renderização de imagens tridimensionais, entre
tantos outros.
A arquitetura CLUSTER
Desenvolvida na década de 60 pela
como uma forma de interligar grandes
mainframes, visando obter uma solução
comercialmente viável de paralelismo.
Nesta época o sistema HASP (Houston
Automated Spooling Program) da IBM e
seu sucessor o JES (Job Entry System)
proviam uma maneira de distribuir
tarefas nos mainframes interligados.
Existem vários tipos de CLUSTER
no entanto há alguns que são mais
conhecidos, como:
cluster de alto desempenho.
cluster de alta disponibilidade.
cluster para balanceamento de carga
cluster de alto desempenho.
Também conhecido como cluster de alta
performance, ele funciona permitindo
que ocorra uma grande carga de
processamento com um volume alto de
gigaflops, (flops - unidade de medida que serve para
mensurar a capacidade de processamento de um computador),
em computadores comuns e utilizando
sistema operacional gratuito, o que
diminui seu custo;
cluster de alta disponibilidade.
São clusters cujos sistemas conseguem
permanecer ativos por um longo
período de tempo e em plena condição
de uso; sendo assim, podemos dizer
que eles nunca param seu
funcionamento; além disso, conseguem
detectar erros se protegendo de
possíveis falhas;
cluster para balanceamento de carga.
Esse tipo de cluster tem como função
controlar a distribuição equilibrada do
processamento. Requer um monitoramento
constante na sua comunicação e em seus
mecanismos de redundância, pois se
ocorrer alguma falha, haverá uma
interrupção no seu funcionamento.
Teste em casa
Computação paralela utilizando
Raspberry pi
O Apache Hadoop é uma
Framework/Plataforma desenvolvida
em Java, para computação
distribuída, usada para
processamento de grandes
quantidades de informação (usando
modelos de programação simples)
Transforme o seu Raspberry PI em um cluster
Link da materia <https://pplware.sapo.pt/linux/transformar-os-seus-raspberry-pi-n-um-
cluster/>
Raspberry pi
Nos últimos 20 anos, as tendências
indicadas por redes cada vez mais
rápidas, sistemas distribuídos e
arquiteturas de computadores
multiprocessador (mesmo no nível
da área de trabalho) mostram
claramente que o paralelismo é o
futuro da computação .
Neste mesmo período, houve
um aumento de mais de 500,000x no
desempenho do supercomputador,
sem nenhum fim à vista.
A corrida já está para o Exascale
Computing!
Exaflop = 10 18 cálculos por
segundo
O FUTURO
Quem está usando computação paralela?
Ciência e Engenharia:
Historicamente, a computação
paralela foi considerada
como "o fim da computação", e tem
sido usada para
modelar problemas difíceis em
muitas áreas da ciência e
engenharia:
- Ambiente, Terra, Meio Ambiente
- Física aplicada, nuclear, partículas,
matéria condensada, alta pressão,
fusão, fotônica
- Biociência, Biotecnologia, Genética
- Química, Ciências Moleculares
- Geologia, sismologia
Industrial e Comercial:
Hoje, as aplicações comerciais
proporcionam uma força motriz igual
ou maior no desenvolvimento de
computadores mais rápidos. Essas
aplicações exigem o processamento
de grandes quantidades de dados de
maneiras sofisticadas. Por exemplo:
- "Dados grandes", bancos de dados,
mineração de dados
- Exploração de óleo
- Motores de busca na Web, serviços
de negócios baseados na web
- Imagem médica e diagnóstico
- Design farmacêutico
Fontes de pesquisa
Introdução
Disponivel em:
<https://www.youtube.com/watch?v
=wf0NCVrHFCk>
Pesquisado em: 27 de junho de
2017.
Computação
paralela
Disponivel em:
<https://computing.llnl.gov/tutorials/
parallel_comp/>
Pesquisado em: 27 de junho de
2017.
Cluster
Disponivel em:
<https://www.infowester.com/cluster
.php>
Pesquisado em: 27 de junho de
2017.
Cluster – alto
desempenho
Disponivel em:
<http://www.ic.unicamp.br/~ducatte/
mo401/1s2010/T2/107077-t2.pdf>
Pesquisado em: 27 de junho de
2017.
Teste em casa
Disponivel em:
<https://pplware.sapo.pt/linux/transf
ormar-os-seus-raspberry-pi-n-um-
cluster/>
Pesquisado em: 27 de junho de
2017.
Historia do
cluster
Disponivel em:
<https://pt.wikipedia.org/wiki/Cluster>
Pesquisado em: 27 de junho de 2017.
Obrigado a todos pela atenção!
FIM

Mais conteúdo relacionado

Mais procurados

Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começouguestaa94fe
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
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
 
Criando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android StudioCriando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android StudioTiago Antônio da Silva
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativosMarioalmeida_10
 
Evolução dos s.o.
Evolução dos s.o.Evolução dos s.o.
Evolução dos s.o.Dulce Dias
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsSuzana Viana Mota
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorSuzana Viana Mota
 
Bancos de Dados Pós-Relacionais
Bancos de Dados Pós-RelacionaisBancos de Dados Pós-Relacionais
Bancos de Dados Pós-Relacionaiselliando dias
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Luis Ferreira
 

Mais procurados (20)

Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
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)
 
Criando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android StudioCriando o Primeiro Projeto no Android Studio
Criando o Primeiro Projeto no Android Studio
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Aula 08 - Placa Mãe
Aula 08 - Placa MãeAula 08 - Placa Mãe
Aula 08 - Placa Mãe
 
Aula 5 sistemas operacionais
Aula 5   sistemas operacionaisAula 5   sistemas operacionais
Aula 5 sistemas operacionais
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativos
 
Informatica basica
Informatica basicaInformatica basica
Informatica basica
 
Evolução dos s.o.
Evolução dos s.o.Evolução dos s.o.
Evolução dos s.o.
 
História e evolução dos computadores
História e evolução dos computadores História e evolução dos computadores
História e evolução dos computadores
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - Windows
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
 
Bancos de Dados Pós-Relacionais
Bancos de Dados Pós-RelacionaisBancos de Dados Pós-Relacionais
Bancos de Dados Pós-Relacionais
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1
 

Semelhante a Computação Paralela: Dividir para Conquistar

Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilResearch Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilHeron Carvalho
 
Tudo sobre virtualização de Desktop
Tudo sobre virtualização de DesktopTudo sobre virtualização de Desktop
Tudo sobre virtualização de DesktopScanSource Brasil
 
Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Diego Rodrigues
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end Andressa Silveira
 
Computação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralIgor José F. Freitas
 
Introdução à Computação de Alto Desempenho - Parte I
Introdução à Computação de Alto Desempenho - Parte IIntrodução à Computação de Alto Desempenho - Parte I
Introdução à Computação de Alto Desempenho - Parte IVinícius Hax
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesGuilherme Araújo
 
História dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SIHistória dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SILeo Lorieri
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
Plataformas cisc e risc
Plataformas cisc e riscPlataformas cisc e risc
Plataformas cisc e riscTiago
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Thiago Santiago
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionaisAparicio Junior
 
Introdução a Informatica Basica
Introdução a Informatica BasicaIntrodução a Informatica Basica
Introdução a Informatica BasicaPedro Kangombe
 

Semelhante a Computação Paralela: Dividir para Conquistar (20)

Apostila SO
Apostila SOApostila SO
Apostila SO
 
Virtualização de Desktop
Virtualização de DesktopVirtualização de Desktop
Virtualização de Desktop
 
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilResearch Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
 
Tudo sobre virtualização de Desktop
Tudo sobre virtualização de DesktopTudo sobre virtualização de Desktop
Tudo sobre virtualização de Desktop
 
Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Sistemas Operacionais aula 01
Sistemas Operacionais aula 01
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
 
Computação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem Geral
 
Introdução à Computação de Alto Desempenho - Parte I
Introdução à Computação de Alto Desempenho - Parte IIntrodução à Computação de Alto Desempenho - Parte I
Introdução à Computação de Alto Desempenho - Parte I
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e Aplicações
 
História dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SIHistória dos Sistemas - 3a Semana de SI
História dos Sistemas - 3a Semana de SI
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Plataformas cisc e risc
Plataformas cisc e riscPlataformas cisc e risc
Plataformas cisc e risc
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
30440951 informatica
30440951 informatica30440951 informatica
30440951 informatica
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionais
 
AC nova-aula 1.pptx
AC nova-aula 1.pptxAC nova-aula 1.pptx
AC nova-aula 1.pptx
 
Introdução a Informatica Basica
Introdução a Informatica BasicaIntrodução a Informatica Basica
Introdução a Informatica Basica
 

Mais de Fernando Gomes Chaves

Apresentação redes 1 - Redes sem fio, ADSL e TV Digital
Apresentação redes 1 - Redes sem fio, ADSL e TV DigitalApresentação redes 1 - Redes sem fio, ADSL e TV Digital
Apresentação redes 1 - Redes sem fio, ADSL e TV DigitalFernando Gomes Chaves
 
Engenharia de software categorias de software
Engenharia de software   categorias de softwareEngenharia de software   categorias de software
Engenharia de software categorias de softwareFernando Gomes Chaves
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informaçãoFernando Gomes Chaves
 
Sistemas da informação segurança da informação
Sistemas da informação   segurança da informaçãoSistemas da informação   segurança da informação
Sistemas da informação segurança da informaçãoFernando Gomes Chaves
 
Apresentaçao de psicologia Alfred Adler
Apresentaçao de psicologia   Alfred AdlerApresentaçao de psicologia   Alfred Adler
Apresentaçao de psicologia Alfred AdlerFernando Gomes Chaves
 
Apresentação proposta site hotel fazenda
Apresentação proposta site hotel fazendaApresentação proposta site hotel fazenda
Apresentação proposta site hotel fazendaFernando Gomes Chaves
 

Mais de Fernando Gomes Chaves (10)

Trabalho sistemas operacionais
Trabalho sistemas operacionaisTrabalho sistemas operacionais
Trabalho sistemas operacionais
 
Projeto de redes 2
Projeto de redes 2Projeto de redes 2
Projeto de redes 2
 
Apresentação solar brasil
Apresentação solar brasilApresentação solar brasil
Apresentação solar brasil
 
Apresentação redes 1 - Redes sem fio, ADSL e TV Digital
Apresentação redes 1 - Redes sem fio, ADSL e TV DigitalApresentação redes 1 - Redes sem fio, ADSL e TV Digital
Apresentação redes 1 - Redes sem fio, ADSL e TV Digital
 
Engenharia de software categorias de software
Engenharia de software   categorias de softwareEngenharia de software   categorias de software
Engenharia de software categorias de software
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informação
 
Sistemas da informação segurança da informação
Sistemas da informação   segurança da informaçãoSistemas da informação   segurança da informação
Sistemas da informação segurança da informação
 
Apresentaçao de psicologia Alfred Adler
Apresentaçao de psicologia   Alfred AdlerApresentaçao de psicologia   Alfred Adler
Apresentaçao de psicologia Alfred Adler
 
Apresentação proposta site hotel fazenda
Apresentação proposta site hotel fazendaApresentação proposta site hotel fazenda
Apresentação proposta site hotel fazenda
 
Economia digital
Economia digitalEconomia digital
Economia digital
 

Computação Paralela: Dividir para Conquistar

  • 2. Computação Paralela Fernando Gomes Marlon Victor Ricardo Amorim Thiago Domingos
  • 3. O que é computação paralela? Imagine que você precisa realizar um cálculo muito extenso em pouquíssimo tempo. Para realizar tal tarefa, você chama um grupo de amigos e divide esse cálculo em partes, uma para cada amigo. Depois de realizado o cálculo de cada parte, você junta os resultados obtidos para conseguir o resultado final desse calculo extenso.
  • 4. O que é computação paralela? 1+1 2+2 3+3 4+4 5+5 C Á L C U L O E X T E N S O DADOS DIVIDIDOS 30 Dividir para Conquistar
  • 5. O que é computação paralela? ■INFORMÁTICA EM SERIE ■Tradicionalmente, o software foi escrito para computação em série: Um problema é dividido em uma série discreta de instruções ■As instruções são executadas sequencialmente uma após a outra ■Executado em um único processador ■Apenas uma instrução pode ser executada a qualquer momento no tempo
  • 6. O que é computação paralela? ■No sentido mais simples, a computação paralela é o uso simultâneo de múltiplos recursos computacionais para resolver um problema computacional: Um problema é dividido em partes discretas que podem ser resolvidas simultaneamente. ■Cada parte é dividida em uma série de instruções. ■As instruções de cada peça executam simultaneamente em diferentes processadores. ■Um mecanismo geral de controle / coordenação é empregado
  • 7. O conceito O processo computacional deve ser capaz de: • Ser dividido em peças discretas que podem ser resolvidas simultaneamente; • Executar várias instruções do programa a qualquer momento; • Ser resolvido em menos tempo com vários recursos de computação do que com um único recurso de computação. Os recursos de computação são tipicamente: • Um único computador com vários processadores / núcleos • Um número arbitrário de tais computadores conectados por uma rede
  • 8. Computadores paralelos Praticamente todos os computadores autônomos hoje são paralelos a partir de uma perspectiva de hardware: Várias unidades funcionais (cache L1, cache L2, ramificação, prefetch, decodificação, ponto flutuante, processamento gráfico (GPU), número inteiro, etc.) Unidades / núcleos de execução múltipla Múltiplos segmentos de hardware As redes conectam múltiplos computadores autônomos (nós) para criar conjuntos de computadores paralelos maiores.
  • 9. Computadores paralelos A maioria dos grandes computadores paralelos do mundo (supercomputad ores) são clusters de hardware produzidos por um punhado de vendedores (principalmente) bem conhecidos
  • 10. Por que usar a computação paralela? GANHAR TEMPO E / OU DINHEIRO: Em teoria, lançar mais recursos em uma tarefa reduzirá seu tempo até a conclusão, com potencial de redução de custos. Computadores paralelos podem ser construídos a partir de componentes baratos e básicos. FORNECER CONCORRÊNCIA: Um único recurso de computação só pode fazer uma coisa por vez. Múltiplos recursos de computação podem fazer muitas coisas simultaneamente. Exemplo: Redes colaborativas fornecem um local global onde pessoas de todo o mundo podem se encontrar e realizar o trabalho "praticamente". SOLUÇÃO DE PROBLEMAS / MAIS COMPLEXOS: Muitos problemas são tão grandes e / ou complexos que é impraticável ou impossível resolvê-los em um único computador, especialmente com a memória limitada do computador. Exemplo: "Grand Challenge Problems" ( pt.wikipedia.org/wiki/Grand_Challenge ) que requer PetaFLOPS e PetaBytes de recursos de computação. Exemplo: motores de pesquisa / banco de dados da Web que processam milhões de transações a cada segundo
  • 12. Arquitetura CLUSTER Cluster é um sistema distribuído de computadores independentes e interligados (computação de alto desempenho), cujo o objetivo é suprir a necessidade de um grande poder computacional com um conjunto de computadores de forma transparente ao usuário. Há uma enormidade de aplicações que só podem ser atendidas satisfatoriamente com computação de alto desempenho: sistemas meteorológicos, ferramentas de mapeamento genético, simuladores geotérmicos, programas de renderização de imagens tridimensionais, entre tantos outros.
  • 13. A arquitetura CLUSTER Desenvolvida na década de 60 pela como uma forma de interligar grandes mainframes, visando obter uma solução comercialmente viável de paralelismo. Nesta época o sistema HASP (Houston Automated Spooling Program) da IBM e seu sucessor o JES (Job Entry System) proviam uma maneira de distribuir tarefas nos mainframes interligados.
  • 14. Existem vários tipos de CLUSTER no entanto há alguns que são mais conhecidos, como: cluster de alto desempenho. cluster de alta disponibilidade. cluster para balanceamento de carga
  • 15. cluster de alto desempenho. Também conhecido como cluster de alta performance, ele funciona permitindo que ocorra uma grande carga de processamento com um volume alto de gigaflops, (flops - unidade de medida que serve para mensurar a capacidade de processamento de um computador), em computadores comuns e utilizando sistema operacional gratuito, o que diminui seu custo;
  • 16. cluster de alta disponibilidade. São clusters cujos sistemas conseguem permanecer ativos por um longo período de tempo e em plena condição de uso; sendo assim, podemos dizer que eles nunca param seu funcionamento; além disso, conseguem detectar erros se protegendo de possíveis falhas;
  • 17. cluster para balanceamento de carga. Esse tipo de cluster tem como função controlar a distribuição equilibrada do processamento. Requer um monitoramento constante na sua comunicação e em seus mecanismos de redundância, pois se ocorrer alguma falha, haverá uma interrupção no seu funcionamento.
  • 18. Teste em casa Computação paralela utilizando Raspberry pi
  • 19. O Apache Hadoop é uma Framework/Plataforma desenvolvida em Java, para computação distribuída, usada para processamento de grandes quantidades de informação (usando modelos de programação simples) Transforme o seu Raspberry PI em um cluster Link da materia <https://pplware.sapo.pt/linux/transformar-os-seus-raspberry-pi-n-um- cluster/> Raspberry pi
  • 20. Nos últimos 20 anos, as tendências indicadas por redes cada vez mais rápidas, sistemas distribuídos e arquiteturas de computadores multiprocessador (mesmo no nível da área de trabalho) mostram claramente que o paralelismo é o futuro da computação . Neste mesmo período, houve um aumento de mais de 500,000x no desempenho do supercomputador, sem nenhum fim à vista. A corrida já está para o Exascale Computing! Exaflop = 10 18 cálculos por segundo O FUTURO
  • 21. Quem está usando computação paralela? Ciência e Engenharia: Historicamente, a computação paralela foi considerada como "o fim da computação", e tem sido usada para modelar problemas difíceis em muitas áreas da ciência e engenharia: - Ambiente, Terra, Meio Ambiente - Física aplicada, nuclear, partículas, matéria condensada, alta pressão, fusão, fotônica - Biociência, Biotecnologia, Genética - Química, Ciências Moleculares - Geologia, sismologia Industrial e Comercial: Hoje, as aplicações comerciais proporcionam uma força motriz igual ou maior no desenvolvimento de computadores mais rápidos. Essas aplicações exigem o processamento de grandes quantidades de dados de maneiras sofisticadas. Por exemplo: - "Dados grandes", bancos de dados, mineração de dados - Exploração de óleo - Motores de busca na Web, serviços de negócios baseados na web - Imagem médica e diagnóstico - Design farmacêutico
  • 22. Fontes de pesquisa Introdução Disponivel em: <https://www.youtube.com/watch?v =wf0NCVrHFCk> Pesquisado em: 27 de junho de 2017. Computação paralela Disponivel em: <https://computing.llnl.gov/tutorials/ parallel_comp/> Pesquisado em: 27 de junho de 2017. Cluster Disponivel em: <https://www.infowester.com/cluster .php> Pesquisado em: 27 de junho de 2017. Cluster – alto desempenho Disponivel em: <http://www.ic.unicamp.br/~ducatte/ mo401/1s2010/T2/107077-t2.pdf> Pesquisado em: 27 de junho de 2017. Teste em casa Disponivel em: <https://pplware.sapo.pt/linux/transf ormar-os-seus-raspberry-pi-n-um- cluster/> Pesquisado em: 27 de junho de 2017. Historia do cluster Disponivel em: <https://pt.wikipedia.org/wiki/Cluster> Pesquisado em: 27 de junho de 2017.
  • 23. Obrigado a todos pela atenção! FIM