mem: Implement QoS Proportional Fair policy
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 17 Aug 2018 09:17:59 +0000 (10:17 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Mon, 17 Sep 2018 22:51:14 +0000 (22:51 +0000)
commit1fdf576ec73f676c1bfa2e2524293deab0f5cd68
treeae2bb610bde92fea7e8fe5f9efe1875aee244dfd
parent537d6874c89da93d9e415ca135dbe0ec3f132669
mem: Implement QoS Proportional Fair policy

Providing a configurable fair scheduling policy based on utilization;
utilization is directly proportional to a score which is inversely
proportional to the QoS priority. It is meant to avoid starvation of low
priority packets.

Users can tune the policy by adjusting the weight parameter (weight of
the following formula)

new_score = ((1.0 - weight) * old_score) + (weight * served_bytes)

Change-Id: I7679e234b916c57ebed06cec0ff3cff3cf2aef22
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/12359
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
src/mem/qos/QoSPolicy.py
src/mem/qos/SConscript
src/mem/qos/policy_pf.cc [new file with mode: 0644]
src/mem/qos/policy_pf.hh [new file with mode: 0644]