Map/Reduce over Hot Rod

  • The aim here is to allow map/reduce style computations to be sent to a Hot Rod cluster in order to speed up work via paralellisation.
  • This requires some kind of plattform independent way of sending computational work over Hot Rod.
  • This work could be represented by scripting languages supported by JSR-223 which allow them to run on the JVM.
  • One of those suggested languages is Javascript, but apparently the engine on the JDK is slow, so it'd be interesting to use an alternative one.
  • The header should enable support possibility of choosing the engine.
  • The code should be structured in such way that it can be used by the REST server as well to execute map/reduce functions.
  • In terms of the map/reduce command, it'd have the following parameters:
    • Input keys whose values will become parameters for the map function.
    • User provide parameters for the map function.
    • Name of map function (name functions so that they can be compiled as opposed to interpreting them everytime they're called)
    • Map function
    • Name of reduce function
    • Reduce function