Simgrid setup
Git revision
cd ~/simgrid3 && git rev-parse HEAD
cmake configuration
cd ~/simgrid3 && cmake --system-information
Experimental setup
Code
C code
Makefile
Early experiment
touch res.txt
echo "Platform: $platform" >> res.txt
for i in 1 2 5 10 20 50 ; do
for j in Full Lazy ; do
echo "Network/optim: $j" >> res.txt
echo "Number of flows: $i" >> res.txt
./random_flows $platform $i --cfg=network/optim:$j 2>/dev/null >> res.txt
done
done
echo -n res.txt
DoE
R DoE
| library(DoE.base)
design = fac.design(factor.names=list(platform=c("msg_platform.xml","median_p2psim.xml"), optim=c("Lazy","Full"),
numflows=c(1, 2, 5, 10, 20, 50, 100, 200)),replication=5)
#cbind(run.order(design),design)
#write.csv(doe,paoutput, row.names = TRUE, quote=FALSE)
export.design(design, filename = output, type = "csv")
|
Makefile Generation
./doe_makefile_generate.pl $output.csv
Experiment execution
make -C $output
cat $output/*.txt > $output.txt
open INPUT, $input;
$output = $input;
$output =~ s/\.txt$/.csv/;
$output = "res_".$output;
open OUTPUT, "> ".$output;
while($line=<INPUT>) {
if($line =~ /^platform: *(.*)$/) {
$platform = $1;
} elsif($line =~ /^run.no: *(.*)$/) {
$run_no = $1;
} elsif($line =~ /^optim: *(.*)$/) {
$optim = $1;
} elsif($line =~ /numflows: *(.*)$/) {
$num = $1;
} elsif ($line =~ /Elapsed time : *(.*)/) {
print OUTPUT "$run_no, $platform, $num, $optim, $1\n";
}
}
print $output
Typical R analysis
| library(ggplot2)
df <- read.csv(input, header=FALSE, strip.white=TRUE)
names(df) <- c("run.no", "platform", "numflows", "optim", "elapsed")
|
Whole run
Let's do a real set of experiments now down to the final plot.
| library(DoE.base)
design = fac.design(factor.names=list(platform=c("waxman_200_1H.xml","msg_platform.xml","median_p2psim.xml"), optim=c("Lazy","Full"),
numflows=c(10, 50, 100, 150)),replication=50)
export.design(design, filename = output, type = "csv")
|
file:
make: entrant dans le répertoire « /home/alegrand/Work/Documents/Articles/2012/simgrid3/experiments/plan4 »
make: quittant le répertoire « /home/alegrand/Work/Documents/Articles/2012/simgrid3/experiments/plan4 »
file: