Simple

From gem5
Revision as of 02:40, 25 September 2016 by Tushar (talk | contribs)
Jump to: navigation, search

More details of the gem5 Ruby Interconnection Network are here.

Simple Network

The default network model in Ruby is the simple network.

Configuration

Simple network uses the generic network parameters in Network.py:

    • number_of_virtual_networks: This is the maximum number of virtual networks. The actual number of active virtual networks is determined by the protocol.
    • control_msg_size: The size of control messages in bytes. Default is 8. m_data_msg_size in Network.cc is set to the block size in bytes + control_msg_size.

Additional parameters are specified in simple/SimpleNetwork.py:

    • buffer_size: Size of buffers at each switch input and output ports. A value of 0 implies infinite buffering.
    • endpoint_bandwidth: Bandwidth at the end points of the network in 1000th of byte.
    • adaptive_routing: This enables adaptive routing based on occupancy of output buffers.

Switch Model

The simple network models hop-by-hop network traversal, but abstracts out detailed modeling within the switches. The switches are modeled in simple/PerfectSwitch.cc while the links are modeled in simple/Throttle.cc. The flow-control is implemented by monitoring the available buffers and available bandwidth in output links before sending.

Simple network.jpg