并行开发艺术(影印版)
并行开发艺术(影印版)
Clay Breshears
出版时间:2009年12月
页数:285
“这本书紧扣题目,令人赏心悦目。艺术无法传授,但追随大师的脚印便可觅得踪迹。作者在超级计算机公司工作30余年,而后又在学术界浸淫10年,我可以毫无疑问地说,本书实至名归。”
──Tom Murphy,Contra Costa学院,计算机科学程序委员会主席
“终于,一本专注于并发的书籍出现了。它包含诸多现实世界的非凡算法,利用并行编程技术对其进行分析,提升它们的性能。”
──Mike Pearce,Intel Software Network,并行计算体系主管
如果你想利用并发程序设计充分发挥多核心处理器的性能,本书就为你提供了所需要的实践知识和亲身体验。《并行开发艺术》是一份难得的材料,专注于多核心处理器的共享内存模型,而不只是理论模型或分布式内存架构。本书提供了详尽的解释和可用的示例,帮助你将算法从串行代码转化为并行代码,此外还包括建议和分析,避免程序员的典型错误。
作者为Intel资深工程师,拥有超过20年的并行和并发编程经验,本书将会帮助你:
· 探索共享内存与分布式内存编程间的区别
· 学习设计多线程程序的指导方针,包括测试和调整
· 研究如何善用不同的线程库,包括Windows线程、POSIX线程、OpenMP和Intel Threading Building Blocks
· 研究如何实现排序、查找、图形和其他实用计算的并行算法
《并行开发艺术》向你展示如何扩展算法,以从新型的多核处理器中获益。对于开发并行算法和并发编程来说,本书不可或缺。
Clay Breshears博士是Intel公司的课程架构师,专攻多核心及多线程程序设计与培训。

  1. PREFACE
  2. 1 WANT TO GO FASTER? RAISE YOUR HANDS IF YOU WANT TO GO FASTER!
  3. Some Questions You May Have
  4. Four Steps of a Threading Methodology
  5. Background of Parallel Algorithms
  6. Shared-Memory Programming Versus Distributed-Memory Programming
  7. This Book’s Approach to Concurrent Programming
  8. 2 CONCURRENT OR NOT CONCURRENT?
  9. Design Models for Concurrent Algorithms
  10. What’s Not Parallel
  11. 3 PROVING CORRECTNESS AND MEASURING PERFORMANCE
  12. Verification of Parallel Algorithms
  13. Example: The Critical Section Problem
  14. Performance Metrics (How Am I Doing?)
  15. Review of the Evolution for Supporting Parallelism in Hardware
  16. 4 EIGHT SIMPLE RULES FOR DESIGNING MULTITHREADED APPLICATIONS
  17. Rule 1: Identify Truly Independent Computations
  18. Rule 2: Implement Concurrency at the Highest Level Possible
  19. Rule 3: Plan Early for Scalability to Take Advantage of Increasing Numbers of Cores
  20. Rule 4: Make Use of Thread-Safe Libraries Wherever Possible
  21. Rule 5: Use the Right Threading Model
  22. Rule 6: Never Assume a Particular Order of Execution
  23. Rule 7: Use Thread-Local Storage Whenever Possible or Associate Locks to Specific Data
  24. Rule 8: Dare to Change the Algorithm for a Better Chance of Concurrency
  25. Summary
  26. 5 THREADING LIBRARIES
  27. Implicit Threading
  28. Explicit Threading
  29. What Else Is Out There?
  30. Domain-Specific Libraries
  31. 6 PARALLEL SUM AND PREFIX SCAN
  32. Parallel Sum
  33. Prefix Scan
  34. Selection
  35. A Final Thought
  36. 7 MAPREDUCE
  37. Map As a Concurrent Operation
  38. Reduce As a Concurrent Operation
  39. Applying MapReduce
  40. MapReduce As Generic Concurrency
  41. 8 SORTING
  42. Bubblesort
  43. Odd-Even Transposition Sort
  44. Shellsort
  45. Quicksort
  46. Radix Sort
  47. 9 SEARCHING
  48. Unsorted Sequence
  49. Binary Search
  50. 10 GRAPH ALGORITHMS
  51. Depth-First Search
  52. All-Pairs Shortest Path
  53. Minimum Spanning Tree
  54. 11 THREADING TOOLS
  55. Debuggers
  56. Performance Tools
  57. Anything Else Out There?
  58. Go Forth and Conquer
  59. GLOSSARY
  60. PHOTO CREDITS
  61. INDEX
书名:并行开发艺术(影印版)
作者:Clay Breshears
国内出版社:东南大学出版社
出版时间:2009年12月
页数:285
书号:978-7-5641-1929-4
原版书出版商:O'Reilly Media
Clay Breshears
 
Dr. Clay Breshears has been with Intel Corporation since September 2000. He started as a senior
parallel application engineer at the Intel Parallel Applications Center in Champaign, Illinois,
implementing multithreaded and distributed solutions in customer applications. Clay is
currently a courseware architect, specializing in multicore and multithreaded programming
and training. Before joining Intel, Clay was a research scientist at Rice University helping
Department of Defense researchers make the best use of the latest High Performance
Computing (HPC) platforms and resources. Clay received his Ph.D. in computer science from
the University of Tennessee, Knoxville, in 1996, but he has been involved with parallel
computation and programming for over 20 years; six of those years were spent in academia at
Eastern Washington University and the University of Southern Mississippi.
 
 
The cover image is an aerial view of wheat-harvesting combines from Getty Images. The cover
fonts are Akzidenz Grotesk and Orator. The text font is Adobe’s Meridien; the heading font is
ITC Bailey.