Embedded.com Tech Focus Newsletter (4-5-10): Multicores and Hypervisor Virtualization - Embedded.com

Embedded.com Tech Focus Newsletter (4-5-10): Multicores and Hypervisor Virtualization




The Embedded Newsletter is delivered to youfree of charge from the staff of Embedded.com. To view the Embedded.com site , visit: http://www.embedded.com

In just a few years, and with startling speed, multicorearchitectures have moved into the mainstream of embedded systemsdesign, particularly in consumer devices and network switches, routers,and appliances. But the progress has been uneven.

Recent Editor's Top Pick designarticles on multicoreflow processing and use of asynchronous self-clocking inmultioprocessors clearly show the pace of innovationin hardware design has been impressive. However, according to panelistsat the recent EETimes's Group virtual conference,while multicore is becoming almost ubiquitous, the silicon is movingfaster than the tools required to program it.

At the Embedded SystemsConference in Silicon Valley this month, a serious effortwill be made to redress this imbalance at the MulticoreExpo , co-hosted with ESC at the San Jose Convention Center.Not only will numerous new multicore architectures be discussed withmore than60papers presented, but attention will also be focused on theuse of hypervisor virtualization to solve the software developmentproblem. Among the four keynoters at the Expo will be Wind River's CTO Tom Evenson, speaking on “Surviving the software avalanche:simplifying multicore.”

To bring you up to speed and prepare you for the conference,collected here are some of the recent articles on these topics. Inaddition to my Editor's Top Pick on”10 questions to ask when choosing avirtualization solution,” I have included seven especiallyuseful articles on hypervisors. On the multicore side, in addition toan article on “Multicore technologies and softwarechallenges,” I have included links to another seven articleson multicore hardware and software development. ((Bernard Cole, Embedded.com Editor, bccole@acm.org )

  EDITOR'S TOP PICKS by Bernard Cole, Embedded.com Editor
Use multicore flow processing to boost network router/security appliance throughput
Adding the Netronome NFP-3240 network flow processor to a standard x86 platform allows network router/switch and security appliances to perform regular expression matching at 10 to 40 Gbps, without the assistance of specialized hardware.
10 questions to ask when choosing a virtualization solution
The adoption of virtualization technology is rising, thanks to hardware cost savings, isolation, and footprint reduction. But choosing a virtualization solution can be intimidating, given the variety of architectures and products available. This article attempts to ease the process of selecting a virtualization solution by posing 10 important questions that any embedded engineer or manager should weigh when considering virtualization.
Using asynchronous self-clocking to “green” your multiprocessor design
For the engineers and designers, delivering a high-performance design, while keeping energy conservation in mind, remains a delicate balance. One way to do this is with the adoption of asynchronous self-clocking processing cores.
An interview with James Grenning
Jack Ganssle puts the Agile Manifesto's James Grenning on the hot seat about test-driven development's suitability for embedded systems.
Get beyond the resource constraints of embedded devices
By fusing HTTP and VoIP, processors with 953 bytes can be utilized.
  DESIGN ARTICLES: Multicore Hardware & Software
Making packet processing more efficient with a network-optimized multicore design
In terms of both power consumption, it is now feasible to build complete network packet processing designs using general purpose architecture processors, rather than dedicated ASIC and ASSP SoCs optimized for the application. Part 1: Pipeline versus clustering cores for networking.
Tuning C/C++ compilers for optimal parallel performance in multicore apps
Max Domeika, author of “Software development for embedded multicore systems,” details C and C++ compiler scalar optimization and performance features that will allow you to take full advantage of parallelism via multithreading or partitioning.
Multicore technologies and software challenges
Multicore processors, which are basically processors with more than one core, are entering mainstream. Today, even desktops are having two or four cores and this trend is picking up and will only accelerate in coming years. This article looks at the drivers for the multicore, the challenges posed to the software community by the emergence of multicore technologies, the different options available in software and how the software community is likely to react to the challenges.
Threading through the parallel code optimization maze
In this three part series, Max Domeika, author of “Software Development for Embedded Multicore Systems,” outlines how to use multithreading to parallelize code for use in multicore apps.
Using a scheduled cache model to reduce memory latencies in multicore DSP designs
Freescale engineers describe a new software mechanism ” the scheduled cache model ” and the supporting hardware that reduce the need for DMA programming and synchronization to achieve high core utilization, relying on hardware mechanisms (some controlled by software) to increase cache efficiency.
Evaluating the performance of multi-core processors
In a two part series, Max Domeika, author of “Software Development for Embedded Multi-core Systems” evaluates the various processor benchmark suite available, with examples of how to estimate application performance.
Using open-source GNU, Eclipse & Linux to develop multicore Cell apps

In a five part series this week, Matthew Scarpino, author of “Programming the Cell Processor,” describes how to use open source GCC tools, Linux and the Eclipse IDE to develop multicore apps. Up first: Introducing the Cell Processor.

  DESIGN ARTICLES: Hypervisors & Virtualization
Is virtualization right for your application?
A brief “no-bull” tutorial on how virtualization actually works and where it is most useful.
The once and future evolution of the Hypervisor
Using hypervisors to innovate existing designs provides the embedded designer with new ways to add features and security, both through open source and their own in-house developments.
Virtual multi-cores simplify real-time system design
Systems comprising many small cores are well suited to handling complex real-time tasks, offering a software development cycle in which real-time tasks are allocated to (virtual) cores, each guaranteed to adhere to real-time constraints.
The keys to success in multicore application development
Configuration, virtualization, and visualization are the keys to successful embedded multicore system integration, says Robert Oshana, Freescale's director of engineering in the Development Technology Group.
Getting real (time) about embedded Windows by using virtualization
When Windows Vista and Windows 7 is combined in embedded apps with the demands of multi-core hardware, the time is past when clever device driver and other kernel-mode solutions can used to implement a real-time environment for Windows. Virtualization provides a way out.
  EDITOR'S NOTE by Bernard Cole

ESC (Editor's Note: Come to the ESC. In this one-minute video , RichNass, conference editorial director, summarizes whatthe Embedded Systems Conference offers for engineers: stay up-to-dateon the industry while updating your skill set. )

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.