~ubuntu-branches/ubuntu/karmic/netpipe/karmic

« back to all changes in this revision

Viewing changes to netpipe.1

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-10-26 20:28:24 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20041026202824-fdmack9iksv54eqe
Tags: 3.6.2-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.\" -*- nroff -*-
2
 
.\"
3
 
.\" NetPIPE -- Network Protocol Independent Performance Evaluator.
4
 
.\" Copyright 1997, 1998 Iowa State University Research Foundation, Inc.
5
 
.\"
6
 
.\" This program is free software; you can redistribute it and/or modify
7
 
.\" it under the terms of the GNU General Public License as published by
8
 
.\" the Free Software Foundation.  You should have received a copy of the
9
 
.\" GNU General Public License along with this program; if not, write to the
10
 
.\" Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
11
 
.\"
12
 
.\" netpipe.1
13
 
.\" Created: Mon Jun 15 1998 by Guy Helmer
14
 
.\"
15
 
.\" $Id: netpipe.1,v 1.3 1998/09/24 16:23:59 ghelmer Exp $
16
 
.\"
17
 
.TH netpipe 1 "June 15, 1998" "NetPIPE" "netpipe"
18
 
 
19
 
.SH NAME
20
 
NetPIPE \- network protocol independent performance evaluator
21
 
 
22
 
.SH SYNOPSIS
23
 
.B NPtcp
24
 
[\c
25
 
.BI \-A \ buffer_alignment\fR\c
26
 
]
27
 
[\c
28
 
.BR \-a \c
29
 
]
30
 
[\c
31
 
.BI \-b \ TCP_buffer_size\fR\c
32
 
]
33
 
[\c
34
 
.BI \-h \ host_name\fR\c
35
 
]
36
 
[\c
37
 
.BI \-i \ increment\fR\c
38
 
]
39
 
[\c
40
 
.BI \-l \ starting_msg_size\fR\c
41
 
]
42
 
[\c
43
 
.BI \-O \ buffer_offset\fR\c
44
 
]
45
 
[\c
46
 
.BI \-o \ output_filename\fR\c
47
 
]
48
 
[\c
49
 
.BR \-P \c
50
 
]
51
 
[\c
52
 
.BI \-p \ port\fR\c
53
 
]
54
 
[\c
55
 
.BR \-r \c
56
 
]
57
 
[\c
58
 
.BR \-s \c
59
 
]
60
 
[\c
61
 
.BR \-t \c
62
 
]
63
 
[\c
64
 
.BI \-u \ ending_msg_size\fR\c
65
 
]
66
 
 
67
 
.PP
68
 
 
69
 
.B NPmpi
70
 
[\c
71
 
.BI \-A \ buffer_alignment\fR\c
72
 
]
73
 
[\c
74
 
.BR \-a \c
75
 
]
76
 
[\c
77
 
.BI \-i \ increment\fR\c
78
 
]
79
 
[\c
80
 
.BI \-l \ starting_msg_size\fR\c
81
 
]
82
 
[\c
83
 
.BI \-O \ buffer_offset\fR\c
84
 
]
85
 
[\c
86
 
.BI \-o \ output_filename\fR\c
87
 
]
88
 
[\c
89
 
.BR \-P \c
90
 
]
91
 
[\c
92
 
.BR \-s \c
93
 
]
94
 
[\c
95
 
.BI \-u \ ending_msg_size\fR\c
96
 
]
97
 
 
98
 
.PP
99
 
 
100
 
.B NPpvm
101
 
[\c
102
 
.BI \-A \ buffer_alignment\fR\c
103
 
]
104
 
[\c
105
 
.BR \-a \c
106
 
]
107
 
[\c
108
 
.BI \-i \ increment\fR\c
109
 
]
110
 
[\c
111
 
.BI \-l \ starting_msg_size\fR\c
112
 
]
113
 
[\c
114
 
.BI \-O \ buffer_offset\fR\c
115
 
]
116
 
[\c
117
 
.BI \-o \ output_filename\fR\c
118
 
]
119
 
[\c
120
 
.BR \-P \c
121
 
]
122
 
[\c
123
 
.BR \-r \c
124
 
]
125
 
[\c
126
 
.BR \-s \c
127
 
]
128
 
[\c
129
 
.BR \-t \c
130
 
]
131
 
[\c
132
 
.BI \-u \ ending_msg_size\fR\c
133
 
]
134
 
 
135
 
.SH DESCRIPTION
136
 
.PP
137
 
.B NetPIPE
138
 
is a protocol independent performance tool that encapsulates
139
 
the best of ttcp and netperf and visually represents the network
140
 
performance under a variety of conditions. By taking the end-to-end
141
 
application view of a network,
142
 
.B NetPIPE
143
 
clearly shows the overhead
144
 
associated with different protocol layers.
145
 
.B NetPIPE
146
 
answers such questions as:
147
 
.RS
148
 
How soon will a given data block of size k arrive at its destination?
149
 
.PP
150
 
Which network and protocol will transmit size k blocks the fastest?
151
 
.PP
152
 
What is a given network's effective maximum throughput and saturation
153
 
level?
154
 
.PP
155
 
Does there exist a block size k for which the throughput is maximized?
156
 
.PP
157
 
How much communication overhead is due to the network communication
158
 
protocol layer(s)?
159
 
.PP
160
 
How quickly will a small (< 1 kbyte) control message arrive, and which
161
 
network and protocol are best for this purpose?
162
 
.RE
163
 
.PP
164
 
.B NetPIPE
165
 
is provided with interfaces for TCP, MPI, and PVM, but TCP is the most
166
 
commonly used interface for general network testing purposes.  It
167
 
should be easy to write new interfaces for other reliable protocols based
168
 
on the examples provided by the TCP, MPI and PVM interfaces.
169
 
.SH TESTING TCP
170
 
.PP
171
 
Typical use for TCP involves running the TCP NetPIPE receiver on one
172
 
system with the command
173
 
.PP
174
 
.Ex
175
 
NPtcp \-r
176
 
.Ee
177
 
.PP
178
 
and running the TCP NetPIPE transmitter on another system with the
179
 
command
180
 
.PP
181
 
.Ex
182
 
NPtcp \-h receiver_hostname \-o output_filename \-P \-t
183
 
.Ee
184
 
.PP
185
 
If any options are used that modify the test protocol, including \-i,
186
 
\-l, \-p, \-s, and \-u, those parameters
187
 
.B must
188
 
be used on both the transmitter and the receiver, or the test
189
 
will not run properly.
190
 
.SH TESTING PVM
191
 
.PP
192
 
Typical use for PVM first requires starting PVM with the command
193
 
.PP
194
 
.Ex
195
 
pvm
196
 
.Ee
197
 
.PP
198
 
and adding a second machine with the PVM command
199
 
.PP
200
 
.Ex
201
 
add othermachine
202
 
.Ee
203
 
.PP
204
 
(then exit the PVM command line interface).  Then run the PVM NetPIPE
205
 
receiver on one system with the command
206
 
.PP
207
 
.Ex
208
 
NPpvm \-r
209
 
.Ee
210
 
.PP
211
 
and run the TCP NetPIPE transmitter on the other system with the
212
 
command
213
 
.PP
214
 
.Ex
215
 
NPpvm \-t \-o output_filename \-P
216
 
.Ee
217
 
.PP
218
 
If any options are used that modify the test protocol, including \-i,
219
 
\-l, \-p, \-s, and \-u, those parameters
220
 
.B must
221
 
be used on both the transmitter and the receiver, or the test
222
 
will not run properly.
223
 
.SH TESTING MPI
224
 
.PP
225
 
Use of the MPI interface for NetPIPE depends on the MPI implementation
226
 
used.  For the Argonne MPICH implementation using the p4 device (for a
227
 
cluster of individual systems interconnected using TCP/IP), create a
228
 
file that contains the hostnames of the two systems you want to
229
 
include in the test, with one hostname on each line of the file
230
 
(assume the file is named "machines.p4").  Then, use the command
231
 
.PP
232
 
.Ex
233
 
mpirun \-machinefile machines.p4 \-np 2 NPmpi \-o output_filename \-P
234
 
.Ee
235
 
.PP
236
 
to start the test.  MPICH will start an NPmpi process on each of the
237
 
two selected machines and the test will begin.
238
 
.SH TESTING METHODOLOGY
239
 
.PP
240
 
.B NetPIPE
241
 
tests network performance by sending a number of messages at each
242
 
block size, starting from the lower bound on message size.
243
 
.B NetPIPE
244
 
increments the message size until the upper bound on message size is
245
 
reached or the time to transmit a block exceeds one second, which ever
246
 
occurs first.
247
 
.PP
248
 
.B NetPIPE\c
249
 
\'s output file may be graphed with a program such as
250
 
.B gnuplot(1)
251
 
to view the results of the test.
252
 
.B NetPIPE\c
253
 
\'s
254
 
output file contains five columns: time to transfer the block, bits
255
 
per second, bits in block, bytes in block, and variance.  These
256
 
columns may be graphed to represent and compare the network's
257
 
performance.  For example, the
258
 
.B network signature graph
259
 
can be created by graphing time versus bits per second.  Sample
260
 
.B gnuplot(1)
261
 
commands for such a graph would be
262
 
.PP
263
 
.Ex
264
 
set logscale x
265
 
.Ee
266
 
.PP
267
 
.Ex
268
 
plot "NetPIPE.out" using 1:2
269
 
.Ee
270
 
.PP
271
 
The more traditional
272
 
.B throughput versus block size
273
 
graph can be created by graphing bytes versus bits per second.
274
 
Sample
275
 
.B gnuplot(1)
276
 
commands for such a graph would be
277
 
.PP
278
 
.Ex
279
 
set logscale x
280
 
.Ee
281
 
.PP
282
 
.Ex
283
 
plot "NetPIPE.out" using 4:2
284
 
.Ee
285
 
 
286
 
.ne 5
287
 
.SH OPTIONS
288
 
.TP
289
 
.B \-A \ \fIalignment\fR
290
 
Align buffers to the given boundary.  For example, a value of 4 would
291
 
align buffers to 4-byte (word) boundaries.
292
 
.ne 3
293
 
.TP
294
 
.B \-a
295
 
Specify asynchronous receive (a.k.a. preposted receive), if the
296
 
underlying protocol supports it.
297
 
.ne 3
298
 
.TP
299
 
.BI \-b \ \fIbuffer_size\fR
300
 
[TCP only] Set send and receive TCP buffer sizes.
301
 
.ne 3
302
 
.TP
303
 
.BI \-h \ \fIhostname\fR
304
 
[TCP transmitter only] Specify name of host to which to connect.
305
 
.ne 3
306
 
.TP
307
 
.BI \-i \ \fIincrement\fR
308
 
Specify increment step size (default is an exponentially increasing
309
 
increment).
310
 
.ne 3
311
 
.TP
312
 
.BI \-l \ \fIstart_msg_size\fR
313
 
Specify the starting message size.  The test will start with messages
314
 
of this size and increment, either exponentially or with an increment
315
 
specified by the
316
 
.B \-i
317
 
flag, until a block requires more than one second to transmit or the
318
 
ending message size specified by the
319
 
.B \-u
320
 
flag is reached, which ever occurs first.
321
 
.ne 3
322
 
.TP
323
 
.BI \-O \ \fIbuffer_offset\fR
324
 
Specify offset of buffers from alignment.  For example, specifying an
325
 
alignment of 4 (with \-A) and an offset of 1 would align buffers to
326
 
the first byte after a word boundary.
327
 
.ne 3
328
 
.TP
329
 
.BI \-o \ \fIoutput_filename\fR
330
 
Specify output filename.  By default, the output filename is
331
 
.IR NetPIPE.out .
332
 
.ne 3
333
 
.TP
334
 
.B \-P
335
 
Print results on screen during execution of the test.  By default,
336
 
NetPIPE is silent during execution of the test.
337
 
.ne 3
338
 
.TP
339
 
.BI \-p \ \fIport_number\fR
340
 
[TCP only] Specify TCP port number to which to connect (for the
341
 
transmitter) or the port on which to listen for connections (for the
342
 
receiver).
343
 
.ne 3
344
 
.TP
345
 
.B \-r
346
 
[TCP only] This process is a TCP receiver.
347
 
.ne 3
348
 
.TP
349
 
.B \-s
350
 
Set streaming mode: data is only transmitted in one direction.  By
351
 
default, the transmitter measures the time taken as each data block is
352
 
sent from the transmitter to the receiver and back, then divides the
353
 
round-trip time by two to obtain the time taken by the message to
354
 
travel in each direction.  In streaming mode, the receiver measures
355
 
the time required to receive the message and sends the measured time
356
 
back to the transmitter for posting to the output file.
357
 
.ne 3
358
 
.TP
359
 
.B \-t
360
 
[TCP only] This process is a TCP transmitter.
361
 
.ne 3
362
 
.TP
363
 
.BI \-u \ \fIending_msg_size\fR
364
 
Specify the ending message size.  By default, the test will end when
365
 
the time to transmit a block exceeds one second.  If
366
 
.B \-u
367
 
is specified, the test will end when either the test time exceeds one
368
 
second or the ending message size is reached, which ever occurs first.
369
 
 
370
 
.ne 3
371
 
.SH FILES
372
 
.TP
373
 
.I NetPIPE.out
374
 
Default output file for
375
 
.BR NetPIPE .
376
 
Overridden by the
377
 
.B \-o
378
 
option.
379
 
 
380
 
.SH AUTHOR
381
 
.PP
382
 
Quinn Snell <snell@cs.byu.edu>, Guy Helmer <ghelmer@scl.ameslab.gov>,
383
 
and others.
384
 
.PP
385
 
Clark Dorman <dorman@s3i.com> contributed the PVM interface.
386
 
.PP
387
 
Information about
388
 
.B NetPIPE
389
 
can be found on the World Wide Web at
390
 
http://www.scl.ameslab.gov/netpipe/.
391
 
 
392
 
.SH BUGS
393
 
By nature,
394
 
.B NetPIPE
395
 
will use as much of the network bandwidth as possible.  Other users of
396
 
the network may notice the effect.