50#ifndef __MEM_RUBY_NETWORK_SIMPLE_THROTTLE_HH__
51#define __MEM_RUBY_NETWORK_SIMPLE_THROTTLE_HH__
77 int link_bandwidth_multiplier,
int endpoint_bandwidth,
106 void print(std::ostream& out)
const;
110 int endpoint_bandwidth);
111 void operateVnet(
int vnet,
int channel,
int &total_bw_remaining,
112 bool &bw_saturated,
bool &output_blocked,
Cycles is a wrapper class for representing cycle counts, i.e.
std::vector< int > m_vnet_channels
std::vector< MessageBuffer * > m_in
Throttle(const Throttle &obj)
void operateVnet(int vnet, int channel, int &total_bw_remaining, bool &bw_saturated, bool &output_blocked, MessageBuffer *in, MessageBuffer *out)
std::vector< std::vector< int > > m_units_remaining
void print(std::ostream &out) const
int getTotalLinkBandwidth() const
const statistics::Vector & getMsgCount(unsigned int type) const
Cycles getLatency() const
RubySystem * m_ruby_system
gem5::ruby::Throttle::ThrottleStats throttleStats
Throttle(int sID, RubySystem *rs, NodeID node, Cycles link_latency, int endpoint_bandwidth, Switch *em)
std::vector< MessageBuffer * > m_out
int getLinkBandwidth(int vnet) const
const statistics::Formula & getUtilization() const
Throttle & operator=(const Throttle &obj)
void addLinks(const std::vector< MessageBuffer * > &in_vec, const std::vector< MessageBuffer * > &out_vec)
std::vector< int > m_link_bandwidth_multiplier
void init(NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth)
int getChannelCnt(int vnet) const
This is a simple scalar statistic, like a counter.
A vector of scalar stats.
std::ostream & operator<<(std::ostream &os, const BoolVec &myvector)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::string csprintf(const char *format, const Args &...args)
statistics::Scalar total_msg_bytes
statistics::Formula avg_msg_wait_time
statistics::Formula link_utilization
statistics::Formula * msg_bytes[MessageSizeType_NUM]
statistics::Scalar total_msg_wait_time
statistics::Scalar total_data_msg_bytes
statistics::Scalar acc_link_utilization
ThrottleStats(Switch *parent, const NodeID &nodeID)
statistics::Formula avg_useful_bandwidth
statistics::Scalar total_msg_count
statistics::Formula avg_bandwidth
statistics::Vector * msg_counts[MessageSizeType_NUM]
statistics::Scalar total_stall_cy
statistics::Scalar total_bw_sat_cy