- Paperback: 648 pages
- Publisher: Wrox; 1 edition (September 9, 2008)
- Language: English
- ISBN-10: 0470289627
- ISBN-13: 978-0470289624
- Product Dimensions: 7.3 x 1.3 x 9.2 inches
- Shipping Weight: 1.9 pounds
- Average Customer Review: 3.3 out of 5 stars See all reviews (7 customer reviews)
- Amazon Best Sellers Rank: #2,571,479 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Professional Multicore Programming: Design and Implementation for C++ Developers 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
From the Back Cover
Professional Multicore Programming: Design and Implementation for C++ Developers
In order to increase overall system performance, computer manufacturers have opted to add more processors rather than increase clock frequency. In turn, if you want an application to benefit from the next new processor, that application will have to be modified to exploit multiprocessor computers. This practical book shifts the focus from sequential programming techniques to parallel and multithreaded programming techniques and introduces you to the everyday fundamentals of programming for multiprocessor and multithreaded architectures.
This duo of experienced authors takes the complicated topics of parallel processing and software concurrency and presents them in a clear, understandable manner. Their no-nonsense approach to programming multiprocessing and multithreading models, along with numerous helpful examples, demonstrates how to execute successful multicore programming and enables you to harness the power of the new multicore processors to their fullest potential.
What you will learn from this book
The various pitfalls, traps, and challenges of concurrency programming and synchronization
Methods and techniques for debugging and testing multicore programming
How to take advantage of processor-specific features using cross-platform techniques
The role of the operating system in multicore programming
Ways to take advantage of framework classes as building blocks for concurrency
How to reduce the complexity of task synchronization and communication through the use of interface classes
Who this book is for
This book is for developers of various skill levels who are making the move into multicore programming and application development.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
Cameron Hughes is a professional software developer. He is a software engineer at CTEST Laboratories and a staff programmer/analyst at Youngstown State University. With over 15 years as a software developer, Cameron Hughes has been involved in software development efforts of all sizes, from business and industrial applications to aerospace design and development projects. Cameron is the designer of the Cognopaedia and is currently project leader on the GRIOT project that runs on the Pantheon at CTEST Laboratories. The Pantheon is a 24 node multicore cluster that is used in the development of multithreaded search engine and text extraction programs.
Tracey Hughes is a senior graphics programmer at CTEST Laboratories, where she develops knowledge and information visualization software. Tracey Hughes is the lead designer for the M.I.N.D, C.R.A.I.G, and NOFAQS projects that utilize epistemic visualization at CTEST Laboratories. She regularly contributes to Linux development software efforts. She is also a team member on the GRIOT project.
Cameron and Tracey Hughes are also the authors of six books on software development, multithreaded, and parallel programming: Parallel and Distributed Programming Using C (Addison Wesley, 2003), Linux Rapid Application Development (Hungry Minds, 2000), Mastering the Standard C++ Classes (Wiley, 1999), Object - Oriented Multithreading Using C (Wiley, 1997), Collection and Container Classes in C++ (Wiley, 1996), and Object - Oriented I/O Using C Iostreams (Wiley, 1995).
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
The content is *extremely* light and *extremely* superficial. Authors discuss topics like threads, processes, etc. in over 100 pages, including sub-topics like "monitoring processes with the ps utility", "killing a process - exit(), abort(), kill() calls". Seriously??? Does a multicore book aimed at professional programmers need to discuss this over 100 pages? Topics like mutexes, semaphores have been discussed only at an *introductory* level.
Issues like ABA problem, atomic variables, memory fences, etc are not mentioned even once!!!
The worst part is that the book spends close to 300 pages discussing UML and POSIX API's. This kind of information can be readily accessed on the internet.
I wish I had not bought this one.
As I learn more and more about multicore programming from other resources, my disdain for this book continues to grow. To be specific, things that are missing from this book which *must* be included in any book on this topic (apart from what I have already mentioned above):
- Lock free and wait free concepts and their advantages.
- Role of caches (false sharing, etc)
- Some introduction to NUMA architecture.
- Fine-grained locking
At most, what you will learn from this book is how to wrap boost::thread in your own class for OO programming and that's it!!!
The book discusses Sun's UltraSparc T1 CPU and IBM's Cell Broadband Engine CPU and does a good job of explaining their architecture. I especially liked Appendix B where they explain 23 concurrency models. There is also a comprehensive POSIX process and threading reference section that comes in handy.
If you are looking for coding examples in a windows environment, then buy another book.
I mean.. how could it not be with two cool dudes in sunglasses on the cover? Seriously, how could it not be?
One star deduction for the obnoxious red.