I’ve heard from our sales team that even our own customers are not aware of VxWorks' support for Symmetric Multiprocessing (SMP). SMP, for those not clear on the terminology is one way to run an operating system on a multi-processor or multicore platform. In the SMP case, there is one copy of the operating system running and it is responsible for scheduling all of the tasks running on all of the CPUs /cores. In fact, VxWorks has supported SMP for over two years and has been deployed in mission-critical products already. Our VxWorks SMP solution includes load balancing and the ability to map tasks to specific cores plus VxWorks SMP can allocate a task solely to a core, if needed. Wind River has the strongest ecosystem in the RTOS market and we plan to have VxWorks SMP running on all key multicore silicon.
What about AMP?
Asymmetric Multiprocessing (AMP), on the other hand, is where each CPU/core has its own copy of the OS and runs it in a uniprocessor fashion on this CPU. Each core is like a separate target, if you will. Now, you will hear from others that AMP is bad and ask you “why would you need AMP?” Suffice it to say, VxWorks supports and has been deployed in AMP systems already, so clearly there is a need for this type of architecture. For example, our networking customers are very interested in using AMP to perform offload acceleration for high throughput functions such as packet inspection, forwarding and encryption. Other uses may include image and video processing. Why AMP and not just use SMP in these cases? It’s all about performance. In some cases AMP architectures are more efficient and become more so as the number of cores grows. The overhead of having one copy of the OS scheduling high throughput activities plus more general purpose tasks such as operation, maintenance and control is too much and customized architectures are needed. The question you need to ask back to the AMP-naysayers is: “you talk about AMP, and you consider AMP a bad choice, but what do you recommend for the next generation of processors with 8, 16 or more cores?” Be sure to follow that up with “do you have customer references with deployed systems using AMP?”
It’s all about flexibility!
Where Wind River is now leading the market is our unrivalled flexibility in architectural choices for multicore. We believe that multicore is all about choices. Not only choices in SMP and AMP but also in what OS – be that Linux, RTOS, or other guest OSs like Microsoft Windows. Telling customers that SMP is all you need and every other option is bad is leading them astray. That’s why I’m very excited about our hypervisor product – this efficient, high performance virtualization technology allows you to pick and choose the architecture and operating system(s) that suits your needs the best. The great thing is, you can go with an SMP or unsupervised AMP solution now and adopt the hypervisor later without changing a line of code.
Next post, I’ll deal with the myth surrounding VxWorks reliability.
Bill Graham is the product marketing manager for VxWorks platforms at Wind River. He has over 20 years of experience in the software industry, including embedded and real-time systems development, UML modeling, and object-oriented design. Prior to joining Wind River, Bill held marketing and product management positions at QNX, IBM Rational, and Klocwork. Prior to his career in marketing, Bill was a software engineer at ObjecTime, Cross Keys and Lockheed Martin. Bill holds a Bachelor’s and Master’s Degree in Electrical Engineering from Carleton University in Ottawa, Canada.

Comments