• Again With the Subdivision and Modularization

    Again With the Subdivision and Modularization

    I need a break from Delos, and so I’m back on one of my many other Hobby Horses; that being the subdivision of space. Not for pure mathematical curiosity, mind. Rather, as a mechanism to store and retrieve Assets from ye storage in a networked, virtual environment. It’s what got me back into blogging again, Continue reading

  • The Sincerest Form Of Flattery

    The Sincerest Form Of Flattery

    There was a bit of a to do lately with Cloudflare’s Durable Objects which prompted me to go looking for anyone who has done replicated SQL state machines using SQLite. And it turns out there’s a lot of them, which is kind of cool. Couple of different strategies used, of course, ranging from a CDC Continue reading

  • Core Delos Papers

    Core Delos Papers

    Wanted to collect here in this post the foundational papers that I used to create Delos and its component pieces. Continue reading

  • 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

  • Sanctum Sanctorum

    Sanctum Sanctorum

    Silly me. I just recently realized that the t4g.small instances I’ve been eyeing have the AWS Nitro enclave stuff. This is horrendously cool technology that I thought was out of my reach given that I was focusing on cheap ass EC2 instances. Well, no need to ignore the Nitro enclaves any more. Following the link Continue reading

  • Going Native

    Going Native

    I finally got the Sky application compiled using teh GraalVM native-image tool. As you can see from the configuration for the maven plugin, it’s pretty darn easy. I do have reflection and other config generated using teh native agent instrumentation, It’s a very easy process, but somewhat bewilderingly explained from what I could find. But Continue reading

  • Zookie-esque

    Zookie-esque

    So I finally laid an issue to rest that has been open for a while. This is the addition of a “Zookie” like functionality to the Apollo and thus Sky Oracle API. The Zookie is basically an opaque data type that represents comparable distributed time. Time is a strange beast in distributed systems, of course Continue reading

  • Pythia – Sky Milestone 2

    Pythia – Sky Milestone 2

    I was a bit surprised at how easy it was to get the Sky Oracle service API up n’ running over GRPC. It’s a rather large API (for my tastes, anyway) and so I wasn’t really looking forward to discovering all that pleasure but as I said it did not turn out to be a Continue reading

  • Quality Is Job 1.1

    Quality Is Job 1.1

    Getting to the first milestone allowed me to really start experimenting with long running Sky nodes for… well… really the first time. Well, at least for Sky. I had done a lot of performance work on Apollo, but that was quite a while ago. A whole lot has changed and new subsystems introduced. So while Continue reading