Memcached defines it's self as in-memory object system. Hazelcast defines it's self as a distributed data grid. What they mean is there is cluster of instances that form a data grid, where a key value pair is hold on only one instance.
I started developing QMass with cache data in mind. Particularly for use with Hibernate 2nd level cache where "a key value pair is hold on only one instance" approach is not that useful where there are too many access on the cache creating to many network trips. So the cache I designed broke that rule.
While that was useful, forming a data-grid used as a in-memory db also is. So there starts the QMass Data Grid Service where you can do that. There is also a console app. where you can fire up multiple instances and test your grid whit put, get and remove.
And more to come :)
QMass Project page, Wiki, Downloads