Take the 2-minute tour ×  I'm trying to build a high-performance
distributed system with Akka and Scala.  If a message requesting
an expensive (and side-effect-free) computation arrives, and the
exact same computation has already been requested before, I want
to avoid computing the result again. If the computation
requested previously has already completed and the result is
available, I can cache it and re-use it.  However, the time
window in which duplicate computation can be requested may be
arbitrarily small. e.g. I could get a thousand or a million
messages requesting the same expensive computation at the same
instant for all practical purposes.  There is a commercial
product called Gigaspaces that supposedly handles this
situation.  However there seems to be no framework support for
dealing with duplicate work requests in Akka at the moment.
Given that the Akka framework already has access to all the
messages being routed through the framework, it seems that a
framework solution could make a lot of sense