Difference between Distributed ruby and Rinda

Can anyone tell me the difference between Distributed ruby and rinda?

On Aug 29, 7:48 am, Hema L. [email protected] wrote:

Can anyone tell me the difference between Distributed ruby and rinda?

Posted viahttp://www.ruby-forum.com/.

Rinda uses Distributed Ruby (DRb) in its Tuplespace implementation.
That being said, you can use DRb without using Rinda. I view DRb as
similar to many other languages’ remoting frameworks; Corba, JINI,
Httpinvoker, etc. The main advantage is that DRb has a lower barrier
to entry.

I have no experience with other tuplespace implementations but I’ve
heard it was originally based off a java project called Linda.
Playing around with Rinda actually helped me in understanding Erlang’s
process ‘mail boxes’, which I find quite similar.

On 8/30/07, [email protected] [email protected]
wrote:

I have no experience with other tuplespace implementations but I’ve
heard it was originally based off a java project called Linda.
Playing around with Rinda actually helped me in understanding Erlang’s
process ‘mail boxes’, which I find quite similar.

Linda and Lindaspaces long predate Java. There’s actually a rigorous and
sophisticated mathematical foundation for them, and a long history of
pre-Java implementations, including some of my own from perhaps a dozen
years ago.

If you’re interested in Erlang-like “spawned processes” for Ruby, they
were
just added to EventMachine. Sync to the head revision and look at the
test
cases. As soon as they get a few more features and documentation,
they’ll be
released. There’s also some recent discussion of them on the
EventMachine
mailing list.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Francis C. wrote:

If you’re interested in Erlang-like “spawned processes” for Ruby, they were
just added to EventMachine. Sync to the head revision and look at the test
cases. As soon as they get a few more features and documentation, they’ll be
released. There’s also some recent discussion of them on the EventMachine
mailing list.

Thank you from the bottom of my heart for this!! Just out of curiosity,
are you going to present this at a Ruby conference in the near future??

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG1s2I8fKMegVjSM8RAgwwAJ428XDbCnrzvXb341Z+J+Lya28MCgCeMT5V
3racDJ523a71WuWQNiiJ+jQ=
=d/6/
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Francis C. wrote:

mailing list.
Thank you from the bottom of my heart for this!! Just out of curiosity,
are you going to present this at a Ruby conference in the near future??

The most interesting feature (being able to send messages to “spawned
processes” that are resident in other O/S processes or on other machines)
isn’t done yet. I’m not that thrilled with how Erlang does it, by the way
(IP addresses and ranges of well-known ports) but I haven’t thought of
anything better.

Well … you need something that’s OS-agnostic and network agnostic,
which pretty much ties you to something “universal” like TCP/IP,
sockets, ports, etc. I don’t know much about Windows or MacOS, but I’m
reasonably sure this stuff is about as efficient as it can be on Linux
and Solaris, and it’s so tunable. :slight_smile: Are there any “parallel
network-connected clustering” techniques that don’t depend on TCP/IP?

Presenting this somewhere would be fun… :wink:

I’m sure MountainWest RubyConf next spring would love to have you. :slight_smile:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG14iY8fKMegVjSM8RAts5AKDcNEuP6fb4FzxRG4k5Ie12/TLZJQCfSPXD
i9CB/pftDu+Ts31Xkxk9UoI=
=EX3d
-----END PGP SIGNATURE-----

On 8/30/07, M. Edward (Ed) Borasky [email protected] wrote:

mailing list.

Thank you from the bottom of my heart for this!! Just out of curiosity,
are you going to present this at a Ruby conference in the near future??

The most interesting feature (being able to send messages to “spawned
processes” that are resident in other O/S processes or on other
machines)
isn’t done yet. I’m not that thrilled with how Erlang does it, by the
way
(IP addresses and ranges of well-known ports) but I haven’t thought of
anything better. DNS service records, maybe?

Presenting this somewhere would be fun… :wink:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Francis C. wrote:

Oh it’ll be TCP, all right. I was just thinking of the way that Erlang uses
to specify PIDs, with strings containing embedded machine identifiers. But
we know that the Erlang way works, because Ericsson supposedly has
distributed applications with literally millions of distributed processes.

And just look at some of the options the Linux kernel (2.6.22) provides
just for congestion control and quality of service:

--- TCP: advanced congestion control
<M>   Binary Increase Congestion (BIC) control
<*>   CUBIC TCP
<M>   TCP Westwood+
<M>   H-TCP
<M>   High Speed TCP
<M>   TCP-Hybla congestion control algorithm
<M>   TCP Vegas
<M>   Scalable TCP
<M>   TCP Low Priority
<M>   TCP Veno
      Default TCP congestion control (Cubic)  --->


[*] QoS and/or fair queueing
      Packet scheduler clock source (CPU cycle counter)  --->
---   Queueing/Scheduling
<M>   Class Based Queueing (CBQ)
<M>   Hierarchical Token Bucket (HTB)
<M>   Hierarchical Fair Service Curve (HFSC)
<M>   ATM Virtual Circuits (ATM)
<M>   Multi Band Priority Queueing (PRIO)
<M>   Random Early Detection (RED)
<M>   Stochastic Fairness Queueing (SFQ)
<M>   True Link Equalizer (TEQL)
<M>   Token Bucket Filter (TBF)
<M>   Generic Random Early Detection (GRED)


<M>   Differentiated Services marker (DSMARK)
<M>   Network emulator (NETEM)
<M>   Ingress Qdisc
---   Classification
<M>   Elementary classification (BASIC)
<M>   Traffic-Control Index (TCINDEX)
<M>   Routing decision (ROUTE)
<M>   Netfilter mark (FW)
<M>   Universal 32bit comparisons w/ hashing (U32)
[*]     Performance counters support
[*]     Netfilter marks support
<M>   IPv4 Resource Reservation Protocol (RSVP)
<M>   IPv6 Resource Reservation Protocol (RSVP6)
[*]   Extended Matches
(32)    Stack size
<M>     Simple packet data comparison
<M>     Multi byte comparison
<M>     U32 key
<M>     Metadata
<M>     Textsearch
[*]   Actions
<M>     Traffic Policing
<M>     Generic actions
[*]       Probability support
<M>     Redirecting and Mirroring
<M>     IPtables targets
<M>     Packet Editing
< >     Simple Example (Debug)
[*]   Incoming device classification
---   Rate estimator

Someone insanely geekier than I am ought to be able to squeeze all the
delays out of this given all those options.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG17mk8fKMegVjSM8RAj70AKCfmPwQvUTyeMi0htTHEuMJtmMJ0gCgnpD/
KlxrySZiAbULCn5ezNlgbVY=
=WYh9
-----END PGP SIGNATURE-----

On 8/30/07, M. Edward (Ed) Borasky [email protected] wrote:

Well … you need something that’s OS-agnostic and network agnostic,
which pretty much ties you to something “universal” like TCP/IP,
sockets, ports, etc. I don’t know much about Windows or MacOS, but I’m
reasonably sure this stuff is about as efficient as it can be on Linux
and Solaris, and it’s so tunable. :slight_smile: Are there any “parallel
network-connected clustering” techniques that don’t depend on TCP/IP?

Oh it’ll be TCP, all right. I was just thinking of the way that Erlang
uses
to specify PIDs, with strings containing embedded machine identifiers.
But
we know that the Erlang way works, because Ericsson supposedly has
distributed applications with literally millions of distributed
processes.

On 30 Aug 2007, at 15:14, Francis C. wrote:

The most interesting feature (being able to send messages to “spawned
processes” that are resident in other O/S processes or on other
machines)
isn’t done yet. I’m not that thrilled with how Erlang does it, by
the way
(IP addresses and ranges of well-known ports) but I haven’t thought of
anything better. DNS service records, maybe?

You might like to take a look at DNS NAPTR records. They’re not
exactly well supported yet outside of ENUM projects, but they have
lots of flexibility that you might find useful.

At some point in the non-too-distant future I even hope to publish a
decent Ruby library for handling them as part of my RINDR DNS server
project.

Ellie

Eleanor McHugh
Games With Brains

raise ArgumentError unless @reality.responds_to? :reason