Data parallel and stream parallel skeletons implemented in erlang.
Once you have moved to ske-pi's root directory, you can compile all sources to object code.
make all
or make
may be used to compile with debug mode turned on.
In this mode, some information regarding inter-process communication (and timeouts, if any have occurred), as well as function calls for each module will be saved to a log file (located in "ske-pi/logs/info.log" by default).
make all DEBUG=
or make DEBUG=
will compile with debug mode turned off.
make clean
may be used to remove the directory containing all the object files and keep the log files.
make cleanall
will remove both object files and the log files previously generated.
Each module has its own usage function printing a brief description and giving a simple usage example.
Once you have compiled ske-pi, you may:
* start the Erlang shell with cd ebin; erl
from ske-pi's root directory
* call the usage function for a given module. Via the Erlang shell, use the following command:
> <module_name>:usage().
> test_stream:benchmark().
> test_mapred:benchmark().
> test_mapred_google:benchmark().
> q().
The stream skeleton ("stream.erl") is taken and then modified from the skel library by the ParaPhrase group, whilst the data parallel skeletons ("mapred_google.erl" and "pmap.erl") are modified versions of Joe Armstrong's examples in his Programming Erlang 2nd ed. book.