Haskell并行与并发编程
编辑推荐
《Haskell并行与并发编程》在读者已经具备一定Haskell使用经验的基础上,展示了如何使用该语言提供的多种API和框架编写并行和并发程序。读者将学到如何通过并行编程利用多核处理器来加速计算密集型的程序,以及如何通过并发编程使用线程编写多交互程序。
作者通过大量可以运行、试验以及扩展的代码示例来引领读者完成本书的阅读。本书将并行Haskell和并发Haskell分成单独的两部分讲解,书中还包括一些练习,用于帮助熟悉以下概念。
● 在Haskell中通过Eval monad和求值策略表达并行性
● 通过Par monad并行化普通的Haskell代码
● 使用Repa库构建基于数组的并行计算
● 使用Accelerate库直接在GPU上运行计算
● 使用一些基本的接口编写并发代码
● 为更大、更复杂的程序构建线程树
● 学习如何构建高速并发网络服务程序
● 编写在网络中的多台机器上运行的分布式程序 本书在读者已经具备一定Haskell使用经验的基础上,展示了如何使用该语言提供的多种API和框架编写并行和并发程序。读者将学到如何通过并行编程利用多核处理器来加速计算密集型的程序,以及如何通过并发编程使用线程编写多交互程序。
作者通过大量可以运行、试验以及扩展的代码示例来引领读者完成本书的阅读。本书将并行Haskell和并发Haskell分成单独的两部分讲解,书中还包括一些练习,用于帮助熟悉以下概念。
● 在Haskell中通过Eval monad和求值策略表达并行性
● 通过Par monad并行化普通的Haskell代码
● 使用Repa库构建基于数组的并行计算
● 使用Accelerate库直接在GPU上运行计算
● 使用一些基本的接口编写并发代码
● 为更大、更复杂的程序构建线程树
● 学习如何构建高速并发网络服务程序
● 编写在网络中的多台机器上运行的分布式程序
内容简介
《Haskell并行与并发编程》深入浅出地介绍如何使用Haskell语言及相关的库和框架编写并行和并发程序。《Haskell并行与并发编程》用两个部分分别讲解并行Haskell编程和并发Haskell编程。根据编程模型的不同,并行部分介绍了3种并行编程方式:基于惰性求值的并行(Eval Monad及求值策略)、基于数据流的并行(Par Monad)以及面向大规模数组算法的并行(Repa数据并行编程和Acellerate GPU编程)。并发部分则按抽象层次由低到高分别涉及线程和MVar、重叠I/O、线程的取消和超时、软件事务内存、高级并发抽象、并发网络服务程序、使用线程并行编程和分布式编程等,还介绍调试、性能调优以及外部函数接口。书中包含大量可运行的代码示例,并附有详细的注释,读者通过亲身运行、修改和调试代码,可极大地加深对书中内容的理解。
《Haskell并行与并发编程》适合有一定Haskell语言基础的程序员或者对并行或并发编程感兴趣的相关人员阅读。
作者简介
Simon Marlow, 是Facebook的软件工程师,Haskell社区的领军人物。他主持了Haskell 2010委员会并担任Haskell语言2010报告的编辑。Simon还是广泛使用的Glasgow Haskell编译器(GHC)的主要开发者之一。