I am trying to understand the differences between Akka and Gridgain. Please explain when one is more suitable than the other and for what problems?
Akka
implements the Actor Framework
in Scala/Java.
The main use case of using Akka is when you need a massively concurrent application.
Think telecom applications where you need to route messages. In fact Akka finds its inspiration from Ericsson's Erlang.
Here are some more use cases from the Akka site : http://doc.akka.io/docs/akka/current/intro/use-cases.html
GridGain
appears to be a data processing framework using Map Reduce concepts internally.
Think Big Data here. To process insanely large data sets you need better processing frameworks.
Disclaimer : I haven't used GridGain.