Skip to content
Snippets Groups Projects
Commit 4935ceaa authored by Jonathan Mace's avatar Jonathan Mace
Browse files

Add some single-node benchmarking scripts

parent 1f6bf37d
No related branches found
No related tags found
No related merge requests found
OUTDIR=/local/hindsightexperiments/application_headsampling
python3 application_overheads.py --nocompute $OUTDIR --repeat 5 --openloop= --tracing=ot-jaeger --sampling=0,0.00125,0.0025,0.005,0.01,0.025,0.05,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0
python3 application_overheads.py --nocompute $OUTDIR --repeat 5 --silent --openloop= --tracing=hindsight,none --sampling=0
python3 application_overheads.py --nocompute $OUTDIR --repeat 5 --silent --openloop= --tracing=hindsight,none,ot-jaeger --sampling=0,0.00125,0.0025,0.005,0.01,0.025,0.05,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0 --results
\ No newline at end of file
OUTDIR=/local/hindsightexperiments/application_headsampling3
python3 application_overheads.py $OUTDIR --repeat 3 --openloop= --tracing=ot-jaeger --sampling=0,0.00125,0.0025,0.005,0.01,0.025,0.05,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0
python3 application_overheads.py $OUTDIR --repeat 3 --silent --openloop= --tracing=hindsight,none --sampling=0
python3 application_overheads.py $OUTDIR --repeat 3 --silent --openloop= --tracing=hindsight,none,ot-jaeger --sampling=0,0.00125,0.0025,0.005,0.01,0.025,0.05,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0 --results
\ No newline at end of file
OUTDIR=/local/hindsightexperiments/application_latency_throughput2
OPENLOOP=400,800,1200,1600,2000,2400,2800,3200,3600,4000,4400,4800,5200,5600,6000,6400,6800,7200,7600,8000,8400,8800,9200,9600,10000,10400,10800,11200,11600,12000,12400,12800,13200,13600,14000,14400,14800,15200,15600,16000
python3 application_overheads.py --nocompute $OUTDIR --repeat 1 --openloop=$OPENLOOP --clients=5 --closedloop=
OUTDIR=/local/hindsightexperiments/application_latency_throughput3
OPENLOOP=200,400,600,800,1000,1200,1400,1600,1800,2000,2200,2400,2600,2800,3000,3200,3400,3600,3800,4000,4200,4400,4600,4800,5000,5200,5400,5600
python3 application_overheads.py $OUTDIR --repeat 1 --openloop=$OPENLOOP --clients=5 --closedloop=
This diff is collapsed.
...@@ -18,20 +18,22 @@ parser.add_argument("--ot_collector", metavar="PATH", type=str, default="~/otel4 ...@@ -18,20 +18,22 @@ parser.add_argument("--ot_collector", metavar="PATH", type=str, default="~/otel4
parser.add_argument("--server_concurrency", metavar="NUM", type=int, default=8, help='Value to use for server --concurrency parameter. Default 8.') parser.add_argument("--server_concurrency", metavar="NUM", type=int, default=8, help='Value to use for server --concurrency parameter. Default 8.')
parser.add_argument("--nocompute", action='store_true', help='Set servers to -nocompute mode. Default false') parser.add_argument("--nocompute", action='store_true', help='Set servers to -nocompute mode. Default false')
parser.add_argument("--verbose", action='store_true', help='Print more info about experiments') parser.add_argument("--verbose", action='store_true', help='Print more info about experiments')
parser.add_argument("--silent", action='store_true', help="Don't ask for confirmation to run experiment")
parser.add_argument("--fromscratch", action='store_true', help='By default if results already exist for an experiment it will be skipped. Set this flag to re-run all experiments from scratch even if there are existing results.') parser.add_argument("--fromscratch", action='store_true', help='By default if results already exist for an experiment it will be skipped. Set this flag to re-run all experiments from scratch even if there are existing results.')
parser.add_argument("--results", action='store_true', help='Run with this flag to skip actually running the experiments and just process existing results') parser.add_argument("--results", action='store_true', help='Run with this flag to skip actually running the experiments and just process existing results')
parser.add_argument("--tracing", metavar="TRACER", type=str, default="none,hindsight,ot-jaeger", help='Tracers to use as comma-separated list. Default none,hindsight,ot-jaeger') parser.add_argument("--tracing", metavar="TRACER", type=str, default="none,hindsight,ot-jaeger", help='Tracers to use as comma-separated list. Default none,hindsight,ot-jaeger')
parser.add_argument("--openloop", metavar="NUM", type=str, default="32,64,96,128,160,192,224,256,288,320,352,384,416,448,480,512,544,576,608,640,672,704,736,768,800,832,864,896,928,960,992,1024,1056,1088,1120,1152,1184,1216,1248,1280,1312,1344,1376,1408,1440,1472,1504,1536,1568,1600,1632,1664,1696,1728,1760,1792,1824,1856,1888,1920,1952,1984,2016,2048", help='Integers as a comma-separated list. Will run open-loop experiments for each integer specified as the request rate. Default 32,64,128,256,384,512,640,768,896,1024,1152,1280,1408,1536,1664,1792,1920,2048,2176. Rates are per-client') # parser.add_argument("--openloop", metavar="NUM", type=str, default="100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,3100,3200,3300,3400,3500,3600,3700,3800,3900,4000", help='Integers as a comma-separated list. Will run open-loop experiments for each integer specified as the request rate. Rates are per-client')
parser.add_argument("--closedloop", metavar="NUM", type=str, default="4", help='Integers as a comma-separated list. Will run closed-loop experiments for each integer specified as the concurrency. Default 4. Rates are per-client') # parser.add_argument("--clients", metavar="NUM", type=str, default="20", help='Number of clients to run. Default 64.')
parser.add_argument("--clients", metavar="NUM", type=str, default="32", help='Number of clients to run. Default 32.') parser.add_argument("--openloop", metavar="NUM", type=str, default="133,266,400,533,666,800,933,1066,1200,1333,1466,1600,1733,1866,2000,2133,2266,2400,2533,2666,2800,2933,3066,3200,3333,3466,3600,3733,3866,4000,4133,4266,4400,4533,4666,4800,4933,5066,5200,5333", help='Integers as a comma-separated list. Will run open-loop experiments for each integer specified as the request rate. Rates are per-client')
parser.add_argument("--clients", metavar="NUM", type=str, default="15", help='Number of clients to run. Default 64.')
parser.add_argument("--closedloop", metavar="NUM", type=str, default="8", help='Integers as a comma-separated list. Will run closed-loop experiments for each integer specified as the concurrency. Default 4. Rates are per-client')
parser.add_argument('-s', "--sampling", metavar="NUM", type=str, default="0,0.01,0.1,1", help='Sampling / trigger percentage to use. With opentelemetry this sets head-sampling probability. With hindsight this sets trigger percentage. Comma-separated string of floats. Default 0,0.01,0.1,1') parser.add_argument('-s', "--sampling", metavar="NUM", type=str, default="0,0.01,0.1,1", help='Sampling / trigger percentage to use. With opentelemetry this sets head-sampling probability. With hindsight this sets trigger percentage. Comma-separated string of floats. Default 0,0.01,0.1,1')
parser.add_argument('-d', "--duration", metavar="NUM", type=int, default=60, help='Benchmark duration') parser.add_argument('-d', "--duration", metavar="NUM", type=int, default=60, help='Benchmark duration')
parser.add_argument("--repeat", metavar="NUM", type=int, default=3, help='Number of repetitions of each experiment. Default 3.') parser.add_argument("--repeat", metavar="NUM", type=int, default=3, help='Number of repetitions of each experiment. Default 3.')
cutoffs = { cutoffs = {
"ot-jaeger": { "ot-jaeger": {
"1": 15000, "1": 45057
"0.1": 42000
} }
} }
...@@ -210,8 +212,11 @@ def run_experiments(args): ...@@ -210,8 +212,11 @@ def run_experiments(args):
if len(to_skip) > 0: if len(to_skip) > 0:
print("Skipping %d experiments with existing results" % len(to_skip)) print("Skipping %d experiments with existing results" % len(to_skip))
print("Run %d experiments? Total duration %ds." % (len(to_run), len(to_run) * (10+args.duration))) print("Run %d experiments? Total duration %ds." % (len(to_run), len(to_run) * (10+args.duration)))
print("Press <return> to continue or CTRL-C to abort") if not args.silent:
input() print("Press <return> to continue or CTRL-C to abort")
input()
else:
print("Running (--silent)")
if not os.path.isdir(args.out): if not os.path.isdir(args.out):
os.makedirs(args.out) os.makedirs(args.out)
......
OUTDIR=/local/hindsightexperiments
python3 application_overheads.py --nocompute $OUTDIR/application_throughputs --repeat 1 --openloop=
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
"apis": [ "apis": [
{ {
"name": "api1", "name": "api1",
"exec": 5, "exec": 1,
"children": [ "children": [
{ {
"service": "service2", "service": "service2",
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
"apis": [ "apis": [
{ {
"name": "api1", "name": "api1",
"exec": 5, "exec": 1,
"children": [] "children": []
} }
] ]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment