Live data from Hacker News

Tuple Spaces (or, Good Ideas Don’t Always Win)

software-carpentry.org

11–20 of 23 posts

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#11
I built a tuple space implementation a few years ago. I came to the conclusion that the filter predicates were functionally equivalent to delayed RPC, aka task queues, and occasionally even publish/subscribe. It's at that point that I got bored and left the code to (essentially) rot.

I now use task queues on a daily basis to process countless non-realtime tasks. It's a much more straightforward metaphor for what you actually want to do, and without altering the paradigm, allows you to do practically useful things (prioritizing, deadlines, retries, etc.)

It is a useful conceptual model, but mostly as a way to pull people away from the MPI/PVM/threads/processes lock-step/locking parallel concurrency models.

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#12
post #9

Has anyone successfully used this for anything significant? As I post this there's only a couple of people posting about how either they tried but it didn't work out well enough, or they just played with it in school without any code. It strikes me as having the same problems as RDF storage; precisely because the model is so general, there's nothing for optimizations to grab on to and optimize on. Your database has t…

I did a post-grad project using JavaSpaces and prolog to do automated refactoring in Java back in the late 90's. The JavaSpaces implementation was so terrible that it was hard to get anything done. Great idea, but poor execution in Java probably killed Jini and JavaSpaces (and any hope of it going mainstream).

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#14
post #9

Has anyone successfully used this for anything significant? As I post this there's only a couple of people posting about how either they tried but it didn't work out well enough, or they just played with it in school without any code. It strikes me as having the same problems as RDF storage; precisely because the model is so general, there's nothing for optimizations to grab on to and optimize on. Your database has t…

I did a post-grad project using JavaSpaces and prolog to do automated refactoring in Java back in the late 90's. The JavaSpaces implementation was so terrible that it was hard to get anything done. Great idea, but poor execution in Java probably killed Jini and JavaSpaces (and any hope of it going mainstream).

We used JavaSpaces/Jini in an EMRS system during the same period(and also tried GigaSpaces which was best impl) called Frontiers which was at some point used at many hospitals on both coasts.

It did make things very flexible as in we knew we could just start ripping pieces out of the system during testing to make sure every piece was completely autonomous and definitely redundant with data. Also had "agents" in self contained "hot reloadable" classes because we learned about the discarded classloader trick. Man, learned so much fun/crazy stuff at that job.

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#15
post #13

How does tuple space, as discussed here, compare to something like Redis?

I'd say they compare closely to either Redis' hash or unsorted list implementations. It's hard to say exactly since the operations tuples support are similar to both.

This, of course, ignores the complexity of operations on Redis hash and list objects. I don't think any tuple space implementation has a known complexity for get or put operations.

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#16
post #9

Has anyone successfully used this for anything significant? As I post this there's only a couple of people posting about how either they tried but it didn't work out well enough, or they just played with it in school without any code. It strikes me as having the same problems as RDF storage; precisely because the model is so general, there's nothing for optimizations to grab on to and optimize on. Your database has t…

There's a commercial computational chemistry software package called Gaussian that uses Linda: http://gaussian.com/g_prod/linda.htm

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#17
post #9

Has anyone successfully used this for anything significant? As I post this there's only a couple of people posting about how either they tried but it didn't work out well enough, or they just played with it in school without any code. It strikes me as having the same problems as RDF storage; precisely because the model is so general, there's nothing for optimizations to grab on to and optimize on. Your database has t…

Virgin Mobile, apparently.

http://www.julianbrowne.com/article/viewer/space-based-archi...

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#18
post #9

Has anyone successfully used this for anything significant? As I post this there's only a couple of people posting about how either they tried but it didn't work out well enough, or they just played with it in school without any code. It strikes me as having the same problems as RDF storage; precisely because the model is so general, there's nothing for optimizations to grab on to and optimize on. Your database has t…

Sure. I used a TupleSpace for an impromptu map-reduce for some heavy duty number-crunching across multiple cores and physical machines.

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#19
Saw a cool presentation by Gary Warren King on AllegroGraph (a lisp based tripple store) last year. It stores RDF tripples, which seem to be a pretty powerful tool for modeling semantic relationships.

The slides and a recording are available on the lispnyc site: http://lispnyc.org/meetings

Re: Tuple Spaces (or, Good Ideas Don’t Always Win)

#20
post #6

Tuple spaces seem to have morphed into routers and filters for message queue protocols.

I laughed when I read you comment because I find my message queues always seem to want to morph into these Tuple Spaces -- seriously. I never knew there was a name here, just that I seem to frequently want some more generic properties matching nicely to the this whole pattern.
Post reply on HN