Is Parallel Programming Hard, And, If So, What Can You Do About It?txt,chm,pdf,epub,mobi下载 作者:Paul E. McKenney 原作名: Paul E. McKenney 页数: 401 ISBN: 9780954899332 内容简介 · · · · · ·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... 作者简介 · · · · · ·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 publi... 目录 · · · · · ·1Introduction 1.1 Historic Parallel Programming Difficulties . . . . . . . . . . . . . . . . . 1.2 Parallel Programming Goals . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Productivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . · · · · · ·() 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 . . . . . ... · · · · · · () |
等看完再追评~
对于入门看者,这算是相当不错了
超赞
什么也不说了