QNX Software has published the source code for its transparent distributed processing technology (TDP) for linking embedded systems devices together in peer-to-peer networks.
The source code for TDP, also known as Qnet networking, is available for download as part of the QNX Core Networking 6.4 project. QNX community members can visit Foundry27, the QNX developer portal, and click on the Core Networking Source link.
With TDP technology, embedded systems can harness the software and hardware resources of other embedded systems transparently, in effect transforming a disparate group of networked devices into a virtual "superdevice," according to Kerry Johnson, QNX' director of product management. Target applications include in-car infotainment networks.
Johnson says that without any special programming, TDP can reduce hardware costs significantly and enhance the fault-tolerance of embedded applications. Any device can access the resources of any other connected device as if those resources were running on the local processor, so devices can share resources-flash memory, for example-instead of duplicating them.
The technology can also simplify systems design. An application can access a remote service, for example, without having to know where that service is running or whether the service is replicated on multiple nodes for fault-tolerance. The application issues a message using standard POSIX calls, and QNX TDP forwards the message to the appropriate node.
"Today, almost every embedded device is network-connected, yet most operating systems have failed to keep pace," Johnson says. "As a result, developers must use one programming interface to write applications for a standalone device and use a completely different interface to write applications that will be distributed across multiple networked devices, but with TPD, developers can write their applications one way, regardless of how those applications are ultimately deployed - whether on a single device or across a massive network."
Developers can combine QNX TDP with QNX symmetric multiprocessing (SMP) and bound multiprocessing (BMP). QNX SMP and BMP are for use with multi-core processors. TDP can merge any number of multi-core processors into a fault-tolerant cluster. It also supports multiple links between CPUs, and if one link fails TDP can automatically reroute the data over the remaining links, without loss of service. It can also load-balance data over all available links, resulting in higher throughput.