Added some measurements of URPC
@ -56,7 +56,7 @@ errval_t do_aos_urpc(
|
|||||||
// wait until the rpc call completes
|
// wait until the rpc call completes
|
||||||
while(rpc->meta->call_in_progress) {
|
while(rpc->meta->call_in_progress) {
|
||||||
// yield the thread because there might be useful stuff to do...
|
// yield the thread because there might be useful stuff to do...
|
||||||
thread_yield();
|
// thread_yield();
|
||||||
}
|
}
|
||||||
|
|
||||||
// memory barrier
|
// memory barrier
|
||||||
@ -182,7 +182,7 @@ int urpc_server(void *arg) {
|
|||||||
while(urpc->meta->call_in_progress == false) {
|
while(urpc->meta->call_in_progress == false) {
|
||||||
// sleep for a bit while there is nothing to do
|
// sleep for a bit while there is nothing to do
|
||||||
// barrelfish_usleep(100);
|
// barrelfish_usleep(100);
|
||||||
thread_yield();
|
// thread_yield();
|
||||||
}
|
}
|
||||||
|
|
||||||
// memory barrier
|
// memory barrier
|
||||||
|
|||||||
@ -50,7 +50,7 @@ def build_dataseries(measurements, start_tag, end_tag):
|
|||||||
datapoints.append(m["timestamp"] - started_at)
|
datapoints.append(m["timestamp"] - started_at)
|
||||||
started_at = None
|
started_at = None
|
||||||
elif m["tag"] == start_tag:
|
elif m["tag"] == start_tag:
|
||||||
print("[ERROR] Invalid sequence, ignoring last start tag")
|
print(f"[ERROR] Invalid sequence, ignoring last start tag {start_tag}")
|
||||||
started_at = m["timestamp"]
|
started_at = m["timestamp"]
|
||||||
|
|
||||||
return datapoints
|
return datapoints
|
||||||
@ -74,10 +74,10 @@ def main():
|
|||||||
# calculate stats for each data series
|
# calculate stats for each data series
|
||||||
metrics = {}
|
metrics = {}
|
||||||
for key in dataset:
|
for key in dataset:
|
||||||
# d_mean = mean(dataset[key])
|
d_mean = mean(dataset[key])
|
||||||
d_std = std(dataset[key])
|
d_std = std(dataset[key])
|
||||||
d_median = median(dataset[key])
|
d_median = median(dataset[key])
|
||||||
metrics[key] = (d_median, d_std)
|
metrics[key] = (d_mean, d_std)
|
||||||
|
|
||||||
# create output directory
|
# create output directory
|
||||||
os.makedirs(out_dir, exist_ok=True)
|
os.makedirs(out_dir, exist_ok=True)
|
||||||
|
|||||||
BIN
performance/plots/archive/urpc_empty_loop/client_to_server.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
performance/plots/archive/urpc_empty_loop/metrics.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
performance/plots/archive/urpc_empty_loop/performance.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 19 KiB |
BIN
performance/plots/archive/urpc_empty_loop/server_to_client.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
performance/plots/archive/urpc_yield_loop/client_to_server.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
performance/plots/archive/urpc_yield_loop/metrics.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
performance/plots/archive/urpc_yield_loop/performance.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 19 KiB |
BIN
performance/plots/archive/urpc_yield_loop/server_to_client.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |