File tree Expand file tree Collapse file tree 1 file changed +36
-12
lines changed Expand file tree Collapse file tree 1 file changed +36
-12
lines changed Original file line number Diff line number Diff line change 2323# SOFTWARE.
2424#
2525import csv
26+ import multiprocessing
2627import os
2728from typing import List
2829
2930from 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+
3241def 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 [
You can’t perform that action at this time.
0 commit comments