On 12/4/2010 7:22 AM, Mike McGrady wrote:
We could not tolerate JavaSpaces running on Java 1.6.  That is for
sure.  This is a mistaken conclusion if you think this is a corollary
or implication of what I said.

In any case, 1.6 does not really help JavaSpaces. The requirements for the main JavaSpaces data structure are unusual. It must allow rapid lookup by the combination of type and a template with some fields masked out, not just exact match.

The combination of performance requirements and special lookup rules calls for a custom data structure. There is no magic in ConcurrentHashMap, just fairly standard techniques that could also be applied in a custom data structure targeting JavaSpaces, as long as it can use the 1.5 memory model. A JavaSpaces data structure may also benefit from e.g. some of the atomic operations in 1.5, but I don't know for sure yet.

I need to do some reading, both to understand the current outrigger data structures, and to get up to date on the latest developments in concurrent data structures. The JavaSpaces lookup has some features in common with a relational database select operation, so I may look at some of the data structures used for that.

As far as I can tell, the only fully reliable technique for safe concurrent data access on 1.4 is synchronization, which could have very bad effects on performance.

Patricia

Reply via email to