Parallel and Concurrent Programming in Haskell Techniques for Multicore and Programming Multithreaded 13647
-
ISBN
-
Видавництво
-
Автор
-
МоваАнглійська
Все про “Parallel and Concurrent Programming in Haskell Techniques for Multicore and Programming Multithreaded”
Від видавця
Зміст
Chapter 1 : Introduction
Terminology: Parallelism and Concurrency
Tools and Resources
Sample Code
Parallel Haskell
Chapter 2 : Basic Parallelism: The Eval Монада
Lazy Evaluation and Weak Head Normal Form
The Eval Монада, rpar, and rseq
Example: Parallelizing a Sudoku Solver
Deepseq
Chapter 3 : Evaluation Strategies
Parameterized Strategies
A Strategy for Evaluating a List in Parallel
Example: The K-Means Problem
GC'd Sparks and Speculative Parallelism
Parallelizing Lazy Streams with parBuffer
Chunking Strategies
The Identity Property
Chapter 4 : Dataflow Parallelism: The Par Монада
Example: Shortest Paths in a Graph
Pipeline Parallelism
Example: A Conference Timetable
Example: A Parallel Type Inferencer
Using Different Schedulers
The Par Монада Compared to Strategies
Chapter 5 : Data Parallel Programming with Repa
Arrays, Shapes, and Indicators
Operations on Arrays
Example: Computing Shortest Paths
Folding and Shape-Polymorphіsm
Example: Image Rotation
Summary
Chapter 6 : GPU Programming with Accelerate
Overview
Arrays and Indicators
Running a Simple Accelerate Computation
Scalar Arrays
Indexing Arrays
Creating Arrays Inside Acc
Zipping Two Arrays
Constants
Example: Shortest Paths
Example: A Mandelbrot Set Generator
Concurrent Haskell
Chapter 7 : Basic Concurrency: Threads and MVars
A Simple Example: Reminders
Communication: MVars
MVar as a Simple Channel: A Logging Service
MVar as a Container for Shared State
MVar as a Building Block: Unbounded Channels
Fairness
Chapter 8 : Overlapping Input/Output
Exceptions in Haskell
Error Handling with Async
Merging
Chapter 9 : Cancellation and Timeouts
Asynchronous Exceptions
Masking Asynchronous Exceptions
The bracket Operation
Asynchronous Exception Safety for Channels
Timeouts
Catching Asynchronous Exceptions
mask and forkIO
Asynchronous Exceptions: Discussion
Chapter 10 : Software Transactional Memory
Running Example: Managing Windows
Blocking
Blocking Until Something Changes
Merging with STM
Async Revisited
Implementing Channels with STM
An Alternative Channel Implementation
Bounded Channels
What Can We Do Not with STM?
Performance
Summary
Chapter 11 : Higher Level Concurrency Abstractions
Avoiding Thread Leakage
Symmetric Concurrency Комбінатори
Adding a Functor Instance
Summary: The Async API
Chapter 12 : Concurrent Network Servers
A Trivial Server
Extending the Simple Server with State
A Chat Server
Chapter 13 : Parallel Programming Using Threads
How to Achieve Parallelism with Concurrency
Example: Searching for Files
Chapter 14 : Distributed Programming
The Distributed-Process Family of Packages
Distributed Concurrency or Parallelism?
A First Example: Pings
Multi-Node Ping
Typed Channels
Handling Failure
A Distributed Chat Server
Exercise: A Distributed Key-Value Store
Chapter 15 : Debugging, Tuning, and Interfacing with Foreign Code
Debugging Concurrent Programs
Tuning Concurrent (and Parallel) Programs
Concurrency and the Foreign Function Interface
Colophon
Анотація
Всі характеристики
- Видавництво
- Автор
- Категорія
- Сторінок322
- Формат145х215 мм
- МоваАнглійська
- Термін поставки7-10 дней
Товар входить до категорії
-
Самовивіз з відділень поштових операторів від
45 ₴ -80 ₴ -
Доставка поштовими сервісами - тарифи перевізника
Рецензії