SATAnet Networking Characteristics
The information on this page is preliminary and the product is currently subject to improvement.
Contents
Bandwidth
Can determine the dataset sizes for batch-style parallelism — effectively a latency
Can determine the processing speed for stream-based parallelism
Low bandwidth is acceptable with highly-independent parallelism
High bandwidth is beneficial for highly-dependent parallelism
A node can be connected to one or more SATAnet routers and to one or more ports per router. Using multiple ports allows for multiplication of the bandwidth and also lower average latency.
The following table lists bandwidths for packet transfers of varying sizes on a SATA-I interface.
Packet size (bytes) Bandwidth (Mbytes/s)
512 8.5
1024 11.9
2048 21.9
4096 36.9
8192 56.6
16384 72.2
Latency
Can determine the granularity of the parallelism
Low-latency is important in synchronous or poorly-parallel applications
High-latency is tolerable in asynchronous and highly-parallel applications
Set-up latencies can be offset by merging packets
In core-rich nodes one core can be allocated to communications to minimise blocking
Packet-switched latencies
The following table lists timings for a packet to transfer through various parts of a Linux-based system.
Metric Symbol Time (µs)
Application to driver Ttad 2
Driver to SATA host Ttdh 60
Host to host via SATAnet switch Tnet 0.2
SATA host to driver Trhd 60
Driver to application Trda 2
Transmission on one node is asynchronous to reception on another node, and so the latencies overlap. In practice this means that the overall latency is lower than the simple summation of each part of the transfer. Since the latencies are roughly symmetrical for both transmission and reception, the typical overall latency is Ttad + Ttdh + Tnet = 62µs.
Circuit-switched latencies
The following table lists the approximate timings for a 4-byte word to transfer through various parts of a Linux-based system.
Metric Symbol Time (µs)
Application to SATAhost Ttah 0.3
Host to host via SATAnet switch Tnet 0.2
SATAhost to application Trha 0.3
Total end-to-end latency is simply Ttah + Tnet + Trha = 0.8µs. The bandwidth achieved for back-to-back transfers of 4-byte words is around 8~12Mbytes/sec.