IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Multithreads et concurrence

5 livres et 3 critiques, derni�re mise � jour le 14 octobre 2022 , note moyenne : 4.5

  1. Intel Threading Building Blocks - Outfitting C++ for Multi-Core Processor Parallelism
  2. The Art of Concurrency - A Thread Monkey's Guide to Writing Parallel Applications
  3. C++ Concurrency in action - Pratical multithreading
  4. The Art of Multiprocessor Programming
  5. An Introduction to Parallel Programming
couverture du livre Intel Threading Building Blocks

Note 4.5 drapeau
D�tails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Intel Threading Building Blocks

Outfitting C++ for Multi-Core Processor Parallelism

de
Public vis� : D�butant

R�sum� de l'�diteur

More than ever, multithreading is a requirement for good performance of systems with multi-core chips. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming -- without having to be a threading expert.

Multi-core chips from Intel and AMD offer a dramatic boost in speed and responsiveness, and plenty of opportunities for multiprocessing on ordinary desktop computers. But they also present a challenge: More than ever, multithreading is a requirement for good performance. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming -- without having to be a threading expert.

Written by James Reinders, Chief Evangelist of Intel Software Products, and based on the experience of Intel's developers and customers, this book explains the key tasks in multithreading and how to accomplish them with TBB in a portable and robust manner. With plenty of examples and full reference material, the book lays out common patterns of uses, reveals the gotchas in TBB, and gives important guidelines for choosing among alternatives in order to get the best performance.

You'll learn how Intel Threading Building Blocks:
  • Enables you to specify tasks instead of threads for better portability, easier programming, more understandable source code, and better performance and scalability in general
  • Focuses on the goal of parallelizing computationally intensive work to deliver high-level solutions
  • Is compatible with other threading packages, and doesn't force you to pick one package for your entire program
  • Emphasizes scalable, data-parallel programming, which allows program performance to increase as you add processors
  • Relies on generic programming, which enables you to write the best possible algorithms with the fewest constraints

Any C++ programmer who wants to write an application to run on a multi-core system will benefit from this book. TBB is also very approachable for a C programmer or a C++ programmer without much experience with templates. Best of all, you don't need experience with parallel programming or multi-core processors to use this book.

�dition : O'Reilly UK - 332 pages, 1re �dition, 1er juillet 2007

ISBN10 : 0596514808 - ISBN13 : 9780596514808

Commandez sur www.amazon.fr :

27.72 � TTC (prix �diteur 29.51 � TTC) livraison gratuite !
  • Why Threading Building Blocks?
  • Thinking Parallel
  • Basic Algorithms
  • Advanced Algorithms
  • Containers
  • Scalable Memory Allocation
  • Mutual Exclusion
  • Timing
  • Task Scheduler
  • Keys to Success
  • Examples
  • History and Related Projects
Critique du livre par la r�daction Matthieu Brucher le 31 janvier 2008
Ca faisait longtemps que je voulais savoir ce que valait cette biblioth�que propos�e par Intel en Open Source. Ce livre est tr�s explicite et va de plus en plus loin dans son utilisation. Au d�part, on utilise les fonctions simples, puis on passe un �tage en-dessous, jusqu'� arriver au scheduler.
Les explications sont claires, autant que cela puisse l'�tre. En revanche, sans exemple complet, c'est difficile � comprendre (les exemples complets ne sont donn�s que dans l'avant-dernier chapitre).
Dans le c�t� n�gatif, il y a la qualit� du code dans certains cas. Utiliser climits � la place de limits , on a vu mieux en C++. Il n'y a pas d'explication compl�te avec calcul du gain attendu lors de l'utilisation de la focntion parallel_scan , il m'a fallu plusieurs minutes pour comprendre. A part ces deux points, je ne trouve pas de points vraiment n�gatifs.
Bref, un livre indispensable pour qui veut utiliser cette biblioth�que.




 Commenter Signaler un probl�me

Avatar de zoom61 zoom61 - R�dacteur https://www.developpez.com
l 16/06/2014 � 17:09
Intel Threading Building Blocks
Outfitting C++ for Multi-Core Processor Parallelism


More than ever, multithreading is a requirement for good performance of systems with multi-core chips. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming -- without having to be a threading expert.

Multi-core chips from Intel and AMD offer a dramatic boost in speed and responsiveness, and plenty of opportunities for multiprocessing on ordinary desktop computers. But they also present a challenge: More than ever, multithreading is a requirement for good performance. This guide explains how to maximize the benefits of these processors through a portable C++ library that works on Windows, Linux, Macintosh, and Unix systems. With it, you'll learn how to use Intel Threading Building Blocks (TBB) effectively for parallel programming -- without having to be a threading expert.

Written by James Reinders, Chief Evangelist of Intel Software Products, and based on the experience of Intel's developers and customers, this book explains the key tasks in multithreading and how to accomplish them with TBB in a portable and robust manner. With plenty of examples and full reference material, the book lays out common patterns of uses, reveals the gotchas in TBB, and gives important guidelines for choosing among alternatives in order to get the best performance.

You'll learn how Intel Threading Building Blocks:
  • Enables you to specify tasks instead of threads for better portability, easier programming, more understandable source code, and better performance and scalability in general
  • Focuses on the goal of parallelizing computationally intensive work to deliver high-level solutions
  • Is compatible with other threading packages, and doesn't force you to pick one package for your entire program
  • Emphasizes scalable, data-parallel programming, which allows program performance to increase as you add processors
  • Relies on generic programming, which enables you to write the best possible algorithms with the fewest constraints

Any C++ programmer who wants to write an application to run on a multi-core system will benefit from this book. TBB is also very approachable for a C programmer or a C++ programmer without much experience with templates. Best of all, you don't need experience with parallel programming or multi-core processors to use this book.

[Lire la suite]



 
couverture du livre The Art of Concurrency

Note 4.5 drapeau
D�tails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

The Art of Concurrency

A Thread Monkey's Guide to Writing Parallel Applications

de
Public vis� : Interm�diaire

R�sum� de l'�diteur

Looking to take full advantage of multi-core processors with concurrent programming ? As one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just on theoretical models or distributed-memory architectures, The Art of Concurrency provides the knowledge and hands-on experience you need. You'll get detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis to steer you clear of mistakes.

�dition : O'Reilly - 285 pages, 1re �dition, 1er juin 2009

ISBN10 : 0596521537 - ISBN13 : 9780596521530

Commandez sur www.amazon.fr :

30.20 � TTC (prix �diteur 37.97 � TTC) livraison gratuite !
  • Chapter 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
  • Chapter 2 : Concurrent or Not Concurrent?
    • Design Models for Concurrent Algorithms
    • What's Not Parallel
  • Chapter 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
  • Chapter 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
  • Chapter 5 : Threading Libraries
    • Implicit Threading
    • Explicit Threading
    • What Else Is Out There?
    • Domain-Specific Libraries
  • Chapter 6 : Parallel Sum and Prefix Scan
    • Parallel Sum
    • Prefix Scan
    • Selection
    • A Final Thought
  • Chapter 7 : MapReduce
    • Map As a Concurrent Operation
    • Reduce As a Concurrent Operation
    • Applying MapReduce
    • MapReduce As Generic Concurrency
  • Chapter 8 : Sorting
    • Bubblesort
    • Odd-Even Transposition Sort
    • Shellsort
    • Quicksort
    • Radix Sort
  • Chapter 9 : Searching
    • Unsorted Sequence
    • Binary Search
  • Chapter 10 : Graph Algorithms
    • Depth-First Search
    • All-Pairs Shortest Path
    • Minimum Spanning Tree
  • Chapter 11 : Threading Tools
    • Debuggers
    • Performance Tools
    • Anything Else Out There?
    • Go Forth and Conquer
Critique du livre par la r�daction Matthieu Brucher le 1er d�cembre 2009
Free lunch is over, c'est le moment de parall�liser. The Art of Concurrency comble le manque d'une m�thodologie pour d�velopper des applications parall�les.
Bas� principalement sur les applications multithread�es, le livre couvre pthread, les Windows threads, OpenMP et Intel Threading Building Blocks. On y parle aussi des applications multi-processus, lorsqu'il y a des indications sp�cifiques et diff�rentes des applications multithreads.
Le livre commence apr�s deux chapitres sur les actions � mener avant de parall�lis� son application, ainsi que ce qui pourra �tre parall�liser et ce qui ne pourra jamais l'�tre. Avant les algorithmes usuels parall�lisables, l'auteur utilise trois autres chapitres pour d�crire sa m�thodologie permettant d'atteindre notre objectif. L'assurance de la correction (i.e. v�rifier si le comportement reste identique) est une t�che difficile, donc 8 r�gles sont propos�es pour aider, et enfin les biblioth�ques support (pthread, Windows thread, OpenMP et TBB) sont expos�es.
La plus grande partie du livre est consacr�e, comme je l'ai sugg�r�, � des algorithmes somme toute simples, mais qui peuvent �tre parall�lis�s : sommes et "scans", mapreduce, tri, recherche et algorithmes de graphes. Chaque fois, plusieurs algorithmes sont tout d'abord cod�s en s�riel, puis parall�lis�s avec potentiellement plusieurs biblioth�ques support. Enfin, � chaque fois l'efficacit�, la simplicit�, la potabilit� et la scalabilit� sont �tudi�s. Cela sert � prendre du recul sur l'op�ration effectu�e.
Le dernier chapitre est une revue rapide des outils additionnels qu'on peut utiliser ( i.e. , non obligatoires). Il s'agit principalement d'outils Intel, surtout car Intel propose de nombreux outils parmi les meilleurs.
M�me si l'auteur travaille pour Intel, les outils de celui-ci ne sont pas plus mis en avant que les autres. Le ton global du livre est adapt�, pas trop s�rieux, pas trop copain-copain, juste ce qu'il faut.
En r�sum�, un tr�s bon livre pour qui veut parall�liser son application.
Free lunch is over,, it's time to go concurrent. The Art of Concurrency addresses the need for a workflow to develop concurrent/parallel applications.
Mainly based on multithreaded applications, the book covers pthreads, Windows threads, OpenMP or Intel Threading Building Blocks library. It also covers some part of multiprocess applications if there are differences with threaded ones.
The book starts with two chapers on what actions to take before parallelizing and what can and what cannot. Before the usual algorithms that can be parallelized, the author takes three chapters to explain how you may achieve your goal. Ensuring correctness is a difficult task, so the book gives 8 rules to help and then an explanation of several support libraries that can be used.
The biggest part of the book, as I've hinted, is dedicated to simple but usual algorithms that may be parallelized: sums and scans, mapreduce, sorts, searches, and graph algorithms. Each time, several different algorithms are first coded in a serial way and then parallelized with possibly different support libraries. Also each time, the efficiency, the simplicity, the portability and the scalability conclude the sub art: it helps standing back.
The last chapter is a small overview of the additional tools that you may use (but they are not mandatory). They are mainly Intel's tools, but it's mainly because Intel provides the developer with some of the best tools.
Although the author works for Intel, he doesn't expose Intel tools more than others. The book tone is adequate, not too much serious, not like a "For Dummies", so just enjoyable.
If you need advices to parallelize your applications and you don't want to buy Patterns for Parallel Programming , buy this one (well, buy it anyway).




 Commenter Signaler un probl�me

Avatar de zoom61 zoom61 - R�dacteur https://www.developpez.com
l 16/06/2014 � 17:09
The Art of Concurrency
A Thread Monkey's Guide to Writing Parallel Applications


Looking to take full advantage of multi-core processors with concurrent programming ? As one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just on theoretical models or distributed-memory architectures, The Art of Concurrency provides the knowledge and hands-on experience you need. You'll get detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis to steer you clear of mistakes.

[Lire la suite]



 
couverture du livre C++ Concurrency in action

Note 4.5 drapeau
D�tails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

C++ Concurrency in action

Pratical multithreading

de
Public vis� : Interm�diaire

R�sum� de l'�diteur

Plusieurs processeurs poss�dant plusieurs cores sont la norme de nos jours. La version C++11 du langage C++ offre un support plus puissant pour les applications multithreads et exige que vous ma�trisiez les principes, les techniques et les nouvelles fonctionnalit�s du langage pour la programmation concurrente, pour rester � la pointe des connaissances.
Sans supposer que vous avez une exp�rience en la mati�re, � C++ Concurrency in Action � vous permet progressivement d'�crire des applications multithreads robustes et �l�gantes en C++11. Vous pourrez explorer le mod�le de m�moire des threads, la nouvelle biblioth�que supportant le multithreading et le lancement basique de threads et des fonctionnalit�s de synchronisation.
Au cours de la lecture, vous apprendrez comment naviguer dans les points les plus d�licats de la programmation concurrente.

�dition : Manning Publications - 352 pages, 1re �dition, 8 mars 2012

ISBN10 : 1933988770 - ISBN13 : 9781933988771

Commandez sur www.amazon.fr :

39.00 � TTC (prix �diteur 39.29 � TTC) livraison gratuite !
  • Hello, world of concurrency in C++!
  • Managing threads
  • Sharing data between threads
  • Synchronizing concurrent operations
  • The C++ memory model and operations on atomic types
  • Designing lock-based concurrent data structures
  • Designing lock-free concurrent data structures
  • Designing concurrent code
  • Advanced thread management
  • Testing and debugging multithreaded applications
  • Appendix A - Brief reference for some C++11 language features
  • Appendix B - Brief comparison of concurrency libraries
  • Appendix C - A message-passing framework and complete ATM example
  • Appendix D - C++ Thread Library reference
Critique du livre par la r�daction Jean-Marc.Bourguet le 8 d�cembre 2012
e dont je me doutais en achetant ce livre, c'est que la pr�cision technique serait au rendez-vous. Ce que je ne savais pas, c'est � quel point l'ouvrage serait accessible et traiterait au-del� de ce que le C++11 apporte des questions de conception.
C'est toujours difficile quand on a d�j� une certaine connaissance du domaine de constater � quel point un ouvrage est accessible aux n�ophytes. L'expos� m'a sembl� clair, coh�rent et sans d�faut majeur tant quand il traitait de choses que je connaissais d�j� que quand il traitait de sujets que je savais ne pas ma�triser.
Le livre ne se contente pas d'expliquer comment utiliser ce que fournit le C++11, mais il traite aussi plus largement de la conception, du test et du d�bogage des applications multithreads. Celui du test et du d�bogage me semble �tre le plus complet que j'aie vu imprim�. Le traitement de la conception est lui un peu court, mais c'est un sujet qui m�rite au moins un livre pour lui.
Malheureusement, la bibliographie est quasiment absente et se limite presque aux ouvrages cit�s. Et on n'y trouvera donc pas de ressources pour compl�ter le traitement de la conception ou de tout autre sujet que l'on d�sire approfondir. Autre chose importante dans un livre de r�f�rence, l'index. L'index est fortement hi�rarchis�, ce qui fait que par exemple pour trouver l'explication de la relation � happens-before �, il faut chercher � � M, memory model, acquire-release ordering, and happens-before � et il n'y a rien � � H, happens-before � qui renvoie � � memory model �.
L'expos� est trop rapide pour recommander le livre comme introduction � quelqu'un qui ne conna�t rien du multithread, mais un n�ophyte motiv� doit pouvoir s'en sortir avec. Si ce n'est peut-�tre pas la r�f�rence ultime sur le multithread en C++11, c'est principalement qu'une telle r�f�rence devra int�grer l'exp�rience d'une communaut� plus large que celle dans laquelle ces fonctionnalit�s ont �t� con�ues. En attendant que cette exp�rience existe, � C++ Concurrency in action � fera parfaitement l'affaire et met la barre haut pour celui qui d�sirera �crire cette r�f�rence ultime.




 Commenter Signaler un probl�me

Avatar de zoom61 zoom61 - R�dacteur https://www.developpez.com
l 16/06/2014 � 17:09
C++ Concurrency in action
Pratical multithreading


Plusieurs processeurs poss�dant plusieurs cores sont la norme de nos jours. La version C++11 du langage C++ offre un support plus puissant pour les applications multithreads et exige que vous ma�trisiez les principes, les techniques et les nouvelles fonctionnalit�s du langage pour la programmation concurrente, pour rester � la pointe des connaissances.
Sans supposer que vous avez une exp�rience en la mati�re, � C++ Concurrency in Action � vous permet progressivement d'�crire des applications multithreads robustes et �l�gantes en C++11. Vous pourrez explorer le mod�le de m�moire des threads, la nouvelle biblioth�que supportant le multithreading et le lancement basique de threads et des fonctionnalit�s de synchronisation.
Au cours de la lecture, vous apprendrez comment naviguer dans les points les plus d�licats de la programmation concurrente.

[Lire la suite]



 
couverture du livre The Art of Multiprocessor Programming

drapeau
D�tails du livre
Critiques (0)
0 commentaire
 
 

The Art of Multiprocessor Programming

de
Public vis� : D�butant

R�sum� de l'�diteur

Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues. This revised edition incorporates much-demanded updates throughout the book, based on feedback and corrections reported from classrooms since 2008 Learn the fundamentals of programming multiple threads accessing shared memory Explore mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques from simple locks to transactional memory systems Visit the companion site and download source code, example Java programs, and materials to support and enhance the learning experience

�dition : Morgan Kaufmann - 536 pages, 2e �dition, 5 juin 2012

ISBN10 : 0123973376 - ISBN13 : 9780123973375

Commandez sur www.amazon.fr :

40.00 � TTC (prix �diteur 41.99 � TTC) livraison gratuite !
Aucune critique n'a �t� faite pour l'instant



 Commenter Signaler un probl�me

Avatar de zoom61 zoom61 - R�dacteur https://www.developpez.com
l 16/06/2014 � 17:09
The Art of Multiprocessor Programming


Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues. This revised edition incorporates much-demanded updates throughout the book, based on feedback and corrections reported from classrooms since 2008 Learn the fundamentals of programming multiple threads accessing shared memory Explore mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques from simple locks to transactional memory systems Visit the companion site and download source code, example Java programs, and materials to support and enhance the learning experience

[Lire la suite]



 
couverture du livre An Introduction to Parallel Programming

drapeau
D�tails du livre
Critiques (0)
0 commentaire
 
 

An Introduction to Parallel Programming

de
Public vis� : D�butant

R�sum� de l'�diteur

Author Peter Pacheco uses a tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP. The first undergraduate text to directly address compiling and running parallel programs on the new multi-core and cluster architecture, An Introduction to Parallel Programming explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. User-friendly exercises teach students how to compile, run and modify example programs. Key features: Takes a tutorial approach, starting with small programming examples and building progressively to more challenging examples Focuses on designing, debugging and evaluating the performance of distributed and shared-memory programs Explains how to develop parallel programs using MPI, Pthreads, and OpenMP programming models

�dition : Morgan Kaufmann - 392 pages, 2e �dition, 21 janvier 2011

ISBN10 : 0123742609 - ISBN13 : 9780123742605

Commandez sur www.amazon.fr :

53.90 � TTC (prix �diteur 60.41 � TTC) livraison gratuite !
Aucune critique n'a �t� faite pour l'instant



 Commenter Signaler un probl�me

Avatar de zoom61 zoom61 - R�dacteur https://www.developpez.com
l 16/06/2014 � 17:09
An Introduction to Parallel Programming


Author Peter Pacheco uses a tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP. The first undergraduate text to directly address compiling and running parallel programs on the new multi-core and cluster architecture, An Introduction to Parallel Programming explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. User-friendly exercises teach students how to compile, run and modify example programs. Key features: Takes a tutorial approach, starting with small programming examples and building progressively to more challenging examples Focuses on designing, debugging and evaluating the performance of distributed and shared-memory programs Explains how to develop parallel programs using MPI, Pthreads, and OpenMP programming models

[Lire la suite]