Open Systems Laboratory at Illinois

Dan Plyukhin

I’m a Ph.D. student interested in fault-tolerant distributed systems. I believe that, by finding the right abstractions, writing distributed systems can be made just as easy as single-threaded code. Several avenues I’m excited to explore are:

  • Automatic garbage collection of actors, so they do not need to be terminated manually.

  • Types and static analysis that alerts the programmer about unexpected race conditions.

  • Making interaction protocols easier to understand by replacing the event-driven control flow of message-passing with structured programming idioms like loops and exceptions.

One of my main projects is developing a low-overhead garbage collector for networked actor systems. This is still an active research problem because the only general-purpose algorithm known to be performant (implemented in the multicore Pony runtime) depends on causal message delivery, which may impose too high an overhead for networked systems written with Erlang or Akka Cluster.



  1. Dan Plyukhin and Gul Agha. Concurrent garbage collection in the actor model. In Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE 2018, 44–53. New York, NY, USA, 2018. ACM.