The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications
![Język publikacji: angielski Język publikacji: angielski](https://static01.helion.com.pl/global/flagi/1.png)
- Autor:
- Clay Breshears
![The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications Clay Breshears - okładka ebooka](https://static01.helion.com.pl/global/okladki/326x466/e_2ghq.png)
![The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications Clay Breshears - tył okładki ebooka](https://static01.helion.com.pl/global/okladki-tyl/326x466/e_2ghq.png)
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 304
- Dostępne formaty:
-
ePubMobi
Opis ebooka: The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications
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:
- 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.
Wybrane bestsellery
-
Ta książka zawiera szereg praktycznych wskazówek dotyczących przygotowania, przeprowadzania i oceniania wyników kontrolowanych eksperymentów online. Dzięki niej nauczysz się stosować naukowe podejście do formułowania założeń i oceny hipotez w testach A/B, dowiesz się także, jak sprawdzać wiarygod...
Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B Kontrolowane eksperymenty online. Praktyczny przewodnik po testach A/B
(55.30 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Pytest – nowoczesny framework do uruchamiania testów automatycznych w języku Python. Można używać tej platformy do przeprowadzania testów jednostkowych, ale sprawdzi się świetnie także podczas konstruowania rozbudowanych testów wyższego poziomu (integracyjnych, end-to-end) dla całych aplika...
Pytest. Kurs video. Automatyzacja testów w Pythonie Pytest. Kurs video. Automatyzacja testów w Pythonie
(81.95 zł najniższa cena z 30 dni)67.05 zł
149.00 zł(-55%) -
Testowanie oprogramowania to jedna z najdynamiczniej rozwijających się dziedzin inżynierii oprogramowania. Zarobki doświadczonych testerów są porównywalne z wynagrodzeniem, jakie otrzymują dobrzy programiści. Aby rozpocząć karierę w tym zawodzie, trzeba się legitymować odpowiednimi umiejętnościam...
Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II Certyfikowany tester ISTQB®. Poziom podstawowy. Wydanie II
(65.40 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajnoś...
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Naglący termin, niedoczas, permanentne opóźnienie - oto najwierniejsi towarzysze i zarazem najwięksi wrogowie kierownika projektu. Nawet certyfikowani project managerowie, ludzie z ogromną wiedzą i nie mniejszym doświadczeniem, raz po raz znajdują się w sytuacji, w której potrzeba naprawdę wielki...(35.40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Ta książka to sprawdzone źródło informacji na temat Pythona i jego najczęstszych zastosowań. Należy ona do cenionej serii „Receptury”, w której znajdziesz najlepsze sposoby rozwiązywania problemów. Przekonaj się, jak wydajnie operować na strukturach danych, łańcuchach znaków, tekście ...(9.90 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
„Excel jest naprawdę fantastycznym programem, a jego możliwości są nieskończone…” — myślisz zwykle do chwili, w której okazuje się, że coś, co powinno zająć Ci dwie minuty, zajmuje całe godziny, ponieważ projektanci Excela czegoś nie przewidzieli. Wtedy właśnie do akcji po...(6.45 zł najniższa cena z 30 dni)
6.45 zł
12.90 zł(-50%) -
This book explores the potential of ChatGPT-powered chatbots and conversational AI. You'll delve into understanding the technology, its implementation, and practical use cases, while leveraging AI-powered conversations.
ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies
(92.88 zł najniższa cena z 30 dni) -
You'll learn to use Angular to develop and test scalable apps, and explore its features and master concepts, such as dependency injection, reactive programming, and state management, as well as utilize libraries like Nx, RxJS, and NgRx to build professional apps.
Effective Angular. Develop applications of any size by effectively using Angular with Nx, RxJS, NgRx, and Cypress Effective Angular. Develop applications of any size by effectively using Angular with Nx, RxJS, NgRx, and Cypress
(78.48 zł najniższa cena z 30 dni) -
This quick-start reference distills the core concepts of React through simple explanations, examples, and step-by-step derivations. This new edition tackles changes brought by React 19, including form actions, the use() hook, and React on the server.
React Key Concepts. An in-depth guide to React's core features - Second Edition React Key Concepts. An in-depth guide to React's core features - Second Edition
(100.08 zł najniższa cena z 30 dni)
Ebooka "The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-05-965-5578-8, 9780596555788
- Data wydania ebooka:
-
2009-05-07
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 3.9MB
- Rozmiar pliku Mobi:
- 9.5MB
Spis treści ebooka
- The Art of Concurrency
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- Why Should You Read This Book?
- Who Is This Book For?
- Whats in This Book?
- Conventions Used in This Book
- Using Code Examples
- Comments and Questions
- Safari Books Online
- Acknowledgments
- 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: Whats the Difference?
- Why Do I Need to Know This? Whats in It for Me?
- Isnt Concurrent Programming Hard?
- Arent Threads Dangerous?
- Some Questions You May Have
- Four Steps of a Threading Methodology
- Step 1. Analysis: Identify Possible Concurrency
- Step 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
- Common Features
- Features Unique to Shared Memory
- Local declarations and thread-local storage
- Memory effects
- Communication in memory
- Mutual exclusion
- Producer/consumer
- Readers/writer locks
- This Books Approach to Concurrent Programming
- 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
- Task Decomposition
- Data Decomposition
- How should you divide the data into chunks?
- 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
- Design Models for Concurrent Algorithms
- Concurrent Design Models Wrap-Up
- Whats Not Parallel
- Algorithms with State
- Recurrences
- Induction Variables
- Reduction
- Loop-Carried Dependence
- Not-so-typical loop-carried dependence
- 3. Proving Correctness and Measuring Performance
- Verification of Parallel Algorithms
- Example: The Critical Section Problem
- First Attempt
- Second Attempt
- Third Attempt
- Fourth Attempt
- Dekkers Algorithm
- Case 1
- Case 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
- Amdahls Law
- Gustafson-Barsiss Law
- Speedup
- Efficiency
- One Final Note on Speedup and Efficiency
- 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
- OpenMP
- Intel Threading Building Blocks
- Implicit Threading
- Explicit Threading
- Pthreads
- Windows Threads
- What Else Is Out There?
- Domain-Specific Libraries
- 6. Parallel Sum and Prefix Scan
- Parallel Sum
- PRAM Algorithm
- A dash of reality
- PRAM Algorithm
- A More Practical Algorithm
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Parallel Sum
- Prefix Scan
- PRAM Algorithm
- A less heavy dash of reality
- PRAM Algorithm
- A More Practical Algorithm
- What the main thread does
- What the spawned threads are doing
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Selection
- The Serial Algorithm
- The Concurrent Algorithm
- Finding the medians of subsequences
- Counting and marking elements for partitions
- The ArrayPack() function
- Some Design Notes
- A Final Thought
- 7. MapReduce
- Map As a Concurrent Operation
- Implementing a Concurrent Map
- Map As a Concurrent Operation
- Reduce As a Concurrent Operation
- Handcoded Reduction
- A Barrier Object Implementation
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Applying MapReduce
- Friendly Numbers Example Summary
- MapReduce As Generic Concurrency
- 8. Sorting
- Bubblesort
- Will It Work?
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Bubblesort
- Odd-Even Transposition Sort
- A Concurrent Code for Odd-Even Transposition Sort
- Trying to Push the Concurrency Higher
- Keeping threads awake longer without caffeine
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Shellsort
- Quick Review of Insertion Sort
- Serial Shellsort
- Concurrent Shellsort
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Quicksort
- Concurrency Within Recursion
- Concurrency Within an Iterative Version
- Iterative Quicksort
- Concurrent iterative version
- Letting threads know the work is done
- Finding work for threads
- Giving threads their pink slips
- Final Threaded Version
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Radix Sort
- Radix Exchange Sort
- Straight Radix Sort
- Using prefix scan to gather keys
- Keeping data movement stable
- Reducing the number of data touches
- The Concurrent Straight Radix Sort Solution
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- 9. Searching
- Unsorted Sequence
- Curtailing the Search
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Unsorted Sequence
- Binary Search
- But First, a Serial Version
- At Last, the Concurrent Solution
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- 10. Graph Algorithms
- Depth-First Search
- A Recursive Solution
- An Iterative Solution
- Not the Concurrent Solution, Yet
- How many locks do we need?
- Locking a conditional expression evaluation
- Now for the Concurrent Solution
- A little interleaving analysis
- Spawning the depth-first search threads
- Depth-First Search
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Breadth-First Search
- Its all in the queue
- Static Graphs Versus Dynamic Graphs
- All-Pairs Shortest Path
- What About the Data Race on the kth Row?
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- Alternatives to Floyds Algorithm
- Minimum Spanning Tree
- Kruskals Algorithm
- Prims Algorithm
- Which Serial Algorithm Should We Start With?
- Concurrent Version of Prims Algorithm
- Design Factor Scorecard
- Efficiency
- Simplicity
- Portability
- Scalability
- 11. Threading Tools
- Debuggers
- Thread-Aware Debugger
- Thread Issue Debugger: Thread Checker
- Debuggers
- Performance Tools
- Profiling
- Thread Profiling: Standard Profile Tool (Sample Over Time), Thread Profiler
- Anything Else Out There?
- Go Forth and Conquer
- Glossary
- A. Photo Credits
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(203.15 zł najniższa cena z 30 dni)
203.29 zł
239.00 zł(-15%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(237.15 zł najniższa cena z 30 dni)
244.53 zł
279.00 zł(-12%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(202.60 zł najniższa cena z 30 dni)
202.55 zł
239.00 zł(-15%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(116.53 zł najniższa cena z 30 dni)
116.48 zł
149.00 zł(-22%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(202.78 zł najniższa cena z 30 dni)
202.28 zł
239.00 zł(-15%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(245.09 zł najniższa cena z 30 dni)
244.59 zł
279.00 zł(-12%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(150.10 zł najniższa cena z 30 dni)
150.00 zł
179.00 zł(-16%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(178.05 zł najniższa cena z 30 dni)
177.85 zł
209.00 zł(-15%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
199.00 zł(-11%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(143.54 zł najniższa cena z 30 dni)
143.04 zł
179.00 zł(-20%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: The Art of Concurrency. A Thread Monkey's Guide to Writing Parallel Applications Clay Breshears (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.