Browse Source

new graphs from new data

Stan Gurtler 2 years ago
parent
commit
9e8b87e649

BIN
prsona/plt/epoch-lambda-bandwidth-all-2-loglog.pdf


BIN
prsona/plt/epoch-lambda-bandwidth-all-2.pdf


BIN
prsona/plt/epoch-lambda-cpu-all-2-loglog.pdf


BIN
prsona/plt/epoch-lambda-cpu-all-2.pdf


BIN
prsona/plt/epoch-servers-bandwidth-any-50-loglog.pdf


BIN
prsona/plt/epoch-servers-bandwidth-any-50.pdf


BIN
prsona/plt/epoch-servers-cpu-any-50-loglog.pdf


BIN
prsona/plt/epoch-servers-cpu-any-50.pdf


BIN
prsona/plt/epoch-workloads-bandwidth-2-50-loglog.pdf


BIN
prsona/plt/epoch-workloads-bandwidth-2-50.pdf


BIN
prsona/plt/epoch-workloads-cpu-2-50-loglog.pdf


BIN
prsona/plt/epoch-workloads-cpu-2-50.pdf


BIN
prsona/plt/hbc-epoch-workloads-bandwidth-2-0-loglog.pdf


BIN
prsona/plt/hbc-epoch-workloads-cpu-2-50-loglog.pdf → prsona/plt/hbc-epoch-workloads-bandwidth-2-0.pdf


BIN
prsona/plt/hbc-epoch-workloads-cpu-2-0-loglog.pdf


BIN
prsona/plt/hbc-epoch-workloads-cpu-2-50.pdf → prsona/plt/hbc-epoch-workloads-cpu-2-0.pdf


+ 52 - 14
prsona/plt/plots.json

@@ -19,7 +19,7 @@
         "xLabel": "Number of clients",
         "yLabel": "CPU time per server to calculate an epoch (s)",
         "loglog": true,
-        "title": "Comparing CPU time for covert security\nepoch calculations across workloads (in loglog)",
+        "title": "Comparing CPU time for covert security\nepoch calculations across workloads (in log-log)",
         "fileNameStr": "epoch-workloads-cpu-2-50-loglog",
         "legendLoc": "upper left"
     }, {
@@ -31,7 +31,7 @@
         "xLabel": "Number of clients",
         "yLabel": "CPU time per server to calculate an epoch (s)",
         "title": "Comparing CPU time for HBC security\nepoch calculations across workloads",
-        "fileNameStr": "hbc-epoch-workloads-cpu-2-50",
+        "fileNameStr": "hbc-epoch-workloads-cpu-2-0",
         "legendLoc": "upper left"
     }, {
         "data": "server",
@@ -42,8 +42,8 @@
         "xLabel": "Number of clients",
         "yLabel": "CPU time per server to calculate an epoch (s)",
         "loglog": true,
-        "title": "Comparing CPU time for HBC security\nepoch calculations across workloads (in loglog)",
-        "fileNameStr": "hbc-epoch-workloads-cpu-2-50-loglog",
+        "title": "Comparing CPU time for HBC security\nepoch calculations across workloads (in log-log)",
+        "fileNameStr": "hbc-epoch-workloads-cpu-2-0-loglog",
         "legendLoc": "upper left"
     }, {
         "data": "server",
@@ -67,9 +67,34 @@
         "yLabel": "Server-server bandwidth per server\nused to calculate an epoch (MB)",
         "yUnit": "MB",
         "loglog": true,
-        "title": "Comparing bandwidth for covert security\nepoch calculations across workloads (in loglog)",
+        "title": "Comparing bandwidth for covert security\nepoch calculations across workloads (in log-log)",
         "fileNameStr": "epoch-workloads-bandwidth-2-50-loglog",
         "legendLoc": "upper left"
+    }, {
+        "data": "server",
+        "dataParts": ["", "2", "", "0"],
+        "lineVariable": "workload",
+        "xVariable": "numClients",
+        "whichGraph": "overall_epoch_total",
+        "xLabel": "Number of clients",
+        "yLabel": "Server-server bandwidth per server\nused to calculate an epoch (MB)",
+        "yUnit": "MB",
+        "title": "Comparing bandwidth for HBC security\nepoch calculations across workloads",
+        "fileNameStr": "hbc-epoch-workloads-bandwidth-2-0",
+        "legendLoc": "upper left"
+    }, {
+        "data": "server",
+        "dataParts": ["", "2", "", "0"],
+        "lineVariable": "workload",
+        "xVariable": "numClients",
+        "whichGraph": "overall_epoch_total",
+        "xLabel": "Number of clients",
+        "yLabel": "Server-server bandwidth per server\nused to calculate an epoch (MB)",
+        "yUnit": "MB",
+        "loglog": true,
+        "title": "Comparing bandwidth for HBC security\nepoch calculations across workloads (in log-log)",
+        "fileNameStr": "hbc-epoch-workloads-bandwidth-2-0-loglog",
+        "legendLoc": "upper left"
     }, {
         "data": "server",
         "dataParts": ["half", "", "", "50"],
@@ -78,7 +103,7 @@
         "ignoreWorkload": true,
         "whichGraph": "overall_epoch_cpu",
         "xLabel": "Number of clients",
-        "yLabel": "CPU time to calculate an epoch (s)",
+        "yLabel": "CPU time per server to calculate an epoch (s)",
         "title": "Comparing CPU time for covert security\nepoch calculations across numbers of servers",
         "fileNameStr": "epoch-servers-cpu-any-50",
         "legendLoc": "upper left"
@@ -90,9 +115,9 @@
         "ignoreWorkload": true,
         "whichGraph": "overall_epoch_cpu",
         "xLabel": "Number of clients",
-        "yLabel": "CPU time to calculate an epoch (s)",
+        "yLabel": "CPU time per server to calculate an epoch (s)",
         "loglog": true,
-        "title": "Comparing CPU time for covert security\nepoch calculations across numbers of servers (in loglog)",
+        "title": "Comparing CPU time for covert security\nepoch calculations across numbers of servers (in log-log)",
         "fileNameStr": "epoch-servers-cpu-any-50-loglog",
         "legendLoc": "upper left"
     }, {
@@ -119,7 +144,7 @@
         "yLabel": "Server-server bandwidth per server\nused to calculate an epoch (MB)",
         "yUnit": "MB",
         "loglog": true,
-        "title": "Comparing bandwidth for covert security\nepoch calculations across numbers of servers (in loglog)",
+        "title": "Comparing bandwidth for covert security\nepoch calculations across numbers of servers (in log-log)",
         "fileNameStr": "epoch-servers-bandwidth-any-50-loglog",
         "legendLoc": "upper left"
     }, {
@@ -131,7 +156,7 @@
         "ignoreWorkload": true,
         "whichGraph": "overall_epoch_cpu",
         "xLabel": "Number of clients",
-        "yLabel": "CPU time to calculate an epoch (s)",
+        "yLabel": "CPU time per server to calculate an epoch (s)",
         "title": "Comparing CPU time for covert security\nepoch calculations across different values of lambda",
         "fileNameStr": "epoch-lambda-cpu-all-2",
         "legendLoc": "upper left"
@@ -144,9 +169,9 @@
         "ignoreWorkload": true,
         "whichGraph": "overall_epoch_cpu",
         "xLabel": "Number of clients",
-        "yLabel": "CPU time to calculate an epoch (s)",
+        "yLabel": "CPU time per server to calculate an epoch (s)",
         "loglog": true,
-        "title": "Comparing CPU time for covert security\nepoch calculations across different values of lambda\n(in loglog)",
+        "title": "Comparing CPU time for covert security\nepoch calculations across different values of lambda\n(in log-log)",
         "fileNameStr": "epoch-lambda-cpu-all-2-loglog",
         "legendLoc": "upper left"
     }, {
@@ -173,7 +198,7 @@
         "yLabel": "Server-server bandwidth per server\nused to calculate an epoch (MB)",
         "yUnit": "MB",
         "loglog": true,
-        "title": "Comparing bandwidth for covert security\nepoch calculations across different values of lambda\n(in loglog)",
+        "title": "Comparing bandwidth for covert security\nepoch calculations across different values of lambda\n(in log-log)",
         "fileNameStr": "epoch-lambda-bandwidth-all-2-loglog",
         "legendLoc": "upper left"
     }, {
@@ -220,7 +245,7 @@
         "xVariable": "numClients",
         "whichGraph": "rep_prove_total",
         "xLabel": "Number of clients",
-        "yLabel": "Client-client bandwidth\nused to make and verify a new reputation proof (KB)",
+        "yLabel": "Client-client bandwidth\nused to make a new reputation proof (KB)",
         "yUnit": "KB", 
         "title": "Comparing bandwidth for making reputation proofs\nacross different values of lambda",
         "fileNameStr": "rep_prove-lambda-bandwidth-2",
@@ -239,5 +264,18 @@
         "fileNameStr": "rep_verify-lambda-cpu-2",
         "legendLoc": "lower right",
         "legendBBoxAnchor": [1, 0]
+    }, {
+        "data": "client",
+        "dataParts": ["rep", "2", "", ""],
+        "lineVariable": "lambda",
+        "xVariable": "numClients",
+        "whichGraph": "rep_verify_recv",
+        "xLabel": "Number of clients",
+        "yLabel": "Client-client bandwidth\nused to verify a new reputation proof (KB)",
+        "yUnit": "KB", 
+        "title": "Comparing bandwidth for verifying reputation proofs\nacross different values of lambda",
+        "fileNameStr": "rep_verify-lambda-bandwidth-2",
+        "legendLoc": "lower right",
+        "legendBBoxAnchor": [1, 0]
     }
 ]

BIN
prsona/plt/rep_prove-lambda-bandwidth-2.pdf


BIN
prsona/plt/rep_prove-lambda-cpu-2.pdf


BIN
prsona/plt/rep_verify-lambda-bandwidth-2.pdf


BIN
prsona/plt/rep_verify-lambda-cpu-2.pdf


BIN
prsona/plt/vote-lambda-bandwidth-2.pdf


BIN
prsona/plt/vote-lambda-cpu-2.pdf


+ 36 - 6
prsona/scripts/make_graphs.py

@@ -12,32 +12,32 @@ from contextlib import contextmanager
 PLOT_OPTIONS = {
     "workload": {
         "all": {
-            "legend": 'Covert Security, Workload: "all"',
+            "legend": 'Workload: "all"',
             "marker": '^',
             "color": "red"
         }, 
         "half": {
-            "legend": 'Covert Security, Workload: "half"',
+            "legend": 'Workload: "half"',
             "marker": 'X',
             "color": "green"
         }, 
         "no": {
-            "legend": 'Covert Security, Workload: "no"',
+            "legend": 'Workload: "no"',
             "marker": '*',
             "color": "blue"
         },
         "hbcall": {
-            "legend": 'HBC Security, Workload: "all"',
+            "legend": 'Workload: "all"',
             "marker": '^',
             "color": "red"
         }, 
         "hbchalf": {
-            "legend": 'HBC Security, Workload: "half"',
+            "legend": 'Workload: "half"',
             "marker": 'X',
             "color": "green"
         }, 
         "hbcno": {
-            "legend": 'HBC Security, Workload: "no"',
+            "legend": 'Workload: "no"',
             "marker": '*',
             "color": "blue"
         }
@@ -125,6 +125,27 @@ PLOT_OPTIONS = {
     }
 }
 
+LOGLOG_FIT_OPTIONS = {
+    "workload": {
+        "overall_epoch_cpu": {
+            "0": 64,
+            "50": 32
+        },
+        "overall_epoch_total": {
+            "0": 256,
+            "50": 256
+        }    
+    },
+    "lambda": {
+        "overall_epoch_cpu": 32,
+        "overall_epoch_total": 256
+    },
+    "numServers": {
+        "overall_epoch_cpu": 32,
+        "overall_epoch_total": 128
+    }
+}
+
 ##
 # This functionality allows us to temporarily change our working directory
 #
@@ -479,6 +500,15 @@ def plotComparison(data, dataParts, xVariable, lineVariable, whichGraph, **kwarg
     if loglog:
         ax.set_yscale("log")
         ax.set_xscale("log")
+
+        moreXs = np.linspace(5, 50, 45)
+        divisor = 32
+        if lineVariable == "workload":
+            divisor = LOGLOG_FIT_OPTIONS[lineVariable][whichGraph][dataParts[3]]
+        if lineVariable == "lambda" or lineVariable == "numServers":
+            divisor = LOGLOG_FIT_OPTIONS[lineVariable][whichGraph]
+        labelString = "$y = \\frac{x^3}{" + str(divisor) + "}$"
+        ax.plot(moreXs, genericCube(moreXs, 1.0/divisor, 0, 0, 0), label=labelString, color="black")
     else:
         bottom, top = ax.get_ylim()
         bottom = (0 if bottom > 0 else bottom)