[Gems-users] Trouble with MOESI_CMP_NUCA


Date: Thu, 6 Apr 2006 12:26:45 -0600
From: Steve Barrus <sbarrus@xxxxxxxxxxxx>
Subject: [Gems-users] Trouble with MOESI_CMP_NUCA
I have been trying to get the MOESI_CMP_NUCA protocol to work in Ruby,
but I haven't had any luck.  Sequencer::wakeup() alway reports a
"Possible Deadlock detected" and cause it to abort.  Can anyone tell
me why this might be happening?  The commands and error message are
shown below.  Thanks.

-Steve


read-configuration test-check
instruction-fetch-mode instruction-fetch-trace
istc-disable
dstc-disable
load-module ruby
ruby0.setparam g_NUM_PROCESSORS 8
ruby0.setparam g_MEMORY_SIZE_BYTES 4294967296
ruby0.setparam g_PROCS_PER_CHIP 8
ruby0.setparam g_NUM_L2_BANKS 256
ruby0.setparam g_NUM_MEMORIES 8
ruby0.setparam g_NUM_DNUCA_BANK_SETS 16
ruby0.setparam_str g_NETWORK_TOPOLOGY FILE_SPECIFIED
ruby0.setparam_str g_DYNAMIC_TIMEOUT_ENABLED false
ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH true
ruby0.setparam_str g_CACHE_DESIGN NUCACOL
ruby0.setparam_str g_adaptive_routing false
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 7
ruby0.setparam g_endpoint_bandwidth 1000
ruby0.setparam_str g_NUCA_PREDICTOR_CONFIG DNUCA
ruby0.setparam_str ENABLE_MIGRATION true
ruby0.setparam_str COLLECTOR_HANDLES_OFF_CHIP_REQUESTS true
ruby0.setparam_str PERFECT_DNUCA_SEARCH true
ruby0.init
c


[Turbo] Trampoline found at block start.
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:103: Possible Deadlock detected
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:103: Possible Deadlock detected
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:104: request is [CacheMsg: Address=[0x30a850, line 0x30a840] Type=LD ProgramCounter=[0x41e808, line 0x41e800] AccessMode=SupervisorMode Size=8 Prefetch=No Version=0 Aborted=0 Time=349000 ]
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:104: request is [CacheMsg: Address=[0x30a850, line 0x30a840] Type=LD ProgramCounter=[0x41e808, line 0x41e800] AccessMode=SupervisorMode Size=8 Prefetch=No Version=0 Aborted=0 Time=349000 ]
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:105: m_chip_ptr->getID() is 0
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:105: m_chip_ptr->getID() is 0
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:106: m_version is 4
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:106: m_version is 4
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:107: keys.size() is 1
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:107: keys.size() is 1
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:108: current_time is 400500
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:108: current_time is 400500
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:109: request.getTime() is 349000
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:109: request.getTime() is 349000
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:110: current_time - request.getTime() is 51500
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:110: current_time - request.getTime() is 51500
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:111: *m_readRequestTable_ptr is [ [0x30a840, line 0x30a840]=[CacheMsg: Address=[0x30a850, line 0x30a840] Type=LD ProgramCounter=[0x41e808, line 0x41e800] AccessMode=SupervisorMode Size=8 Prefetch=No Version=0 Aborted=0 Time=349000 ] ]
Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:111: *m_readRequestTable_ptr is [ [0x30a840, line 0x30a840]=[CacheMsg: Address=[0x30a850, line 0x30a840] Type=LD ProgramCounter=[0x41e808, line 0x41e800] AccessMode=SupervisorMode Size=8 Prefetch=No Version=0 Aborted=0 Time=349000 ] ]
Fatal Error: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:112: Aborting
Fatal Error: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:112: Aborting
***  Simics getting shaky, switching to 'safe' mode.
***  Simics (main thread) received an abort signal, probably an assertion.

[← Prev in Thread] Current Thread [Next in Thread→]