Looking for haskell Keywords? Try Ask4Keywords

Haskell LanguageParallelität


Parameter

Typ / Funktion Detail
data Eval a Eval ist eine Monade, die die Definition paralleler Strategien erleichtert
type Strategy a = a -> Eval a eine Funktion, die eine parallele Evaluierungsstrategie verkörpert. Die Funktion durchläuft (Teile von) ihr Argument und wertet Teilausdrücke parallel oder nacheinander aus
rpar :: Strategy a spornt sein Argument (zur parallelen Auswertung)
rseq :: Strategy a wertet sein Argument zu einer schwachen Kopfnormalform aus
force :: NFData a => a -> a wertet die gesamte Struktur des Arguments aus und reduziert es auf Normalform, bevor das Argument selbst zurückgegeben wird. Sie wird vom Control.DeepSeq-Modul bereitgestellt

Bemerkungen

Simon Marlows Buch Concurrent and Parallel Programming in Haskell ist hervorragend und deckt eine Vielzahl von Konzepten ab. Es ist auch für den neuesten Haskell-Programmierer sehr gut zugänglich. Es wird dringend empfohlen und ist kostenlos als PDF oder Online verfügbar.

Parallel gegen gleichzeitig

Simon Marlow sagt es am besten :

Ein Parallelprogramm ist eines, das eine Vielzahl von Computerhardware (z. B. mehrere Prozessorkerne) verwendet, um eine Berechnung schneller durchzuführen. Das Ziel besteht darin, zu einer früheren Antwort zu gelangen, indem verschiedene Teile der Berechnung an verschiedene Prozessoren delegiert werden, die gleichzeitig ausgeführt werden.

Im Gegensatz dazu ist Parallelität eine Programmstrukturierungsmethode, bei der es mehrere Kontrollthreads gibt. Konzeptionell werden die Kontroll-Threads „gleichzeitig“ ausgeführt. das heißt, der Benutzer sieht, dass seine Effekte verschachtelt sind. Ob sie gleichzeitig ausgeführt werden oder nicht, ist ein Implementierungsdetail. Ein gleichzeitiges Programm kann auf einem einzigen Prozessor durch verschachtelte Ausführung oder auf mehreren physischen Prozessoren ausgeführt werden.

Schwache Kopfnormalform

Es ist wichtig zu wissen, wie Lazy-Evaluation funktioniert. Der erste Abschnitt dieses Kapitels wird eine starke Einführung in WHNF und dessen Beziehung zur parallelen und gleichzeitigen Programmierung geben.

Parallelität Verwandte Beispiele