Просмотр исходного кода

add shadow test for client-server mode

Justin Tracey 2 лет назад
Родитель
Сommit
56b839b46c

+ 4 - 0
shadow/client/run.sh

@@ -0,0 +1,4 @@
+#!/bin/sh
+
+rm -rf shadow.data/
+shadow --template-directory shadow.data.template shadow.yaml > shadow.log

+ 14 - 0
shadow/client/shadow.data.template/hosts/client1/alice-group1.toml

@@ -0,0 +1,14 @@
+user = "Alice"
+group = "group1"
+server = "100.0.0.1:6397"
+bootstrap = 5.0
+retry = 5.0
+
+[distributions]
+s = 0.5
+r = 0.1
+m = {distribution = "Poisson", lambda = 1.0}
+i = {distribution = "Normal", mean = 15.0, std_dev = 30.0}
+w = {distribution = "Normal", mean = 30.0, std_dev = 30.0}
+a_s = {distribution = "Normal", mean = 10.0, std_dev = 5.0}
+a_r = {distribution = "Normal", mean = 10.0, std_dev = 5.0}

+ 14 - 0
shadow/client/shadow.data.template/hosts/client1/alice-group2.toml

@@ -0,0 +1,14 @@
+user = "Alice"
+group = "group2"
+server = "100.0.0.1:6397"
+bootstrap = 5.0
+retry = 5.0
+
+[distributions]
+s = 0.5
+r = 0.1
+m = {distribution = "Poisson", lambda = 1.0}
+i = {distribution = "Normal", mean = 15.0, std_dev = 30.0}
+w = {distribution = "Normal", mean = 30.0, std_dev = 30.0}
+a_s = {distribution = "Normal", mean = 10.0, std_dev = 5.0}
+a_r = {distribution = "Normal", mean = 10.0, std_dev = 5.0}

+ 14 - 0
shadow/client/shadow.data.template/hosts/client2/bob-group1.toml

@@ -0,0 +1,14 @@
+user = "Bob"
+group = "group1"
+server = "100.0.0.1:6397"
+bootstrap = 5.0
+retry = 5.0
+
+[distributions]
+s = 0.5
+r = 0.1
+m = {distribution = "Poisson", lambda = 1.0}
+i = {distribution = "Normal", mean = 15.0, std_dev = 30.0}
+w = {distribution = "Normal", mean = 30.0, std_dev = 30.0}
+a_s = {distribution = "Normal", mean = 10.0, std_dev = 5.0}
+a_r = {distribution = "Normal", mean = 10.0, std_dev = 5.0}

+ 14 - 0
shadow/client/shadow.data.template/hosts/client2/bob-group2.toml

@@ -0,0 +1,14 @@
+user = "Bob"
+group = "group2"
+server = "100.0.0.1:6397"
+bootstrap = 5.0
+retry = 5.0
+
+[distributions]
+s = 0.5
+r = 0.1
+m = {distribution = "Poisson", lambda = 1.0}
+i = {distribution = "Normal", mean = 15.0, std_dev = 30.0}
+w = {distribution = "Normal", mean = 30.0, std_dev = 30.0}
+a_s = {distribution = "Normal", mean = 10.0, std_dev = 5.0}
+a_r = {distribution = "Normal", mean = 10.0, std_dev = 5.0}

+ 14 - 0
shadow/client/shadow.data.template/hosts/client2/carol-group1.toml

@@ -0,0 +1,14 @@
+user = "Carol"
+group = "group1"
+server = "100.0.0.1:6397"
+bootstrap = 5.0
+retry = 5.0
+
+[distributions]
+s = 0.5
+r = 0.1
+m = {distribution = "Poisson", lambda = 1.0}
+i = {distribution = "Normal", mean = 15.0, std_dev = 30.0}
+w = {distribution = "Normal", mean = 30.0, std_dev = 30.0}
+a_s = {distribution = "Normal", mean = 10.0, std_dev = 5.0}
+a_r = {distribution = "Normal", mean = 10.0, std_dev = 5.0}

+ 14 - 0
shadow/client/shadow.data.template/hosts/client3/dave-group2.toml

@@ -0,0 +1,14 @@
+user = "Dave"
+group = "group2"
+server = "100.0.0.1:6397"
+bootstrap = 5.0
+retry = 5.0
+
+[distributions]
+s = 0.5
+r = 0.1
+m = {distribution = "Poisson", lambda = 1.0}
+i = {distribution = "Normal", mean = 15.0, std_dev = 30.0}
+w = {distribution = "Normal", mean = 30.0, std_dev = 30.0}
+a_s = {distribution = "Normal", mean = 10.0, std_dev = 5.0}
+a_r = {distribution = "Normal", mean = 10.0, std_dev = 5.0}

+ 40 - 0
shadow/client/shadow.yaml

@@ -0,0 +1,40 @@
+general:
+  stop_time: 1h
+  # old versions of cURL use a busy loop, so to avoid spinning in this busy
+  # loop indefinitely, we add a system call latency to advance the simulated
+  # time when running non-blocking system calls
+  #model_unblocked_syscall_latency: true
+
+network:
+  graph:
+    # use a built-in network graph containing
+    # a single vertex with a bandwidth of 1 Gbit
+    type: 1_gbit_switch
+
+hosts:
+  server:
+    network_node_id: 0
+    ip_addr: 100.0.0.1
+    processes:
+    - path: mgen-server
+      args: 100.0.0.1:6397
+      start_time: 3s
+
+  client1:
+    network_node_id: 0
+    processes:
+    - path: mgen-client
+      args: alice-group1.toml alice-group2.toml
+      start_time: 5s
+  client2:
+    network_node_id: 0
+    processes:
+    - path: mgen-client
+      args: bob-group1.toml bob-group2.toml carol-group1.toml
+      start_time: 5s
+  client3:
+    network_node_id: 0
+    processes:
+    - path: mgen-client
+      args: dave-group2.toml
+      start_time: 5s