forked from dmtcp/dmtcp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
73 lines (61 loc) · 2.72 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
To install, use:
./configure
make
make check [Optional]
As usual, you may prefer to use make with '-j' for faster, parallel builds.
"make check2", and "make check3" will exercise further examples in the
test subdirectory:
check2: readline.c
check3: shared-memory.c
This software runs in the original directory, and
make install
will install to the install directory based on configure.
There are available Debian, OpenSUSE and Fedora packages that will
install system-wide.
To support multilib (mixed use of 32- and 64-bit applications),
there are two possibilities:
1. Install both the 32- and 64-bit versions of DMTCP packages for your distro.
OR:
2. Build from source:
./configure
make
# Do NOT do 'make clean' here. You will lose bin/dmtcp_launch, etc.
./configure --enable-m32
make clean [ This won't remove the 64-bit binary and library files ]
make
[ Optionally, change 'make' to 'make install'' if desired. ]
When running DMTCP with multilib support, the 64-bit applicationss,
dmtcp_launch, dmtcp_restart, and dmtcp_command
all inter-operate with both 32- and 64-bit applications.
If your process will create multiple processes, you should use standard DMTCP.
A brief overview follows.
The general methodology is:
./dmtcp_coordinator [in one window: type h to the coordinator to see commands]
./dmtcp_launch a.out <args,...>
Note that files /tmp/jassertlog.* are created with debugging information
if you configured with --enable-debug .
See README for that and other options.
See the file "QUICK-START" for further information on using DMTCP.
====
RUNNING WITHOUT A SEPARATE COORDINATOR PROCESS:
Usually, the most convenient procedure is to use DMTCP in its
default mode, which includes a separate DMTCP coordinator process.
In some rare cases, you may wish to avoid a separate coordinator process.
For this, there are two options. The DMTCP-1.2.x series and versions
through DMTCP-2.1 will support a standalone MTCP. Starting with
DMTCP-2.2, a second option will be available. A DMTCP plugin will
be provided to run processes without a DMTCP coordinator, and the
application will directly control checkpointing (see the examples in
test/plugin/applic-*-ckpt/).
To use MTCP in standalone mode (the first option above), do:
cd mtcp; make check [to try it out]
[ First, modify Makefile to uncomment "CFLAGS=...-DDEBUG" if desired. ]
The mtcp subdirectory is independent of the rest of DMTCP. To include it
in your application, you only need to include the mtcp directory.
Then look at testmtcp.c and other test files. The key functions
are listed in mtcp.c:
mtcp_init()
mtcp_ok()
mtcp_no()
Currently, we checkpoint on a timer, but it would be easy to add a function
to checkpoint upon request by the application.