Cargando…

The art of concurrency /

If you're looking to take full advantage of multi-core processors with concurrent programming, this practical book provides the knowledge and hands-on experience you need. The Art of Concurrency is one of the few resources to focus on implementing algorithms in the shared-memory model of multi-...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Breshears, Clay
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Beijing ; Cambridge : O'Reilly, ©2009.
Edición:1st ed.
Colección:Theory in practice
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000 a 4500
001 OR_ocn456750914
003 OCoLC
005 20231017213018.0
006 m o d
007 cr unu||||||||
008 091016s2009 njua o 001 0 eng d
010 |a  2010487098 
040 |a MNW  |b eng  |e pn  |c MNW  |d CUS  |d OCLCQ  |d UMI  |d CEF  |d OCLCQ  |d DEBSZ  |d OCLCQ  |d NLE  |d OCLCF  |d OCLCQ  |d IDEBK  |d COO  |d E7B  |d OCLCQ  |d AU@  |d FEM  |d OCLCQ  |d WYU  |d UAB  |d STF  |d VT2  |d RDF  |d UKAHL  |d CZL  |d LVT  |d DST  |d OCLCQ  |d INARC  |d OCLCO 
015 |a GBA8D6778  |2 bnb 
016 7 |a 014845182  |2 Uk 
019 |a 599810861  |a 617957982  |a 968980533  |a 1064045706  |a 1103280100  |a 1129374576  |a 1153025844  |a 1295597027  |a 1300628258  |a 1302281463  |a 1303349263 
020 |a 9780596802424 
020 |a 0596802420 
020 |a 9780596555788 
020 |a 0596555784 
020 |a 0596551150 
020 |a 9780596551155 
020 |z 9780596521530 
020 |z 0596521537 
029 1 |a AU@  |b 000051461073 
029 1 |a AU@  |b 000067102561 
029 1 |a DEBSZ  |b 355422972 
029 1 |a HEBIS  |b 291494617 
035 |a (OCoLC)456750914  |z (OCoLC)599810861  |z (OCoLC)617957982  |z (OCoLC)968980533  |z (OCoLC)1064045706  |z (OCoLC)1103280100  |z (OCoLC)1129374576  |z (OCoLC)1153025844  |z (OCoLC)1295597027  |z (OCoLC)1300628258  |z (OCoLC)1302281463  |z (OCoLC)1303349263 
037 |a CL0500000062  |b Safari Books Online 
050 4 |a QA76.642  |b .B74 2009 
082 0 4 |a 005.275  |2 22 
049 |a UAMI 
100 1 |a Breshears, Clay. 
245 1 4 |a The art of concurrency /  |c Clay Breshears. 
250 |a 1st ed. 
260 |a Beijing ;  |a Cambridge :  |b O'Reilly,  |c ©2009. 
300 |a 1 online resource (xiii, 285 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file 
490 0 |a Theory in practice 
588 0 |a Print version record. 
520 |a If you're looking to take full advantage of multi-core processors with concurrent programming, this practical book provides the knowledge and hands-on experience you need. The Art of Concurrency is one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just theoretical models or distributed-memory architectures. The book provides detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis for avoiding mistakes that programmers typically make when first attempting these computations. Written by an Intel engineer with over two decades of parallel and concurrent programming experience, this book will help you:<p Understand parallelism and concurrency Explore differences between programming for shared-memory and distributed-memory Learn guidelines for designing multithreaded applications, including testing and tuning Discover how to make best use of different threading libraries, including Windows threads, POSIX threads, OpenMP, and Intel Threading Building Blocks Explore how to implement concurrent algorithms that involve sorting, searching, graphs, and other practical computations The Art of Concurrency shows you how to keep algorithms scalable to take advantage of new processors with even more cores. For developing parallel code algorithms for concurrent programming, this book is a must. 
505 0 |a Table of Contents; Preface; Why Should You Read This Book?; Who Is This Book For?; What's in This Book?; Conventions Used in This Book; Using Code Examples; Comments and Questions; Safari® Books Online; Acknowledgments; Chapter 1. Want to Go Faster? Raise Your Hands if You Want to Go Faster!; Some Questions You May Have; What Is a Thread Monkey?; Parallelism and Concurrency: What's the Difference?; Why Do I Need to Know This? What's in It for Me?; Isn't Concurrent Programming Hard?; Aren't Threads Dangerous?; Four Steps of a Threading Methodology 
505 8 |a Step 1. Analysis: Identify Possible ConcurrencyStep 2. Design and Implementation: Threading the Algorithm; Step 3. Test for Correctness: Detecting and Fixing Threading Errors; Step 4. Tune for Performance: Removing Performance Bottlenecks; The testing and tuning cycle; What About Concurrency from Scratch?; Background of Parallel Algorithms; Theoretical Models; Distributed-Memory Programming; Parallel Algorithms Literature; Shared-Memory Programming Versus Distributed-Memory Programming; Common Features; Redundant work; Dividing work; Sharing data; Static/dynamic allocation of work 
505 8 |a Features Unique to Shared MemoryLocal declarations and thread-local storage; Memory effects; Communication in memory; Mutual exclusion; Producer/consumer; Readers/writer locks; This Book's Approach to Concurrent Programming; Chapter 2. Concurrent or Not Concurrent?; Design Models for Concurrent Algorithms; Task Decomposition; What are the tasks and how are they defined?; What are the dependencies between tasks and how can they be satisfied?; How are the tasks assigned to threads?; Example: numerical integration; Data Decomposition; How should you divide the data into chunks? 
505 8 |a How can you ensure that the tasks for each chunk have access to all data required for updates?How are the data chunks (and tasks) assigned to threads?; Example: Game of Life on a finite grid; Concurrent Design Models Wrap-Up; What's Not Parallel; Algorithms with State; Recurrences; Induction Variables; Reduction; Loop-Carried Dependence; Not-so-typical loop-carried dependence; Chapter 3. Proving Correctness and Measuring Performance; Verification of Parallel Algorithms; Example: The Critical Section Problem; First Attempt; Second Attempt; Third Attempt; Fourth Attempt; Dekker's Algorithm 
505 8 |a Case 1Case 2a: T0 is the favored thread; Case 2b: T1 is the favored thread; Case 3; What about indefinite postponement?; What Did You Learn?; There Are No Evil Threads, Just Threads Programmed for Evil; Performance Metrics (How Am I Doing?); Speedup; Amdahl's Law; Gustafson-Barsis's Law; Efficiency; One Final Note on Speedup and Efficiency; Review of the Evolution for Supporting Parallelism in Hardware; Chapter 4. Eight Simple Rules for Designing Multithreaded Applications; Rule 1: Identify Truly Independent Computations; Rule 2: Implement Concurrency at the Highest Level Possible 
546 |a English. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Parallel programming (Computer science) 
650 0 |a Computer programming. 
650 6 |a Programmation (Informatique) 
650 6 |a Programmation parallèle (Informatique) 
650 7 |a computer programming.  |2 aat 
650 1 7 |a Parallel programming (Computer science)  |2 bisacsh 
650 7 |a Parallel programming (Computer science)  |2 blmlsh 
650 7 |a Computer programming  |2 fast 
650 7 |a Parallel programming (Computer science)  |2 fast 
655 4 |a Software Development & Engineering; Programming; Programming Languages. 
776 0 8 |i Print version:  |t Art of concurrency.  |d Beijing; Cambridge: O'Reilly, ©2009  |z 9780596521530  |w (OCoLC)263978506 
856 4 0 |u https://learning.oreilly.com/library/view/~/9780596802424/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH29298013 
938 |a ebrary  |b EBRY  |n ebr10762126 
938 |a ProQuest MyiLibrary Digital eBook Collection  |b IDEB  |n cis28417968 
938 |a Internet Archive  |b INAR  |n artofconcurrency0000bres 
994 |a 92  |b IZTAP