NVMe Queue Arbitration (Flow priority)
Closed this issue · 1 comments
Hello,
In the workload.xml file there is a option named Priority_Class that can be set for different flows. What I understand from the readme description, we can set the relative I/O priority of different flows by setting the corresponding Priority_Class value in the range {{URGENT, HIGH, MEDIUM, LOW}, which is very similar to the NVMe queue specification. I tried two different flows with two different Priority_Class values, one with URGENT and another with LOW. And after the simulation, when I see the statistics, I see almost no difference in performance at all ( the delay, IOPS etc of these two flows are almost similar, which supposed not to be the case). I put rest of the required attributes (i.e. Read_Percentage, Average_Request_Size, Average_No_of_Reqs_in_Queue etc) of the two flows identical.
So, what I want to know, whether this Priority_Class of each flows really has some impact or this is left for the future enhancement.
Thanks
Joyanta
Hi Joyanta,
You need to set the value of the Transaction_Scheduling_Policy parameter to PRIORITY_OUT_OF_ORDER. The base scheduler, i.e., OUT_OF_ORDER, ignores NVMe policies.
Best Regards,
Arash