The Art of Multiprocessor Programming
Autor Maurice Herlihy, Nir Shavit, Victor Luchangco, Michael Spearen Limba Engleză Paperback – 30 dec 2020
Observăm o tranziție critică în dezvoltarea software modernă: trecerea de la optimizarea secvențială la necesitatea stăpânirii sistemelor multicore. The Art of Multiprocessor Programming este structurată progresiv pentru a ghida cititorul prin acest peisaj complex. Volumul debutează cu conceptele fundamentale de excludere mutuală și liniarizare a obiectelor concurente, stabilind baza teoretică necesară înainte de a trece la implementări specifice. Recomandăm atenție sporită capitolelor de mijloc, unde autorii analizează puterea relativă a metodelor de sincronizare și universalitatea consensului, elemente esențiale pentru orice arhitectură robustă.
În ceea ce privește implementarea, textul explorează în detaliu structurile de date concurente, de la liste înlănțuite și cozi care abordează problema ABA, până la stive și cozi de priorități. Această a doua ediție aduce actualizări importante, incluzând algoritmi noi și o secțiune extinsă despre memoria tranzacțională. Abordarea tehnică a lui Maurice Herlihy și a colaboratorilor săi reflectă expertiza acestora în sisteme distribuite, vizibilă și în lucrarea sa anterioară, Distributed Computing Through Combinatorial Topology. În timp ce acea lucrare se concentra pe fundamentele matematice ale întârzierilor imprevizibile, volumul de față aplică aceste principii în ingineria software aplicată.
Complementar lucrării Shared-Memory Synchronization de Michael L. Scott, care pune accent pe problemele la nivel de sistem și arhitectură, acest volum acoperă zona algoritmilor de nivel înalt și a structurilor de date complexe necesare programatorului de aplicații. De asemenea, spre deosebire de Concurrent Programming: Algorithms, Principles, and Foundations, care prioritizează fundamentele teoretice pure, The Art of Multiprocessor Programming menține un echilibru între rigurozitatea academică și aplicabilitatea practică în dezvoltarea de sisteme reale.
Preț: 351.05 lei
Preț vechi: 591.59 lei
-41%
Carte disponibilă
Livrare economică 09-23 mai
Livrare express 02-08 mai pentru 183.27 lei
Specificații
ISBN-10: 0124159508
Pagini: 576
Dimensiuni: 191 x 235 x 30 mm
Greutate: 1.15 kg
Ediția:2nd edition
Editura: ELSEVIER SCIENCE
Colecția Morgan Kaufmann
Public țintă
Students in multiprocessor and multicore programming courses and engineers working with multiprocessor and multicore systems.De ce să citești această carte
Recomandăm această resursă inginerilor software și studenților care doresc să depășească barierele programării single-core. Cititorul câștigă o înțelegere profundă a sincronizării firelor de execuție și a designului de structuri de date concurente. Este un ghid esențial pentru oricine dezvoltă aplicații de înaltă performanță pe arhitecturi moderne multicore, oferind soluții concrete pentru problemele de acces partajat la memorie.
Descriere scurtă
The Art of Multiprocessor Programming, Second Edition, provides users with an authoritative guide to multicore programming. This updated edition introduces higher level software development skills relative to those needed for efficient single-core programming, and includes comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. The book is an ideal resource for students and professionals alike who will benefit from its thorough coverage of key multiprocessor programming issues.
- Features new exercises developed for instructors using the text, with more algorithms, new examples, and other updates throughout the book
- Presents the fundamentals of programming multiple threads for accessing shared memory
- Explores mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques, from simple locks to transactional memory systems
Cuprins
1. Introduction 2. Mutual Exclusion 3. Concurrent Objects and Linearization 4. Foundations of Shared Memory 5. The Relative Power of Synchronization Methods 6. The Universality of Consensus 7. Spin Locks and Contention 8. Monitors and Blocking Synchronization 9. Linked Lists: The Role of Locking 10. Concurrent Queues and the ABA Problem 11. Concurrent Stacks and Elimination 12. Counting, Sorting and Distributed Coordination 13. Concurrent Hashing and Natural Parallelism 14. Skiplists and Balanced Search 15. Priority Queues 16. Futures, Scheduling and Work Distribution 17. Barriers 18. Transactional Memory