Subscribe to our blog

Your email:

Current Articles | RSS Feed RSS Feed

Leading Multicore Processing Models: Advantages and Disadvantages

Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon | Submit to Reddit reddit 
There are fundamentally three multiprocessing models that are used to describe system designs on multicore devices; the SMP, AMP and the bare metal model. These models have a number of benefits and drawbacks, which will be briefly described below

The SMP Model
The Symmetric Multi Processing model is the model used in the design of several enterprise OSs such as Linux as well as in the design of its application domain. In such OSs and their applications data is to a large extent shared, and a number of different locking mechanisms and atomic operations are used frequently for synchronization. 

 

The SMP model is easy to manage from a SW management perspective since it creates a good abstraction where the OS facilitates best-effort cpu load balancing, and it has been used in the server and desktop application domain for a very long time. Enterprise OSs like Linux and Windows provides a best-effort execution platform for these kinds of CPU-intensive applications.The high degree of hardware resource abstraction is in many cases an advantage, but the layer introduces substantial overhead when the application becomes as I/O intensive as they tend to be in embedded packet forwarding/routing applications. The principles of the shared memory programming model on the application level and inside the Linux kernel is based on using mutable shared objects in memory, and this is an inherent bottleneck to scalability in Multicore systems. This will inevitably lead to poor scaling to many cores.This, together with the fact that the complex SMP implementation of kernels in many cases has the drawback of not being deterministic, makes the classic SMP OSs less suitable as a RTOS for high-speed packet processing in the long run.

The AMP Model
The Asymmetric Multi Processing model uses an approach where each core is running its own complete, isolated, operating system or application frame-work (an alternative term for a more light-weight RTOS). This leaves the door open to also choose to have different RTOSs on different cores. The advantage of an AMP system is that high-performance is achieved locally and that it scales well to several cores. Using theAMP model and virtualization technique is also a way to being able to reuse legacy single core designs.The drawback with the AMP model is that the OS provides no support to the distributed application for load balancing or OS resource management.  The configuration, load and startup of such an application is also inherently complex to design.

”Bare Metal” Model
The ”bare metal” model is a single threaded execution model where the available APIs are processor-vendor specific. Since no regular RTOS exist for these threads, a common approach is to run a regular operating system on one or several cores, like Linux, and let the rest of the cores execute a “bare metal” thread and use an application framework that creates an abstraction of the hardware layer. The advantage here is of course that maximal performance and minimal overhead is achieved when running without an RTOS, but the disadvantage is though that the software becomes hardware-specific, which will force a redesign of any applications whenever the hardware is upgraded. Also, the parts of the system running without an RTOS or application framework will take on the role of a black box, i.e. there will be no observability except for the external interfaces.  Any support for tracing, debug or post mortem dump support is not available, and therefore the amount of code “out there” must therefore naturally be kept to a minimum. Over the time though, the need for more functionality in these parts will most likely grow which in turn increases the need for better device abstraction.

Conclusion

Given the advantages and disadvantages of these models - it there a way to approach multicore design that blends the advantages of these methods? 

Enea Whitepaper

 

Enea has a solution to this dilema, you can learn more in this white paper.

 

 

 

 

 

 

 

 

Enea OSE Multicore Edition takes Best of Show at ESC

Submit to Digg digg it |  Add to delicious  delicious |  Submit to StumbleUpon StumbleUpon | Submit to Reddit reddit 

Enea OSE Multicore Edition has been selected as Best of Show at TechInsight's Embedded Systems Conference - BostonOSE Multicore Edition features a groundbreaking kernel design that blends the advantages of both traditional Asymmetric Multiprocessing (AMP) and Symmetric Multiprocessing (SMP). VDC Research Group served as the jury and awarded the prize, which was based on an exhaustive set of criteria including innovation, business significance, availability and other factors.

 

"Software is the key to releasing the power and value of multicore processors," said Steve Balacco, Director at VDC Research Group. "The unique approach taken by Enea with OSE Multicore Edition delivers the performance of linear scalability with a simple programming model and architecture. Products like this address the challenge to development organizations of being able to make full use of multicore processors within device development."

 

Enea Whitepaper

 

 

For more information about this award winning technology download this white paper.

 

 

 

All Posts