
rt0d4
Random Thoughts 0n Distributed 4lgorithms
UPDATE
This project has moved to github with a different name: codesloop
There are a few reasons why I decided to do do:
- The name RT0D4 was a bad choice and did not like from the very beginning
- A renaming was needed
- Also I found a couple of contributors but the git model supports our work better
- As of RxRPC it gave a lot of headache on different platforms especially on Windows
- RxRPC performance was not as good as I hoped
About the name
RT0D4 is the shorthand used at many places. This comes from the fact that I'm not good at naming things. After I got bored on acronyms, fancy names and such, I came up with this.
The project
a collection of tools and ideas for the development of distributed applications. The first thing I have written is an addon to RxRPC. This allows to use my security module as a plugin that comes in place instead of the widely used Kerberos authentication that I don't fancy too much. I replaced it with an OpenSSL based one.
The next thing I created a few wrappers over pthread to help multithreaded programming. This is an issue that comes up in many projects and I'm not very satisfied with other solutions. I created a wrapper over pthread (or Win32 native threading funtions) to get rid of that. There are a number of features I miss I have already written many times:
- mutex that is able to tell the number of waiting threads
- generic event objects
- permanent events (check pevent in the docs for more info)
- automatic mutex unlock on thread exit (important w/ pthread)
In version 0.0.5 I changed the security interface, so now the Elliptic Curve based cryptography classes can be accessed and used. Very limited XDR marshaling class added in order to reduce OpenAFS dependencies especially in the rt0d4::sec module. There are also new SQLite3 capabilities added in order to simplify and a bit reshape the interface that was originally provided by SQLite3.
The future
There are a few short term goals I have for the project:
- check the applicability of SCTP protocol
- implement paxos algorithm (now arriving to distributed computing)
- distributed queue manager
The order of what I'm going to publish and when is not decided yet.
Examples
- Test functions for the SQLite3 interface, that also illustrate the usage of the interface
- Test functions for the ECDH key interface
- Test functions for the zfile class
Articles
Project Information
- License: New BSD License
- 1 stars
- svn-based source control
Labels:
distributed
rxrpc
security
elliptic-curve
cryptography
threading
sqlite3
codesloop