Over the last couple of years, I spent untold hours working with a group of industry multicore experts who themselves spent untold hours either writing chapters or collaborating as I wrote chapters of a book on embedded multicore design. It has now been published by Elsevier: Real World Multicore Embedded Systems.
The idea behind the content is to present the hardware, infrastructure, software, and system implications of doing embedded systems with multicore processors. Multicore is not new in desktops, but it’s met much more resistance in the embedded world. Our hope is that, by covering all of those areas, even though they typically involve different practitioners, each will get a better understanding of the other, making them all more efficient – and hopefully improving multicore architectures, tools, and software in the future.
I’ve sketched the main bits from the table of contents below, along with the contributing or collaborating authors. I can’t stress enough the amount of work they did – over and above their regular jobs. The quality of their work reflects both their efforts and their expertise.
- Introduction and Roadmap
- The Promise and Challenges of Concurrency
- Multicore Architectures (Frank Schirrmeister)
- Memory Models for Embedded Multicore Architecture (Gitu Jain)
- Design Considerations for Multicore SoC Interconnections (Sanjay Deshpande)
- Operating Systems in Multicore Platforms (In collaboration with John Carbone and William Lamie)
- System Virtualization in Multicore Systems (David Kleidermacher)
- Communication and Synchronization Libraries (Max Domeika)
- Programming Languages (Gitu Jain)
- Tools (Kenn Luecke)
- Partitioning Programs for Multicore Systems (In collaboration with Paul Stravers)
- Software Synchronization (Tom Dickens)
- Hardware Accelerators (In collaboration with Yosinori Watanabe)
- Multicore Synchronization Hardware (Jim Holt)
- Bare-Metal Systems (In collaboration with Sanjay Lal)
- Multicore Debug (Neal Stollon)