Paper Notes

  • Exactly once on arbitrary functions (deterministic) with serializable guarantees
  • ACK scheme similar to termination detection algorithm (Huang’s algorithm)
  • Early commit (due to determinism)
  • Implicit transaction management
  • 1 operator per entity (all functions + state)
  • Re-playable source

Questions

  • Epoch synchronization? Is it local? Global?
  • Are the other transactions stopped while processing an epoch? Latency? How does the latency change for epochs-in-wait?
  • What is the implementation of the distributed locking in phase 4? They go by TID order, but how do they know when it is their turn? Is this a distributed lock or is it on the coordinator?

Evaluation

  • DynamoDB is not accounted, and so is Minio, but is MINIO local on the same machine(s), also I don’t understand if the evaluation is truly distributed or simulated on a single large machine
  • Are the computational resources in the same location? Reading the evaluation it seems that the Beldi/Boki implementations are paying the networking latency to the database while Styx is not

Kyriakos discussion

Single threaded worker Send code with cloudpickle for mobile code Worker manages state and most of the stuff and sends info to transactional proto Kafka WAL for TID

Code

  • transaction_protocol/aria (function scheduler is main)
    • fallback is lock based commit
  • boot_worker
  • worker_service

Styx Research Ideas

Styx Rev