SlideShare uma empresa Scribd logo
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

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
Embarcados
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
Marcos Aurelio Barranco
 
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
Helton Ritter
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
Alexsandro Santos
 
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
 
Programação concorrente
Programação concorrenteProgramação concorrente
Programação concorrente
Fabio Duarte
 
Painel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNGPainel HHVM, Zephir, PHPNG
Painel HHVM, Zephir, PHPNG
iMasters
 
The Language VolcanX - ABMSL
The Language VolcanX - ABMSLThe Language VolcanX - ABMSL
The Language VolcanX - ABMSL
Michel Alves
 
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
 
Multithreaded tecnologia
Multithreaded tecnologia Multithreaded tecnologia
Multithreaded tecnologia
J Chaves Silva
 
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
bshecht
 
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
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
Jcradio Vw
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
profwtelles
 
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
Campus Party Brasil
 
"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...
lccausp
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
Wanderlei Silva do Carmo
 

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 (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
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
 
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

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
Roní Gonçalves
 
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
Roní Gonçalves
 
(Alguns) Tipos de osciladores eletrônicos
(Alguns) Tipos de osciladores eletrônicos(Alguns) Tipos de osciladores eletrônicos
(Alguns) Tipos de osciladores eletrônicos
Roní Gonçalves
 
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...
Roní Gonçalves
 
Real Time Protocol
Real Time ProtocolReal Time Protocol
Real Time Protocol
Roní Gonçalves
 
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
Roní Gonçalves
 
Manutenção em motores elétricos
Manutenção em motores elétricosManutenção em motores elétricos
Manutenção em motores elétricos
Roní Gonçalves
 
Vibe, brazilian fabless company
Vibe, brazilian fabless companyVibe, brazilian fabless company
Vibe, brazilian fabless company
Roní Gonçalves
 
Análise de vibração
Análise de vibraçãoAnálise de vibração
Análise de vibração
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

Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
JairGaldino4
 
Experiência da EDP na monitorização de vibrações de grupos hídricos
Experiência da EDP na monitorização de vibrações de grupos  hídricosExperiência da EDP na monitorização de vibrações de grupos  hídricos
Experiência da EDP na monitorização de vibrações de grupos hídricos
CarlosAroeira1
 
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoesENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
liviafernandesft0807
 
Treinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricaçãoTreinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricação
helder866682
 
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
JairGaldino4
 
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVACONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
JairGaldino4
 
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdfPresentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
DanielMangoldNieves
 
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdfCircuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
JrBennitoBennito
 
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
eliasmar2
 
Curso de operador de guindauto e guindaste
Curso de operador de guindauto e guindasteCurso de operador de guindauto e guindaste
Curso de operador de guindauto e guindaste
NetoSilva63
 
slides Seminário Transição Energética.pptx
slides  Seminário Transição Energética.pptxslides  Seminário Transição Energética.pptx
slides Seminário Transição Energética.pptx
Izaliver
 
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______
JairGaldino4
 
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdfINSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
marcyomendona
 

Último (15)

Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
 
Experiência da EDP na monitorização de vibrações de grupos hídricos
Experiência da EDP na monitorização de vibrações de grupos  hídricosExperiência da EDP na monitorização de vibrações de grupos  hídricos
Experiência da EDP na monitorização de vibrações de grupos hídricos
 
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoesENEM 2023 - Prova Azul (1º dia).PDF. questoes
ENEM 2023 - Prova Azul (1º dia).PDF. questoes
 
Treinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricaçãoTreinamento de boas práticas de fabricação
Treinamento de boas práticas de fabricação
 
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
AULA - ELEMENTOS DE VEDAÇÃO MECÂNICA....
 
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVACONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
CONCEITOS DE MANUTENÇÃO MECÂNICAS AUTOMOTIVA
 
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdfPresentación en Power point. Capítulo 5 - Bombas de água.pdf
Presentación en Power point. Capítulo 5 - Bombas de água.pdf
 
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdfCircuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
Circuitos Elétricos I. Excitação Senoidal, fasores, impedância e admitância.pdf
 
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
 
Curso de operador de guindauto e guindaste
Curso de operador de guindauto e guindasteCurso de operador de guindauto e guindaste
Curso de operador de guindauto e guindaste
 
slides Seminário Transição Energética.pptx
slides  Seminário Transição Energética.pptxslides  Seminário Transição Energética.pptx
slides Seminário Transição Energética.pptx
 
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______AULA 01 - Completa de Lubrificação______
AULA 01 - Completa de Lubrificação______
 
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdfINSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
INSTRUÇÃO TÉcnica N° 3 - NEOENERGIA BRASILIA .pdf
 

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