|
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.
1.8.11