-
Notifications
You must be signed in to change notification settings - Fork 18
/
multiprocess.html
180 lines (142 loc) · 5.96 KB
/
multiprocess.html
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<!-- Creator : groff version 1.22.3 -->
<!-- CreationDate: Mon Mar 18 08:51:05 2024 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>multiprocess</title>
</head>
<body>
<h1 align="center">multiprocess</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#PREPARATION">PREPARATION</a><br>
<a href="#EXECUTION">EXECUTION</a><br>
<a href="#EXAMPLE">EXAMPLE</a><br>
<a href="#COPYRIGHT">COPYRIGHT</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">multiprocess
− RWP*Load Simulator execution multi-process
execution</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Execution of a
single rwloadsim process may not be sufficient to run a
complex workload, both due to complexity or due to the need
to run a high number of threads concurrently. You can
therefore run rwloadsim in multi-process mode, that consist
of a preparation step followed by an actual execution with
several concurrently running rwloadsim processes. In a
multi-process run, statistics will be saved by each
rwloadsim process as in ordinary runs, but all processes
will use the same runnumber. For subsequent reporting,
graphing, etc, the multi processes therefore appear as a
single run.</p>
<p style="margin-left:11%; margin-top: 1em">Multi-process
runs require a repository database and the first step gets
the runnumber from a sequence in the repository database.
Additionally, it is during the first step that the common
start time is defined using the -c option to rwloadsim.</p>
<h2>PREPARATION
<a name="PREPARATION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">To prepare a
multi-process run, first execute rwloadsim only providing
the input file (or files) needed to make a connection to the
repository database. You are recommended not providing any
other input files, except if you need to execute some code
during this step; examples of such code could be code that
inserts or updates certain aspect of the repository that are
relevant for the whole run.</p>
<p style="margin-left:11%; margin-top: 1em">You must also
provide the -P option with the name of a file where
rwloadsim will write information needed by the subsequent
actual simulation run. The contents will be one line of text
without any white-space. In the current release, the
contents is in the format NNN:SSSSSSSS.MMM, where NNN is the
runnumber and the rest represents the common start time for
all control loops since some epoch with ms resolution. This
contents may change in a future release of rwloadsim and you
are strongly advised against depending on the format of the
file.</p>
<p style="margin-left:11%; margin-top: 1em">As more
preparation, setup, creation of session pools, etc. would be
required by a multi-process run, you should normally always
provide the -c option with a value higher than the default
of 5s setting the common control loop start time further
into the future.</p>
<h2>EXECUTION
<a name="EXECUTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Each rwloadsim
process that is part of your actual execution must be
started with either the -R or -M option. They have the same
purpose so you can use the one that suits your scripting
model best.</p>
<p style="margin-left:11%; margin-top: 1em">The -R option
takes the name of the prepare file that was created in your
prepare run as its option value. The -M option takes the
contents of the prepare file (which is a single line) as a
text string as its option value.</p>
<p style="margin-left:11%; margin-top: 1em">The input
file(s) and potentially arguments provided to each rwloadsim
program should implement your entire workload and you can
very well start rwloadsim processes with different (but to
you related) workloads and/or start multiple processes with
the same.</p>
<p style="margin-left:11%; margin-top: 1em">If needed for
your subsequent reporting or graphing, use the -p option to
set a number that each rwloadsim process will use when it
saves statistics into the repository tables. If not
provided, the process number from the Operating System will
be used.</p>
<p style="margin-left:11%; margin-top: 1em">If required,
you can use ssh to have other systems involved in a single
multi-process run; if doing so, all systems involved must
have their system time coordinated e.g. via ntp.</p>
<h2>EXAMPLE
<a name="EXAMPLE"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">This small
example shows how you can use multi-process execution:</p>
<pre style="margin-left:17%; margin-top: 1em"># prepare a run setting common start time 10s into the future
rwloadsim -P prepfile.txt -c 10 repository.rwl
# start five ordinary executions in background
for pno in 1 2 3 4 5
do
rwloadsim -R prepfile.txt -p $pno fullrun.rwl &
done
# Use ssh to start a run with some special stuff on another host
ssh systemhost rwloadsim -p 0 -M ‘cat prepfile.txt‘ systemstuff.rwl &
# wait for all to complete
wait</pre>
<h2>COPYRIGHT
<a name="COPYRIGHT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Copyright
© 2023 Oracle Corporation</p>
<p style="margin-left:11%; margin-top: 1em">Licensed under
the Universal Permissive License v 1.0 as shown at
https://oss.oracle.com/licenses/upl</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><a href="statistics.html">statistics(1rwl)</a>,
<a href="rwloadsim.html">rwloadsim(1rwl)</a></p>
<hr>
</body>
</html>