#!/bin/bash

reserve="-reserve 748873"
timeout="-t 10:0"
# javaflags="-ip-map /home/rutger/myrinet-ip-map"

myri_N=10000
tcp_N=2000
# tcp_N=10000

n=10

sers="ibis sun"
# sers="sun"

# Byte serialization can only handle bytes

ibises="panda net.gm"
# ibises="panda"

if true ; then
    ser="byte"
    data="-byte"
    for ibis in $ibises ; do
	for (( i = 0; i < $n; i++ )) ; do
	    sh run-rpc $ibis $ser $myri_N 100000 "$reserve $timeout" "$javaflags" $data
	done
    done
fi

if true ; then
    for ibis in $ibises ; do
	for (( i = 0; i < $n; i++ )) ; do
	    for ser in $sers ; do
if false; then
		for data in "-byte" "-int" "-double" ; do
		    sh run-rpc $ibis $ser $myri_N 100000 "$reserve $timeout" "$javaflags" $data
		done
fi
		sh run-rpc $ibis $ser $myri_N 1023 "$reserve $timeout" "$javaflags" "-tree -one-way"
	    done
	done
    done
fi

# ibises="tcp net.bytes.gen.tcp_blk"
ibises="tcp net.bytes.gen.tcp_blk"

# Byte serialization can only handle bytes

if true ; then
    ser="byte"
    data="-byte"
    for (( i = 0; i < $n; i++ )) ; do
	for ibis in $ibises ; do
	    for (( j = 0; j < $(( $myri_N / $tcp_N )) ; j++ )) ; do
		sh run-rpc $ibis $ser $tcp_N 100000 "$reserve $timeout" "$javaflags" $data
	    done
	done
    done
fi

if true ; then
    for (( i = 0; i < $n; i++ )) ; do
	for ibis in $ibises ; do
	    for (( j = 0; j < $(( $myri_N / $tcp_N )) ; j++ )) ; do
		for ser in $sers ; do
		    for data in "-byte" "-int" "-double" ; do
			sh run-rpc $ibis $ser $tcp_N 100000 "$reserve $timeout" "$javaflags" $data
		    done
		    sh run-rpc $ibis $ser $tcp_N 1023 "$reserve $timeout" "$javaflags" "-tree"
		done
	    done
	done
    done
fi
