FusionIPC Inter-Processor Communications Software Suite |
VMETRO, a leader in embedded computing solutions based on standards such as VXS, VPX, XMC and FMC that utilize multi-gigabit serial interconnects, today announced FusionIPC, an Inter-Processor Communications (IPC) software stack for Distributed Multi-Processing systems. 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. Initially supported on VMETROs recently announced 6U VPX MPE730 multiprocessor board, SBC731 single board computer, and HPE720 hybrid MPC8641D/FPGA board, FusionIPC utilizes the Serial RapidIO (sRIO) fabric.
“Similar to other existing approaches, FusionIPC is built upon a shared memory buffer model but differs in that it combines coordination of bulk data movement with messaging and signals without application involvement,” comments Mike Jadon, Chief Technology Officer of Embedded Systems, VMETRO, Inc. “This reduces the complexity for application developers, but does not unnecessarily abstract them from the hardware and introduce additional overhead as would be the case with a conventional message passing based implementation.”
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 Freescales LTIB and Denxs EDLK. Initially available on Linux 2.6, later distributions will also support VxWorks.