Re: [Gems-users] Trouble with MOESI_CMP_NUCA


Date: Thu, 6 Apr 2006 18:43:35 -0500 (CDT)
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] Trouble with MOESI_CMP_NUCA
I suspect a configuration issue, but it would be helpful to see a trace.

the following command should start a trace at time 1 (immediately):

ruby0.debug-start-time "1"

Or, to see exactly where the deadlocked request started:

ruby0.debug-start-time "349000"

--Mike


> 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.
>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>
[← Prev in Thread] Current Thread [Next in Thread→]