SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Paralelização em Sistemas
Computacionais
Bruno Domingues
Principal Architect
IEEE Chairman of Computer Society para o Centro-Norte do Brasil
bruno.domingues@intel.com
Agenda
• Introdução
• Princípios Computacionais
• Analise de Tempo/Espaço
• Estudos de Caso: MapReduce
Homem na Lua
Software
Data: 1969
64kb, 2kb, RAM, Fortran
Tem que funcionar!
Apolo XI
Velocidade: 3500km/h
Peso: 13.500 kg
Extremamente Complexo
Homem na Lua
Distância: 356.600 km
Nunca feito antes
Precisa retornar à Terra
Homem na Lua
SkyDive Stratos, 2012
Dezenas de Gigabytes
Apolo XI, 1969
64kb
Desafios
 Precisamos paralelizar as operações com os dados mas isso é muito complexo e
caro...
 O negócio não consegue acessar os dados relevantes e o tempo todo precisa de
dados externos...
 Não podemos tratar em tempo os dados dos clientes para melhorar a interação com
eles...
 Não dá para colocar todos os dados no modelo star-schema...
 Os relatórios de BI não dizem algo que já não se sabe...
 Não é mais possível processar os dados dentro da janela de ETL...
 Não é possível predizer com boa margem de certeza se não se pode explorar os
dados e desenvolver os próprios modelos
O que é computação paralela?
• Tradicionalmente, software são escritos para serem
seriais:
– Rodar em um único computador tendo apenas uma CPU;
– Um problema é quebrado em uma séria de problemas
discretos;
– Instruções são escritas uma depois da outra;
– Apenas uma instrução pode ser executada em um
determinado instante*
Problema Serial
Computação Paralela
• Computação paralela é a forma em quem múltiplos
cálculos são realizados de forma paralela;
• De forma simples, é usa-se múltiplos recursos
computacionais de forma simultânea para resolver
um problema:
– Rodando em múltiplas CPUs
– O problema é quebrado de forma que possam ser resolvidos
de forma paralela;
– Cada parte é então quebrada em series de instruções;
– Essas instruções de cada parte são executadas
simultaneamente em diferentes CPUs.
Problema Paralelo
Motivação
• Principais razões:
– Economia de tempo/dinheiro;
– Resolve grandes problemas: e.g. pesquisa da Internet /
processamento de base de dados de milhões de transações
por segundo;
– Permite concorrência;
– Uso de recursos remotos;
– Limites da computação serial:
• Velocidade das transações – a velocidade da computação serial está
diretamente relacionado a quão rápido movemos o dado pelo hardware;
• Limites de miniaturização;
• Limitações econômicas – os custos de fazer uma CPU (core) mais rápido
esbarra com problemas de viabilidade econômica e fisicas
Perspectiva Histórica da Lei de Moore
0.1
1
10
100
1000
10000
100000
1970 1980 1990 2000 2010
Densidade de Potência (W/cm²)
Densidade de Potência (W/cm²)
4004 8008
8080
8085
8086
268
386
486
Pentium©
Superfície Solar
Bocal de Foguete
Reator Nuclear
Placa Quente
Desempenho por frequencia:
+20% GHz = +13% perf / +70% W
Desempenho por # core:
x2 cores = +70% perf / +13% W
Térmica
Arquitetura Von Neumann
• Nos últimos 50 anos, virtualmente todos
os computadores seguem o modelo
conhecido como computador de von
Neumann. Nome dados ao matemático
Húngaro John von Newmann.
• Um computador von Newmann use o
conceito de programa armazenado. A
CPU executa o programa armazenado
que especifica a sequencia de
operações de leituras e escritas na
memória
Taxonomia de Flynn
• Existem diferentes formas de classificar o
paralelismo. O mais usado deste 1966 é chamado de
taxonomia de Flynn
• A taxonomia de Flynn distingue arquitetura de
computadores multiprocessador de acordo como
eles podem ser classificados em duas dimensões de
Instruções e Dados. Cada uma destas dimensões
possuem apenas dois possíveis estados: Single ou
Multiple
Lei de Amdahl
• A Lei de Amdahl diz que o potencial de aumento de velocidade de um
programa é definido pela fração de código (P) que pode ser
paralelizada:
𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 =
1
1 − 𝑃
• Se nada na código pode ser paralelizável, P=0 então a velocidade = 1
(i.e. sem aumento). Se todo o pedaço de código pode ser
paralelização, P=1 então o aumento de velocidade é infinito (em
teoria – lembre-se de Métodos Matemáticos da Física)
• Se 50% do código pode ser
paralelizável, o maior aumento de
velocidade = 2, significando que o
código pode ser executado na
metade do tempo, i.e. duas vezes
mais rápido
Lei de Amdahl
• Introduzindo o número de processadores/nós
realizando uma fração do trabalho, a relação poderá
ser então normalizada da seguinte forma:
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 =
1
𝑃
𝑁 + 𝑆
• Onde P= fração paralela, N = numero de
processadores/nós e S= fração serial
Lei de Amdahl
• Não demora muito para perceber que existe um
limite para o paralelismo. Por exemplo, com P =0.5,
0.9 e 0,99 (50%, 90% e 99% do código paralelizável)
velocidade
--------------------------------
N P = .50 P = .90 P = .99
----- ------- ------- -------
10 1.82 5.26 9.17
100 1.98 9.17 50.25
1000 1.99 9.91 90.99
10000 1.99 9.91 99.02
Estudo de Caso: MapReduce
Partição 1
Partição 2
Partição 3
Partição 4
Partição 5
Worker
Worker
Worker
Worker
Worker
Saída 1
Saída 2
Master
Programa
usuário
Ο(𝑀 + 𝑅)
Obrigado!

Mais conteúdo relacionado

Semelhante a Paralelização em Sistemas Computacionais por Bruno Domingues

FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
 
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Intel Software Brasil
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia J Chaves Silva
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentasluanrjesus
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTEmbarcados
 
Questões Comentadas - Informática para Concurso
Questões Comentadas - Informática para ConcursoQuestões Comentadas - Informática para Concurso
Questões Comentadas - Informática para ConcursoReinaldo Alves
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Fernando Gomes Chaves
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!Intel Software Brasil
 
Aula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptx
Aula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptxAula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptx
Aula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptxRomuloAlves22
 
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
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...Gleicon Moraes
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
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
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoLeo Lorieri
 
Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...
Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...
Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...Joao Galdino Mello de Souza
 
QCon 2011
QCon 2011QCon 2011
QCon 2011Ismael
 

Semelhante a Paralelização em Sistemas Computacionais por Bruno Domingues (20)

FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
 
Questões Comentadas - Informática para Concurso
Questões Comentadas - Informática para ConcursoQuestões Comentadas - Informática para Concurso
Questões Comentadas - Informática para Concurso
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!Computação Manycore: Uma Arquitetura muito além do Multicore!
Computação Manycore: Uma Arquitetura muito além do Multicore!
 
Aula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptx
Aula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptxAula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptx
Aula01 sistemas operacinais_abcdpdf_pdf_para_ppt.pptx
 
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
 
Slides psd 200607_1-70
Slides psd 200607_1-70Slides psd 200607_1-70
Slides psd 200607_1-70
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
 
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 Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem Geral
 
Atps sistemas operacionais
Atps sistemas operacionaisAtps sistemas operacionais
Atps sistemas operacionais
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeito
 
Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...
Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...
Desafios no dimensionamento de capacidade em ambiente Mainframe por Fernando ...
 
QCon 2011
QCon 2011QCon 2011
QCon 2011
 
Processador
ProcessadorProcessador
Processador
 

Mais de Joao Galdino Mello de Souza

Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Joao Galdino Mello de Souza
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Joao Galdino Mello de Souza
 
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Joao Galdino Mello de Souza
 
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Joao Galdino Mello de Souza
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Joao Galdino Mello de Souza
 
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Joao Galdino Mello de Souza
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Joao Galdino Mello de Souza
 
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Joao Galdino Mello de Souza
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Joao Galdino Mello de Souza
 
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Joao Galdino Mello de Souza
 
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Joao Galdino Mello de Souza
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Joao Galdino Mello de Souza
 
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Joao Galdino Mello de Souza
 
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Joao Galdino Mello de Souza
 
Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Joao Galdino Mello de Souza
 
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Joao Galdino Mello de Souza
 
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Joao Galdino Mello de Souza
 
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Joao Galdino Mello de Souza
 
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)Joao Galdino Mello de Souza
 

Mais de Joao Galdino Mello de Souza (20)

Explorando a API Rest Jira Cloud
Explorando a API Rest Jira CloudExplorando a API Rest Jira Cloud
Explorando a API Rest Jira Cloud
 
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
 
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
 
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
 
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
 
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
 
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
 
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
 
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
 
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
 
Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)
 
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
Minimizar RNI ambiente CICS por Milton Ferraraccio (Eccox Technology)
 
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
 
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
 
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
 

Paralelização em Sistemas Computacionais por Bruno Domingues

  • 1. Paralelização em Sistemas Computacionais Bruno Domingues Principal Architect IEEE Chairman of Computer Society para o Centro-Norte do Brasil bruno.domingues@intel.com
  • 2. Agenda • Introdução • Princípios Computacionais • Analise de Tempo/Espaço • Estudos de Caso: MapReduce
  • 3. Homem na Lua Software Data: 1969 64kb, 2kb, RAM, Fortran Tem que funcionar! Apolo XI Velocidade: 3500km/h Peso: 13.500 kg Extremamente Complexo Homem na Lua Distância: 356.600 km Nunca feito antes Precisa retornar à Terra
  • 4. Homem na Lua SkyDive Stratos, 2012 Dezenas de Gigabytes Apolo XI, 1969 64kb
  • 5. Desafios  Precisamos paralelizar as operações com os dados mas isso é muito complexo e caro...  O negócio não consegue acessar os dados relevantes e o tempo todo precisa de dados externos...  Não podemos tratar em tempo os dados dos clientes para melhorar a interação com eles...  Não dá para colocar todos os dados no modelo star-schema...  Os relatórios de BI não dizem algo que já não se sabe...  Não é mais possível processar os dados dentro da janela de ETL...  Não é possível predizer com boa margem de certeza se não se pode explorar os dados e desenvolver os próprios modelos
  • 6. O que é computação paralela? • Tradicionalmente, software são escritos para serem seriais: – Rodar em um único computador tendo apenas uma CPU; – Um problema é quebrado em uma séria de problemas discretos; – Instruções são escritas uma depois da outra; – Apenas uma instrução pode ser executada em um determinado instante*
  • 8. Computação Paralela • Computação paralela é a forma em quem múltiplos cálculos são realizados de forma paralela; • De forma simples, é usa-se múltiplos recursos computacionais de forma simultânea para resolver um problema: – Rodando em múltiplas CPUs – O problema é quebrado de forma que possam ser resolvidos de forma paralela; – Cada parte é então quebrada em series de instruções; – Essas instruções de cada parte são executadas simultaneamente em diferentes CPUs.
  • 10. Motivação • Principais razões: – Economia de tempo/dinheiro; – Resolve grandes problemas: e.g. pesquisa da Internet / processamento de base de dados de milhões de transações por segundo; – Permite concorrência; – Uso de recursos remotos; – Limites da computação serial: • Velocidade das transações – a velocidade da computação serial está diretamente relacionado a quão rápido movemos o dado pelo hardware; • Limites de miniaturização; • Limitações econômicas – os custos de fazer uma CPU (core) mais rápido esbarra com problemas de viabilidade econômica e fisicas
  • 11. Perspectiva Histórica da Lei de Moore 0.1 1 10 100 1000 10000 100000 1970 1980 1990 2000 2010 Densidade de Potência (W/cm²) Densidade de Potência (W/cm²) 4004 8008 8080 8085 8086 268 386 486 Pentium© Superfície Solar Bocal de Foguete Reator Nuclear Placa Quente Desempenho por frequencia: +20% GHz = +13% perf / +70% W Desempenho por # core: x2 cores = +70% perf / +13% W Térmica
  • 12. Arquitetura Von Neumann • Nos últimos 50 anos, virtualmente todos os computadores seguem o modelo conhecido como computador de von Neumann. Nome dados ao matemático Húngaro John von Newmann. • Um computador von Newmann use o conceito de programa armazenado. A CPU executa o programa armazenado que especifica a sequencia de operações de leituras e escritas na memória
  • 13. Taxonomia de Flynn • Existem diferentes formas de classificar o paralelismo. O mais usado deste 1966 é chamado de taxonomia de Flynn • A taxonomia de Flynn distingue arquitetura de computadores multiprocessador de acordo como eles podem ser classificados em duas dimensões de Instruções e Dados. Cada uma destas dimensões possuem apenas dois possíveis estados: Single ou Multiple
  • 14. Lei de Amdahl • A Lei de Amdahl diz que o potencial de aumento de velocidade de um programa é definido pela fração de código (P) que pode ser paralelizada: 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 = 1 1 − 𝑃 • Se nada na código pode ser paralelizável, P=0 então a velocidade = 1 (i.e. sem aumento). Se todo o pedaço de código pode ser paralelização, P=1 então o aumento de velocidade é infinito (em teoria – lembre-se de Métodos Matemáticos da Física) • Se 50% do código pode ser paralelizável, o maior aumento de velocidade = 2, significando que o código pode ser executado na metade do tempo, i.e. duas vezes mais rápido
  • 15. Lei de Amdahl • Introduzindo o número de processadores/nós realizando uma fração do trabalho, a relação poderá ser então normalizada da seguinte forma: 𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 = 1 𝑃 𝑁 + 𝑆 • Onde P= fração paralela, N = numero de processadores/nós e S= fração serial
  • 16. Lei de Amdahl • Não demora muito para perceber que existe um limite para o paralelismo. Por exemplo, com P =0.5, 0.9 e 0,99 (50%, 90% e 99% do código paralelizável) velocidade -------------------------------- N P = .50 P = .90 P = .99 ----- ------- ------- ------- 10 1.82 5.26 9.17 100 1.98 9.17 50.25 1000 1.99 9.91 90.99 10000 1.99 9.91 99.02
  • 17. Estudo de Caso: MapReduce Partição 1 Partição 2 Partição 3 Partição 4 Partição 5 Worker Worker Worker Worker Worker Saída 1 Saída 2 Master Programa usuário Ο(𝑀 + 𝑅)