多处理器编程的艺术_12292769

多处理器编程的艺术_12292769
语言:
中文
类型:
PDF扫描版
页数:
369页
大小:
68.46 MB
出版社:
机械工业出版社
出版时间:
2009-01
ISBN:
9787111247357
分类:

内容简介

本书是一本关于多处理器编程的经典著作,由多位计算机科学领域的知名学者撰写。书中深入探讨了多处理器环境下的同步、并发算法和数据结构设计,为读者提供了理论基础和实践指导。内容涵盖了从共享内存模型到分布式系统的广泛主题,包括锁、事务内存、并发队列、哈希表等,并提供了大量伪代码和示例,帮助读者理解和应用这些复杂概念。

本书适合计算机科学专业的研究生、高年级本科生以及从事并发编程和系统开发的工程师阅读。它不仅是一本教材,也是该领域的权威参考书,对于任何希望掌握多处理器编程核心技术的人都具有重要价值。

目录

1.1 共享对象和同步
1.2 生活实例
1.2.1 斥特性
1.2.2 道德
1.3 生产者-消费者问题
1.4 读者-写者问题
1.5 并行的困境
1.6 并行程序设计
1.7 本章注释
1.8 习题
第一部分 原理
第2章 互斥
2.1 时间
2.2 临界区
2.3 双线程解决方案
2.3.1 LockOne类
2.3.2 LockTwo类
2.3.3 Peterson锁
2.4 过滤锁
2.5 公平性
2.6 Bakery算法
2.7 有界时间戳
2.8 存储单元数量的下界
2.9 本章注释
2.10 习题
第3章 并发对象
3.1 并发性与正确性
3.2 顺序对象
3.3 静态一致性
3.4 顺序一致性
3.5 可线性化性
3.5.1 可线性化点
3.5.2 评析
3.6 形式化定义
3.6.1 可线性化性
3.6.2 可线性化性的复合性
3.6.3 非阻塞特性
3.7 演进条件
3.8 Java存储器模型
3.8.1 锁和同步块
3.8.2 volatile域
3.8.3 final域
3.9 评析
3.10 本章注释
3.11 习题
第4章 共享存储器基础
4.1 寄存器空间
4.2 寄存器构造
4.2.1 MRSW安全寄存器
4.2.2 MRSW规则布尔寄存器
4.2.3 M-值MRSW规则寄存器
4.2.4 SRSW原子寄存器
4.2.5 MRSW原子寄存器
4.2.6 MRMW原子寄存器
4.3 原子快照
4.3.1 无障碍快照
4.3.2 无等待快照
4.3.3 正确性证明
4.4 本章注释
4.5 习题
第5章 同步原子操作的相对能力
5.1 一致数
5.2 原子寄存器
5.3 一致性协议
5.4 FIFO队列
5.5 多重赋值对象
5.6 读-改-写操作
5.7 Common2 RMW操作
5.8 compareAndSet()操作
5.9 本章注释
5.10 习题
第6章 一致性的通用性
6.2 通用性
6.3 一种通用的无锁构造
6.4 一种通用的无等待构造
6.5 本章注释
6.6 习题
第二部分 实践
第7章 自旋锁与争用
7.1 实际问题
7.2 测试-设置锁
7.3 再论基于TAS的自旋锁
7.4 指数后退
7.5 队列锁
7.5.1 基于数组的锁
7.5.2 CLH队列锁
7.5.3 MCS队列锁
7.6 时限队列锁
7.7 复合锁
7.8 层次锁
7.8.1 层次后退锁
7.8.2 层次CLH队列锁
7.9 由一个锁管理所有的锁
7.10 本章注释
7.11 习题
第8章 管程和阻塞同步
8.2 管程锁和条件
8.2.1 条件
8.2.2 唤醒丢失问题
8.3 读者-写者锁
8.3.1 简单的读者-写者锁
8.3.2 公平的读者-写者锁
8.4 我们的可重入锁
8.5 信号量
8.6 本章注释
8.7 习题
第9章 链表:锁的作用
9.2 基于链表的集合
9.3 并发推理
9.4 粗粒度同步
9.5 细粒度同步
9.6 乐观同步
9.7 惰性同步
9.8 非阻塞同步
9.9 讨论
9.10 本章注释
9.11 习题
第10章 并行队列和ABA问题
10.2 队列
10.3 部分有界队列
10.4 完全无界队列
10.5 无锁的无界队列
10.6 内存回收和ABA问题
10.7 双重数据结构
10.8 本章注释
10.9 习题
第11章 并发栈和消除
11.2 无锁的无界栈
11.3 消除
11.4 后退消除栈
11.4.1 无锁交换机
11.4.2 消除数组
11.5 本章注释
11.6 习题
第12章 计数、排序和分布式协作
12.2 共享计数
12.3 软件组合
12.3.1 概述
12.3.2 一个扩展实例
12.3.3 性能和健壮性
12.4 静态一致池和计数器
12.5 计数网
12.5.1 可计数网
12.5.2 双调计数网
12.5.3 性能和流水线
12.6 衍射树
12.7 并行排序
12.8 排序网
12.9 样本排序
12.10 分布式协作
12.11 本章注释
12.12 习题
第13章 并发哈希和固有并行
13.2 封闭地址哈希集
13.2.1 粗粒度哈希集
13.2.2 空间分带哈希集
13.2.3 细粒度哈希集
13.3 无锁哈希集
13.3.1 递归有序划分
13.3.2 BucketList类
13.3.3 LockFreeHashSet〈T〉类
13.4 放地址哈希集
13.4.1 Cuckoo哈希
13.4.2 并发Cuckoo哈希
13.4.3 空间分带的并发Cuckoo哈希
13.4.4 细粒度的并发Cuckoo哈希集
13.5 本章注释
13.6 习题
第14章 跳表和平衡查找
14.2 顺序跳表
14.3 基于锁的并发跳表
14.3.1 简介
14.3.2 算法
14.4 无锁并发跳表
14.4.1 简介
14.4.2 算法细节
14.5 并发跳表
14.6 本章注释
14.7 习题
第15章 优先级队列
15.2 基于数组的有界优先级队列
15.3 基于树的有界优先级队列
15.4 基于堆的无界优先级队列
15.4.1 顺序堆
15.4.2 并发堆
15.5 基于跳表的无界优先级队列
15.6 本章注释
15.7 习题
第16章 异步执行、调度和工作分配
16.2 并行分析
16.3 多处理器的实际调度
16.4 工作分配
16.4.1 工作窃取
16.4.2 屈从和多道程序设计
16.5 工作窃取双端队列
16.5.1 有界工作窃取双端队列
16.5.2 无界工作窃取双端队列
16.5.3 工作平衡
16.6 本章注释
16.7 习题
第17章 障碍
17.2 障碍实现
17.3 语义换向障碍
17.4 组合树障碍
17.5 静态树障碍
17.6 终止检测障碍
17.7 本章注释
17.8 习题
第18章 事务内存
18.1.1 关于锁的问题
18.1.2 关于compareAndSet()的问题
18.1.3 关于复合性的问题
18.1.4 我们能做什么
18.2 事务和原子性
18.3 软事务内存
18.3.1 事务和事务线程
18.3.2 僵尸事务和一致性
18.3.3 原子对象
18.3.4 如何演进
18.3.5 争用管理器
18.3.6 原子对象的实现
18.3.7 无干扰原子对象
18.3.8 基于锁的原子对象
18.4 硬事务内存
18.4.1 缓存一致性
18.4.2 事务缓存一致性
18.4.3 引进
18.5 本章注释
18.6 习题
第三部分 附录
附录A 软件基础
附录B 硬件基础
参考文献
下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余

网盘链接如果失效了请尝试其他网盘,不再补链,因为补了也会再次失效。

重要申明
本书由书友@锦小书发布分享,仅供学习交流使用,版权归原作者所有。如有侵权,请联系我们删除。

📖 支持知识自由流动

每一本书的稳定访问,都离不开服务器、存储与带宽的长期维护。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索