12-06-2014, 12:07 PM
Low Latency Networking
Low Latency.ppt (Size: 97.5 KB / Downloads: 283)
What is Latency?
The time taken to send a unit of data between two points in a network
A low latency network is a network in which the design of the hardware, systems and protocols are geared towards minimizing the time taken to move units of data between any two points on that network
Throughput
Number of bytes of data that is transferred per second between two points
Doesn’t high throughput imply low latency?
Not necessarily
A bus vs a car travelling along a section of road
Which has the higher throughput?
Which has the lower latency?
Throughput vs Latency
In simplest form,
Throughput ~ C / Latency
C = instantaneous capacity
Number of units that are handled per operation
So if C is large you can get good throughput even if your latency is not low
Low latency does not necessarily imply high throughput if C also gets smaller
ATM is a good example
Lessons from Computers
Consider the Mainframe in the time-sharing era. 1963-1976
Studies showed that user productivity reduced by half if the response time from mainframe increases from 0.5 to 3 seconds
Mainframe optimised for throughput
Maximize the number of people using it
High throughput
Analysis of Traditional Networking
Interrupt systems – potentially infinite latency
Processing of packets in the queue is affected by the rate of incoming packets
Copying data adds to latency
OS sits between two worlds
It de-multiplexes the packet and decides its final destination
It also ensures that the relevant application is scheduled to receive the data. This is called application synchronisation
UNET
Application has an interface to talk directly to a network device
Doesn’t involve the kernel in things like protocol processing, etc.
Uses per application message queues to send and receive data
Novel idea at the time
complicates what applications need to do
Network speeds still going up!
We have gone from 10 Mbps in 1987 to 10G in 2004 and beyond.
Processor not be able to keep up
Interrupt rate is phenomenal
Buses like the PCI bus cannot keep up
Move to PCI Express (Switch Fabric)
Workstation can presently saturate the network but the tide is rapidly turning!
Network traffic will soon be able to cripple your PC
Out-of-Band Signalling
So you would transfer the data by writing to your local address
After you then wrote to a special address associated with that memory region
An interrupt occurs on the other side and the OS works out which buffer you are referring to and wakes up the waiting process