← Low-latency networking

Ch 8–9: Networked applications, future directions

Source: Sterbenz & Touch 2001, Ch 8 (pp. 431–488) and Ch 9 (pp. 489–500), read in full. Page numbers are the book’s printed pages. Both chapters are marked “skim” in the book guide; the parts worth keeping for trading networks are the latency utility classes, the response-time formula, latency masking (especially the datacycle), and the reminder that resource trade-offs keep changing.

Numbering note: the chapter prints the variance principle as “A-5Av” (p. 482); Appendix A lists it as A-4Cv.

Ch 8: what makes an application “high speed” (pp. 431–447)

Class Utility as latency grows Example
Best effort Slowly decreasing; high variance tolerated Email, printing
Interactive High up to about 100 ms, falls toward 1 s; consistency matters Web browsing
Real-time (hard) Step from 1 to 0 at the bound T_rt Process control, telemetry
Real-time (soft) Degrades but survives occasional late or lost data Teleconferencing (audio delay over 30 ms is heard as echo, over 500 ms breaks conversation)
Deadline Real-time with a much longer bound; a minimum rate b/T_dl suffices Remote backup

Ch 8: adapting to latency and bandwidth (pp. 454–478)

Ch 8: knobs and dials (pp. 478–484)

Ch 9: future directions (pp. 489–500)

Trading-network lens (my mapping)

Trading’s utility function is relative. The book’s utility curves are functions of absolute latency. A trading decision behaves like hard real-time, a step from full value to almost nothing, but the step sits wherever the fastest competitor is, and it moves. That is why “fast enough” is never a fixed number in trading. No single source.

Split the order round trip with the response-time formula. T_r = d_c + 2[(1 + h + c)·b/r + t_p] + d_s maps onto an order: d_c is your decision time, the bracket is the network both ways, d_s is the exchange’s processing, which you cannot change. Only d_c and the network terms are yours to optimize. My mapping.

Snapshot channels are a datacycle. A feed that keeps rebroadcasting the full book state over multicast is the book’s datacycle (p. 464): a late joiner or a handler recovering from a gap waits at most one cycle instead of making a request round trip, and multicasting the cycle keeps network load flat however many clients there are. My mapping.

Market data is push, done properly. The exchange knows when its state changes, so it pushes on events (A-6B, 4H); consumers never poll. My mapping.

Compression rarely pays on fast links. A 100-byte message takes about 80 ns to send at 10 Gb/s, so any encode/decode step longer than the transmission time saved makes delivery slower (p. 465 formula). Compact binary formats with fixed, byte-aligned fields (8B) are the trade-off that usually wins. Arithmetic plus No single source.

Ask for the variance. Like NTP’s variance bounds (p. 482), a timestamp or latency figure is only usable together with its error bound. Hardware timestamping and PTP clocks report this; a single latency number without percentiles or clock accuracy says little. No single source.

Do not let interfaces hide latency (A-4Fl). An aggregated or consolidated data source hides the extra hops and processing between you and the original publisher; know which path your data took. See the Nasdaq SIP case in ../multicast/01-incidents.md. My mapping.

Self-check

  1. Name the book’s latency utility classes. Which is trading closest to, and how does it differ?
  2. Write the response-time formula. Which terms can a trading firm reduce?
  3. What is a datacycle, when does it beat request/response, and what is its market data equivalent?
  4. When does compression reduce end-to-end delay?
  5. Why should a location-independent interface still expose latency?
  6. What practical advice does Ch 9 give for preparing for a future you cannot predict?
Answers
  1. Best effort, interactive, real-time (hard and soft), deadline. Trading is closest to hard real-time (a step in utility), but the step is set relative to competitors and moves.
  2. T_r = d_c + 2[(1 + h + c)·b/r + t_p] + d_s. The firm controls its own processing d_c and the network terms (hops, copies, rate, path length), not the exchange’s processing d_s.
  3. Repeatedly broadcasting the whole data set; it wins when the cycle time is short compared with a request round trip (p. 464). Snapshot or refresh channels in market data feeds.
  4. When the encode and decode time is less than the transmission time saved (p. 465).
  5. Because applications that could adapt to latency need to know it; hiding it makes performance unpredictable (A-4Fl, pp. 483–484).
  6. Keep re-checking the resource trade-offs and question current traffic assumptions; design protocols and systems that can adapt (Ø4, 2A, pp. 491–495).

Source: knowledge base note low-latency/08-ch08-09-applications-future.md — own-words notes with sources, projected at build time.