Global Sources
EE Times-India
Stay in touch with EE Times India
EE Times-India > Embedded

Making multi-core development more flexible, testable

Posted: 15 Jul 2015     Print Version  Bookmark and Share

Keywords:Green Hills Software  RTOS  AMP  SMP  multi-processor 

In the newest implementation of Green Hills Software's (GHS) Integrity-178 tuMP RTOS, the company has come up with an application environment with the flexibility and responsiveness needed for high-end heterogeneous multi-core designs in military/aerospace, automotive, and high-performance computing applications.

To achieve this more flexible approach, Green Hills has moved away from the current symmetric (SMP) and asymmetric multi-processor (AMP) paradigms now used in most multi-core designs. Instead the company's flagship RTOS is based on affinity grouping which matches code more exactly to specific processors than these previous approaches.

In SMP, a pool of multiple identical cores work share the same memory resources but operate independently, each executing different programs and working on different data, but able to share resources. In AMP designs, not all CPUs are treated equally. In such a configuration a system might only allow one CPU to execute operating system code or might only allow one CPU to perform I/O operations. Complicating the issue in today's heterogeneous core designs, the two modes of operation are sometimes intermixed, some in SMP and others in AMP.

The limits of AMP and SMP
The problem with traditional AMP and SMP approaches is their rigidity. Using them, a typical implementation during initialisation is able to associate a core or set of cores with an application or group of applications but the scheduling for such groupings is not shared between processor sets. While any unallocated core could be used for new applications (or to extend an existing application), these traditional paradigms are at a loss when it comes to utilising spare capacity on cores assigned to different processor sets.

As a result, in AMP/SMP based designs it can be difficult to run virtual machines having multiple virtual processor cores because there is typically no permanent correlation between a virtual processor core and a particular processor core. This can lead to situations where a virtual processor core is limited to using only features that are supported by all of the physical processor cores, which reduces the benefits of having asymmetric processor cores.

Another problem is that it can be difficult for the operating system and application to manage the heterogeneous nature of the system on which they are running. This can lead to situations where system threads or application threads are scheduled on cores that do not support functionality used by the threads. This can cause functional issues in some situations, and performance issues in other cases, due to attempts to execute instructions that are undefined for particular cores.

Figure 1: To make multi-core development more flexible on its Integrity RTOS, Green Hills has replaced use of traditional AMP and SMP methods with a proprietary alternative based on affinity grouping.

Affinity-based scheduling
In its time-variant, unified multi-processing RTOS (tuMP), Green Hills has implemented an affinity-based scheduling method that allows the developer to define operations and group them according to their software code affinities, which may vary over time. The algorithm the company has developed allows such affinity groups to be scheduled independent of other affinity groups, permitting time lines that closely correspond to application requirements.

At the same time the RTOS allows multiple other affinity groups to be developed that can make use of any of the time windows where cores are not being utilised. Any new application (or extension of an existing application) can make use of the unallocated execution time across the entire multi-core processor.

In addition to allowing the use of affinity grouping as an alternative to either AMP or SMP, the tuMP scheduler also makes possible practical time-variant scheduling of both AMP and SMP applications simultaneously.

Making affinity grouping more testable
While this approach provides the flexibility and speed of response needed, many of those same high performance applications in automotive and mil/aero markets have code coverage requirements that have been difficult to achieve in multi-core designs.

1 • 2 Next Page Last Page

Comment on "Making multi-core development more f..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top