Parallel Haskell
Programação Paralela em Haskell e Parallel
Haskell
Fagner de Freitas Alves - 11160017
José Flávio Pereira Guimarães - 10960029
1
Resumo
Com a necessidade de acesso a informações originadas em diferentes localidades e a exigência do acesso instantâneo a essas informações, inspiraram a evolução dos Hardwares de maneira muito acentuada em curto intervalo de tempo. Isto também acarretou no desenvolvimento de softwares que explorassem todos os recursos disponibilizados pela tecnologia atual. Para esta tecnologia multicore é desenvolvidas estratégias de exploração destes recursos em paralelo e multiprogramado visando o mais curto possível tempo de processamento, sendo chamado de programação de alto desempenho. Utilizamos para esta apresentação o uso da linguagem Haskell apresentando o que é, seu paradigma de programação, a lógica da sua programação em paralelo e mostraremos também alguns exemplos de código.
2
Abstract
With the need for access to information originating from different locations and need instant access to this information, inspired the development of Hardware very sharply in a short period of time. This also resulted in the development of software to exploit all the features provided by current technology. For this multicore technology is developed strategies for exploiting these resources in parallel and multiprogrammed seeking the shortest possible processing time, being called programming high performance. We use this to show the use of Haskell presenting what is your programming paradigm, the logic of its programming in parallel and also show you some code examples.
3
Conteúdo
1 Introdução
6
2 Paradigma Funcional e Haskell
6
3 Programação Paralela
6
4 Funcionamento do Parallel Haskell
7
4.1 Spark e paralelismo Semi-explícito . . . . . . . . . . . . . . . . 7
4.2 Concorrência explícita e criação de Threads . . . . . . . . . . 9
4.2.1 MVars . . . . . . . . .