OptaneStudy icon indicating copy to clipboard operation
OptaneStudy copied to clipboard

The meaning of stripe size

Open xzy789 opened this issue 5 years ago • 4 comments

Dear code author: What is the meaning of stripe size in compilation options?I do not understand it. Hope to get your answer. Ziyue, Xu Nankai university

xzy789 avatar Jul 13 '20 03:07 xzy789

I don't find a stripe size option, do you mean stride_size?

Also, the Makefile does not contain this compilation option, what options are you referring to?

TheNetAdmin avatar Jul 13 '20 06:07 TheNetAdmin

I'm sorry I didn't make it clear. For examplke, When I input ‘echo "task=3,access_size=1024,parallel=24,stride_size=1024" > /proc/lattester', I do not know the meaning of stride_size . Hope to get your answer. Ziyue, Xu Nankai university

xzy789 avatar Jul 13 '20 06:07 xzy789

The task=3 refers to Strided Bandwidth Test: https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/lat.c#L24

The corresponding implementation is here: https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/tasks.c#L331-L367

And low-level memory access implementation depends on op operation, which selects one of the strided memory access jobs: https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/memaccess.h#L292-L299

With op defaults to 0, you are using stride_load: https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/memaccess.c#L280-L312

In this case, stride_size=1024 is passed to stride_load's parameter skip, which defines the offset between the current memory access start address and the next one's: https://github.com/NVSL/OptaneStudy/blob/a8bf9d1c9982dc383607351001c4550df36206dd/src/kernel/memaccess.c#L303

TheNetAdmin avatar Jul 14 '20 00:07 TheNetAdmin

Thank you for your detailed answer. I have one last question: if I want to do a random write(ntstore) of 64B test with 24 threads, should I input ‘echo "task=4,op=1,access_size=64,parallel=24" > /proc/lattester'? Hope to get your answer.

xzy789 avatar Jul 15 '20 03:07 xzy789