On Monday April 26th at 1PM, Embedded Systems Conference's Microprocessor Track will hold the half-day tutorial entitled, "How to Select a Multicore Processor for Embedded Networking Applications." Having been an instructor for many years at ESC, I can say that this is certainly the most ambitious, information-laden class in which I've ever participated.
The tutorial sheds light on the mysterious art and science of selecting an embedded microprocessor, in particular multicore SoCs. While the class uses high-end network SoCs such as Freescale's QorIQ and Cavium's OCTEON as examples, the conceptual and process discussion applies to all sophisticated multicore platforms. These devices are growing in popularity because of their ability to consolidate disparate workloads into a smaller and more performance-efficient package. Yet they are also characterized by mind-numbing complexity: multiple general purpose and application-specific processing cores, profligate peripheral integration, labyrinthine communication interconnects, and multitudinous systems software technology choices.
Research and preparation occurred over many months and includes information from Linley Group's coveted analyst report, "A Guide to High-End Embedded Processors, Fifth Edition," (corporate license retail value: $5000) which was donated for use in this class. Linley's Joe Byrne is also generously donating his time to help present the class. Joe's segment will focus on discussing the myriad of criteria that designers should be considering when weighing their processor options. In addition to a fascinating suite of data points, Joe will share the pitfalls and concerns that plague metrics used without proper interpretation.
Also joining me as an instructor is EEMBC's director of software engineering, Shay Gal-On, who will discuss the critical issues surrounding practical multicore benchmarking. Gone are the days where relatively simple workloads can give designers confidence that a processor will meet performance requirements. Shay will focus on the issues of multicore workload scalability and how to make best use of a new breed of multicore benchmark suites.
In addition to the hardware talk, the tutorial will focus on the software charged with the responsibility of managing the massive SoC complexity. What software enablement comes from the SoC vendor? Which 3rd party solutions matter and which are available for the processors on my "short list"? In addition to run-time software such as operating systems and network protocols, the critical role of multicore software development tools is examined.
Perhaps the most unique aspect of the class is the case studies. My research included numerous interviews of the veterans who have already faced this daunting processor selection challenge and lived to tell (me) the story. Students will be surprised to hear some of the make-or-break factors, some of which have absolutely nothing to do with cost, performance, or power consumption. Yet the case studies lend shape to a general process that can be applied by designers for future decisions.
Hope to see you there.