README.md 1.29 KB
Newer Older
Jonathan Jenkins's avatar
Jonathan Jenkins committed
1
SSG is a Simple, Static Grouping mechanism for Mercury. It provides
Jonathan Jenkins's avatar
Jonathan Jenkins committed
2 3 4 5 6 7 8 9
mechanisms for bootstrapping a set of pre-existing mercury processes. So
far, we have the following:

- MPI bootstrap (this works well with CCI, where the addresses you pass in
  aren't the addresses used)
- config-file bootstrap (where each process is assumed to exist in the
  membership list - CCI can't currently be used with this method)

Jonathan Jenkins's avatar
Jonathan Jenkins committed
10
Serializers for the ssg data structure are also provided (untested so far).
Jonathan Jenkins's avatar
Jonathan Jenkins committed
11 12 13 14 15 16 17

# Building

(if configuring for the first time)
./prepare.sh

./configure [standard options] PKG\_CONFIG\_PATH=/path/to/mercury/pkgconfig
Jonathan Jenkins's avatar
Jonathan Jenkins committed
18

Jonathan Jenkins's avatar
Jonathan Jenkins committed
19
make
Jonathan Jenkins's avatar
Jonathan Jenkins committed
20

Jonathan Jenkins's avatar
Jonathan Jenkins committed
21 22
make install

Jonathan Jenkins's avatar
Jonathan Jenkins committed
23 24 25 26
MPI support is by default optionally included. If you wish to compile with MPI
support, set CC=mpicc (or equivalent) in configure. If you wish to disable MPI
entirely, use --disable-mpi (you can also force MPI inclusion through
--enable-mpi).
Jonathan Jenkins's avatar
Jonathan Jenkins committed
27 28 29 30 31 32 33 34 35 36 37

# Documentation

The example is the best documentation so far. Check out examples/ssg-example.c
(and the other files) for usage. The example program initializes ssg, pings
peer servers as defined by their ssg rank, and shuts down via a chain
communication.

# Running examples

cd to your build directory and run:
Jonathan Jenkins's avatar
Jonathan Jenkins committed
38

Jonathan Jenkins's avatar
Jonathan Jenkins committed
39 40
$top\_level\_dir/examples/run-example-\*.sh

Jonathan Jenkins's avatar
Jonathan Jenkins committed
41
See the script contents for how these translate to example execution.