Archive

Category Archives for "Russ White"

TCP, Congestion Control, and Buffer Bloat

Cardwell, Neal, Yuchung Cheng, C. Stephen Gunn, Soheil Hassas Yeganeh, and Van Jacobson. “BBR: Congestion-Based Congestion Control.” Queue 14, no. 5 (October 2016): 50:20–50:53. doi:10.1145/3012426.3022184.

Article available here
Slides available here

In the “old days,” packet loss was a major problems; so much so that just about every routing protocol has a number of different mechanisms to ensure the reliable delivery of packets. For instance, in IS-IS, we have—

  1. Local reliability between peers using CSNPs and PSNPs
  2. On some links, a periodic check using CSNPs to ensure no packets were dropped
  3. Acknowledgements for packets on transmission
  4. Periodic timeouts and retransmissions of LSPs

It’s not that early protocol designers were dumb, it’s that packet loss was really this much of a problem. Congestion in the more recent sense was not even something you would not have even thought of; memory was expensive, so buffers were necessarily small, and hence a packet would obviously be dropped before it was buffered for any amount of time. TCP’s retransmission mechanism, the parameters around the window size, and the slow start mechanism, were designed to react to packet drops. Further, it might be obvious to think that any particular stream might provide Continue reading

Reaction; Do we really need a new Internet?

The other day several of us were gathered in a conference room on the 17th floor of the LinkedIn building in San Francisco, looking out of the windows as we discussed some various technical matters. All around us, there were new buildings under construction, with that tall towering crane anchored to the building in several places. We wondered how that crane was built, and considered how precise the building process seemed to be to the complete mess building a network seems to be.

And then, this week, I ran across a couple of articles arguing that we need a new Internet. For instance—

What we really have today is a Prototype Internet. It has shown us what is possible when we have a cheap and ubiquitous digital infrastructure. Everyone who uses it has had joyous moments when they have spoken to family far away, found a hot new lover, discovered their perfect house, or booked a wonderful holiday somewhere exotic. For this, we should be grateful and have no regrets. Yet we have not only learned about the possibilities, but also about the problems. The Prototype Internet is not fit for purpose for the safety-critical and socially sensitive types of Continue reading

Metacognitive

If I could choose just a handful of skills you must learn to be a successful engineer, being metacognitive would certainly be among them. What is metacognition? OOne of my favorite books on the virtue ethic applied to mental skills defines it thus—

Metacognitive people are concerned not just with what they need to know but with what thinking strategies are best suited to achieve that end. —Philip Dow, Virtuous Minds

The concept is simple. Implementation, as always, is the hard part. Particularly as engineers, we spend a lot of time thinking about technique. We ask questions like—

  • How do I configure this?
  • How would I use this technology?
  • What is the problem here?
  • Why would I want to do it that way?

These technos focused questions are great for solving day to day, or even no-so-day-to-day problems. But they aren’t so great for mental growth? Why not? Imagine you are tasked with cutting wood for a living. You might start out by simply cutting the wood. You place a piece on the block, swing the axe, and the splits fall off. You can consider this the what of cutting wood (or, for those who are interested in philosophy, the Continue reading