SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
PAARTech
Multiprocessamento
em tempo real
Paralelismo com Haskell
Paralelismo é aumentar a
velocidade de um programa
usando múltiplos
processadores.
Fonte: http://www.haskell.org/haskellwiki/Parallelism
Paralelismo com mais rigor
Conjunto de técnicas de
programação e de hardware
permitindo a execução
simultânea de instruções
independentes em
processadores diferentes.
– Guy Moebs.
Fonte: Laboratório de Matemática Jean Leray.
Universidade de Nantes
Paralelismo & concorrência
Há duas maneiras de se obter
paralelismo em Haskell:
● Paralelismo puro: pode ser usado
para acelerar partes do programa que
não lidam com E/S;
Paralelismo & concorrência
Há duas maneiras de se obter
paralelismo em Haskell:
● Paralelismo puro: pode ser usado
para acelerar partes do programa que
não lidam com E/S;
● Concorrência: que pode ser usada
para paralelizar operações de E/S.
Vantagens do paralelismo puro
Garantidamente determinístico
Não há condições de corrida
nem deadlocks
Regra de ouro
Sempre que puder use
paralelismo puro; quando não
puder: concorrência.
Hardware Description Language
VHDL
Verilog
HDL Funcional
Lava
Bluespec
Haskell
HDL Funcional
NÃO
E
OU
Meio-somador
Meio-somador em VHDL
entity halfAdder is
port (a,b : in bit; sum,carry : out bit);
end halfAdder;
architecture ha_beh of halfAdder is
begin
sum <= a xor b;
c_out <= a and b;
end ha_beh;
Meio-somador
halfAdder (a, b) = (sum, carry)
where
sum = xor2 (a, b)
carry = and2 (a, b)
Paralelismo em C: Cilk
●
Professor Charles E. Leiserson no MIT;
●
Provê à linguagem C programação
multithread
●
Última versão oficial pelo MIT: 5.4.6
●
Intel se junta aos desenvolvedores para
avançar nesta tecnologia: Cilk Plus
Paralelismo em C: Cilk
Extensão é provida por cinco palavras-chave:
●
cilk;
●
spawn;
●
sync;
●
inlet;
●
abort;
Exemplo em Cilk Plus
Unified Parallel C – UPC
●
Berkley/LBNL
●
2.18.2 em 5 de maio de 2014
●
Global Address Space – GAS
●
Ferramentas de análise (UPC Thrille), benchmarking...
●
Suporta grande gama de SMPs, clusters e MPPs : 
– x86, Itanium, Opteron, Alpha, PPC, MIPS, ARM, PA-RISC, SPARC, X1,
SX-6, Cray XT and XE, IBM Blue Gene...
– Linux, {Free,Net,Open}BSD, Tru64, AIX, IRIX, HPUX, Solaris, MS
Windows, Mac OS X, Unicos, SuperUX...
– Pthreads, Myrinet, Quadrics Elan 3/4, InfiniBand, IBM LAPI, Dolphin
SCI, MPI, Ethernet, Cray X1 / SGI Altix shmem, Cray XT Portals, Cray
XE Gemini (beta), IBM BG/P DCMF

Mais conteúdo relacionado

Semelhante a Multiprocessamento em tempo real

Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Kratos879
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Luiz Arthur
 

Semelhante a Multiprocessamento em tempo real (20)

Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
Análise de interfaces para a programação paralela e distribuída
Análise de interfaces para a programação paralela e  distribuídaAnálise de interfaces para a programação paralela e  distribuída
Análise de interfaces para a programação paralela e distribuída
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
Programação concorrente
Programação concorrenteProgramação concorrente
Programação concorrente
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNG
 
The Language VolcanX - ABMSL
The Language VolcanX - ABMSLThe Language VolcanX - ABMSL
The Language VolcanX - ABMSL
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
 
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticosComputação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
 
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!
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Resumo OpenMP
Resumo OpenMPResumo OpenMP
Resumo OpenMP
 
Open Cores: Projeto Open "Hardware" com FPGA
Open Cores: Projeto Open "Hardware" com FPGAOpen Cores: Projeto Open "Hardware" com FPGA
Open Cores: Projeto Open "Hardware" com FPGA
 
"Aula sobre Paralelização Automática". Rogério A. Gonçalves e Prof. Dr. Alfre...
"Aula sobre Paralelização Automática". Rogério A. Gonçalves e Prof. Dr. Alfre..."Aula sobre Paralelização Automática". Rogério A. Gonçalves e Prof. Dr. Alfre...
"Aula sobre Paralelização Automática". Rogério A. Gonçalves e Prof. Dr. Alfre...
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 

Mais de Roní Gonçalves

Mais de Roní Gonçalves (10)

Caracterização de materiais e de dispositivos semicondutores
Caracterização de materiais e de dispositivos semicondutoresCaracterização de materiais e de dispositivos semicondutores
Caracterização de materiais e de dispositivos semicondutores
 
Sintetizador de freqüências a partir de um PLL
Sintetizador de freqüências a partir de um PLLSintetizador de freqüências a partir de um PLL
Sintetizador de freqüências a partir de um PLL
 
(Alguns) Tipos de osciladores eletrônicos
(Alguns) Tipos de osciladores eletrônicos(Alguns) Tipos de osciladores eletrônicos
(Alguns) Tipos de osciladores eletrônicos
 
Alguns aspectos sobre caracterização de materiais e de dispositivos semicondu...
Alguns aspectos sobre caracterização de materiais e de dispositivos semicondu...Alguns aspectos sobre caracterização de materiais e de dispositivos semicondu...
Alguns aspectos sobre caracterização de materiais e de dispositivos semicondu...
 
Real Time Protocol
Real Time ProtocolReal Time Protocol
Real Time Protocol
 
Um pouco da história e do funcionamento do transistor
Um pouco da história e do funcionamento do transistorUm pouco da história e do funcionamento do transistor
Um pouco da história e do funcionamento do transistor
 
Manutenção em motores elétricos
Manutenção em motores elétricosManutenção em motores elétricos
Manutenção em motores elétricos
 
Vibe, brazilian fabless company
Vibe, brazilian fabless companyVibe, brazilian fabless company
Vibe, brazilian fabless company
 
Análise de vibração
Análise de vibraçãoAnálise de vibração
Análise de vibração
 
Presentation_Roni
Presentation_RoniPresentation_Roni
Presentation_Roni
 

Último

SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptxSEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
avaseg
 

Último (8)

SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptxSEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
SEG NR 18 - SEGURANÇA E SAÚDE O TRABALHO NA INDUSTRIA DA COSTRUÇÃO CIVIL.pptx
 
Normas Técnicas para aparelho de solda oxi-acetileno.pdf
Normas Técnicas para aparelho de solda oxi-acetileno.pdfNormas Técnicas para aparelho de solda oxi-acetileno.pdf
Normas Técnicas para aparelho de solda oxi-acetileno.pdf
 
ST 2024 Apresentação Comercial - VF.ppsx
ST 2024 Apresentação Comercial - VF.ppsxST 2024 Apresentação Comercial - VF.ppsx
ST 2024 Apresentação Comercial - VF.ppsx
 
Proposta de dimensionamento. PROJETO DO CURSO 2023.pptx
Proposta de dimensionamento. PROJETO DO CURSO 2023.pptxProposta de dimensionamento. PROJETO DO CURSO 2023.pptx
Proposta de dimensionamento. PROJETO DO CURSO 2023.pptx
 
ATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdf
ATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdfATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdf
ATIVIDADE 1 - FSCE - FORMAÇÃO SOCIOCULTURAL E ÉTICA II - 52_2024.pdf
 
treinamento de moldagem por injeção plástica
treinamento de moldagem por injeção plásticatreinamento de moldagem por injeção plástica
treinamento de moldagem por injeção plástica
 
Planejamento e controle da Produção_Lustosa.pdf
Planejamento e controle da Produção_Lustosa.pdfPlanejamento e controle da Produção_Lustosa.pdf
Planejamento e controle da Produção_Lustosa.pdf
 
CONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADE
CONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADECONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADE
CONCEITOS BÁSICOS DE CONFIABILIDADE COM EMBASAMENTO DE QUALIDADE
 

Multiprocessamento em tempo real

  • 2. Paralelismo com Haskell Paralelismo é aumentar a velocidade de um programa usando múltiplos processadores. Fonte: http://www.haskell.org/haskellwiki/Parallelism
  • 3. Paralelismo com mais rigor Conjunto de técnicas de programação e de hardware permitindo a execução simultânea de instruções independentes em processadores diferentes. – Guy Moebs. Fonte: Laboratório de Matemática Jean Leray. Universidade de Nantes
  • 4. Paralelismo & concorrência Há duas maneiras de se obter paralelismo em Haskell: ● Paralelismo puro: pode ser usado para acelerar partes do programa que não lidam com E/S;
  • 5. Paralelismo & concorrência Há duas maneiras de se obter paralelismo em Haskell: ● Paralelismo puro: pode ser usado para acelerar partes do programa que não lidam com E/S; ● Concorrência: que pode ser usada para paralelizar operações de E/S.
  • 6. Vantagens do paralelismo puro Garantidamente determinístico Não há condições de corrida nem deadlocks
  • 7. Regra de ouro Sempre que puder use paralelismo puro; quando não puder: concorrência.
  • 12. Meio-somador em VHDL entity halfAdder is port (a,b : in bit; sum,carry : out bit); end halfAdder; architecture ha_beh of halfAdder is begin sum <= a xor b; c_out <= a and b; end ha_beh;
  • 13. Meio-somador halfAdder (a, b) = (sum, carry) where sum = xor2 (a, b) carry = and2 (a, b)
  • 14. Paralelismo em C: Cilk ● Professor Charles E. Leiserson no MIT; ● Provê à linguagem C programação multithread ● Última versão oficial pelo MIT: 5.4.6 ● Intel se junta aos desenvolvedores para avançar nesta tecnologia: Cilk Plus
  • 15. Paralelismo em C: Cilk Extensão é provida por cinco palavras-chave: ● cilk; ● spawn; ● sync; ● inlet; ● abort;
  • 17. Unified Parallel C – UPC ● Berkley/LBNL ● 2.18.2 em 5 de maio de 2014 ● Global Address Space – GAS ● Ferramentas de análise (UPC Thrille), benchmarking... ● Suporta grande gama de SMPs, clusters e MPPs :  – x86, Itanium, Opteron, Alpha, PPC, MIPS, ARM, PA-RISC, SPARC, X1, SX-6, Cray XT and XE, IBM Blue Gene... – Linux, {Free,Net,Open}BSD, Tru64, AIX, IRIX, HPUX, Solaris, MS Windows, Mac OS X, Unicos, SuperUX... – Pthreads, Myrinet, Quadrics Elan 3/4, InfiniBand, IBM LAPI, Dolphin SCI, MPI, Ethernet, Cray X1 / SGI Altix shmem, Cray XT Portals, Cray XE Gemini (beta), IBM BG/P DCMF