Real-Time Communication Demo
Demo shows technologies and how to write code using those technologies. Demo is not a performance benchmark. The output examples
shown here are for illustration only. Your output may vary.
The
tcc_rt_communication_demo
is a set of example programs and scripts that demonstrates the benefit of combining the Cache Allocation Library with Time-Sensitive Networking (TSN) provided by Intel. The tcc_rt_communication_demo
operates in two modes: non-optimized (nonopt
) and optimized (opt
).The following describes the
tcc_rt_communication_demo
in nonopt
mode:- Does not useIntel® TCC Modein the BIOS, so the platform is not optimized for real-time tasks.
- Uses raw sockets (AF_PACKET) to send or receive data over the network. Network traffic competes with TCC network packets.
- Does not use L2/L3 cache usage optimizations, so data processed on the same core evicts TCC data from the cache and increases the time to access the data.
The following describes the
tcc_rt_communication_demo
in opt
mode:- UsesIntel® TCC Modeset toONin the BIOS so the platform is optimized for real-time task executions.
- Uses the eXpress Data Path (AF_XDP) packets optimized for packet processing time. Packets will travel to the memory faster.
- Uses theSoftware SRAMfeature to keep data in the cache with a predictable access time.
Demo shows TSN as a set of standards for real-time Ethernet communication, created by the IEEE 802.1 working
group. Demo also uses the OPC Unified Architecture (OPC UA*) for data transfer between
systems. The Pub/Sub type of communication implemented by the open62541 library is used by this demo.
In this guide, the IEEE terms “grandmaster” and “slave” are referred to as “primary” and “secondary,” respectively.
The demo requires two target systems, referred to as Board A and Board B to simulate two scenarios.
In the first, or
basic
scenario, Board A runs a data processing workload and sends a network packet to
Board B every 500 µsec.
In the second, or
single-input single-output (SISO)
scenario, Board A runs a data processing workload and sends a network packet to
Board B. Board B receives the network packet, runs a data
processing workload, and returns the network packet to Board A.
To simulate a data processing task, the boards run a cyclic workload. The
workload generates a pseudo-random linked list and walks through the
list.
The demo supports optimized (
opt
) and
non-optimized (noopt
) modes of operation. In the opt
mode, the pseudo-random linked list is placed into cache using the
Cache Allocation Library to make data access time more predictable. You can run the demo in each mode and compare the results.The network packet is an L2 Ethernet-based packet. The packet contains sequence number and source
timestamp information. To generate network interference, the demo uses the Linux* program, iperf3.