Haskell并行与并发编程PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(英)马洛(SimonMarlowe)著;喻昌远译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2014
- ISBN:9787115367181
- 页数:260 页
第1章 绪论 1
1.1 术语:并行性和并发性 1
1.2 工具和资源 3
1.3 示例代码 3
第一部分 并行Haskell 9
第2章 并行基础:Eval Monad 9
2.1 惰性求值和弱首范式 9
2.2 Eval monad、rpar和rseq 15
2.3 示例:并行化数独解算器 18
2.4 Deepseq 27
第3章 求值策略 29
3.1 参数化策略 30
3.2 列表并行求值策略 32
3.3 示例:K均值问题 33
3.3.1 并行化K均值问题求解 37
3.3.2 性能和分析 39
3.3.3 spark活动可视化 42
3.3.4 粒度 43
3.4 spark垃圾回收与投机并行 44
3.5 使用parBuffer并行化惰性流 47
3.6 分块策略 50
3.7 恒等性 51
第4章 数据流并行:Par Monad 52
4.1 示例:图中的最短路径 56
4.2 流水线并行 59
4.2.1 生产者限速 63
4.2.2 流水线并行的局限性 63
4.3 示例:会议时间表 64
4.4 示例:并行类型推断器 71
4.5 使用不同的调度器 75
4.6 Par monad和策略的对比 76
第5章 Repa数据并行编程 77
5.1 数组、形状和索引 78
5.2 数组运算 80
5.3 示例:计算最短路径 82
5.4 折叠和形状多态 86
5.5 示例:图像旋转 88
5.6 小结 92
第6章 Acellerate GPU编程 94
6.1 概述 95
6.2 数组和索引 95
6.3 运行简单Accelerate计算 97
6.4 标量数组 99
6.5 数组索引 99
6.6 在Acc中创建数组 99
6.7 数组配对 101
6.8 常数 102
6.9 示例:最短路径 102
6.9.1 在GPU上运行 105
6.9.2 调试CUDA后端 106
6.10 示例:Mandelbrot集生成器 106
第二部分 并发Haskell 115
第7章 并发基础:线程和MVar 115
7.1 简单的示例:提醒器 116
7.2 通信:MVar 118
7.3 MVar用作简单通道:日志服务 120
7.4 MVar用作共享状态的容器 122
7.5 MVar用作构件单元:无界通道 125
7.6 公正性 129
第8章 重叠I/O 131
8.1 Haskell中的异常 134
8.2 Async的错误处理 138
8.3 合并 140
第9章 线程的取消和超时 143
9.1 异步异常 144
9.2 异步异常的屏蔽 146
9.3 bracket操作 149
9.4 通道的异步异常安全 149
9.5 超时 151
9.6 异步异常的捕获 153
9.7 mask和forkIO 155
9.8 关于异步异常的讨论 156
第10章 软件事务内存 158
10.1 运行示例:窗口管理 158
10.2 阻塞 162
10.3 阻塞直到发生变化 164
10.4 STM的合并 165
10.5 Async的重实现 166
10.6 通道的STM实现 168
10.6.1 更多可能的操作 169
10.6.2 阻塞操作的复合 170
10.6.3 异步异常安全 170
10.7 通道的另一种实现 171
10.8 有界通道 173
10.9 STM的适用性 175
10.10 性能 176
10.11 小结 178
第11章 高级并发抽象 179
11.1 线程泄漏的避免 179
11.2 对称并发组合子 181
11.3 添加函子实例 184
11.4 小结:Async API 185
第12章 并发网络服务程序 186
12.1 简易服务器 186
12.2 包含状态的简易服务器 189
12.2.1 设计一:单一全局锁 190
12.2.2 设计二:每条服务线程一个通道 190
12.2.3 设计三:使用广播通道 191
12.2.4 设计四:使用STM 192
12.2.5 实现 193
12.3 聊天服务器 195
12.3.1 架构 196
12.3.2 客户数据 197
12.3.3 服务器数据 198
12.3.4 服务器 199
12.3.5 设置新客户 199
12.3.6 运行客户处理 201
12.3.7 小结 203
第13章 使用线程并行编程 204
13.1 如何通过并发实现并行 204
13.2 示例:文件搜索 205
13.2.1 串行版本 205
13.2.2 并行版本 207
13.2.3 性能和伸缩性 208
13.2.4 使用信号量限制线程数量 210
13.2.5 ParIO monad 215
第14章 分布式编程 218
14.1 distributed-process及相关软件包 219
14.2 分布式是并发还是并行? 220
14.3 第一个示例:ping 220
14.3.1 进程和ProcessMonad 221
14.3.2 定义消息类型 221
14.3.3 Ping服务进程 222
14.3.4 主进程 224
14.3.5 main函数 225
14.3.6 Ping示例小结 225
14.4 多节点ping 226
14.4.1 单机运行多节点 227
14.4.2 多机运行 227
14.5 有类型通道 229
14.6 故障处理 233
14.7 分布式聊天服务器 236
14.7.1 数据类型 237
14.7.2 发送消息 239
14.7.3 广播 240
14.7.4 分布式处理 240
14.7.5 测试服务器 243
14.7.6 故障以及增删节点 243
14.8 练习:分布式键值存储 245
第15章 调试、性能调整以及外部函数接口 247
15.1 并发程序调试 247
15.1.1 查看线程状态 247
15.1.2 记录事件日志和ThreadScope 248
15.1.3 死锁检测 250
15.2 并发(和并行)程序的调优 252
15.2.1 创建线程和Mvar操作 252
15.2.2 共享并发数据结构 255
15.2.3 RTS选项的调整 255
15.3 并发和外部函数接口 257
15.3.1 线程和外部对外调用 257
15.3.2 异步异常和外部调用 259
15.3.3 线程和外部对内调用 259
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《并行数据挖掘及性能优化》荀亚玲著 2020
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《面部美容手术常见并发症及防治策略》(美)埃里·费尔内里尼,王晓军,龙笑 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019