多处理器编程的艺术
多处理器编程的艺术封面图

多处理器编程的艺术

(美) 荷里希 (Herlihy,M.) , 著

出版社:机械工业出版社

年代:2009

定价:45.0

书籍简介:

本书从原理和实践两个方面全面阐述了多处理器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。此外,附录提供了采用其他程序设计语言包(如C#、C及C++的PThreads库)进行编程的相关背景知识以及硬件基础知识。

作者介绍:

Maurice Herlihy,哈佛大学的数学学士和麻省理工学院的计算机科学博士,目前为美国布朗大学计算机科学系教授,曾工作于卡内基-梅隆大学和DEC剑桥实验室。他是美国ACM会士,2003年分布式计算Dijkstra奖获得者。

书籍目录:

出版者的话

译者序

前言

第1章 引言

1.1 共享对象和同步

1.2 生活实例

1.3 生产者—消费者问题

1.4 读者—写者问题

1.5 并行的困境

1.6 并行程序设计

1.7 本章注释

1.8 习题

第一部分 原理

第2章 互斥

2.1 时间

2.2 1临界区

2.3 双线程解决方案

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.6 形式化定义

3.7 演进条件

3.8 Java存储器模型

3.9 评析

3.10 本章注释

3.11 习题

第4章 共享存储器基础

4.1 寄存器空间

4.2 寄存器构造

4.3 原子快照

4.4 本章注释

4.5 习题

笫5章 同步原子操作的相对能力

5.1 一致数

5.2 原子寄存器

5.3 一致性协议

5.4 FIFO队列

5.5 多重赋值对象

5.6 读—改—写操作

5.7 Common2RMW操作

5.8 compareAndSet()操作

5.9 本章注释

5.10 习题

第6章 一致性的通用性

6.1 引言

6.2 通用性

6.3 一种通用的无锁构造

6.4 一种通用的无等待构造

6.5 本章注释

6.6 习题

第二部分 实践

第7章 自旋锁与争用

7.1 实际问题

7.2 测试—设置锁

7.3 再论基于TAS的自旋锁

7.4 指数后退

7.5 队列锁

7.6 时限队列锁

7.7 复合锁

7.8 层次锁

7.9 由一个锁管理所有的锁

7.10 本章注释

7.11 习题

笫8章 管程和阻塞同步

8.1 引言

8.2 管程锁和条件

8.3 读者—写者锁

8.4 我们的可重入锁

8.5 信号量

8.6 本章注释

8.7 习题

第9章 链表:锁的作用

9.1 引言

9.2 基于链表的集合

9.3 并发推理

9.4 粗粒度同步

9.5 细粒度同步

9.6 乐观同步

9.7 惰性同步

9.8 非阻塞同步

9.9 讨论

9.1 0本章注释

9.1 1习题

笫10章 并行队列和ABA问题

10.1 引言

10.2 队列

10.3 部分有界队列

10.4 完全无界队列

10.5 无锁的无界队列

10.6 内存回收和ABA问题

10.7 双重数据结构

10.8 本章注释

10.9 习题

第11章 并发栈和消除

11.1 引言

11.2 无锁的无界栈

11.3 消除

11.4 后退消除栈

11.5 本章注释

11.6 习题

第12章计数、排序和分布式协作

12.1 引言

12.2 共享计数

12.3 软件组合

12.4 静态一致池和计数器

12.5 计数网

12.6 衍射树

12.7 并行排序

12.8 排序网

12.9 样本排序

12.10 分布式协作

12.11 本章注释

12.12 习题

第13章 并发哈希和固有并行

13.1 引言

13.2 封闭地址哈希集

13.3 无锁哈希集

13.4 开放地址哈希集

13.5 本章注释

13.6 习题

第14章 跳表和平衡查找

14.1 引言

14.2 顺序跳表

14.3 基于锁的并发跳表

14.4 无锁并发跳表

14.5 并发跳表

14.6 本章注释

14.7 习题

第15章 优先级队列

15.1 引言

15.2 基于数组的有界优先级队列

15.3 基于树的有界优先级队列

15.4 基于堆的无界优先级队列

15.5 基于跳表的无界优先级队列

15.6 本章注释

15.7 习题

笫16章 异步执行、调度和工作分配

16.1 引言

16.2 并行分析

16.3 多处理器的实际调度

16.4 工作分配

16.5 工作窃取双端队列

16.6 本章注释

16.7 习题

第17章 障碍

17.1 引言

17.2 障碍实现

17.3 语义换向障碍

17.4 组合树障碍

17.5 静态树障碍

17.6 终止检测障碍

17.7 本章注释

17.8 习题

第18章 事务内存

18.1 引言

18.2 事务和原子性

18.3 软事务内存

18.4 硬事务内存

18.5 本章注释

18.6 习题

第三部分 附录

附录A软件基础

附录B硬件基础

参考文献

内容摘要:

《多处理器编程的艺术》从原理和实践两个方面全面阐述了多处理器编程的指导原则,包含编制高效的多处理器程序所必备的算法技术。此外,附录提供了采用其他程序设计语言包(如C#、C及C++的PThreads库)进行编程的相关背景知识以及硬件基础知识。《多处理器编程的艺术》适合作为高等院校计算机及相关专业高年级本科生及研究生的教材,同时也可作为相关技术人员的参考书。
  目前,多处理器的编程技术受到广泛关注,多处理器编程要求理解新型计算原理、算法及编程工具;至今很少有人能够精通这门编程艺术。
  现今,大多数工程技术人员都是通过艰辛的反复实践、求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。《多处理器编程的艺术》所涵盖的多处理器编程关键问题将使在校学生以及相关技术人员受益匪浅。

编辑推荐:

目前,多处理器的编程技术受到广泛关注,多处理器编程要求理解新型计算原理、算法及编程工具;至今很少有人能够精通这门编程艺术。
  现今,大多数工程技术人员都是通过艰辛的反复实践、求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。本书所涵盖的多处理器编程关键问题将使在校学生以及相关技术人员受益匪浅。
  本书特色
  ·循序渐进地讲述共享存储器多线程编程的基础知识。
  ·详细解释当今多处理器硬件对并发程序设计的支持方式。
  ·全面考察主流的并发数据结构及其关键设计要素。
  ·从简单的锁机制到最新的事务内存系统,独立、完整地阐述了同步技术。
  ·利用Java并发工具包编写的可完全执行的Java实例。
  ·附录提供了采用其他程序设计语言和包(如C#、C及C++的PThreads库)进行编程的相关背景知识以及硬件基础知识。

书籍规格:

书籍详细信息
书名多处理器编程的艺术站内查询相似图书
丛书名计算机科学丛书
9787111268055
如需购买下载《多处理器编程的艺术》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)45.0语种简体中文
尺寸26装帧平装
页数 505 印数 4000

书籍信息归属:

多处理器编程的艺术是机械工业出版社于2009.07出版的中图分类号为 TP332 的主题关于 微处理器-程序设计 的书籍。