Professional Multicore Programming. Design and Implementation for C++ Developers

  • ID: 2251390
  • August 2008
  • 648 Pages
  • John Wiley and Sons Ltd
1 of 4

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 READ MORE >

Note: Product cover images may vary from those shown
2 of 4


Chapter 1: The New Architecture.

Chapter 2: Four Effective Multicore Designs.

Chapter 3: The Challenges of Multicore Programming.

Chapter 4: The Operating System s Role.

Chapter 5: Processes, C++ Interface Classes, and Predicates.

Chapter 6: Multithreading.

Chapter 7: Communication and Synchronization of Concurrent Tasks.

Chapter 8: PADL and PBS: Approaches to Application Design.

Chapter 9: Modeling Software Systems That Require Concurrency.

Chapter 10: Testing and Logical Fault Tolerance for Parallel Programs.

Appendix A: UML for Concurrent Design.

Appendix B: Concurrency Models.

Appendix C: POSIX Standard for Thread Management.

Appendix D: POSIX Standard for Process Managemnet.



Note: Product cover images may vary from those shown
3 of 4

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).

Note: Product cover images may vary from those shown
4 of 4
Note: Product cover images may vary from those shown





Our Clients

  • Symantec Corporation
  • Genesys Telecommunications Laboratories, Inc.
  • Adobe Systems Incorporated
  • Ir Prognosis
  • NCR Corporation
  • Oracle Corporation