Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Real time flag
The real-time flag, or bulk flag, was added in Fred 1311.
It gives us the choice of two types of requests:
Optimized for latency, they are expected to be bursty, and each node accepts fewer of them in order to reduce worst-case latency, as well as limit resource usage.
However their transfers are prioritized over bulk requests (with an anti-starvation mechanism).
Optimized for throughput, they are expected to be large and constant, and each node accepts a lot of them, making the worst-case transfer time very high.
In the context of new load management, real-time requests should be lower queueing latency if they are bursty. However, because we accept fewer of them, this may or may not be true in practice.
If it proves to be absolutely necessary, we might allow routing to be compromised a little for realtime requests, whereas for bulk requests we can happily queue for as long as it takes within reason, even if that means 5 seconds per hop.