From gem5
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.

  • Related Files:
    • src/mem/ruby/network/
    • src/mem/ruby/network/simple
    • src/mem/ruby/network/simple/


Simple network uses the generic network parameters in

    • 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 is set to the block size in bytes + control_msg_size.

Additional parameters are specified in simple/

    • 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/ while the links are modeled in simple/ The flow-control is implemented by monitoring the available buffers and available bandwidth in output links before sending.

Simple network.jpg