Chord - ala PERL
I spent the majority of this weekend working on my implementation of the Chord Distributed Hash Table algorithm. Having tested out the core algorithm in Java, I have been working to port everything over to PERL since PERL is lightweight and available on all UNIX based web servers. I suppose one day I’ll have to work on a .NET implementation, but that will be very last.
Anyways, there were some potential sticky points. The Chord algorithm requires the use of threads and VERY LARGE numbers and cryptographic hashes. The usage of threads is pretty dang simple in PERL, but I did notice that the perl interpreter has to be compiled with thread support. This would be a show stopper you PERL interpreter doesn’t have it. Working with VERY LARGE numbers and crypto in PERL is actually pretty dang slick. Much easier than Java. In fact, I am quite pleased how clean the PERL code is. Sexy even.
I was also worried about the issue of data transport. I could ‘code my own’ interface, but I would worry about the maintainability and extensibility of a custom transport layer. SOAP it is then. After a digging around a bit I found a PERL module which is a HTTP server. Managing the HTTP protocol was going to be the nasty part, but it looks like I’m not going to have to deal with that. Messing around with XML is PERL is trivial (so long as it’s simple). I do wonder what the world would look like if PERL had the popularity of Java and C#. Do we really need strongly typed languages?
So, where is this all going? Dunno. Should be good enough for my masters thesis though.
