Download Simplifying Multi-Core Software Development and Management

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Distributed operating system wikipedia , lookup

Service-oriented architecture implementation framework wikipedia , lookup

Green Dam Youth Escort wikipedia , lookup

Transcript
Simplifying Multi-Core Software Development and Management
Poly-Messenger — Simplifies Programming of Multi-Core Systems
Overview
Description
More and more semiconductor vendors offer a variety of multicore and multi-processor enabled silicon. They expect multi-core
solutions to maximize performance and bandwidth while minimizing cost — all without increasing the power consumption through
higher clock speeds. Multi-core programming, however, is complex. To simplify the process, PolyCore Software’s Poly-MessengerTM,
an advanced Inter-Processor Communication (IPC) framework, is
designed to allow systems and application developers to more
effectively design, program, and manage multi-core systems.
PolyCore Software’s Poly-Messenger, is a next-generation software
infrastructure for inter-processor communication used in embedded systems. Poly-Messenger enables different cores to interoperate at the board or chip level. It is highly flexible and scalable
and it supports a broad range of potential communication requirements of multi-core systems, from devices with very limited resources to fully featured cores.
Key Benefits
Simplification
Poly-Messenger raises the abstraction of inter-core communication
to a higher level. It simplifies the programming of inter-core communication, and helps you to manage message passing and intelligent data transfers.
Performance
Poly-Messenger can be adapted to the type of interconnect you
use without compromising performance. Special techniques
achieve real-time behaviour and maximum performance for
bandwidth and latency, while keeping the run-time overhead for
communication to an absolute minimum.
Reuse
Poly-Messenger’s virtual communication layer abstracts your application software from underlying interconnect networks, operating
systems and network topology (bus, star, mesh, or hybrid). This preserves your software investment and reuse of hardware when your
applications complexity increases.
User Application Software
RTOS & Poly-Messenger™
System
Tools
EDA Tool
Integration
System Management
CPU
Control
DSP
Core
DSP
Core
CPU
General
HW
Accel.
DSP
Core
Soft
Core
Soft
Core
HW
Accel.
PolyCore Software touches every software aspect of a
multi-core system below the application
Poly-Messenger provides a flexible structure for creating scalable
services of different complexity and allows them to coexist in a
multi-processor/core system. It also manages the network topology
(bus, star, mesh or hybrid) and transport protocols for different inter-connects — a unique advantage that sets Poly-Messenger
ahead. It offers this flexibility without compromising performance
and provides a unified interface to the upper software levels.
To accommodate a broad range of communication needs, PolyMessenger provides both connectionless message passing and
intelligent data transfer, and can therefore be used to implement
data oriented services, like distributed shared memory.
The Poly-Messenger architecture ensures real-time behavior for
upper layers. Advanced techniques achieve maximum performance for bandwidth as well as latency, and provides predictable
delivery.
Because of its modular structure new modules can be added to
Poly-Messenger to support additional functionality, and for systems
with enough resources, complex functionality can be mastered.
Framework Structure
The IPC framework structure is explained in the diagram on the
next page. Starting from top to bottom, Poly-Messenger consists of
the following building blocks:
Message Repositories: This unified interface to the application or
services contains a fixed number of repositories at configuration.
Each repository has a unique address in the system and the messages travel in the systems between two repositories. The application or services can acquire — statically during configuration or
dynamically at run-time — one or more repositories to communicate across the entire network.
Message Pool and Buffer Manager: These offer efficient memory
management and larger data transfers in the Poly-Messenger
framework. Capabilities such as zero-copy data transfers are critical to achieve efficient through-routing and maximum throughput.
Dispatchers: At the core of Poly-Messenger, the dispatchers, located on each node of the network, decide whether to send a
message locally to a neighbor, or far away in the system. As multiple dedicated dispatchers can run concurrently in a system, the
Poly-Messenger offers unique capabilities to build hybrid systems
and to bridge CPUs, DSPs and MCUs over different connections
together. The dispatchers also separate different sub-networks in
the system, which can be highly beneficial when sub-networks
have different performance requirements.
Driver Manager: The drivers that control the physical transport of
the messages differ depending on the peripherals used. The driver
manager coordinates the interaction between the drivers and the
corresponding Dispatcher.
Poly-Messenger — the Inter-Core/Processor Communication Framework
Service A
Task X
Service Y
Message Repositories
Addr1
Addr 2
Addr 3
Addr n
Dispatcher 1
Dispatcher 2
Dispatcher n
(e.g. for RapidIO
transport)
(e.g. for on-chip
shared memory)
(e.g. for Point-toPoint LVDS links)
Type 1 Driver Mgr.
Type 2 Driver Mgr.
Type n Driver Mgr.
SM
Drive 1
LVDS
Link Drv
Rapid IO
Drive 1
Rapid IO
Drive n
SM
Drive n
Custom
Link Drv
Message Pool
& Buffer Manager
Poly-Messenger
TM
Poly-Messenger is a unified, flexible, high performance
inter-core / processor communication (IPC) framework
for different connection topologies and transports
Poly-Messenger Integrated with RTXC/mp™ — the Multiprocessing Platform
ing protocols, and RTXCfile, a DOS-compatible file system, as well
as other tools for embedded development.
To provide a complete run-time software platform, capable of
managing both the operational and communication aspects of a
multi-core system, Poly-Messenger is integrated with a highly scalable real-time operation system, RTXC/mp.
Coupled with PolyCore Software’s Poly-Messenger, RTXC/mp provides an advanced multi-core run-time platform, helping to reduce time to market. Whether it's a SoC design or multiple CPUs,
MCUs or DSPs, heterogeneous or homogeneous, the integration of
RTXC/mp with Poly-Messenger provides the support you will need.
This combined framework allows you to shift processing loads from
overloaded CPUs, MCUs or DSPs to those that are less heavily
loaded, and the RTXCgen tool assists you with relocation of tasks
from one core to another.
RTXC/mp is the multi-processing-enabled version of the innovative
RTXC Quadros real-time operating system from Quadros Systems.
The rich yet scalable, next-generation architecture meets the
broad range of memory-constrained requirements and stringent
real-time needs of multi-core and multi-processor systems. RTXC
Quadros features two scalable kernels—one thread-based for
data plane operations and the other task-based for control
plane/real-time operations. Each kernel can be used separately or
in combination with the other. The RTXC Quadros RTOS supports
numerous DSPs, microprocessors, and microcontrollers. Quadros
System’s product line includes RTXC Quadnet, a suite of network-
PolyCore
Dev. Tools
RTXCgen
™
Config. Tool
Middleware
CAN, USB,
Bluetooth
RTXC™ Quadnet™
TCP/IP Software
RTXC ™Quadros™ RTOS
RTXC/mp
Poly-Messenger ™
3rd Party
Dev. Tools
Poly-Messenger ™
User Application Software
Scaleable Multi-core Platform from compute engines to application
processors: run-time, middleware and development tools
User Application Software
Middleware
CAN, USB,
Bluetooth
RTXC™ Quadnet™
TCP/IP Software
RTXC ™Quadros™ RTOS
RTXC/mp
About PolyCore Software
PolyCore Software, Inc., simplifies software development and management of multi-core systems, to improve their
performance, power consumption, scalability and upgradeability, while preserving existing software investments.
PolyCore Software provides run-time solutions for multi-core platforms, serving markets as digital consumer, communication
infrastructure, industrial automation and medical.
Contact Information
PolyCore Software, Inc.
639 Greenwich Lane
Foster City
94404 California
USA
Tel: +1– 650-570-5942
e-mail: [email protected]
www.polycoresoftware.com
© 2004 PolyCore Software, Inc. All rights reserved. Specifications and information subject to change without notice. The products referenced in this document are subject
to continuous development and improvement. Poly-Messenger are trademarks of PolyCore Systems, Inc. All other trademarks mentioned herein are the property of their
respective owners.