Ian Goldberg 1 рік тому
батько
коміт
9d418ca091
3 змінених файлів з 23 додано та 29 видалено
  1. 18 24
      docker/parse_logs
  2. 2 2
      docker/repro
  3. 3 3
      docker/run-experiment

+ 18 - 24
docker/parse_logs

@@ -3,6 +3,7 @@
 use strict;
 
 my $size = 0;
+my $iters = 0;
 my $who = '';
 my $mode = '';
 my %res = ();
@@ -14,7 +15,7 @@ while(<>) {
         $netsetup = "$1 ";
         next;
     }
-    $size = "$1|$2" if /===== Running oram (\d+) (\d+)/;
+    ($size,$iters) = ($1,$2) if /===== Running oram (\d+) (\d+)/;
     $res{$size} = {} unless defined $res{$size};
     $who = $1 if /===== ([CDE]) output/;
     $mode = $1 if /(Online Time|Offline Time|ETE)/;
@@ -39,6 +40,22 @@ while(<>) {
         $res{$size}->{'onlbytes'} += $onlinebytes;
         $res{$size}->{'totbytes'} += $totbytes;
     }
+    if (/===== End /) {
+        my $online = &max3($res{$size}->{'COnline Time'},
+            $res{$size}->{'DOnline Time'},
+            $res{$size}->{'EOnline Time'});
+        my $total = &max3($res{$size}->{'CETE'},
+            $res{$size}->{'DETE'},
+            $res{$size}->{'EETE'});
+        print "CircuitORAMOnln read $size $netsetup$online s\n";
+        print "CircuitORAMTotl read $size $netsetup$total s\n";
+        # Note that the java code reports bandwidth *per iteration*
+        my $onlinekib = $res{$size}->{'onlbytes'} * $iters / 1024;
+        my $totalkib = $res{$size}->{'totbytes'} * $iters / 1024;
+        print "CircuitORAMOnln read $size $netsetup$onlinekib KiB\n";
+        print "CircuitORAMTotl read $size $netsetup$totalkib KiB\n";
+        undef $res{$size};
+    }
 }
 
 sub max3 {
@@ -47,26 +64,3 @@ sub max3 {
     $m = $_[2] if $_[2] > $m;
     $m;
 }
-
-foreach $size (sort keys %res) {
-    my $iters = $1 if $size =~ /\|(\d+)/;
-    my $online = &max3($res{$size}->{'COnline Time'},
-        $res{$size}->{'DOnline Time'},
-        $res{$size}->{'EOnline Time'});
-    my $total = &max3($res{$size}->{'CETE'},
-        $res{$size}->{'DETE'},
-        $res{$size}->{'EETE'});
-    print "CircuitORAMOnline read $size $netsetup$online s\n";
-    print "CircuitORAMTotal read $size $netsetup$total s\n";
-}
-
-print "\n";
-
-foreach $size (sort keys %res) {
-    # Note that the java code reports bandwidth *per iteration*
-    my $iters = $1 if $size =~ /\|(\d+)/;
-    my $online = $res{$size}->{'onlbytes'} * $iters;
-    my $total = $res{$size}->{'totbytes'} * $iters;
-    print "CircuitORAMOnline read $size $netsetup$online KiB\n";
-    print "CircuitORAMTotal read $size $netsetup$total KiB\n";
-}

+ 2 - 2
docker/repro

@@ -18,7 +18,7 @@ fi
 if [ "$NUMA_P1" != "" ]; then
     export ORAM_NUMA_D="$NUMA_P1"
 fi
-if [ "$NUMA_21" != "" ]; then
+if [ "$NUMA_P2" != "" ]; then
     export ORAM_NUMA_E="$NUMA_P2"
 fi
 
@@ -64,7 +64,7 @@ run() {
 # have perl installed on the host.
 # Arguments: a list of logfiles
 parse() {
-    cat $* | docker exec -w /root/oram -i oram_C ./parse_logs
+    cat $* | docker exec -w /root/oram/docker -i oram_C ./parse_logs
 }
 
 # A very small kick-the-tires test to ensure everything compiled and

+ 3 - 3
docker/run-experiment

@@ -24,11 +24,11 @@ savefileE=$$.E.out
 docker exec -w /root/oram oram_C bash -c "perl -lp -i -e 's/addrBits: (\d+)/addrBits: '$size'/; s/iters: (\d+)/iters: '$iters'/' config/config.yaml"
 docker exec -w /root/oram oram_D bash -c "perl -lp -i -e 's/addrBits: (\d+)/addrBits: '$size'/; s/iters: (\d+)/iters: '$iters'/' config/config.yaml"
 docker exec -w /root/oram oram_E bash -c "perl -lp -i -e 's/addrBits: (\d+)/addrBits: '$size'/; s/iters: (\d+)/iters: '$iters'/' config/config.yaml"
-docker exec -w /root/oram oram_E bash -c "$ORAM_NUMA_E stdbuf -o 0 java -cp bin:lib/* ui/CLI -protocol pirrtv -debbie_ip $Daddr -eddie_ip $Eaddr eddie > $savefileE" &
+docker exec -w /root/oram oram_E bash -c "$ORAM_NUMA_E stdbuf -o 0 java -cp bin:lib/* ui/CLI -protocol pirrtv -debbie_ip $Daddr -eddie_ip $Eaddr eddie > $savefileE 2>&1" &
 sleep 2
-docker exec -w /root/oram oram_D bash -c "$ORAM_NUMA_D stdbuf -o 0 java -cp bin:lib/* ui/CLI -protocol pirrtv -debbie_ip $Daddr -eddie_ip $Eaddr debbie > $savefileD" &
+docker exec -w /root/oram oram_D bash -c "$ORAM_NUMA_D stdbuf -o 0 java -cp bin:lib/* ui/CLI -protocol pirrtv -debbie_ip $Daddr -eddie_ip $Eaddr debbie > $savefileD 2>&1" &
 sleep 2
-docker exec -w /root/oram oram_C bash -c "$ORAM_NUMA_C stdbuf -o 0 java -cp bin:lib/* ui/CLI -protocol pirrtv -debbie_ip $Daddr -eddie_ip $Eaddr charlie > $savefileC" &
+docker exec -w /root/oram oram_C bash -c "$ORAM_NUMA_C stdbuf -o 0 java -cp bin:lib/* ui/CLI -protocol pirrtv -debbie_ip $Daddr -eddie_ip $Eaddr charlie > $savefileC 2>&1" &
 wait
 echo ===== C output
 docker exec -w /root/oram oram_C cat $savefileC