Skip to content

Commit 39c09d3

Browse files
committed
Add nfsstore bandwidth testing script
1 parent 4fbc095 commit 39c09d3

File tree

1 file changed

+36
-12
lines changed

1 file changed

+36
-12
lines changed

ucm/store/test/e2e/nfsstore_embed_fetch_run.py

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,21 @@
2323
# SOFTWARE.
2424
#
2525
import csv
26+
import multiprocessing
2627
import os
2728
from typing import List
2829

2930
from nfsstore_embed_fetch import run
3031

3132

33+
def run_wrapper(result_queue, *args):
34+
try:
35+
result = run(*args)
36+
result_queue.put(("success", result))
37+
except Exception as e:
38+
result_queue.put(("error", str(e)))
39+
40+
3241
def main():
3342
storage_backends = "."
3443
device_id = 1
@@ -99,25 +108,40 @@ def main():
99108
io_num = int(num_tokens / block_len * block_layer)
100109

101110
# Run test and get results
111+
result_queue = multiprocessing.Queue()
112+
113+
process = multiprocessing.Process(
114+
target=run_wrapper,
115+
args=(
116+
result_queue,
117+
storage_backends,
118+
device_id,
119+
repeat,
120+
num_head,
121+
block_len,
122+
transferStreamNumber,
123+
num_tokens,
124+
block_layer,
125+
head_size,
126+
block_elem_size,
127+
),
128+
)
129+
130+
process.start()
131+
process.join()
132+
133+
status, result = result_queue.get()
134+
if status == "error":
135+
raise Exception(f"Error in subprocess: {result}")
136+
102137
(
103138
avg_w_size,
104139
avg_w_time,
105140
avg_w_bw,
106141
avg_r_time,
107142
avg_r_bw,
108143
avg_r_size,
109-
) = run(
110-
storage_backends,
111-
device_id,
112-
repeat,
113-
num_head,
114-
block_len,
115-
transferStreamNumber,
116-
num_tokens,
117-
block_layer,
118-
head_size,
119-
block_elem_size,
120-
)
144+
) = result
121145

122146
writer.writerow(
123147
[

0 commit comments

Comments
 (0)