Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.