Is Parallel Programming Hard, And, If So, What Can You Do About It?

Is Parallel Programming Hard, And, If So, What Can You Do About It? pdf epub mobi txt 电子书 下载 2025

出版者:
作者:Paul E. McKenney
出品人:
页数:401
译者:
出版时间:
价格:0
装帧:
isbn号码:9780954899332
丛书系列:
图书标签:
  • 并行编程
  • parallel
  • Programming
  • 计算机
  • 编程
  • 多核
  • 多线程
  • linux
  • 并行编程
  • 并发
  • 多核
  • 多处理器
  • 软件工程
  • 计算机科学
  • 性能优化
  • 算法
  • 设计模式
  • 可扩展性
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

The purpose of this book is to help you understand how to program shared-memory parallel machines without risking your sanity.1 By describing the algorithms and designs that have worked well in the past, we hope to help you avoid at least some of the pitfalls that have beset parallel projects. But you should think of this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming, progress that should in time render this book obsolete. Parallel programming is not as hard as it is reputed, and it is hoped that this book makes it even

easier for you.

作者简介

Paul McKenney is a Distinguished Engineer and CTO of Linux at

IBM's Linux Technology Center (LTC). He is the maintainer of

the Linux kernel's implementation of RCU and a contributor to

the user-level implementation. He chaired the Linux Plumbers

Conference Program Committee in 2009 and 2011, and served on

the Linux Kernel Summit Program Committee in 2010 and 2011.

He has published one netbook, one book chapter, and more than

one hundred papers and presentations, and holds more than 80

patents in the USA, PRC, and elsewhere.

目录信息

1
Introduction
1.1 Historic Parallel Programming Difficulties . . . . . . . . . . . . . . . . .
1.2 Parallel Programming Goals . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Productivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Generality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Alternatives to Parallel Programming . . . . . . . . . . . . . . . . . . . .
1.3.1 Multiple Instances of a Sequential Application . . . . . . . . . .
1.3.2 Make Use of Existing Parallel Software . . . . . . . . . . . . . .
1.3.3 Performance Optimization . . . . . . . . . . . . . . . . . . . . .
1.4 What Makes Parallel Programming Hard? . . . . . . . . . . . . . . . . .
1.4.1 Work Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Parallel Access Control . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Resource Partitioning and Replication . . . . . . . . . . . . . . .
1.4.4 Interacting With Hardware . . . . . . . . . . . . . . . . . . . . .
1.4.5 Composite Capabilities . . . . . . . . . . . . . . . . . . . . . . .
1.4.6 How Do Languages and Environments Assist With These Tasks? .
1.5 Guide to This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Quick Quizzes . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Sample Source Code . . . . . . . . . . . . . . . . . . . . . . . .
2 Hardware and its Habits
2.1 Overview . . . . . . . . . . . . . . .
2.1.1 Pipelined CPUs . . . . . . . .
2.1.2 Memory References . . . . .
2.1.3 Atomic Operations . . . . . .
2.1.4 Memory Barriers . . . . . . .
2.1.5 Cache Misses . . . . . . . . .
2.1.6 I/O Operations . . . . . . . .
2.2 Overheads . . . . . . . . . . . . . . .
2.2.1 Hardware System Architecture
2.2.2 Costs of Operations . . . . . .
2.3 Hardware Free Lunch? . . . . . . . .
2.3.1 3D Integration . . . . . . . .
2.3.2 Novel Materials and Processes
2.3.3 Special-Purpose Accelerators
2.3.4 Existing Parallel Software . .
2.4 Software Design Implications . . . . .
...
· · · · · · (收起)

读后感

评分

这本书的中文, 有一些翻译不太准确的问题: 第三章: 全部cachelines都被翻译成了流水线. 另外, 一些词汇, 如果保留原文会更好, 比如, 在3.1.3 Atomic Operations 有一句 place the results in the store buffer, 中文为 把结果放入缓冲区. 显然原文的the store buffer 要比中文...

评分

这本书的中文, 有一些翻译不太准确的问题: 第三章: 全部cachelines都被翻译成了流水线. 另外, 一些词汇, 如果保留原文会更好, 比如, 在3.1.3 Atomic Operations 有一句 place the results in the store buffer, 中文为 把结果放入缓冲区. 显然原文的the store buffer 要比中文...

评分

这本书的中文, 有一些翻译不太准确的问题: 第三章: 全部cachelines都被翻译成了流水线. 另外, 一些词汇, 如果保留原文会更好, 比如, 在3.1.3 Atomic Operations 有一句 place the results in the store buffer, 中文为 把结果放入缓冲区. 显然原文的the store buffer 要比中文...

评分

这本书的中文, 有一些翻译不太准确的问题: 第三章: 全部cachelines都被翻译成了流水线. 另外, 一些词汇, 如果保留原文会更好, 比如, 在3.1.3 Atomic Operations 有一句 place the results in the store buffer, 中文为 把结果放入缓冲区. 显然原文的the store buffer 要比中文...

评分

这本书的中文, 有一些翻译不太准确的问题: 第三章: 全部cachelines都被翻译成了流水线. 另外, 一些词汇, 如果保留原文会更好, 比如, 在3.1.3 Atomic Operations 有一句 place the results in the store buffer, 中文为 把结果放入缓冲区. 显然原文的the store buffer 要比中文...

用户评价

评分

行文中插入的吐槽写得太好玩了~不过排版上是半页的代码图片加文字解释的形式,往往注意力被代码先吸引了,看完代码就直接略过难读的文字解释了…

评分

原理讲的挺深的,但是太hardware了看的真不习惯

评分

2019.12 最近我回顾了这本书,温故知新。本书阅读的前置条件应该是熟悉C,且对Linux内核Api有一定了解。该书不应该顺序阅读,应该把附录的内存屏障先看完,不然读示例代码会比较难受。该书前面介绍的各种同步方案,都是在给后面的rcu做铺垫,rcu是该书的核心部分。 本书聚焦的是单机多核多CPU环境下的并行编程技术,老实说这个领域没见过比这更好的书了。书中随处可见的QuickQuiz真的是精华,值得反复回味。

评分

棒棒棒,武林绝学

评分

到哪里找到本书的源码,求个链接,谢谢了!

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有