Hello,
I'm trying to setup a simulation using MOESI_SMP_directory protocol
with 4 processors in order to simulate a two level private cached system.
However, at the ruby initialization phase I get the following error:
failed assertion 'id < m_nodes' at fn void
SimpleNetwork::checkNetworkAllocation(NodeID, bool, int) in
network/simple/SimpleNetwork.C:199
failed assertion 'id < m_nodes' at fn void
SimpleNetwork::checkNetworkAllocation(NodeID, bool, int) in
network/simple/SimpleNetwork.C:199
I guess this has to do with my ruby settings because when I do not apply
any of my settings there are not errors. Mainly I suspect the the number
of processors , number of processors per chip and number of L2 banks
parameters. Or one other problem can be the network file. As far as I
understood for an SMP protocol there should be multiple chips. So
I suspect I am not able to reflect this in the Network file. I list my
inputs for ruby configuration as well as my network file. If anybody could
find out what the problem is I would really appretiate.
Derin Harmanci.
ruby0.setparam g_RANDOM_SEED 1
ruby0.setparam g_trace_warmup_length 10000000
ruby0.setparam SIMICS_RUBY_MULTIPLIER 1
ruby0.setparam OPAL_RUBY_MULTIPLIER 1
ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH false
ruby0.setparam L1_CACHE_ASSOC 2
ruby0.setparam L1_CACHE_NUM_SETS_BITS 7
ruby0.setparam L2_CACHE_ASSOC 4
ruby0.setparam L2_CACHE_NUM_SETS_BITS 13
ruby0.setparam g_MEMORY_SIZE_BYTES 4294967296
ruby0.setparam g_DATA_BLOCK_BYTES 128
ruby0.setparam g_PAGE_SIZE_BYTES 4096
ruby0.setparam g_NUM_PROCESSORS 4
ruby0.setparam g_NUM_L2_BANKS 4
ruby0.setparam g_NUM_MEMORIES 1
ruby0.setparam g_PROCS_PER_CHIP 1
ruby0.setparam NULL_LATENCY 0
ruby0.setparam NETWORK_LINK_LATENCY 4
ruby0.setparam CACHE_RESPONSE_LATENCY 12
ruby0.setparam MEMORY_RESPONSE_LATENCY_MINUS_2 268
ruby0.setparam DIRECTORY_LATENCY 2
ruby0.setparam DIRECTORY_CACHE_LATENCY 1
ruby0.setparam ON_CHIP_LINK_LATENCY 1
ruby0.setparam RECYCLE_LATENCY 10
ruby0.setparam TIMER_LATENCY 10000
ruby0.setparam_str PERIODIC_TIMER_WAKEUPS true
ruby0.setparam L1_REQUEST_LATENCY 3
ruby0.setparam L2_REQUEST_LATENCY 5
ruby0.setparam L2_RECYCLE_LATENCY 5
ruby0.setparam SEQUENCER_TO_CONTROLLER_LATENCY 2
ruby0.setparam_str SINGLE_ACCESS_L2_BANKS false
ruby0.setparam g_SEQUENCER_OUTSTANDING_REQUESTS 8
ruby0.setparam NUMBER_OF_TBES 16
ruby0.setparam NUMBER_OF_L1_TBES 16
ruby0.setparam NUMBER_OF_L1_TBES 16
ruby0.setparam_str FINITE_BUFFERING false
ruby0.setparam FINITE_BUFFER_SIZE 0
ruby0.setparam PROTOCOL_BUFFER_SIZE 2
ruby0.setparam_str g_NETWORK_TOPOLOGY FILE_SPECIFIED
ruby0.setparam_str g_CACHE_DESIGN PRIVATE_L2
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 8
ruby0.setparam FAN_OUT_DEGREE 4
ruby0.setparam_str g_PRINT_TOPOLOGY true
ruby0.setparam g_NUM_DNUCA_BANK_SETS 8
ruby0.setparam g_NUM_DNUCA_BANK_SET_BITS 0
------------------------ Network File --------------------------
processors:4
procs_per_chip:1
L2banks:4
memories:1
bw_unit:10000
ext_node:L1Cache:0 int_node:0 link_latency:1 bw_multiplier:64
ext_node:L1Cache:1 int_node:1 link_latency:1 bw_multiplier:64
ext_node:L1Cache:2 int_node:2 link_latency:1 bw_multiplier:64
ext_node:L1Cache:3 int_node:3 link_latency:1 bw_multiplier:64
ext_node:Directory:0 int_node:4 link_latency:17 bw_multiplier:64
int_node:0 int_node:4 link_latency:1 bw_multiplier:64
int_node:1 int_node:4 link_latency:1 bw_multiplier:64
int_node:2 int_node:4 link_latency:1 bw_multiplier:64
int_node:3 int_node:4 link_latency:1 bw_multiplier:64
|