Tuple Spaces (or, Good Ideas Don’t Always Win)
software-carpentry.org
software-carpentry.org
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.
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 to stand ready to do anything equally. The core of database optimization is, when you really get down to it, working out how to tell your database which things you really want and what you will never care about, as in "This table has twenty columns but I will only query on name and phone number". In practice, limitations aren't always just there because of a lack of imagination or insufficient computer science education (though that does happen), sometimes they're there because you can't get any performance without them.
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.
http://www.julianbrowne.com/article/viewer/space-based-archi...
Edit: Reference: http://c2.com/cgi/wiki?LindaEtymology
Also, see my higher-ranked post about why I stopped using tuple spaces.
It sure as shot was fun to play with it in a big enterprise environment for a while though. =)
The slides and a recording are available on the lispnyc site: http://lispnyc.org/meetings
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.