module Make: functor (
P
:
Problem
) ->
S
with type input = P.input and type output = P.output and type init = P.init
Functor building a map/reduce implementation for a given problem.
type
init
The type of data sent by server to clients at startup.
type
input
The type of input values passed to agents.
type
output
The type of overall result.
val client : JoinHelper.configuration -> unit
client cfg
uses the
cfg
to connect to the server, and registers itself
to receive computations (
i.e. executions of
JoinMapRed.Problem.map
).
val server : JoinHelper.configuration ->
init ->
('a, input) JoinPool.Simple.enum ->
output -> output
server cfg i e z
sets up a server using the passed configuration, and
dispatches tasks to registered clients using a pool.
The result is reduce k1 v1 (reduce k2 v2 (... (reduce kn vn z)))
where: