Experience with ePaxos: Systems Research using Go

“Writing our to-appear SOSP’13 paper on Egalitarian Paxos (“There is More Consensus in Egalitarian Parliaments”) was a journey made more interesting because of our choice to use Go as the implementation language.

It rocked, and it let us do some things in the evaluation that we likely wouldn’t have in C++;
It had a few drawbacks that we had to deal with, mostly with performance variation and optimization;
Our community wasn’t used to it and we got yelled at once by a reviewer (!).

[Note: While I (Dave) am writing this post, please realize that the standard professorial disclaimer applies here: When I say “we”, I really mean, “the student who did all the work”, who in this case is Iulian Moraru, a CS Ph.D. student at Carnegie Mellon. If you think “woah, that’s cool work”, he’s the one who should be credited. But if you want to yell at someone for the strong opinions expressed here or the way they’re expressed, yell at me]…”