September 2024

  • Time and Time Again

    Time and Time Again

    One of the early decisions I made – or, rather, stumbled into – was the reliance on the flooding cycle of the Fireflies rings. Recall that in Fireflies, we create K rings that contain all the members, but order them differently by ring – pseudo randomly, using hashing. The way these rings are constructed provides… Continue reading

  • Byzantine Fault Tolerant Consistent Hash Rings

    Byzantine Fault Tolerant Consistent Hash Rings

    One of the recurring design patterns in Apollo is the use of a cleverly constructed random graph structure from the original Fireflies paper. I discussed this structure in my post on consensus in Delos. In that post, I focused on the use of this graph structure to form byzantine fault tolerant subset within a larger… Continue reading