[chord] chord/dhash implementation uses sfs libarpc and libasync

Emil Sit sit at MIT.EDU
Tue May 25 19:08:47 EDT 2004


Adrian,

It doesn't look like anyone else has replied to you on this question,
though you may have figured much of this out on your own.  I'll answer
this for the archives.

On Sun, 09 May 2004 at 23:27 (+0300), adrian at softnet.tuc.gr wrote:
>   I have some questions on it, but first of all i like to know about
> the "class aclnt" of SFS, which you use it in dhashclient.h. I saw
> sfs/arpc/aclnt.h but it doesn't help me so much. I would like
> to known as what type of "object" you use it and by which way.
> To be more sufficient, the architecture of chord, or better of dhash,
> which is related with aclnt.

DHash and Chord are implemented using the SFS asynchronous RPC
library.  The client side of that is in aclnt and the server side
in asrv.  These are in turn built on top of libasync, which
is a complex set of tools to help write asynchronous code in
C++.

There is a quick tutorial of libasync at [1] and you can get an
overview of arpc at [2].  The protocols used with DHash are defined in
the svc/ directory (*.x) though you shouldn't need to worry too much
about that.  You can read more about XDR and SunRPC in [3] and [4].

To just use DHash in your application, you should just need to
run lsd and use the dhashclient class.

[1] http://pdos.lcs.mit.edu/6.824/async/
[2] http://www.scs.cs.nyu.edu/~dm/nfsloop.ps
[3] RFC 1832 http://www.faqs.org/rfcs/rfc1832.html
[4] RFC 1831 http://www.faqs.org/rfcs/rfc1831.html

-- 
Emil Sit / MIT LCS PDOS / http://pdos.lcs.mit.edu/chord/  



More information about the chord mailing list