github.com/eth-easl/loader@v0.0.0-20230908084258-8a37e1d94279/tools/trace_synthesizer/README.md (about) 1 # Trace Synthesizer 2 3 ## Usage 4 5 ### Generate a synthetic trace 6 7 The trace synthesizer is a replacement for the decommissioned RPS mode of the loader. 8 The user can define a starting RPS, step size and the target RPS of the last slot. 9 This then gets converted into a csv file containing the invocations per minute for the synthetic trace, 10 which can then be run in the trace mode of the Loader. 11 Further the user can specify the execution time of the function(s), as well as their memory footprint. 12 These are used to generate the memory and durations csv files. Like in the decommissioned RPS mode, 13 the user can also specify the number of functions, which will simply be functions with different names, 14 which then use different instances. All functions have the same execution time, memory footprint and RPS. 15 From within the trace_synthesizer folder, use: 16 17 18 ```console 19 python3 . generate -h 20 21 usage: . generate [-h] [-f integer] -b integer -t integer -s integer -dur integer [-e integer] [-m integer] -o path 22 23 optional arguments: 24 -h, --help show this help message and exit 25 -f integer, --functions integer 26 Number of functions in the trace 27 -b integer, --beginning integer 28 Starting RPS value 29 -t integer, --target integer 30 Maximum RPS value 31 -s integer, --step integer 32 Step size 33 -dur integer, --duration integer 34 Duration of each RPS slot in minutes 35 -e integer, --execution integer 36 Execution time of the functions in ms 37 -mem integer, --memory integer 38 Memory usage of the functions in MB 39 -o path, --output path 40 Output path for the resulting trace 41 -m integer, --mode integer 42 Normal [0]; RPS sweep [1]; Burst [2] 43 ``` 44 45 46 47 ### Example 48 49 ```bash 50 python3 trace_synthesizer generate -f 2 -b 10 -t 20 -s 5 -dur 3 -e 500 -m 350 -o example 51 ``` 52