Looking for haskell Answers? Try Ask4KnowledgeBase
Looking for haskell Keywords? Try Ask4Keywords

Haskell LanguageParalelismo


Parámetros

Tipo / Función Detalle
data Eval a Eval es una mónada que facilita la definición de estrategias paralelas.
type Strategy a = a -> Eval a Una función que encarna una estrategia de evaluación paralela. La función atraviesa (parte de) su argumento, evaluando subexpresiones en paralelo o en secuencia
rpar :: Strategy a Chispea su argumento (para su evaluación en paralelo)
rseq :: Strategy a Evalúa su argumento a la forma normal de cabeza débil.
force :: NFData a => a -> a evalúa toda la estructura de su argumento, reduciéndolo a su forma normal, antes de devolver el argumento en sí. Es proporcionado por el módulo Control.DeepSeq

Observaciones

El libro de Simon Marlow , Programación concurrente y paralela en Haskell, es sobresaliente y abarca una multitud de conceptos. También es muy accesible incluso para el programador de Haskell más nuevo. Es altamente recomendable y está disponible en PDF o en línea de forma gratuita.

Paralelo vs Concurrente

Simon Marlow lo pone mejor :

Un programa paralelo es uno que utiliza una multiplicidad de hardware computacional (por ejemplo, varios núcleos de procesador) para realizar un cálculo más rápidamente. El objetivo es llegar a la respuesta anterior, delegando diferentes partes de la computación a diferentes procesadores que se ejecutan al mismo tiempo.

Por el contrario, la concurrencia es una técnica de estructuración de programas en la que hay múltiples hilos de control. Conceptualmente, los hilos de control se ejecutan “al mismo tiempo”; Es decir, el usuario ve sus efectos intercalados. Si realmente se ejecutan al mismo tiempo o no es un detalle de implementación; un programa concurrente puede ejecutarse en un solo procesador a través de la ejecución intercalada o en múltiples procesadores físicos.

Forma normal de la cabeza débil

Es importante ser consciente de cómo funciona la evaluación perezosa. La primera sección de este capítulo brindará una sólida introducción a WHNF y cómo esto se relaciona con la programación paralela y concurrente.

Paralelismo Ejemplos relacionados