UBC Computer Science Associate Professor Dr. Ivan Beschastnikh and his team of researchers have made an exciting breakthrough in the field of distributed systems with their recent paper, "Compiling Distributed System Models with PGo,” which won a Distinguished Artifact Award at the 2023 Architectural Support for Programming Languages and Operating Systems (ASPLOS) conference.
The 2023 ASPLOS conference was held in Vancouver, British Columbia in March.
Closing the gap in distributed systems
Distributed systems can be incredibly challenging to design and implement correctly, but formal methods can help address some of these difficulties. However, a key issue exists: there is a gap between the formal design of a system and its actual implementation. In order to bridge this gap, practitioners have typically relied upon manual effort.
That's where Ivan’s team comes in with their language called ‘Modular PlusCal’ and their compiler tool-chain called ‘PGo.’
Modular PlusCal (MPCal) separates the model of a system from the model of its environment, providing designers with the ability to model and check their designs and then mechanically extract runnable implementations. PGo automatically translates MPCal models to a specification language called ‘TLA+’ for model checking, and compiles them to runnable Go code, making it easier to develop a fully-checked model and derive a fully-working implementation.
PGo: a time-saver
In their evaluation, Dr. Beschastnikh's team shows that PGo requires much less development time compared to previous models. In one instance, a system could be developed three times faster with PGo than with the most efficient existing toolchain.
The significance of Dr. Beschastnikh's team's work is that it provides a more efficient and reliable way of designing and implementing distributed systems. The Distinguished Artifact Award acknowledges this fact, as well as the team’s commitment to reproducible research. Thanks to the automated experimental procedures included in the PGo artifact submission, reviewers were able to fully recreate performance measurements involving up to 12 networked machines and 5 different software packages within one day.
As distributed systems become more commonplace in order to accommodate growing computing needs, both breakthroughs like PGo and reliable processes for evaluating research projects become increasingly important.
More about the authors: