Sign In
Forgot Password?
Sign In | | Create Account

Multi-OS and Multicore

Reduce Complexity and Design Cycles

Mentor Embedded has created comprehensive solutions of software, tools, and services to address the needs of device manufacturers who are migrating to multicore with SMP or AMP software deployments. The evolution in multicore hardware is driven by the requirements of performance, power management, form factor, and bill of materials. With the benefits comes an increased complexity in software development and longer design cycles. To overcome the hurdles, Mentor Embedded has created comprehensive solutions of software, tools, and services to address the needs of device manufacturers who are migrating to multicore with SMP or AMP software deployments.

Overview

Symmetric Multi-Processing (SMP) allows a single operating system instance to control all processor cores and resources of a multicore platform. Application threads are distributed to idle cores as determined by the SMP scheduler. The performance gains of migrating to SMP multicore are directly related to parallelism in the application code and work load distribution to available cores.

Why SMP?

  • Performance scaling from single to multicore.
  • Workload distribution handled by scheduler
  • Integrated power management of idle cores

Nucleus SMP

Nucleus SMP is an evolution of Nucleus OS for multicore platforms. Nucleus SMP has the same characteristics which made Nucleus OS the world’s most deployed real-time operating system.

Features

Deterministic, real-time performance

Nucleus SMP was design to scale application performance based on a deterministic and preemptive multicore scheduler.

Backward compatibility with Nucleus OS

Existing Nucleus middleware and application code seamlessly migrates to multicore environments with Nucleus SMP.

Affinity features

BCD, soft, and interrupt affinity gives the developer control over how and where threads and interrupt handling are processed to improve caching performance, distribute workloads, and support legacy code.

Minimal footprint

The Nucleus SMP library including support for threads, communication, synchronization, and interrupt handling is about 50KB of code.

Delivered as source code

Full access and control with minimal image size based on functionality used.

Asymmetric Multi-Processing

Asymmetric Multi-Processing (AMP) allows each processor core to run its own instance of an operating system. Multiple operating systems can coexist or multiple instances of an operating can coexist on a multicore platform. While applications can be well decomposed based on functionality, additional complexities of resource partitioning and inter-processor communication are typically required.

Mentor AMP

The Mentor AMP solution resolves software requirements including resource partitioning and inter-processor communication. As software is only part of the Mentor solution, advanced development tools and Services complete the Mentor multi-OS offering.

  • Leverage Android/Linux for connectivity and rich user interface experience
  • Use Nucleus OS for real-time, deterministic activities
  • Mentor MCAPI provides standards based IPC between OS instances

Markets

Networking

  • Linux for control and management plane
  • Nucleus OS for data plane packet processing

Medical

  • Android/Linux for user interface
  • Nucleus OS for safety certification

Printing and Imaging

  • Android/Linux for connectivity and user interface
  • Nucleus OS for real-time printing and imaging services

MCAPI Inter-Processor Communication (IPC)

MCAPI is the Multicore Association (MCA) standard for closely distributed IPC. Asymmetric Multi-Processing (AMP) designs leverage Mentor MCAPI to provide communication between Android, Linux, and Nucleus OS running on different cores of a multicore processor. Application code using MCAPI becomes portable across hardware, physical transports, and operating systems.

Features

Fast, lightweight, and scalable IPC solution

Provides high bandwidth communications with minimal latency

Highly portable to new target, transport, and OS

Adopting the MCA standard insures application portability to new hardware and operating systems

Simple and intuitive API

Application developers create endpoints, similar to TCP/UDP sockets, for sending and receiving data

Multiple endpoint channels with prioritization

Mentor MCAPI supports multiple endpoints each with prioritization of messages

OS and transport software abstraction layers

Extensible support for other operating systems and physical transports

Resource Partitioning

Mentor AMP leverages technology originating in the ePAPR (embedded Power Architecture Platform Requirements) standard which defines device trees and the machine state at guest OS initialization. The boot loader (U-Boot, for example) is responsible for passing device trees via specific CPU registers prior to guest OS initialization. Run-time code in the guest OS parses the device tree and configures the associated resources.

 
Online Chat