My talk for this time’s Barcamp was a distributed computing project that I worked on called Peepapp. Here are the slides:
The slides should be self-explanatory, but some notes from my talk:
- The USP for this application is the fact that it’s really easy to become a worker. You just connect to the job using a browser and everything else is transparent.
- We change the MapCalculateReduce architecture of a system like BOINC a little bit by separating out the concerns of the coordinator and the master node. The server (peepapp.com) is just responsible for coordinating actions and as such, it’s just a message queue.
- The coordinator itself is written in Sinatra running on Ruby Enterprise Edition, and fronted by Nginx and passenger running on Ubuntu Jaunty on a Slicehost 512 VPS. Around 20-30 people connected to the job during my talk with negligible load on the server.
- The map bit of the code I haven’t implemented yet. That, and a system to make creating jobs easier. Once that’s done, I plan to opensource a lot of the codebase – it isn’t much anyways, less than 200 sloc.
One thing which I’ve realized during the course of this talk is that the concept is sound and there’s some interest too. I’ll continue work on this!