38#ifndef __MEM_QOS_POLICY_PF_HH__
39#define __MEM_QOS_POLICY_PF_HH__
50struct QoSPropFairPolicyParams;
71 using Params = QoSPropFairPolicyParams;
108 template <
typename Requestor>
109 void initRequestor(
const Requestor requestor,
const double score);
112 updateScore(
const double old_score,
const uint64_t served_bytes)
const;
Abstract superclass for simulation objects.
Proportional Fair QoS Policy Providing a configurable fair scheduling policy based on utilization; ut...
void initRequestorObj(const SimObject *requestor, const double score)
Initialize the requestor's score by providing the requestor's SimObject pointer and initial score val...
void initRequestorName(const std::string requestor, const double score)
Initialize the requestor's score by providing the requestor's name and initial score value.
PropFairPolicy(const Params &)
virtual uint8_t schedule(const RequestorID id, const uint64_t pkt_size) override
Schedules a packet based on proportional fair configuration.
std::vector< RequestorHistory > history
QoSPropFairPolicyParams Params
void initRequestor(const Requestor requestor, const double score)
const double weight
PF Policy weight.
virtual ~PropFairPolicy()
double updateScore(const double old_score, const uint64_t served_bytes) const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Declaration of a request, the overall memory request consisting of the parts of the request that are ...