SST/macro
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
sstmac::hw::packet_flow_cut_through_arbitrator Class Reference

#include <packet_flow_arbitrator.h>

Inheritance diagram for sstmac::hw::packet_flow_cut_through_arbitrator:
Inheritance graph
Collaboration diagram for sstmac::hw::packet_flow_cut_through_arbitrator:
Collaboration graph

Classes

struct  bandwidth_epoch
 

Public Member Functions

 packet_flow_cut_through_arbitrator ()
 
 ~packet_flow_cut_through_arbitrator ()
 
virtual void arbitrate (packet_stats_st &st)
 Assign bandwidth to payload. More...
 
virtual void set_outgoing_bw (bw_t bw)
 
int bytes_sending (timestamp now) const
 
packet_flow_bandwidth_arbitratorclone (double bw) const
 
std::string to_string () const
 
void partition (noise_model *model, int num_intervals)
 partition Partition the arbitrator time windows into a series of randomly sized chunks More...
 
void init_noise_model (noise_model *noise)
 
- Public Member Functions inherited from sstmac::hw::packet_flow_bandwidth_arbitrator
virtual ~packet_flow_bandwidth_arbitrator ()
 
double outgoing_bw () const
 
- Public Member Functions inherited from sprockit::factory_type
virtual void init_factory_params (sim_parameters *params)
 
virtual void finalize_init ()
 

Private Types

typedef uint64_t ticks_t
 
typedef double bw_t
 

Private Member Functions

void clean_up (ticks_t now)
 
void do_arbitrate (packet_stats_st &st)
 

Private Attributes

bandwidth_epochhead_
 
double bw_tick_to_sec_conversion_
 Convert from bytes/sec to bytes/tick. More...
 
double bw_sec_to_tick_conversion_
 

Additional Inherited Members

- Static Public Member Functions inherited from sstmac::hw::packet_flow_bandwidth_arbitrator
static timestamp credit_delay (double max_in_bw, double out_bw, long bytes)
 
- Protected Member Functions inherited from sstmac::hw::packet_flow_bandwidth_arbitrator
 packet_flow_bandwidth_arbitrator ()
 
- Protected Attributes inherited from sstmac::hw::packet_flow_bandwidth_arbitrator
double out_bw_
 
double inv_out_bw_
 

Detailed Description

Definition at line 131 of file packet_flow_arbitrator.h.

Member Typedef Documentation

Definition at line 135 of file packet_flow_arbitrator.h.

Definition at line 134 of file packet_flow_arbitrator.h.

Constructor & Destructor Documentation

sstmac::hw::packet_flow_cut_through_arbitrator::packet_flow_cut_through_arbitrator ( )
sstmac::hw::packet_flow_cut_through_arbitrator::~packet_flow_cut_through_arbitrator ( )

Member Function Documentation

virtual void sstmac::hw::packet_flow_cut_through_arbitrator::arbitrate ( packet_stats_st st)
virtual

Assign bandwidth to payload.

Returns
The time at which the packet can be forwarded to the next switch/node/etc.

Implements sstmac::hw::packet_flow_bandwidth_arbitrator.

int sstmac::hw::packet_flow_cut_through_arbitrator::bytes_sending ( timestamp  now) const
virtual
void sstmac::hw::packet_flow_cut_through_arbitrator::clean_up ( ticks_t  now)
private
packet_flow_bandwidth_arbitrator* sstmac::hw::packet_flow_cut_through_arbitrator::clone ( double  bw) const
inlinevirtual

Implements sstmac::hw::packet_flow_bandwidth_arbitrator.

Definition at line 152 of file packet_flow_arbitrator.h.

References sstmac::hw::packet_flow_bandwidth_arbitrator::set_outgoing_bw().

Here is the call graph for this function:

void sstmac::hw::packet_flow_cut_through_arbitrator::do_arbitrate ( packet_stats_st st)
private
void sstmac::hw::packet_flow_cut_through_arbitrator::init_noise_model ( noise_model noise)
virtual
void sstmac::hw::packet_flow_cut_through_arbitrator::partition ( noise_model noise,
int  num_intervals 
)
virtual

partition Partition the arbitrator time windows into a series of randomly sized chunks

Parameters
noiseThe noise model that randomly selects time values
num_intervals

Reimplemented from sstmac::hw::packet_flow_bandwidth_arbitrator.

virtual void sstmac::hw::packet_flow_cut_through_arbitrator::set_outgoing_bw ( bw_t  bw)
virtual
std::string sstmac::hw::packet_flow_cut_through_arbitrator::to_string ( ) const
inlinevirtual

Member Data Documentation

double sstmac::hw::packet_flow_cut_through_arbitrator::bw_sec_to_tick_conversion_
private

Definition at line 199 of file packet_flow_arbitrator.h.

double sstmac::hw::packet_flow_cut_through_arbitrator::bw_tick_to_sec_conversion_
private

Convert from bytes/sec to bytes/tick.

Definition at line 198 of file packet_flow_arbitrator.h.

bandwidth_epoch* sstmac::hw::packet_flow_cut_through_arbitrator::head_
private

Definition at line 195 of file packet_flow_arbitrator.h.


The documentation for this class was generated from the following file: