The network effects of prefetching

Mark Crovella, Paul Barford

2002 · 131 citations · 15 references

Concepts

TL;DR

Prefetching has been shown to be an effective technique for reducing user perceived latency in distributed systems. The study demonstrates that prefetching can cause serious negative performance effects even without adding traffic, yet applications can mitigate these queueing issues. Straightforward prefetching increases burstiness and queue sizes, but by using a simple transport rate control mechanism, prefetching can shift from an ON/OFF pattern to smoother data transfer, providing more traffic‑shaping opportunities. Applications employing prefetching can significantly improve network performance, achieving levels much better than without any prefetching.

Abstract

Prefetching has been shown to be an effective technique for reducing user perceived latency in distributed systems. In this paper we show that even when prefetching adds no extra traffic to the network, it can have serious negative performance effects. Straightforward approaches to prefetching increase the burstiness of individual sources, leading to increased average queue sizes in network switches. However, we also show that applications can avoid the undesirable queueing effects of prefetching. In fact, we show that applications employing prefetching can significantly improve network performance, to a level much better than that obtained without any prefetching at all. This is because prefetching offers increased opportunities for traffic shaping that are not available in the absence of prefetching. Using a simple transport rate control mechanism, a prefetching application can modify its behavior from a distinctly ON/OFF entity to one whose data transfer rate changes less abruptly, while still delivering all data in advance of the user's actual requests.

References

15