SST/macro
|
A switch in the network that arbitrates/routes packet_trains to the next link in the network. More...
#include <packet_flow_switch.h>
Public Member Functions | |
packet_flow_switch () | |
virtual | ~packet_flow_switch () |
virtual void | initialize () |
packet_flow_crossbar * | crossbar (config *cfg) |
virtual void | init_factory_params (sprockit::sim_parameters *params) |
int | queue_length (int port) const |
int | initial_credits () const |
virtual void | connect (int src_outport, int dst_inport, connection_type_t ty, connectable *mod, config *cfg) |
std::vector< switch_id > | connected_switches () const |
void | handle (event *ev) |
Cast message and pass to #send. More... | |
void | deadlock_check () |
void | deadlock_check (event *ev) |
void | add_ejector (node_id addr, event_handler *link) |
Set the link to use when ejecting packets at their endpoint. More... | |
virtual void | set_event_manager (event_manager *m) |
void | set_topology (topology *top) |
virtual std::string | to_string () const |
Public Member Functions inherited from sstmac::hw::packet_flow_abstract_switch | |
timestamp | hop_latency () const |
timestamp | lookahead () const |
double | hop_bandwidth () const |
packet_sent_stats * | xbar_stats () const |
packet_sent_stats * | buf_stats () const |
Protected Member Functions | |
virtual void | connect_injector (int src_outport, int dst_inport, event_handler *nic) |
virtual void | connect_ejector (int src_outport, int dst_inport, event_handler *nic) |
Protected Member Functions inherited from sstmac::hw::packet_flow_abstract_switch | |
packet_flow_abstract_switch () | |
virtual | ~packet_flow_abstract_switch () |
Protected Attributes | |
sprockit::sim_parameters * | params_ |
std::vector< packet_flow_sender * > | out_buffers_ |
packet_flow_crossbar * | xbar_ |
Protected Attributes inherited from sstmac::hw::packet_flow_abstract_switch | |
int | packet_size_ |
double | link_bw |
double | ej_bw |
int | xbar_output_buffer_num_bytes |
int | xbar_input_buffer_num_bytes |
double | xbar_bw |
int | row_buffer_num_bytes |
timestamp | hop_lat |
packet_flow_bandwidth_arbitrator * | link_arbitrator_template |
packet_sent_stats * | xbar_stats_ |
packet_sent_stats * | buf_stats_ |
Private Member Functions | |
void | connect_output (int src_outport, int dst_inport, connectable *mod, config *cfg) |
void | connect_input (int src_outport, int dst_inport, connectable *mod, config *cfg) |
void | resize_buffers () |
packet_flow_sender * | output_buffer (int port, config *cfg) |
A switch in the network that arbitrates/routes packet_trains to the next link in the network.
Definition at line 95 of file packet_flow_switch.h.
sstmac::hw::packet_flow_switch::packet_flow_switch | ( | ) |
|
virtual |
void sstmac::hw::packet_flow_switch::add_ejector | ( | node_id | addr, |
event_handler * | link | ||
) |
Set the link to use when ejecting packets at their endpoint.
A packet_flow_switch can have any number of ejectors, corresponding to the number of nodes per switch.
addr | The compute node address of the endpoint to eject to |
link | The link to the compute node for ejection |
|
virtual |
|
protectedvirtual |
|
protectedvirtual |
|
private |
|
private |
std::vector<switch_id> sstmac::hw::packet_flow_switch::connected_switches | ( | ) | const |
packet_flow_crossbar* sstmac::hw::packet_flow_switch::crossbar | ( | config * | cfg | ) |
void sstmac::hw::packet_flow_switch::deadlock_check | ( | ) |
void sstmac::hw::packet_flow_switch::deadlock_check | ( | event * | ev | ) |
void sstmac::hw::packet_flow_switch::handle | ( | event * | ev | ) |
Cast message and pass to #send.
msg | Incoming message (should cast to packet_train) |
|
virtual |
Reimplemented from sstmac::hw::packet_flow_abstract_switch.
|
inlinevirtual |
Implements sstmac::hw::packet_flow_abstract_switch.
Definition at line 126 of file packet_flow_switch.h.
References sstmac::hw::packet_flow_abstract_switch::xbar_input_buffer_num_bytes.
|
virtual |
Implements sstmac::hw::packet_flow_abstract_switch.
|
private |
int sstmac::hw::packet_flow_switch::queue_length | ( | int | port | ) | const |
|
private |
|
virtual |
void sstmac::hw::packet_flow_switch::set_topology | ( | topology * | top | ) |
|
virtual |
|
protected |
Definition at line 181 of file packet_flow_switch.h.
|
protected |
Definition at line 179 of file packet_flow_switch.h.
|
protected |
Definition at line 183 of file packet_flow_switch.h.