並行開發藝術

並行開發藝術

《並行開發藝術》是2010年1月1日東南大學出版社出版的圖書。

基本信息

基本信息

並行開發藝術並行開發藝術
出版社: 東南大學出 版社; 第1版 (2010年1月1日)

外文書名: The Art of Concurrency

平裝: 285頁

正文語種: 英語

開本: 16

ISBN: 9787564119294

內容簡介

如果你想利用並發程式設計充分發揮多核心處理器的性能,《並行開發藝術(影印版)》就為你提供了所需要的實踐知識和親身體驗。《並行開發藝術》是一份難得的材料,專注於多核心處理器的共享記憶體模型,而不只是理論模型或分散式記憶體架構。《並行開發藝術(影印版)》提供了詳盡的解釋和可用的示例,幫助你將算法從串列代碼轉化為並行代碼,此外還包括建議和分析,避免程式設計師的典型錯誤。

作者為Intel資深工程師,擁有超過20年的並行和並發編程經驗,《並行開發藝術(影印版)》將會幫助你:

· 探索共享記憶體與分散式記憶體編程間的區別

· 學習設計多執行緒程式的指導方針,包括測試和調整

· 研究如何善用不同的執行緒庫,包括Windows執行緒、POSIX執行緒、OpenMP和Intel Threading Building Blocks

· 研究如何實現排序、查找、圖形和其他實用計算的並行算法

《並行開發藝術》向你展示如何擴展算法,以從新型的多核處理器中獲益。對於開發並行算法和並發編程來說,《並行開發藝術(影印版)》不可或缺。

編輯推薦

《並行開發藝術(影印版)》是由東南大學出版社出版的。

媒體推薦

“這本書緊扣題目,令人賞心悅目。藝術無法傳授,但追隨大師的腳印便可覓得蹤跡。作者在超級計算機公司工作30餘年,而後又在學術界浸淫10年,我可以毫無疑問地說,本書實至名歸。”

──Tom Murphy,Contra Costa學院,計算機科學程式委員會主席

“終於,一本專注於並發的書籍出現了。它包含諸多現實世界的非凡算法,利用並行編程技術對其進行分析,提升它們的性能。”

──Mike Pearce,Intel Software Network,並行計算體系主管

作者簡介

Clay Breshears博士,是Intel公司的課程架構師,專攻多核心及多執行緒程式設計與培訓。

目錄

PREFACE

1 WANT TO GO FASTER? RAISE YOUR HANDS IF YOU WANT TO GO FASTER!

Some Questions You May Have

Four Steps of a Threading Methodology

Background of Parallel Algorithms

Shared-Memory Programming Versus Distributed-Memory Programming

This Book’s Approach to Concurrent Programming

2 CONCURRENT OR NOT CONCURRENT?

Design Models for Concurrent Algorithms

What’s Not Parallel

3 PROVING CORRECTNESS AND MEASURING PERFORMANCE

Verification of Parallel Algorithms

Example: The Critical Section Problem

Performance Metrics (How Am I Doing?)

Review of the Evolution for Supporting Parallelism in Hardware

4 EIGHT SIMPLE RULES FOR DESIGNING MULTITHREADED APPLICATIONS

Rule 1: Identify Truly Independent Computations

Rule 2: Implement Concurrency at the Highest Level Possible

Rule 3: Plan Early for Scalability to Take Advantage of Increasing Numbers of Cores

Rule 4: Make Use of Thread-Safe Libraries Wherever Possible

Rule 5: Use the Right Threading Model

Rule 6: Never Assume a Particular Order of Execution

Rule 7: Use Thread-Local Storage Whenever Possible or Associate Locks to Specific Data

Rule 8: Dare to Change the Algorithm for a Better Chance of Concurrency

Summary

5 THREADING LIBRARIES

Implicit Threading

Explicit Threading

What Else Is Out There?

Domain-Specific Libraries

6 PARALLEL SUM AND PREFIX SCAN

Parallel Sum

Prefix Scan

Selection

A Final Thought

7 MAPREDUCE

Map As a Concurrent Operation

Reduce As a Concurrent Operation

Applying MapReduce

MapReduce As Generic Concurrency

8 SORTING

Bubblesort

Odd-Even Transposition Sort

Shellsort

Quicksort

Radix Sort

9 SEARCHING

Unsorted Sequence

Binary Search

10 GRAPH ALGORITHMS

Depth-First Search

All-Pairs Shortest Path

Minimum Spanning Tree

11 THREADING TOOLS

Debuggers

Performance Tools

Anything Else Out There?

Go Forth and Conquer

GLOSSARY

PHOTO CREDITS

INDEX

相關詞條

相關搜尋

熱門詞條

聯絡我們