Inter-Processor Communication Software Suite
- Developed for real-time, Distributed Multi-Processing (DMP) Applications
- Designed for low overhead and close control of hardware resources
- Based on scalable fabric endpoints, Shared Memory Buffers (SMBs), POSIX or Linux standards, and open platforms
- Utilizes DMA, Zero Copy implementation - avoids excessive data copying
- Dynamic and Abstract Configuration Management as opposed to Static and Geographical
- Well defined User API provides Distributed DMA and Distributed Name Service
FusionIPC is designed for use in demanding signal processing applications such as radar and signal intelligence where the workload exceeds the processing capability of a single CPU.
FusionIPC handles both bulk data movement and message passing in a small footprint without requiring application involvement. The software supports a Shared Memory Buffer (SMB) mechanism for high performance, low overhead, 'zero copy' bulk data movement within the system and message passing for status and control. Device drivers handle dynamic bulk data movement for peer-to-peer transfers via SMBs to keep the CPUs in the system available for processing the data rather than moving it. Being designed for embedded applications, the footprint of FusionIPC has been kept to a minimum.
FusionIPC provides a Distributed Name Server with abstract named entities for configuring device members. This flexible method accommodates changes to hardware arrangements without having to rewrite configuration files, while avoiding single points of failure in the system.
FusionIPC is based on open standards with POSIX interfaces. Application development is supported with an open tool chain, specifically gcc and gdb, for target processors and instructions. It is also compatible with third party development environments including Freescale's LTIB and Denxa's ELDK. Initially available on Linux 2.6, later distributions will also support VxWorks.