Yes, it is Gigabytes Ethernet. I configure ompi again using "./configure
--disable-mpi-f90 --disable-mpi-f77 --disable-mpi-cxx --disable-vt
--disable-io-romio --prefix=/usr --with-platform=optimized"
and run IMB-MPI1 again with "mpirun --mca btl tcp,self -n 2 --hostfile
my_hostfile --bynode ./IMB-MPI1" again, the result does not seem very
different though...
About TIPC, maybe this article can explains more:
http://www.kernel.org/doc/ols/2004/ols2004v2-pages-61-70.pdf
To use TIPC, you use "tipcutil" to configure:
I first connect 2 machines directly with wires
1. set tipc address of 2 PC. Say <1.1.1> and <1.1.2> respectively and
with the same Network ID
2. "tipc-config -v -i -be=eth:eth0,eth:eth1" at each machine to set the
bears. Check
http://tipc.sourceforge.net/doc/tipc_1.7_users_guide.html#installation
for more information
3. "tipc-config -l" to check links. If successful, you should see:
ehhexxn@node2:~/git/test_ompi/IMB_3.2/src$ tipc-config -l
Links:
multicast-link: up
1.1.2:eth0-1.1.1:eth0: up
1.1.2:eth1-1.1.1:eth1: up
In the attachment, there are sample programs using TIPC that can be used
to test TIPC environment :)
/Xin
On 08/29/2011 03:22 PM, teng ma wrote:
Is your interconnect Gigabytes Ethernet? It's very surprised to see
TCP BTL just got 33MBytes peak BW on your cluster. I did a similar
test on an amd cluster with gigabytes Ethernet. As following shows,
the TCP BTL's BW is similar with your tipc(112MBytes/s). Could you
redo the test with 2 processes spawned, 2 nodes in your machinefile
and enabling --bynode?
It looks like your tipc BTL is pretty good at message size between 8K
and 512K. Can you tell us more about difference between TIPC and TCP
protocol stacks? Any special configure needed to enable your tipc?
Maybe you can write a module in Netpipe( similar to NPTcp )to test raw
performance on both TCP and TIPC without MPI.
TCP BTL on a Gigbytes ethernet
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 23.27 0.00
1 1000 23.78 0.04
2 1000 23.77 0.08
4 1000 25.47 0.15
8 1000 23.94 0.32
16 1000 24.36 0.63
32 1000 24.83 1.23
64 1000 25.76 2.37
128 1000 27.25 4.48
256 1000 30.66 7.96
512 1000 36.86 13.25
1024 1000 49.00 19.93
2048 1000 77.83 25.10
4096 1000 82.42 47.39
8192 1000 165.28 47.27
16384 1000 325.01 48.08
32768 1000 440.75 70.90
65536 640 1060.00 58.96
131072 320 1674.71 74.64
262144 160 2814.13 88.84
524288 80 4975.11 100.50
1048576 40 9526.94 104.97
2097152 20 18419.33 108.58
4194304 10 36150.05 110.65
8388608 5 71880.79 111.30
Teng
On Mon, Aug 29, 2011 at 3:51 AM, Xin He <xin.i...@ericsson.com
<mailto:xin.i...@ericsson.com>> wrote:
On 08/25/2011 03:14 PM, Jeff Squyres wrote:
On Aug 25, 2011, at 8:25 AM, Xin He wrote:
Can you edit your configure.m4 directly and test it
and whatnot? I provided the configure.m4 as a
starting point for you. :-) It shouldn't be hard to
make it check linux/tipc.h instead of tipc.h. I'm
happy to give you direct write access to the
bitbucket, if you want it.
I think me having write access is convenient for both of us :)
Sure -- what's your bitbucket account ID?
It's "letter113"
As we've discussed off-list, we can't take the code
upstream until the contributor agreement is signed,
unfortunately.
The agreement thing is ongoing right now, but it may take
some time.
No worries. Lawyers tend to take time when reviewing this
stuff; we've seen this pattern in most organizations who sign
the OMPI agreement.
But to save time, can you guys do some test on TIPC BTL,
so that
when the agreement is ready, the code can be used?
I don't know if any of us has the TIPC support libraries
installed.
It is easy to have TIPC support. It is within the kernel actually.
To get TIPC working, you only have to configure it by using
"tipc-config". Maybe you
can check this doc for information:
http://tipc.sourceforge.net/doc/Users_Guide.txt
So... what *is* TIPC? Is there a writeup anywhere that we can
read about what it is / how it works? For example, what makes
TIPC perform better than TCP?
Sure. Search "TIPC: Providing Communication for Linux Clusters".
It is a paper written by the author of TIPC, explaining basic
stuff about TIPC,
should be very useful. And you can visit TIPC homepage:
http://tipc.sourceforge.net/ .
I have done some tests using tools like NetPIPE,
osu and IMB and the result shows that TIPC BTL has
a better performance
than TCP BTL.
Great! Can you share any results?
Yes, please check the appendix for the results using IMB 3.2.
I have done the tests on 2 computers. Dell SC1435
Dual-Core AMD Opteron(tm) Processor 2212 HE x 2
4 GB Mem
Ubuntu Server 10.04 LTS 32-bit Linux 2.6.32-24
I'm not familiar with the Dell or Opteron lines -- how recent
are those models?
I ask because your TCP latency is a bit high (about 85us in
2-process IMB PingPong); it might suggest older hardware. Or
you may have built a debugging version of Open MPI (if you
have a .svn or .hg checkout, that's the default). See the
HACKING top-level file for how to get an optimized build.
For example, with my debug build of Open MPI on fairly old
Xeons with 1GB ethernet, I'm getting the following PingPong
results (note: this is a debug build; it's not even an
optimized build):
-----
$ mpirun --mca btl tcp,self --bynode -np 2 --mca
btl_tcp_if_include eth0 hostname
svbu-mpi008
svbu-mpi009
$ mpirun --mca btl tcp,self --bynode -np 2 --mca
btl_tcp_if_include eth0 IMB-MPI1 PingPong
#---------------------------------------------------
# Intel (R) MPI Benchmark Suite V3.2, MPI-1 part
#---------------------------------------------------
...
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 57.31 0.00
1 1000 57.71 0.02
2 1000 57.73 0.03
4 1000 57.81 0.07
8 1000 57.78 0.13
-----
With an optimized build, it shaves off only a few us (which
isn't too important in this case, but it does matter in the
low-latency transport cases):
-----
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 54.62 0.00
1 1000 54.92 0.02
2 1000 55.15 0.03
4 1000 55.16 0.07
8 1000 55.15 0.14
-----
Hi, I think these models are reasonably new :)
The result I gave you, they are tested on 2 processes but on 2
different servers. I get that the result you showed is 2 processes
on one machine?
But I did build with debug enabled, I will try optimize then :)
BTW, I forgot to tell you about SM & TIPC. Unfortunately, TIPC
does not beat SM...
/Xin
_______________________________________________
devel mailing list
de...@open-mpi.org <mailto:de...@open-mpi.org>
http://www.open-mpi.org/mailman/listinfo.cgi/devel
#---------------------------------------------------
# Intel (R) MPI Benchmark Suite V3.2, MPI-1 part
#---------------------------------------------------
# Date : Tue Aug 30 09:29:13 2011
# Machine : i686
# System : Linux
# Release : 2.6.32-24-generic-pae
# Version : #39-Ubuntu SMP Wed Jul 28 07:39:26 UTC 2010
# MPI Version : 2.1
# MPI Thread Environment: MPI_THREAD_SINGLE
# New default behavior from Version 3.2 on:
# the number of iterations per message size is cut down
# dynamically when a certain run time (per message size sample)
# is expected to be exceeded. Time limit is defined by variable
# "SECS_PER_SAMPLE" (=> IMB_settings.h)
# or through the flag => -time
# Calling sequence was:
# ./IMB-MPI1
# Minimum message length in bytes: 0
# Maximum message length in bytes: 4194304
#
# MPI_Datatype : MPI_BYTE
# MPI_Datatype for reductions : MPI_FLOAT
# MPI_Op : MPI_SUM
#
#
# List of Benchmarks to run:
# PingPong
# PingPing
# Sendrecv
# Exchange
# Allreduce
# Reduce
# Reduce_scatter
# Allgather
# Allgatherv
# Gather
# Gatherv
# Scatter
# Scatterv
# Alltoall
# Alltoallv
# Bcast
# Barrier
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 83.32 0.00
1 1000 83.39 0.01
2 1000 83.66 0.02
4 1000 84.56 0.05
8 1000 107.01 0.07
16 1000 124.88 0.12
32 1000 124.90 0.24
64 1000 124.88 0.49
128 1000 125.01 0.98
256 1000 124.90 1.95
512 1000 125.04 3.91
1024 1000 166.61 5.86
2048 1000 230.08 8.49
4096 1000 291.42 13.40
8192 1000 458.24 17.05
16384 1000 721.79 21.65
32768 1000 1295.71 24.12
65536 640 2659.35 23.50
131072 320 4374.14 28.58
262144 160 8165.03 30.62
524288 80 15841.19 31.56
1048576 40 30995.40 32.26
2097152 20 60772.67 32.91
4194304 10 120246.25 33.27
#---------------------------------------------------
# Benchmarking PingPing
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 166.67 0.00
1 1000 168.03 0.01
2 1000 166.63 0.01
4 1000 166.41 0.02
8 1000 166.78 0.05
16 1000 166.64 0.09
32 1000 166.65 0.18
64 1000 166.76 0.37
128 1000 166.66 0.73
256 1000 166.65 1.46
512 1000 166.76 2.93
1024 1000 249.89 3.91
2048 1000 333.08 5.86
4096 1000 416.89 9.37
8192 1000 666.69 11.72
16384 1000 1138.73 13.72
32768 1000 2083.22 15.00
65536 640 2750.90 22.72
131072 320 4465.91 27.99
262144 160 8335.28 29.99
524288 80 16463.15 30.37
1048576 40 32339.15 30.92
2097152 20 64327.26 31.09
4194304 10 127857.31 31.28
#-----------------------------------------------------------------------------
# Benchmarking Sendrecv
# #processes = 2
#-----------------------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec] Mbytes/sec
0 1000 124.88 124.90 124.89 0.00
1 1000 124.84 124.94 124.89 0.02
2 1000 124.95 125.07 125.01 0.03
4 1000 124.43 124.54 124.49 0.06
8 1000 124.83 124.94 124.88 0.12
16 1000 122.69 122.83 122.76 0.25
32 1000 123.44 123.54 123.49 0.49
64 1000 124.32 124.43 124.37 0.98
128 1000 124.94 125.08 125.01 1.95
256 1000 124.90 124.93 124.91 3.91
512 1000 124.82 124.93 124.88 7.82
1024 1000 166.80 166.90 166.85 11.70
2048 1000 209.44 209.47 209.46 18.65
4096 1000 291.36 291.41 291.38 26.81
8192 1000 428.15 428.24 428.20 36.49
16384 1000 748.99 749.04 749.02 41.72
32768 1000 1331.67 1331.70 1331.68 46.93
65536 640 2689.80 2689.85 2689.82 46.47
131072 320 5864.73 5877.27 5871.00 42.54
262144 160 11176.86 11177.08 11176.97 44.73
524288 80 21622.60 21623.01 21622.81 46.25
1048576 40 39329.30 39335.13 39332.21 50.85
2097152 20 81255.00 81302.30 81278.65 49.20
4194304 10 172975.50 173124.40 173049.95 46.21
#-----------------------------------------------------------------------------
# Benchmarking Exchange
# #processes = 2
#-----------------------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec] Mbytes/sec
0 1000 166.67 166.82 166.75 0.00
1 1000 166.69 166.92 166.80 0.02
2 1000 166.54 166.81 166.67 0.05
4 1000 166.68 166.82 166.75 0.09
8 1000 166.68 166.91 166.80 0.18
16 1000 166.55 166.80 166.67 0.37
32 1000 166.42 166.56 166.49 0.73
64 1000 166.66 166.67 166.66 1.46
128 1000 166.55 166.81 166.68 2.93
256 1000 166.56 166.78 166.67 5.86
512 1000 249.60 249.85 249.73 7.82
1024 1000 292.52 292.74 292.63 13.34
2048 1000 415.98 416.38 416.18 18.76
4096 1000 582.72 583.17 582.95 26.79
8192 1000 915.31 916.40 915.85 34.10
16384 1000 1665.85 1666.14 1665.99 37.51
32768 1000 3079.51 3082.04 3080.78 40.56
65536 640 6585.04 6585.05 6585.04 37.96
131072 320 12063.76 12076.49 12070.12 41.40
262144 160 20404.34 20452.68 20428.51 48.89
524288 80 38160.13 38160.62 38160.38 52.41
1048576 40 71830.70 71835.57 71833.14 55.68
2097152 20 174175.14 175093.40 174634.27 45.69
4194304 10 308588.00 310403.10 309495.55 51.55
#----------------------------------------------------------------
# Benchmarking Allreduce
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.08 0.09 0.08
4 1000 83.21 83.32 83.26
8 1000 83.20 83.33 83.27
16 1000 83.31 83.32 83.31
32 1000 83.21 83.32 83.26
64 1000 85.45 85.58 85.52
128 1000 166.25 166.29 166.27
256 1000 166.41 166.51 166.46
512 1000 166.41 166.78 166.59
1024 1000 249.75 250.02 249.89
2048 1000 332.84 333.19 333.02
4096 1000 422.80 423.48 423.14
8192 1000 665.95 666.57 666.26
16384 1000 1332.40 1332.43 1332.42
32768 1000 2331.52 2333.22 2332.37
65536 640 4329.15 4329.43 4329.29
131072 320 5849.08 5849.32 5849.20
262144 160 10444.55 10446.08 10445.32
524288 80 17419.00 17421.56 17420.28
1048576 40 36347.63 36351.87 36349.75
2097152 20 68447.90 68452.80 68450.35
4194304 10 135604.71 135647.20 135625.95
#----------------------------------------------------------------
# Benchmarking Reduce
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.10 0.10 0.10
4 1000 82.97 83.09 83.03
8 1000 83.46 83.69 83.57
16 1000 83.21 83.21 83.21
32 1000 106.94 107.07 107.00
64 1000 83.46 83.69 83.57
128 1000 83.45 83.46 83.46
256 1000 125.18 125.30 125.24
512 1000 124.69 124.91 124.80
1024 1000 166.16 166.66 166.41
2048 1000 208.40 208.54 208.47
4096 1000 291.11 291.36 291.23
8192 1000 457.78 458.76 458.27
16384 1000 707.40 707.64 707.52
32768 1000 1330.83 1331.29 1331.06
65536 640 2327.08 2331.81 2329.44
131072 320 4723.25 4741.15 4732.20
262144 160 9164.09 9200.09 9182.09
524288 80 18106.61 18176.20 18141.41
1048576 40 35587.47 35602.70 35595.09
2097152 20 69831.45 70127.86 69979.65
4194304 10 140214.30 140795.70 140505.00
#----------------------------------------------------------------
# Benchmarking Reduce_scatter
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.09 0.09 0.09
4 1000 5.72 6.01 5.87
8 1000 83.31 83.45 83.38
16 1000 83.31 83.44 83.38
32 1000 83.35 83.42 83.39
64 1000 83.31 83.45 83.38
128 1000 83.31 83.45 83.38
256 1000 101.09 101.17 101.13
512 1000 166.52 166.90 166.71
1024 1000 166.44 166.65 166.54
2048 1000 250.01 250.12 250.06
4096 1000 332.77 333.32 333.04
8192 1000 438.53 439.27 438.90
16384 1000 665.24 666.14 665.69
32768 1000 1165.42 1166.88 1166.15
65536 640 2167.66 2168.02 2167.84
131072 320 2821.46 2822.57 2822.01
262144 160 5247.50 5248.27 5247.88
524288 80 9904.91 9906.34 9905.62
1048576 40 20018.88 20021.45 20020.16
2097152 20 39385.95 39391.65 39388.80
4194304 10 78549.61 78720.80 78635.20
#----------------------------------------------------------------
# Benchmarking Allgather
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.07 0.07 0.07
1 1000 83.20 83.35 83.28
2 1000 83.22 83.58 83.40
4 1000 83.30 83.32 83.31
8 1000 83.21 83.33 83.27
16 1000 83.22 83.58 83.40
32 1000 83.30 83.32 83.31
64 1000 83.71 83.84 83.77
128 1000 127.18 127.55 127.37
256 1000 166.51 166.53 166.52
512 1000 166.41 166.54 166.48
1024 1000 249.62 250.09 249.85
2048 1000 332.99 333.21 333.10
4096 1000 416.04 416.44 416.24
8192 1000 665.67 666.75 666.21
16384 1000 1165.35 1166.56 1165.95
32768 1000 2163.37 2163.94 2163.66
65536 640 2920.51 2929.48 2925.00
131072 320 5514.53 5515.59 5515.06
262144 160 9366.71 9367.60 9367.16
524288 80 17007.32 17009.41 17008.37
1048576 40 33668.32 33674.07 33671.20
2097152 20 65819.55 65923.15 65871.35
4194304 10 132655.40 132887.00 132771.20
#----------------------------------------------------------------
# Benchmarking Allgatherv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.08 0.08 0.08
1 1000 83.35 83.35 83.35
2 1000 83.23 83.30 83.26
4 1000 83.22 83.33 83.27
8 1000 83.34 83.36 83.35
16 1000 83.22 83.30 83.26
32 1000 83.21 83.31 83.26
64 1000 83.32 83.35 83.34
128 1000 85.99 86.06 86.02
256 1000 124.93 124.94 124.93
512 1000 125.03 125.07 125.05
1024 1000 166.45 166.57 166.51
2048 1000 208.18 208.33 208.25
4096 1000 291.73 291.93 291.83
8192 1000 457.68 457.86 457.77
16384 1000 742.08 742.21 742.14
32768 1000 1368.43 1368.82 1368.63
65536 640 2943.65 2943.90 2943.77
131072 320 4968.62 4981.13 4974.87
262144 160 8509.21 8510.49 8509.85
524288 80 17457.37 17459.48 17458.43
1048576 40 33637.10 33637.32 33637.21
2097152 20 71884.05 72004.35 71944.20
4194304 10 131966.49 132105.41 132035.95
#----------------------------------------------------------------
# Benchmarking Gather
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.10 0.10 0.10
1 1000 83.45 83.55 83.50
2 1000 83.56 83.56 83.56
4 1000 124.68 124.75 124.72
8 1000 83.45 83.54 83.50
16 1000 83.56 83.56 83.56
32 1000 124.68 124.76 124.72
64 1000 83.44 83.56 83.50
128 1000 83.56 83.57 83.57
256 1000 124.94 125.02 124.98
512 1000 147.92 147.95 147.93
1024 1000 166.82 166.85 166.84
2048 1000 208.19 208.30 208.24
4096 1000 290.95 291.34 291.15
8192 1000 612.93 613.01 612.97
16384 1000 1581.66 1581.91 1581.78
32768 1000 1746.24 1749.22 1747.73
65536 640 3255.00 3255.99 3255.50
131072 320 6603.48 6622.19 6612.84
262144 160 8267.40 8308.92 8288.16
524288 80 15175.85 15351.15 15263.50
1048576 40 31347.85 31733.27 31540.56
2097152 20 61956.50 62838.60 62397.55
4194304 10 119212.61 120932.20 120072.40
#----------------------------------------------------------------
# Benchmarking Gatherv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.38 0.46 0.42
1 1000 83.46 83.68 83.57
2 1000 124.68 125.01 124.85
4 1000 89.71 89.94 89.82
8 1000 83.46 83.67 83.57
16 1000 124.69 125.01 124.85
32 1000 124.69 124.93 124.81
64 1000 83.45 83.67 83.56
128 1000 124.68 125.00 124.84
256 1000 124.69 124.93 124.81
512 1000 166.41 166.62 166.51
1024 1000 166.41 166.73 166.57
2048 1000 207.90 208.39 208.15
4096 1000 317.58 317.82 317.70
8192 1000 417.04 417.39 417.22
16384 1000 747.38 749.11 748.25
32768 1000 1301.08 1301.53 1301.30
65536 640 2620.09 2620.80 2620.44
131072 320 4401.79 4414.69 4408.24
262144 160 8242.65 8290.97 8266.81
524288 80 15933.68 16125.92 16029.80
1048576 40 31258.40 31705.15 31481.77
2097152 20 61118.10 62151.14 61634.62
4194304 10 120888.01 123196.51 122042.26
#----------------------------------------------------------------
# Benchmarking Scatter
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.09 0.10 0.09
1 1000 83.45 83.53 83.49
2 1000 83.21 83.31 83.26
4 1000 83.09 83.20 83.15
8 1000 83.45 83.53 83.49
16 1000 84.21 84.32 84.26
32 1000 83.07 83.20 83.14
64 1000 83.44 83.53 83.48
128 1000 124.69 124.79 124.74
256 1000 124.80 124.93 124.87
512 1000 124.69 124.79 124.74
1024 1000 166.44 166.56 166.50
2048 1000 248.38 248.86 248.62
4096 1000 291.76 291.92 291.84
8192 1000 457.61 457.80 457.71
16384 1000 707.57 707.83 707.70
32768 1000 1287.14 1290.05 1288.59
65536 640 2699.22 2700.09 2699.65
131072 320 4400.43 4411.66 4406.05
262144 160 8259.55 8305.96 8282.75
524288 80 15927.52 16103.76 16015.64
1048576 40 31187.25 31576.73 31381.99
2097152 20 61222.19 62028.40 61625.30
4194304 10 121413.80 122757.09 122085.44
#----------------------------------------------------------------
# Benchmarking Scatterv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.16 0.39 0.27
1 1000 83.55 83.56 83.56
2 1000 83.45 83.56 83.50
4 1000 124.78 124.93 124.85
8 1000 83.55 83.57 83.56
16 1000 83.45 83.57 83.51
32 1000 124.78 124.93 124.86
64 1000 83.55 83.56 83.55
128 1000 83.46 83.55 83.51
256 1000 124.79 124.94 124.86
512 1000 124.81 124.82 124.81
1024 1000 166.43 166.55 166.49
2048 1000 207.82 208.14 207.98
4096 1000 291.84 291.90 291.87
8192 1000 457.63 457.80 457.72
16384 1000 747.60 749.09 748.34
32768 1000 1334.13 1334.43 1334.28
65536 640 2662.07 2671.19 2666.63
131072 320 4402.00 4414.41 4408.21
262144 160 8217.71 8264.72 8241.22
524288 80 15925.36 16103.64 16014.50
1048576 40 31205.37 31595.17 31400.27
2097152 20 61205.45 62003.20 61604.33
4194304 10 121338.49 122651.01 121994.75
#----------------------------------------------------------------
# Benchmarking Alltoall
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.07 0.07 0.07
1 1000 83.25 83.28 83.26
2 1000 83.26 83.27 83.26
4 1000 83.34 83.39 83.36
8 1000 83.26 83.27 83.26
16 1000 83.26 83.27 83.26
32 1000 83.34 83.38 83.36
64 1000 83.26 83.27 83.26
128 1000 83.25 83.28 83.26
256 1000 83.34 83.37 83.36
512 1000 163.68 163.72 163.70
1024 1000 166.47 166.52 166.49
2048 1000 249.76 250.00 249.88
4096 1000 292.24 292.32 292.28
8192 1000 448.03 448.12 448.07
16384 1000 748.86 749.00 748.93
32768 1000 1363.13 1363.43 1363.28
65536 640 3615.99 3623.98 3619.99
131072 320 5047.32 5047.71 5047.52
262144 160 8606.22 8606.56 8606.39
524288 80 17075.45 17076.21 17075.83
1048576 40 33530.60 33531.80 33531.20
2097152 20 69143.55 69159.20 69151.37
4194304 10 131056.59 131091.81 131074.20
#----------------------------------------------------------------
# Benchmarking Alltoallv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.14 0.14 0.14
1 1000 83.20 83.32 83.26
2 1000 83.44 83.59 83.51
4 1000 83.22 83.32 83.27
8 1000 83.21 83.33 83.27
16 1000 83.21 83.35 83.28
32 1000 83.23 83.33 83.28
64 1000 83.96 84.09 84.02
128 1000 83.22 83.35 83.28
256 1000 164.44 164.51 164.48
512 1000 167.92 168.06 167.99
1024 1000 249.62 250.01 249.81
2048 1000 253.24 253.45 253.34
4096 1000 416.03 416.27 416.15
8192 1000 675.16 676.03 675.60
16384 1000 1164.91 1165.27 1165.09
32768 1000 2163.41 2166.73 2165.07
65536 640 2662.34 2662.35 2662.34
131072 320 4641.82 4642.85 4642.33
262144 160 8625.29 8628.29 8626.79
524288 80 17067.64 17068.79 17068.21
1048576 40 33315.80 33319.93 33317.86
2097152 20 65997.45 66014.19 66005.82
4194304 10 143176.19 143287.50 143231.85
#----------------------------------------------------------------
# Benchmarking Bcast
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.07 0.07 0.07
1 1000 83.45 83.69 83.57
2 1000 82.96 83.20 83.08
4 1000 83.21 83.44 83.32
8 1000 83.71 83.95 83.83
16 1000 98.95 98.95 98.95
32 1000 83.46 83.69 83.57
64 1000 83.46 83.72 83.59
128 1000 124.69 124.93 124.81
256 1000 125.19 125.42 125.30
512 1000 124.69 124.96 124.82
1024 1000 166.42 166.66 166.54
2048 1000 251.74 252.35 252.05
4096 1000 378.96 379.05 379.00
8192 1000 540.24 540.88 540.56
16384 1000 511.99 512.48 512.23
32768 1000 1213.45 1214.10 1213.78
65536 640 1248.10 1249.55 1248.83
131072 320 4693.22 4695.31 4694.26
262144 160 8344.76 8370.39 8357.58
524288 80 16044.16 16134.94 16089.55
1048576 40 31676.47 31857.75 31767.11
2097152 20 62990.75 63178.30 63084.52
4194304 10 125093.00 125792.49 125442.74
#---------------------------------------------------
# Benchmarking Barrier
# #processes = 2
#---------------------------------------------------
#repetitions t_min[usec] t_max[usec] t_avg[usec]
1000 83.22 83.30 83.26
# All processes entering MPI_Finalize
#---------------------------------------------------
# Intel (R) MPI Benchmark Suite V3.2, MPI-1 part
#---------------------------------------------------
# Date : Tue Aug 30 09:53:37 2011
# Machine : i686
# System : Linux
# Release : 2.6.32-24-generic-pae
# Version : #39-Ubuntu SMP Wed Jul 28 07:39:26 UTC 2010
# MPI Version : 2.1
# MPI Thread Environment: MPI_THREAD_SINGLE
# New default behavior from Version 3.2 on:
# the number of iterations per message size is cut down
# dynamically when a certain run time (per message size sample)
# is expected to be exceeded. Time limit is defined by variable
# "SECS_PER_SAMPLE" (=> IMB_settings.h)
# or through the flag => -time
# Calling sequence was:
# ./IMB-MPI1
# Minimum message length in bytes: 0
# Maximum message length in bytes: 4194304
#
# MPI_Datatype : MPI_BYTE
# MPI_Datatype for reductions : MPI_FLOAT
# MPI_Op : MPI_SUM
#
#
# List of Benchmarks to run:
# PingPong
# PingPing
# Sendrecv
# Exchange
# Allreduce
# Reduce
# Reduce_scatter
# Allgather
# Allgatherv
# Gather
# Gatherv
# Scatter
# Scatterv
# Alltoall
# Alltoallv
# Bcast
# Barrier
#---------------------------------------------------
# Benchmarking PingPong
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 48.02 0.00
1 1000 53.09 0.02
2 1000 53.12 0.04
4 1000 53.10 0.07
8 1000 53.34 0.14
16 1000 52.97 0.29
32 1000 54.03 0.56
64 1000 55.00 1.11
128 1000 56.13 2.17
256 1000 59.38 4.11
512 1000 63.37 7.70
1024 1000 72.56 13.46
2048 1000 82.81 23.58
4096 1000 103.83 37.62
8192 1000 132.99 58.74
16384 1000 210.22 74.33
32768 1000 359.88 86.84
65536 640 751.87 83.13
131072 320 1311.29 95.33
262144 160 2415.03 103.52
524288 80 4618.66 108.26
1048576 40 9016.63 110.91
2097152 20 17812.12 112.28
4194304 10 35408.06 112.97
#---------------------------------------------------
# Benchmarking PingPing
# #processes = 2
#---------------------------------------------------
#bytes #repetitions t[usec] Mbytes/sec
0 1000 65.11 0.00
1 1000 58.53 0.02
2 1000 58.63 0.03
4 1000 58.26 0.07
8 1000 58.67 0.13
16 1000 58.64 0.26
32 1000 58.80 0.52
64 1000 59.37 1.03
128 1000 59.97 2.04
256 1000 63.41 3.85
512 1000 65.48 7.46
1024 1000 74.57 13.10
2048 1000 101.59 19.22
4096 1000 107.06 36.49
8192 1000 160.29 48.74
16384 1000 218.45 71.53
32768 1000 363.60 85.95
65536 640 761.88 82.03
131072 320 1315.96 94.99
262144 160 2420.14 103.30
524288 80 4624.97 108.11
1048576 40 9026.73 110.78
2097152 20 17827.41 112.19
4194304 10 35421.89 112.92
#-----------------------------------------------------------------------------
# Benchmarking Sendrecv
# #processes = 2
#-----------------------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec] Mbytes/sec
0 1000 64.96 64.96 64.96 0.00
1 1000 58.29 58.38 58.33 0.03
2 1000 59.04 59.14 59.09 0.06
4 1000 58.93 58.93 58.93 0.13
8 1000 59.83 59.83 59.83 0.26
16 1000 59.39 59.48 59.43 0.51
32 1000 59.62 59.71 59.67 1.02
64 1000 61.02 61.03 61.03 2.00
128 1000 59.42 59.43 59.42 4.11
256 1000 63.71 63.72 63.72 7.66
512 1000 65.60 65.61 65.61 14.88
1024 1000 74.08 74.10 74.09 26.36
2048 1000 102.45 102.46 102.46 38.12
4096 1000 107.31 107.33 107.32 72.79
8192 1000 158.81 158.83 158.82 98.38
16384 1000 219.96 219.99 219.98 142.05
32768 1000 364.82 364.90 364.86 171.28
65536 640 762.00 762.09 762.04 164.02
131072 320 1316.53 1316.64 1316.59 189.88
262144 160 2421.23 2421.65 2421.44 206.47
524288 80 4626.06 4627.05 4626.56 216.12
1048576 40 9024.32 9026.47 9025.40 221.57
2097152 20 17824.25 17826.70 17825.48 224.38
4194304 10 35415.39 35420.69 35418.04 225.86
#-----------------------------------------------------------------------------
# Benchmarking Exchange
# #processes = 2
#-----------------------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec] Mbytes/sec
0 1000 69.03 69.07 69.05 0.00
1 1000 74.91 74.91 74.91 0.05
2 1000 74.90 74.91 74.90 0.10
4 1000 74.56 74.57 74.56 0.20
8 1000 74.71 74.73 74.72 0.41
16 1000 74.94 74.95 74.94 0.81
32 1000 75.48 75.50 75.49 1.62
64 1000 76.55 76.55 76.55 3.19
128 1000 78.04 78.06 78.05 6.26
256 1000 81.93 81.93 81.93 11.92
512 1000 88.41 88.42 88.41 22.09
1024 1000 99.88 99.89 99.89 39.11
2048 1000 120.29 120.29 120.29 64.94
4096 1000 145.09 145.12 145.11 107.67
8192 1000 213.92 214.00 213.96 146.03
16384 1000 369.48 369.49 369.48 169.15
32768 1000 640.35 640.39 640.37 195.19
65536 640 1729.81 1730.17 1729.99 144.49
131072 320 3392.43 3393.60 3393.01 147.34
262144 160 6704.19 6706.61 6705.40 149.11
524288 80 13321.97 13326.80 13324.39 150.07
1048576 40 26506.52 26514.93 26510.73 150.86
2097152 20 52884.00 52902.65 52893.33 151.22
4194304 10 105635.49 105664.50 105650.00 151.42
#----------------------------------------------------------------
# Benchmarking Allreduce
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.09 0.09 0.09
4 1000 58.28 58.30 58.29
8 1000 58.50 58.57 58.54
16 1000 59.14 59.22 59.18
32 1000 58.26 58.28 58.27
64 1000 59.77 59.80 59.79
128 1000 60.38 60.41 60.40
256 1000 62.93 62.96 62.94
512 1000 66.81 66.86 66.84
1024 1000 74.43 74.45 74.44
2048 1000 105.00 105.02 105.01
4096 1000 111.08 111.10 111.09
8192 1000 166.29 166.32 166.31
16384 1000 328.37 328.39 328.38
32768 1000 457.33 457.35 457.34
65536 640 769.11 769.12 769.11
131072 320 1626.24 1626.32 1626.28
262144 160 2872.83 2872.85 2872.84
524288 80 5471.62 5471.71 5471.67
1048576 40 10869.55 10869.80 10869.67
2097152 20 21205.45 21208.20 21206.83
4194304 10 41878.00 41883.71 41880.85
#----------------------------------------------------------------
# Benchmarking Reduce
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.10 0.11 0.10
4 1000 56.99 56.99 56.99
8 1000 57.29 57.30 57.29
16 1000 57.36 57.37 57.36
32 1000 57.35 57.36 57.36
64 1000 58.58 58.58 58.58
128 1000 59.51 59.51 59.51
256 1000 62.27 62.28 62.28
512 1000 67.06 67.06 67.06
1024 1000 76.69 76.70 76.69
2048 1000 87.20 87.24 87.22
4096 1000 109.48 109.52 109.50
8192 1000 140.09 140.18 140.13
16384 1000 221.85 222.00 221.92
32768 1000 379.81 380.08 379.95
65536 640 659.74 660.21 659.98
131072 320 1482.93 1483.86 1483.40
262144 160 2844.96 2846.83 2845.89
524288 80 5550.53 5554.35 5552.44
1048576 40 10958.02 10965.80 10961.91
2097152 20 21763.45 21779.00 21771.23
4194304 10 43403.41 43433.90 43418.66
#----------------------------------------------------------------
# Benchmarking Reduce_scatter
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.09 0.09 0.09
4 1000 9.79 9.90 9.84
8 1000 59.85 59.94 59.89
16 1000 60.12 60.21 60.17
32 1000 60.88 60.98 60.93
64 1000 61.26 61.35 61.31
128 1000 61.91 61.99 61.95
256 1000 63.16 63.21 63.18
512 1000 66.86 66.96 66.91
1024 1000 68.99 69.12 69.06
2048 1000 75.76 75.88 75.82
4096 1000 106.28 106.43 106.36
8192 1000 113.94 114.07 114.01
16384 1000 171.63 171.80 171.71
32768 1000 254.28 254.50 254.39
65536 640 427.92 428.03 427.98
131072 320 897.91 898.07 897.99
262144 160 1980.88 1980.94 1980.91
524288 80 3794.40 3794.90 3794.65
1048576 40 7731.62 7733.00 7732.31
2097152 20 15235.45 15236.14 15235.80
4194304 10 30018.11 30023.91 30021.01
#----------------------------------------------------------------
# Benchmarking Allgather
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.08 0.08 0.08
1 1000 58.33 58.33 58.33
2 1000 59.12 59.21 59.17
4 1000 58.94 58.94 58.94
8 1000 58.67 58.72 58.69
16 1000 59.17 59.18 59.18
32 1000 59.17 59.25 59.21
64 1000 60.35 60.44 60.40
128 1000 61.04 61.11 61.07
256 1000 64.00 64.09 64.04
512 1000 65.87 65.91 65.89
1024 1000 73.17 73.19 73.18
2048 1000 102.97 103.00 102.99
4096 1000 108.24 108.26 108.25
8192 1000 161.31 161.33 161.32
16384 1000 224.38 224.41 224.40
32768 1000 375.53 375.54 375.54
65536 640 786.37 786.46 786.42
131072 320 1374.91 1375.17 1375.04
262144 160 2593.41 2593.92 2593.67
524288 80 5087.68 5088.04 5087.86
1048576 40 9958.72 9960.65 9959.69
2097152 20 19688.95 19695.50 19692.23
4194304 10 39225.91 39235.01 39230.46
#----------------------------------------------------------------
# Benchmarking Allgatherv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.08 0.08 0.08
1 1000 59.41 59.49 59.45
2 1000 59.24 59.30 59.27
4 1000 59.68 59.68 59.68
8 1000 59.69 59.69 59.69
16 1000 59.87 59.88 59.88
32 1000 59.93 59.93 59.93
64 1000 60.85 60.85 60.85
128 1000 60.47 60.49 60.48
256 1000 63.58 63.63 63.60
512 1000 65.78 65.83 65.80
1024 1000 73.70 73.72 73.71
2048 1000 103.31 103.32 103.32
4096 1000 108.31 108.33 108.32
8192 1000 161.40 161.43 161.41
16384 1000 224.31 224.34 224.32
32768 1000 375.21 375.30 375.26
65536 640 786.31 786.42 786.37
131072 320 1374.04 1374.20 1374.12
262144 160 2591.09 2591.47 2591.28
524288 80 5094.81 5095.79 5095.30
1048576 40 9974.03 9974.97 9974.50
2097152 20 19681.55 19685.00 19683.27
4194304 10 39116.71 39125.10 39120.90
#----------------------------------------------------------------
# Benchmarking Gather
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.10 0.10 0.10
1 1000 58.12 58.13 58.13
2 1000 57.25 57.25 57.25
4 1000 56.60 56.61 56.61
8 1000 57.18 57.19 57.19
16 1000 56.93 56.94 56.93
32 1000 57.33 57.33 57.33
64 1000 58.48 58.49 58.49
128 1000 59.18 59.19 59.18
256 1000 62.37 62.37 62.37
512 1000 66.32 66.32 66.32
1024 1000 75.56 75.58 75.57
2048 1000 85.86 85.90 85.88
4096 1000 107.48 107.51 107.50
8192 1000 148.09 148.14 148.11
16384 1000 226.90 227.03 226.97
32768 1000 374.86 375.11 374.98
65536 640 656.48 657.19 656.83
131072 320 1325.60 1326.82 1326.21
262144 160 2428.42 2430.82 2429.62
524288 80 4853.36 4858.16 4855.76
1048576 40 9727.32 9734.55 9730.94
2097152 20 19421.75 19436.10 19428.92
4194304 10 38849.61 38873.59 38861.60
#----------------------------------------------------------------
# Benchmarking Gatherv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.16 0.26 0.21
1 1000 56.84 56.84 56.84
2 1000 57.43 57.44 57.43
4 1000 56.98 56.98 56.98
8 1000 56.80 56.80 56.80
16 1000 56.92 56.93 56.93
32 1000 57.06 57.06 57.06
64 1000 58.48 58.49 58.48
128 1000 59.20 59.20 59.20
256 1000 62.08 62.08 62.08
512 1000 67.79 67.80 67.79
1024 1000 75.51 75.53 75.52
2048 1000 85.95 85.99 85.97
4096 1000 108.71 108.74 108.72
8192 1000 136.93 137.01 136.97
16384 1000 216.16 216.31 216.23
32768 1000 368.89 369.15 369.02
65536 640 770.53 770.95 770.74
131072 320 1342.23 1343.49 1342.86
262144 160 2505.54 2508.84 2507.19
524288 80 4860.69 4870.29 4865.49
1048576 40 9503.73 9536.87 9520.30
2097152 20 18731.45 18846.80 18789.12
4194304 10 37219.49 37624.49 37421.99
#----------------------------------------------------------------
# Benchmarking Scatter
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.09 0.10 0.09
1 1000 56.55 56.64 56.60
2 1000 56.80 56.90 56.85
4 1000 56.93 57.02 56.98
8 1000 56.96 57.06 57.01
16 1000 57.54 57.65 57.59
32 1000 57.02 57.11 57.06
64 1000 58.34 58.43 58.39
128 1000 59.14 59.23 59.19
256 1000 62.17 62.27 62.22
512 1000 66.49 66.60 66.55
1024 1000 75.58 75.70 75.64
2048 1000 86.01 86.18 86.09
4096 1000 107.49 107.64 107.56
8192 1000 136.51 136.71 136.61
16384 1000 214.72 214.98 214.85
32768 1000 367.54 367.90 367.72
65536 640 769.01 769.50 769.25
131072 320 1337.01 1338.32 1337.67
262144 160 2475.67 2477.35 2476.51
524288 80 4804.42 4804.79 4804.61
1048576 40 9513.70 9524.85 9519.27
2097152 20 18781.25 18854.15 18817.70
4194304 10 37295.00 37617.20 37456.10
#----------------------------------------------------------------
# Benchmarking Scatterv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.15 0.26 0.21
1 1000 57.08 57.17 57.12
2 1000 57.14 57.23 57.18
4 1000 57.42 57.52 57.47
8 1000 57.31 57.40 57.36
16 1000 57.75 57.84 57.80
32 1000 57.61 57.70 57.66
64 1000 58.68 58.77 58.72
128 1000 59.53 59.62 59.57
256 1000 62.22 62.31 62.26
512 1000 66.35 66.45 66.40
1024 1000 75.60 75.73 75.66
2048 1000 85.61 85.75 85.68
4096 1000 107.50 107.65 107.57
8192 1000 136.41 136.60 136.50
16384 1000 214.70 214.96 214.83
32768 1000 367.31 367.69 367.50
65536 640 770.77 771.27 771.02
131072 320 1337.10 1338.11 1337.61
262144 160 2474.92 2476.29 2475.60
524288 80 4804.73 4805.27 4805.00
1048576 40 9513.67 9525.98 9519.82
2097152 20 18780.40 18848.69 18814.55
4194304 10 37294.70 37621.91 37458.31
#----------------------------------------------------------------
# Benchmarking Alltoall
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.07 0.09 0.08
1 1000 60.01 60.11 60.06
2 1000 59.35 59.43 59.39
4 1000 60.07 60.07 60.07
8 1000 60.25 60.26 60.25
16 1000 59.24 59.28 59.26
32 1000 60.62 60.63 60.63
64 1000 61.33 61.39 61.36
128 1000 62.29 62.29 62.29
256 1000 63.72 63.82 63.77
512 1000 66.82 66.84 66.83
1024 1000 73.57 73.59 73.58
2048 1000 103.78 103.80 103.79
4096 1000 108.66 108.67 108.66
8192 1000 162.17 162.20 162.18
16384 1000 225.02 225.05 225.04
32768 1000 375.13 375.15 375.14
65536 640 788.79 788.94 788.87
131072 320 1387.48 1387.67 1387.58
262144 160 2630.75 2631.28 2631.01
524288 80 5105.62 5106.15 5105.89
1048576 40 9975.75 9977.53 9976.64
2097152 20 19682.85 19686.49 19684.67
4194304 10 39144.01 39149.50 39146.76
#----------------------------------------------------------------
# Benchmarking Alltoallv
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.14 0.15 0.14
1 1000 59.22 59.23 59.23
2 1000 59.12 59.14 59.13
4 1000 59.29 59.30 59.30
8 1000 58.58 58.61 58.60
16 1000 59.76 59.78 59.77
32 1000 59.54 59.54 59.54
64 1000 60.36 60.39 60.37
128 1000 61.09 61.18 61.14
256 1000 64.90 64.90 64.90
512 1000 66.47 66.54 66.51
1024 1000 74.14 74.15 74.14
2048 1000 103.40 103.42 103.41
4096 1000 108.44 108.46 108.45
8192 1000 161.89 161.92 161.91
16384 1000 224.89 224.92 224.91
32768 1000 375.05 375.07 375.06
65536 640 786.44 786.47 786.45
131072 320 1388.08 1388.22 1388.15
262144 160 2630.65 2630.78 2630.72
524288 80 5106.59 5107.20 5106.89
1048576 40 9975.30 9976.85 9976.07
2097152 20 19689.00 19692.10 19690.55
4194304 10 39146.31 39152.60 39149.45
#----------------------------------------------------------------
# Benchmarking Bcast
# #processes = 2
#----------------------------------------------------------------
#bytes #repetitions t_min[usec] t_max[usec] t_avg[usec]
0 1000 0.07 0.07 0.07
1 1000 57.76 57.84 57.80
2 1000 57.32 57.41 57.37
4 1000 57.50 57.59 57.54
8 1000 57.38 57.47 57.43
16 1000 57.54 57.63 57.59
32 1000 57.91 58.00 57.95
64 1000 58.67 58.78 58.73
128 1000 59.73 59.82 59.78
256 1000 62.50 62.61 62.55
512 1000 66.42 66.53 66.47
1024 1000 75.79 75.92 75.85
2048 1000 83.37 83.52 83.45
4096 1000 102.90 103.08 102.99
8192 1000 151.28 151.52 151.40
16384 1000 239.22 239.48 239.35
32768 1000 408.39 408.70 408.55
65536 640 744.83 745.45 745.14
131072 320 1520.14 1523.98 1522.06
262144 160 2939.16 2942.35 2940.76
524288 80 4993.96 5000.30 4997.13
1048576 40 9894.78 9907.50 9901.14
2097152 20 19704.85 19730.35 19717.60
4194304 10 39340.31 39391.80 39366.05
#---------------------------------------------------
# Benchmarking Barrier
# #processes = 2
#---------------------------------------------------
#repetitions t_min[usec] t_max[usec] t_avg[usec]
1000 65.26 65.26 65.26
# All processes entering MPI_Finalize
/* ------------------------------------------------------------------------
*
* client_tipc.c
*
* Short description: TIPC hello world demo (client side)
* ------------------------------------------------------------------------
*
* Copyright (c) 2003, Ericsson Research Canada
* Copyright (c) 2010 Wind River Systems
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* Neither the name of Ericsson Research Canada nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* ------------------------------------------------------------------------
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netinet/in.h>
#include <linux/tipc.h>
#define SERVER_TYPE 18888
#define SERVER_INST 17
void wait_for_server(__u32 name_type, __u32 name_instance, int wait)
{
struct sockaddr_tipc topsrv;
struct tipc_subscr subscr;
struct tipc_event event;
int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0);
memset(&topsrv, 0, sizeof(topsrv));
topsrv.family = AF_TIPC;
topsrv.addrtype = TIPC_ADDR_NAME;
topsrv.addr.name.name.type = TIPC_TOP_SRV;
topsrv.addr.name.name.instance = TIPC_TOP_SRV;
/* Connect to topology server */
if (0 > connect(sd, (struct sockaddr *)&topsrv, sizeof(topsrv))) {
perror("Client: failed to connect to topology server");
exit(1);
}
subscr.seq.type = htonl(name_type);
subscr.seq.lower = htonl(name_instance);
subscr.seq.upper = htonl(name_instance);
subscr.timeout = htonl(wait);
subscr.filter = htonl(TIPC_SUB_SERVICE);
if (send(sd, &subscr, sizeof(subscr), 0) != sizeof(subscr)) {
perror("Client: failed to send subscription");
exit(1);
}
/* Now wait for the subscription to fire */
if (recv(sd, &event, sizeof(event), 0) != sizeof(event)) {
perror("Client: failed to receive event");
exit(1);
}
if (event.event != htonl(TIPC_PUBLISHED)) {
printf("Client: server {%u,%u} not published within %u [s]\n",
name_type, name_instance, wait/1000);
exit(1);
}
close(sd);
}
int main(int argc, char *argv[], char *dummy[])
{
int sd;
struct sockaddr_tipc server_addr;
char buf[40] = {"Hello World"};
printf("****** TIPC client hello world program started ******\n\n");
wait_for_server(SERVER_TYPE, SERVER_INST, 10000);
sd = socket(AF_TIPC, SOCK_RDM, 0);
server_addr.family = AF_TIPC;
server_addr.addrtype = TIPC_ADDR_NAME;
server_addr.addr.name.name.type = SERVER_TYPE;
server_addr.addr.name.name.instance = SERVER_INST;
server_addr.addr.name.domain = 0;
if (0 > sendto(sd, buf, strlen(buf)+1, 0,
(struct sockaddr*)&server_addr, sizeof(server_addr))) {
perror("Client: failed to send");
exit(1);
}
if (0 >= recv(sd, buf, sizeof(buf), 0)) {
perror("Client: unexpected response");
exit(1);
}
printf("Client: received response: %s \n", buf);
printf("\n****** TIPC client hello program finished ******\n");
exit(0);
}
/* ------------------------------------------------------------------------
*
* server_tipc.c
*
* Short description: TIPC hello world demo (server side)
* ------------------------------------------------------------------------
*
* Copyright (c) 2003, Ericsson Research Canada
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* Neither the name of Ericsson Research Canada nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* ------------------------------------------------------------------------
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <linux/tipc.h>
#define SERVER_TYPE 18888
#define SERVER_INST 17
int main(int argc, char *argv[], char *dummy[])
{
struct sockaddr_tipc server_addr;
struct sockaddr_tipc client_addr;
socklen_t alen = sizeof(client_addr);
int sd;
char inbuf[40];
char outbuf[40] = "Uh ?";
printf("****** TIPC server hello world program started ******\n\n");
server_addr.family = AF_TIPC;
server_addr.addrtype = TIPC_ADDR_NAMESEQ;
server_addr.addr.nameseq.type = SERVER_TYPE;
server_addr.addr.nameseq.lower = SERVER_INST;
server_addr.addr.nameseq.upper = SERVER_INST;
server_addr.scope = TIPC_ZONE_SCOPE;
sd = socket(AF_TIPC, SOCK_RDM, 0);
if (0 != bind(sd, (struct sockaddr *)&server_addr, sizeof(server_addr)))
{
printf("Server: failed to bind port name\n");
exit(1);
}
if (0 >= recvfrom(sd, inbuf, sizeof(inbuf), 0, (struct sockaddr *)&client_addr, &alen))
{
perror("Server: unexpected message");
}
printf("Server: Message received: %s !\n", inbuf);
if (0 > sendto(sd, outbuf, strlen(outbuf)+1, 0, (struct sockaddr *)&client_addr, sizeof(client_addr)))
{
perror("Server: failed to send");
}
printf("\n****** TIPC server hello program finished ******\n");
exit(0);
}